export const AGENT_IDS = ["codex", "pi", "hermes", "openclaw", "claude-code"];
export const CODEX_REASONING_EFFORTS = [
    "minimal",
    "low",
    "medium",
    "high",
    "xhigh",
];
export const PI_THINKING_LEVELS = [
    "off",
    "minimal",
    "low",
    "medium",
    "high",
    "xhigh",
];
export const HERMES_REASONING_EFFORTS = [
    "none",
    "minimal",
    "low",
    "medium",
    "high",
    "xhigh",
];
export const OPENCLAW_THINKING_LEVELS = [
    "off",
    "minimal",
    "low",
    "medium",
    "high",
    "xhigh",
];
export const CLAUDE_CODE_EFFORT_LEVELS = [
    "off",
    "low",
    "medium",
    "high",
    "xhigh",
];
export const CODEX_AGENT_CAPABILITIES = {
    launchProfiles: true,
    fastMode: true,
    externalActivity: true,
    cliMirror: true,
    interactiveApprovals: true,
    activityLog: true,
    auth: true,
    login: true,
    logout: true,
    usageStats: true,
    subscriptionLimits: true,
    usageLimits: true,
    workspaces: true,
    attachments: true,
    modelSelection: true,
    reasoningSelection: true,
    handback: true,
};
export const PI_AGENT_CAPABILITIES = {
    launchProfiles: true,
    fastMode: false,
    externalActivity: true,
    cliMirror: true,
    interactiveApprovals: false,
    activityLog: true,
    auth: true,
    login: false,
    logout: false,
    usageStats: true,
    subscriptionLimits: false,
    usageLimits: false,
    workspaces: true,
    attachments: true,
    modelSelection: true,
    reasoningSelection: true,
    handback: true,
};
export const HERMES_AGENT_CAPABILITIES = {
    launchProfiles: true,
    fastMode: false,
    externalActivity: true,
    cliMirror: true,
    interactiveApprovals: true,
    activityLog: true,
    auth: true,
    login: true,
    logout: true,
    usageStats: true,
    subscriptionLimits: false,
    usageLimits: false,
    workspaces: true,
    attachments: true,
    modelSelection: true,
    reasoningSelection: true,
    handback: true,
};
export const OPENCLAW_AGENT_CAPABILITIES = {
    launchProfiles: true,
    fastMode: false,
    externalActivity: true,
    cliMirror: true,
    interactiveApprovals: true,
    activityLog: true,
    auth: true,
    login: false,
    logout: false,
    usageStats: true,
    subscriptionLimits: false,
    usageLimits: false,
    workspaces: true,
    attachments: true,
    modelSelection: true,
    reasoningSelection: true,
    handback: true,
};
export const CLAUDE_CODE_AGENT_CAPABILITIES = {
    launchProfiles: true,
    fastMode: false,
    externalActivity: true,
    cliMirror: true,
    interactiveApprovals: true,
    activityLog: true,
    auth: true,
    login: true,
    logout: true,
    usageStats: true,
    subscriptionLimits: false,
    usageLimits: false,
    workspaces: true,
    attachments: true,
    modelSelection: true,
    reasoningSelection: true,
    handback: true,
};
export function isAgentId(value) {
    return AGENT_IDS.includes(value);
}
export function agentLabel(agentId) {
    if (agentId === "pi") {
        return "Pi";
    }
    if (agentId === "hermes") {
        return "Hermes";
    }
    if (agentId === "openclaw") {
        return "OpenClaw";
    }
    if (agentId === "claude-code") {
        return "Claude Code";
    }
    return "Codex";
}
export function agentSupportsRawAudioAttachments(agentId) {
    return agentId === "pi" || agentId === "hermes" || agentId === "openclaw";
}
export function agentReasoningLabel(agentId) {
    if (agentId === "pi" || agentId === "openclaw") {
        return "Thinking";
    }
    if (agentId === "claude-code") {
        return "Effort";
    }
    return "Reasoning";
}
export function agentReasoningOptions(agentId) {
    if (agentId === "pi") {
        return PI_THINKING_LEVELS;
    }
    if (agentId === "hermes") {
        return HERMES_REASONING_EFFORTS;
    }
    if (agentId === "openclaw") {
        return OPENCLAW_THINKING_LEVELS;
    }
    if (agentId === "claude-code") {
        return CLAUDE_CODE_EFFORT_LEVELS;
    }
    return CODEX_REASONING_EFFORTS;
}
