"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCompatibleCliDocsReference = void 0;
const COMPATIBLE_CLI_DOCS_REGISTRY = {
    droid: {
        cliId: 'droid',
        displayName: 'Droid CLI',
        docsReference: {
            providerValues: ['anthropic', 'openai', 'generic-chat-completion-api'],
            settingsHierarchy: [
                'project-level config',
                'user-level config',
                'home-level config',
                'CLI flags and env vars',
            ],
            notes: [
                'BYOK custom models are read from ~/.factory/settings.json customModels[]',
                'Legacy key style (custom_models, model_display_name, base_url, api_key, max_tokens) remains in circulation',
                'Factory docs mention legacy support for ~/.factory/config.json',
                'Interactive model selection uses settings.model (custom:<alias>)',
                'Provider-specific reasoning keys in extraArgs: generic-chat-completion-api => reasoning_effort, openai => reasoning.effort, anthropic => thinking.{type,budget_tokens}',
                'droid exec supports --model for one-off execution mode',
            ],
            links: [
                {
                    id: 'droid-cli-overview',
                    label: 'Droid CLI Overview',
                    url: 'https://docs.factory.ai/cli/',
                    category: 'overview',
                    source: 'factory',
                    description: 'Primary entry docs for setup, auth, and core CLI usage.',
                },
                {
                    id: 'droid-byok-overview',
                    label: 'BYOK Overview',
                    url: 'https://docs.factory.ai/cli/byok/overview/',
                    category: 'byok',
                    source: 'factory',
                    description: 'BYOK model/provider shape, provider values, and migration notes.',
                },
                {
                    id: 'droid-settings-reference',
                    label: 'settings.json Reference',
                    url: 'https://docs.factory.ai/cli/configuration/settings/',
                    category: 'configuration',
                    source: 'factory',
                    description: 'Supported settings keys, defaults, and allowed values.',
                },
            ],
            providerDocs: [
                {
                    provider: 'anthropic',
                    label: 'Anthropic Messages API',
                    apiFormat: 'Messages API',
                    url: 'https://docs.anthropic.com/en/api/messages',
                },
                {
                    provider: 'openai',
                    label: 'OpenAI Responses API',
                    apiFormat: 'Responses API',
                    url: 'https://platform.openai.com/docs/api-reference/responses',
                },
                {
                    provider: 'generic-chat-completion-api',
                    label: 'OpenAI Chat Completions Spec',
                    apiFormat: 'Chat Completions API',
                    url: 'https://platform.openai.com/docs/api-reference/chat',
                },
            ],
        },
    },
    codex: {
        cliId: 'codex',
        displayName: 'Codex CLI',
        docsReference: {
            providerValues: ['openai', 'oss', 'custom model_providers'],
            settingsHierarchy: [
                'system managed config',
                'user config ($CODEX_HOME/config.toml)',
                'cwd config',
                'tree/repo config',
                'CLI -c overrides and environment variables',
            ],
            notes: [
                'User config lives at ~/.codex/config.toml unless CODEX_HOME overrides the base directory',
                'Codex merges multiple config layers; this dashboard edits only the user layer',
                'CLI --profile selects a named [profiles.<name>] overlay on top of base config',
                'CCS-backed Codex launches may apply transient -c overrides and CCS_CODEX_API_KEY',
                'Official docs treat model_providers, mcp_servers, features, and project trust as schema-backed config surfaces',
                'CCS-managed browser tooling for Codex should be configured from Settings > Browser, not by editing the ccs_browser MCP entry directly',
            ],
            links: [
                {
                    id: 'codex-config-basic',
                    label: 'Codex Config Basics',
                    url: 'https://developers.openai.com/codex/config-basic',
                    category: 'overview',
                    source: 'openai',
                    description: 'Official user-layer setup, config location, and basic configuration guidance.',
                },
                {
                    id: 'codex-config-advanced',
                    label: 'Codex Config Advanced',
                    url: 'https://developers.openai.com/codex/config-advanced',
                    category: 'configuration',
                    source: 'openai',
                    description: 'Advanced layering, project trust, profiles, and stricter config behaviors.',
                },
                {
                    id: 'codex-config-reference',
                    label: 'Codex Config Reference',
                    url: 'https://developers.openai.com/codex/config-reference',
                    category: 'reference',
                    source: 'openai',
                    description: 'Canonical upstream config schema surface for model providers, features, MCP, and more.',
                },
                {
                    id: 'codex-releases',
                    label: 'Codex GitHub Releases',
                    url: 'https://github.com/openai/codex/releases',
                    category: 'reference',
                    source: 'github',
                    description: 'Track CLI release notes and upstream behavior changes across stable and prerelease builds.',
                },
            ],
            providerDocs: [
                {
                    provider: 'openai',
                    label: 'OpenAI Responses API',
                    apiFormat: 'Responses API',
                    url: 'https://platform.openai.com/docs/api-reference/responses',
                },
            ],
        },
    },
};
function getCompatibleCliDocsReference(cliId) {
    const entry = COMPATIBLE_CLI_DOCS_REGISTRY[cliId];
    if (!entry) {
        throw new Error(`Unsupported compatible CLI docs reference: ${cliId}`);
    }
    return entry.docsReference;
}
exports.getCompatibleCliDocsReference = getCompatibleCliDocsReference;
//# sourceMappingURL=compatible-cli-docs-registry.js.map