/** * OpenCode Zen model catalog with dynamic fetching, caching, and static fallback. * * OpenCode Zen is a $200/month subscription that provides proxy access to multiple * AI models (Claude, GPT, Gemini, etc.) through a single API endpoint. * * API endpoint: https://opencode.ai/zen/v1 * Auth URL: https://opencode.ai/auth */ import type { ModelApi, ModelDefinitionConfig } from "../config/types.js"; export declare const OPENCODE_ZEN_API_BASE_URL = "https://opencode.ai/zen/v1"; export declare const OPENCODE_ZEN_DEFAULT_MODEL = "claude-opus-4-5"; export declare const OPENCODE_ZEN_DEFAULT_MODEL_REF = "opencode/claude-opus-4-5"; /** * Model aliases for convenient shortcuts. * Users can use "opus" instead of "claude-opus-4-5", etc. */ export declare const OPENCODE_ZEN_MODEL_ALIASES: Record; /** * Resolve a model alias to its full model ID. * Returns the input if no alias exists. */ export declare function resolveOpencodeZenAlias(modelIdOrAlias: string): string; /** * OpenCode Zen routes models to specific API shapes by family. */ export declare function resolveOpencodeZenModelApi(modelId: string): ModelApi; /** * Static fallback models when API is unreachable. */ export declare function getOpencodeZenStaticFallbackModels(): ModelDefinitionConfig[]; /** * Fetch models from the OpenCode Zen API. * Uses caching with 1-hour TTL. * * @param apiKey - OpenCode Zen API key for authentication * @returns Array of model definitions, or static fallback on failure */ export declare function fetchOpencodeZenModels(apiKey?: string): Promise; /** * Clear the model cache (useful for testing or forcing refresh). */ export declare function clearOpencodeZenModelCache(): void;