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.