export type EngineId = 'E1_router' | 'E2_cache' | 'E3_batch' | 'E4_compress' | 'E5_rotate'; export type FixMethod = 'free_manual' | 'pro_auto' | 'pro_locked'; /** * 一条省 token 建议 (来自任一 engine 的扫描) */ export interface SaveTokenSuggestion { engine: EngineId; /** 短文案 — surface 给 agent / 用户 (e.g. "5 次 Sonnet 可切 Haiku") */ headline: string; /** 估算省 token 百分比 (0-100) */ estimated_savings_pct: number; /** 估算月省 token (基于过去 7 天日均) */ estimated_savings_tokens: number; /** 估算月省 CNY (基于价目表) */ estimated_savings_cny: number; /** 修法 */ fix_method: FixMethod; /** Free 用户手动操作步骤 */ fix_instructions?: string; /** Pro 升级文案 */ pro_unlock_label?: string; /** Engine 详情 — 比如哪个 model / 哪个 prompt 触发了建议 */ details?: Record; } /** * Save Token Engine 扫描请求 */ export interface SaveTokenScanOptions { /** 是否 Pro 用户 */ is_pro: boolean; /** 时间窗口 (默认近 7 天) */ start?: string; end?: string; } /** * Gateway setup 状态 (per IDE) */ export type GatewaySetupStatus = 'not_configured' | 'configured' | 'partial' | 'unknown'; export interface GatewayDetection { ide: 'claude-code' | 'cursor' | 'codex' | 'aider' | 'continue' | 'shell-env'; detected: boolean; config_path?: string; current_base_url?: string; setup_status: GatewaySetupStatus; } //# sourceMappingURL=types.d.ts.map