UNPKG

@iflow-mcp/ejmockler-brutalist

Version:

Deploy Claude, Codex & Gemini CLI agents to demolish your work before users do. Real file analysis. Brutal honesty. Now with conversation continuation & intelligent pagination.

46 lines 1.86 kB
type CLIName = 'claude' | 'codex' | 'gemini'; /** * ModelResolver — Runtime model discovery and migration resolution. * * Instead of hardcoding model lists that rot, this reads each CLI's * own config at startup to discover: * - The user's configured default model * - Codex's model migration table (old → new mappings) * * Any model string is accepted and passed through to the CLI. * For codex, deprecated model names are resolved through the * migration chain before invocation. */ export declare class ModelResolver { private cliModels; private initialized; private initTime; private readonly CACHE_TTL; initialize(): Promise<void>; /** Re-read configs if cache has expired. */ refreshIfStale(): Promise<void>; /** * Resolve a requested model for a given CLI. * - Returns undefined when no model was requested (let CLI use its own default). * - For codex, follows the migration chain to the current model name. */ resolveModel(cli: CLIName, requestedModel?: string): string | undefined; /** Return discovered default models for each CLI. */ getDefaults(): Record<CLIName, string | undefined>; /** Build a dynamic schema description for the models parameter. */ getModelsDescription(): string; /** Build roster text for cli_agent_roster. */ getRosterModelInfo(): string; private loadCodexConfig; private loadClaudeConfig; /** * Lightweight TOML parser for codex config. * Extracts top-level `model = "..."` and `[notice.model_migrations]` entries. * Not a general TOML parser — handles only the structure codex actually writes. */ private parseCodexToml; /** Follow codex migration chain to resolve deprecated model names. */ private followMigrationChain; } export {}; //# sourceMappingURL=model-resolver.d.ts.map