import { z } from 'zod'; import { CliOptions } from './cli'; /** 代理强制覆盖的模型 ID,所有协议路由统一使用 */ export declare const DEFAULT_MODEL = "astron-code-latest"; export declare const configSchema: z.ZodObject<{ port: z.ZodNumber; apiKey: z.ZodString; baseUrl: z.ZodString; anthropicBaseUrl: z.ZodString; maxRetries: z.ZodNumber; retryDelay: z.ZodNumber; debug: z.ZodBoolean; verbose: z.ZodBoolean; monitor: z.ZodBoolean; logDir: z.ZodString; statsDir: z.ZodString; statsFlushInterval: z.ZodNumber; streamReadTimeout: z.ZodNumber; upstreamFetchTimeout: z.ZodNumber; configFile: z.ZodOptional; }, z.core.$strip>; export type ResolvedConfig = z.infer; export declare let config: ResolvedConfig; /** * 按优先级查找配置文件: * 1. --config CLI flag / $MAAS_CODING_PROXY_CONFIG * 2. $XDG_CONFIG_HOME/maas-coding-proxy/config.env(兼容旧目录 ~/.config/xfyun-coding-proxy/config.env) * 3. CWD 下的 .env */ export declare function resolveEnvFile(configPath?: string): string | undefined; /** * 按优先级确定日志目录: * 1. --log-dir CLI flag * 2. $XFYUN_LOG_DIR 环境变量 * 3. CWD 下存在 package.json → ./logs(源码开发调试) * 4. $XDG_STATE_HOME/maas-coding-proxy/logs(回退 ~/.local/state/maas-coding-proxy/logs) */ export declare function resolveLogDir(cliLogDir?: string): string; /** * 加载并合并配置:CLI flags > env vars > 配置文件 > 默认值 * 调用后更新模块级 config,供 proxy.ts 等直接引用 */ export declare function loadConfig(cliOpts: CliOptions): ResolvedConfig; /** * 校验配置对象,失败时抛出包含所有字段错误的 Error * 在 promptMissingConfig 之后调用,确保交互式补全的值也被校验 */ export declare function validateConfig(cfg?: ResolvedConfig): void; /** * 交互式补全缺失的必填配置项 * 当 apiKey 为空且 stdin 是 TTY 时,提示用户输入;非 TTY 环境直接跳过(由 schema 校验报错) */ export declare function promptMissingConfig(cfg: ResolvedConfig): Promise; /** * 重置 config 为默认值,用于测试隔离 * 在测试的 beforeEach 中调用,避免测试间互相污染 */ export declare function resetConfigForTesting(): void; //# sourceMappingURL=config.d.ts.map