import type { SecretInput } from "./types.secrets.js"; export type ModelProviderAuthMode = "api-key" | "aws-sdk" | "oauth" | "token"; export type ModelDefinitionConfig = { id: string; name: string; reasoning: boolean; input: Array<"text" | "image">; cost: { input: number; output: number; cacheRead: number; cacheWrite: number; }; contextWindow: number; maxTokens: number; headers?: Record; }; export type ModelProviderConfig = { baseUrl: string; apiKey?: SecretInput; auth?: ModelProviderAuthMode; injectNumCtxForOpenAICompat?: boolean; headers?: Record; authHeader?: boolean; models: ModelDefinitionConfig[]; }; export type BedrockDiscoveryConfig = { enabled?: boolean; region?: string; providerFilter?: string[]; refreshInterval?: number; defaultContextWindow?: number; defaultMaxTokens?: number; }; export type ModelsConfig = { mode?: "merge" | "replace"; providers?: Record; bedrockDiscovery?: BedrockDiscoveryConfig; };