pub const TEAM_LEAD_NAME: &str = "team-lead";
pub const SWARM_SESSION_NAME: &str = "claude-swarm";
pub const SWARM_VIEW_WINDOW_NAME: &str = "swarm-view";
pub const TMUX_COMMAND: &str = "tmux";
pub const HIDDEN_SESSION_NAME: &str = "claude-hidden";
pub const TEAMMATE_COMMAND_ENV_VAR: &str = "AI_TEAMMATE_COMMAND";
pub const TEAMMATE_COLOR_ENV_VAR: &str = "AI_AGENT_COLOR";
pub const PLAN_MODE_REQUIRED_ENV_VAR: &str = "AI_PLAN_MODE_REQUIRED";
pub fn get_swarm_socket_name() -> String {
format!("claude-swarm-{}", std::process::id())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_constants() {
assert_eq!(TEAM_LEAD_NAME, "team-lead");
assert_eq!(SWARM_SESSION_NAME, "claude-swarm");
assert_eq!(SWARM_VIEW_WINDOW_NAME, "swarm-view");
assert_eq!(TMUX_COMMAND, "tmux");
assert_eq!(HIDDEN_SESSION_NAME, "claude-hidden");
}
#[test]
fn test_env_vars_localized() {
assert!(TEAMMATE_COMMAND_ENV_VAR.starts_with("AI_"));
assert!(TEAMMATE_COLOR_ENV_VAR.starts_with("AI_"));
assert!(PLAN_MODE_REQUIRED_ENV_VAR.starts_with("AI_"));
}
#[test]
fn test_get_swarm_socket_name() {
let socket_name = get_swarm_socket_name();
assert!(socket_name.starts_with("claude-swarm-"));
assert!(socket_name.contains(&std::process::id().to_string()));
}
}