import { execSync } from "child_process";
export const KNOWN_AGENTS = [
    { name: "claude", binary: "claude", displayName: "claude" },
    {
        name: "claude-yolo",
        binary: "claude",
        displayName: "claude (let it rip)",
        command: "claude --dangerously-skip-permissions"
    },
    { name: "codex", binary: "codex", displayName: "codex" },
    { name: "opencode", binary: "opencode", displayName: "opencode" },
    { name: "gemini", binary: "gemini", displayName: "gemini" },
    { name: "cline", binary: "cline", displayName: "cline" },
    { name: "cursor-agent", binary: "cursor-agent", displayName: "cursor-agent" }
];
export function checkBinaryExists(binary) {
    try {
        execSync(`which ${binary}`, { stdio: "ignore" });
        return true;
    }
    catch {
        return false;
    }
}
export function getAvailableAgents() {
    return KNOWN_AGENTS.map((agent) => ({
        ...agent,
        available: checkBinaryExists(agent.binary)
    }));
}
export function getAgentByName(name) {
    return KNOWN_AGENTS.find((agent) => agent.name === name);
}
//# sourceMappingURL=agent-selection.js.map