/**
 * CLI Settings Type Definitions
 * Supports Claude CLI --settings parameter format
 */
/**
 * 从 LiteLLM Provider 映射到 Claude CLI env
 */
export function mapProviderToClaudeEnv(provider) {
    const env = {};
    if (provider.apiKey) {
        env.ANTHROPIC_AUTH_TOKEN = provider.apiKey;
    }
    if (provider.apiBase) {
        env.ANTHROPIC_BASE_URL = provider.apiBase;
    }
    // 默认禁用自动更新
    env.DISABLE_AUTOUPDATER = '1';
    return env;
}
/**
 * 创建默认 Settings
 */
export function createDefaultSettings() {
    return {
        env: {
            DISABLE_AUTOUPDATER: '1'
        },
        model: 'sonnet',
        includeCoAuthoredBy: false
    };
}
/**
 * 验证 Settings 格式
 */
export function validateSettings(settings) {
    if (!settings || typeof settings !== 'object') {
        return false;
    }
    const s = settings;
    // env 必须存在且为对象
    if (!s.env || typeof s.env !== 'object') {
        return false;
    }
    // model 可选，但如果存在必须是字符串
    if (s.model !== undefined && typeof s.model !== 'string') {
        return false;
    }
    // includeCoAuthoredBy 可选，但如果存在必须是布尔值
    if (s.includeCoAuthoredBy !== undefined && typeof s.includeCoAuthoredBy !== 'boolean') {
        return false;
    }
    return true;
}
//# sourceMappingURL=cli-settings.js.map