/** * Provider 管理器 * * 职责: * 1. 读写 ~/.local/share/opencode/auth.json(仅 type=api 的增删改,OAuth 只读) * 2. 缓存 opencode models 输出(按 provider 分组) * 3. 提供 list / get / setKey / removeKey / refreshModels 接口 * * 注意: * - OAuth 类型的 provider 只能通过 opencode providers login 命令在终端登录 * - Web 端只能管理 type=api 的 provider */ import type { CustomProviderInput, ModelInfo, ProviderConfig, ProviderSummary } from './types.js'; export type { ProviderSummary, ModelInfo }; /** * Provider Registry 类 */ export declare class ProviderRegistry { private state; private refreshInterval; /** * 初始化:读取 auth.json + 缓存 models */ init(): Promise; /** * 启动定期刷新 */ private startPeriodicRefresh; /** * 释放 */ dispose(): Promise; /** * 重新读取 auth.json。OAuth login/logout 由 opencode CLI 写入文件后调用。 */ reloadAuth(): Promise; reloadOverrides(): Promise; /** * 列出所有 provider(摘要信息) */ list(): ProviderSummary[]; /** * 获取单个 provider 配置 */ get(providerId: string): ProviderConfig | null; getCustom(providerId: string): CustomProviderInput | null; /** * 设置 API Key(仅适用于 type=api 的 provider) */ setKey(providerId: string, apiKey: string): Promise; /** * 删除 provider 配置 */ removeKey(providerId: string): Promise; upsertCustomProvider(input: CustomProviderInput): Promise; disconnect(providerId: string): Promise; setModelVisibility(providerId: string, modelId: string, visible: boolean): Promise; isModelVisible(providerId: string, modelId: string): boolean; /** * 刷新模型缓存(重新执行 opencode models) */ refreshModels(): Promise; /** * 获取指定 provider 的模型列表 */ getModels(providerId: string): string[]; /** * 获取所有模型信息(扁平化列表) */ getAllModels(): ModelInfo[]; /** * 检查 provider 是否已配置 */ isConfigured(providerId: string): boolean; } /** * 获取全局 Provider registry 单例 */ export declare function getProviderRegistry(): ProviderRegistry; //# sourceMappingURL=manager.d.ts.map