Skip to main content

pick_chain

Function pick_chain 

Source
pub fn pick_chain(
    agents: &[AgentSpec],
    choice: Option<&AgentChoice>,
    available: &dyn Fn(&AgentSpec) -> bool,
    role: &str,
) -> Result<Vec<AgentSpec>>
Expand description

Resolve a standalone seat’s agent choice into the ordered chain to try.

Unset (or empty) is pick’s default order, one entry. Otherwise each named id is kept at its first appearance only - that is what bounds a chain to one attempt per agent - and an id that is not in the roster or not installed is skipped with a warning rather than failing the chain. Errors, naming role, only when nothing resolves.