Skip to main content

batty_cli/team/
multi_provider.rs

1//! Helpers for validating multi-provider backend configuration.
2
3/// Returns true when an instance override agent name maps to a supported
4/// backend family for mixed-provider teams.
5pub(crate) fn is_known_instance_override_backend(agent_name: &str) -> bool {
6    matches!(
7        agent_name,
8        "claude"
9            | "claude-code"
10            | "codex"
11            | "codex-cli"
12            | "kiro"
13            | "kiro-cli"
14            | "gemini"
15            | "gemini-cli"
16    )
17}
18
19#[cfg(test)]
20mod tests {
21    use super::is_known_instance_override_backend;
22
23    #[test]
24    fn accepts_supported_backend_names() {
25        for name in [
26            "claude",
27            "claude-code",
28            "codex",
29            "codex-cli",
30            "kiro",
31            "kiro-cli",
32            "gemini",
33            "gemini-cli",
34        ] {
35            assert!(
36                is_known_instance_override_backend(name),
37                "{name} should be valid"
38            );
39        }
40    }
41
42    #[test]
43    fn rejects_unknown_backend_names() {
44        for name in ["", "mystery", "gpt4", "openai"] {
45            assert!(
46                !is_known_instance_override_backend(name),
47                "{name} should be rejected"
48            );
49        }
50    }
51}