| 1 | import type { ProviderView, ProviderModelCatalogUpdate } from "./types"; |
| 2 | |
| 3 | export type ModelSettingsChange = { requestId: string; expectedFingerprint: string } & ( |
| 4 | | { kind: "preference"; field: "default" | "planner" | "vision" | "search" | "subagent" | "subagent_effort"; ref: string } |
| 5 | | { kind: "preference"; field: "depth" | "concurrency" | "writers"; number: number } |
| 6 | | { kind: "preference"; field: "profile_model" | "profile_effort"; name: string; ref: string } |
| 7 | | { kind: "provider_save"; provider: ProviderView; key?: string } |
| 8 | | { kind: "credential"; key: string } & ({ name: string; names?: never } | { names: string[]; name?: never }) |
| 9 | | { kind: "web_search_capability"; names: string[]; enabled: boolean } |
| 10 | | { kind: "connection_add"; presetId?: string; name?: string; key: string; baseURL?: string; protocol?: string } |
| 11 | | { kind: "official_add"; name: string; key: string } |
| 12 | | { kind: "preset_add"; presetId: string; key: string } |
| 13 | | { kind: "preset_reset"; presetId: string } |
| 14 | | { kind: "protocol_upgrade"; name: string } |
| 15 | | { kind: "catalogs"; catalogs: ProviderModelCatalogUpdate[] } |
| 16 | | { kind: "provider_remove" | "access_remove"; names: string[] } |
| 17 | | { kind: "rename"; names: string[]; ref: string } |
| 18 | ); |
| 19 | |
| 20 | export interface ModelSettingsResult { |
| 21 | requestId: string; |
| 22 | persisted: boolean; |
| 23 | revision: string; |
| 24 | application: "not_required" | "pending" | "applied" | "failed"; |
| 25 | targets: { tabId: string; title?: string; application: string; appliedRevision: string; desiredRevision: string }[]; |
| 26 | issues: { code: string; message: string }[]; |
| 27 | appliedCatalogs: string[]; |
| 28 | } |
| 29 |