UNPKG

@kdump/code-cli-any-llm

Version:

> A unified gateway for the Gemini, opencode, crush, and Qwen Code AI CLIs

73 lines (72 loc) 1.93 kB
export interface OpenAIConfig { apiKey: string; baseURL: string; model: string; timeout: number; extraBody?: Record<string, any>; } export type CodexReasoningEffort = 'minimal' | 'low' | 'medium' | 'high'; export type CodexReasoningSummary = 'concise' | 'detailed' | 'auto'; export interface CodexReasoningConfig { effort?: CodexReasoningEffort; summary?: CodexReasoningSummary; } export type CodexAuthMode = 'ApiKey' | 'ChatGPT'; export interface CodexConfig { apiKey?: string; baseURL?: string; model?: string; timeout?: number; reasoning?: CodexReasoningConfig | null; textVerbosity?: 'low' | 'medium' | 'high'; authMode?: CodexAuthMode; } export interface ClaudeCodeConfig { apiKey: string; baseURL: string; model: string; timeout: number; anthropicVersion?: string; beta?: string | string[]; userAgent?: string; xApp?: string; dangerousDirectBrowserAccess?: boolean; maxOutputTokens?: number; extraHeaders?: Record<string, string>; } export interface GatewayConfig { port: number; host: string; logLevel: string; logDir: string; requestTimeout: number; apiMode?: 'gemini' | 'openai'; cliMode?: 'gemini' | 'opencode' | 'crush' | 'qwencode'; apiKey?: string; } export interface GlobalConfig { openai: OpenAIConfig; codex?: CodexConfig; claudeCode?: ClaudeCodeConfig; gateway: GatewayConfig; aiProvider: 'openai' | 'codex' | 'claudeCode'; configSource: string; configSources?: string[]; isValid: boolean; } export interface ConfigError { field: string; message: string; suggestion: string; required: boolean; } export interface ConfigValidationResult { isValid: boolean; errors: ConfigError[]; warnings: string[]; config?: GlobalConfig; } export interface DefaultConfigTemplate { template: string; comments: boolean; }