fix: widen provider type to SupportedProvider on AgentConfig/CoordinatorConfig/OrchestratorConfig (#158)
`AgentConfig.provider`, `CoordinatorConfig.provider`, and `OrchestratorConfig.defaultProvider` were typed as a narrow 5-provider union (anthropic/copilot/grok/openai/gemini) while `createAdapter()` already accepts the full 8-provider `SupportedProvider` union (adds azure-openai/deepseek/minimax). This forced users to cast when passing valid providers. Widens the three fields to reference `SupportedProvider` directly. Fully additive: no narrowing of previously valid usage. Surfaced in #153 review (Engram integration example used `as AgentProvider` to work around the narrow type).
This commit is contained in:
parent
4fefaa8a78
commit
b850b4d5d9
|
|
@ -6,6 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { ZodSchema } from 'zod'
|
import type { ZodSchema } from 'zod'
|
||||||
|
import type { SupportedProvider } from './llm/adapter.js'
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// Content blocks
|
// Content blocks
|
||||||
|
|
@ -269,7 +270,7 @@ export interface BeforeRunHookContext {
|
||||||
export interface AgentConfig {
|
export interface AgentConfig {
|
||||||
readonly name: string
|
readonly name: string
|
||||||
readonly model: string
|
readonly model: string
|
||||||
readonly provider?: 'anthropic' | 'copilot' | 'grok' | 'openai' | 'gemini'
|
readonly provider?: SupportedProvider
|
||||||
/**
|
/**
|
||||||
* Custom base URL for OpenAI-compatible APIs (Ollama, vLLM, LM Studio, etc.).
|
* Custom base URL for OpenAI-compatible APIs (Ollama, vLLM, LM Studio, etc.).
|
||||||
* Note: local servers that don't require auth still need `apiKey` set to a
|
* Note: local servers that don't require auth still need `apiKey` set to a
|
||||||
|
|
@ -550,7 +551,7 @@ export interface OrchestratorConfig {
|
||||||
/** Maximum cumulative tokens (input + output) allowed per orchestrator run. */
|
/** Maximum cumulative tokens (input + output) allowed per orchestrator run. */
|
||||||
readonly maxTokenBudget?: number
|
readonly maxTokenBudget?: number
|
||||||
readonly defaultModel?: string
|
readonly defaultModel?: string
|
||||||
readonly defaultProvider?: 'anthropic' | 'copilot' | 'grok' | 'openai' | 'gemini'
|
readonly defaultProvider?: SupportedProvider
|
||||||
readonly defaultBaseURL?: string
|
readonly defaultBaseURL?: string
|
||||||
readonly defaultApiKey?: string
|
readonly defaultApiKey?: string
|
||||||
readonly onProgress?: (event: OrchestratorEvent) => void
|
readonly onProgress?: (event: OrchestratorEvent) => void
|
||||||
|
|
@ -583,7 +584,7 @@ export interface OrchestratorConfig {
|
||||||
export interface CoordinatorConfig {
|
export interface CoordinatorConfig {
|
||||||
/** Coordinator model. Defaults to `OrchestratorConfig.defaultModel`. */
|
/** Coordinator model. Defaults to `OrchestratorConfig.defaultModel`. */
|
||||||
readonly model?: string
|
readonly model?: string
|
||||||
readonly provider?: 'anthropic' | 'copilot' | 'grok' | 'openai' | 'gemini'
|
readonly provider?: SupportedProvider
|
||||||
readonly baseURL?: string
|
readonly baseURL?: string
|
||||||
readonly apiKey?: string
|
readonly apiKey?: string
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue