|
|
@@ -117,171 +117,266 @@ type KilocodeProviderConfig = BaseProviderConfig & {
|
|
|
kilocodeModel?: string
|
|
|
kilocodeToken?: string
|
|
|
kilocodeOrganizationId?: string
|
|
|
+ openRouterSpecificProvider?: string
|
|
|
+ openRouterProviderDataCollection?: "allow" | "deny"
|
|
|
+ openRouterProviderSort?: "price" | "throughput" | "latency"
|
|
|
+ openRouterZdr?: boolean
|
|
|
+ kilocodeTesterWarningsDisabledUntil?: number
|
|
|
}
|
|
|
|
|
|
type AnthropicProviderConfig = BaseProviderConfig & {
|
|
|
provider: "anthropic"
|
|
|
apiModelId?: string
|
|
|
+ apiKey?: string
|
|
|
+ anthropicBaseUrl?: string
|
|
|
+ anthropicUseAuthToken?: boolean
|
|
|
+ anthropicBeta1MContext?: boolean
|
|
|
}
|
|
|
|
|
|
type OpenAINativeProviderConfig = BaseProviderConfig & {
|
|
|
provider: "openai-native"
|
|
|
apiModelId?: string
|
|
|
+ openAiNativeApiKey?: string
|
|
|
+ openAiNativeBaseUrl?: string
|
|
|
+ openAiNativeServiceTier?: "auto" | "default" | "flex" | "priority"
|
|
|
}
|
|
|
|
|
|
type OpenAIProviderConfig = BaseProviderConfig & {
|
|
|
provider: "openai"
|
|
|
- apiModelId?: string
|
|
|
+ openAiModelId?: string
|
|
|
+ openAiBaseUrl?: string
|
|
|
+ openAiApiKey?: string
|
|
|
+ openAiLegacyFormat?: boolean
|
|
|
+ openAiR1FormatEnabled?: boolean
|
|
|
+ openAiUseAzure?: boolean
|
|
|
+ azureApiVersion?: string
|
|
|
+ openAiStreamingEnabled?: boolean
|
|
|
+ openAiHeaders?: Record<string, string>
|
|
|
}
|
|
|
|
|
|
type OpenRouterProviderConfig = BaseProviderConfig & {
|
|
|
provider: "openrouter"
|
|
|
openRouterModelId?: string
|
|
|
+ openRouterApiKey?: string
|
|
|
+ openRouterBaseUrl?: string
|
|
|
+ openRouterSpecificProvider?: string
|
|
|
+ openRouterUseMiddleOutTransform?: boolean
|
|
|
+ openRouterProviderDataCollection?: "allow" | "deny"
|
|
|
+ openRouterProviderSort?: "price" | "throughput" | "latency"
|
|
|
+ openRouterZdr?: boolean
|
|
|
}
|
|
|
|
|
|
type OllamaProviderConfig = BaseProviderConfig & {
|
|
|
provider: "ollama"
|
|
|
ollamaModelId?: string
|
|
|
+ ollamaBaseUrl?: string
|
|
|
+ ollamaApiKey?: string
|
|
|
+ ollamaNumCtx?: number
|
|
|
}
|
|
|
|
|
|
type LMStudioProviderConfig = BaseProviderConfig & {
|
|
|
provider: "lmstudio"
|
|
|
lmStudioModelId?: string
|
|
|
+ lmStudioBaseUrl?: string
|
|
|
+ lmStudioDraftModelId?: string
|
|
|
+ lmStudioSpeculativeDecodingEnabled?: boolean
|
|
|
}
|
|
|
|
|
|
type GlamaProviderConfig = BaseProviderConfig & {
|
|
|
provider: "glama"
|
|
|
glamaModelId?: string
|
|
|
+ glamaApiKey?: string
|
|
|
}
|
|
|
|
|
|
type LiteLLMProviderConfig = BaseProviderConfig & {
|
|
|
provider: "litellm"
|
|
|
litellmModelId?: string
|
|
|
+ litellmBaseUrl?: string
|
|
|
+ litellmApiKey?: string
|
|
|
+ litellmUsePromptCache?: boolean
|
|
|
}
|
|
|
|
|
|
type DeepInfraProviderConfig = BaseProviderConfig & {
|
|
|
provider: "deepinfra"
|
|
|
deepInfraModelId?: string
|
|
|
+ deepInfraBaseUrl?: string
|
|
|
+ deepInfraApiKey?: string
|
|
|
}
|
|
|
|
|
|
type UnboundProviderConfig = BaseProviderConfig & {
|
|
|
provider: "unbound"
|
|
|
unboundModelId?: string
|
|
|
+ unboundApiKey?: string
|
|
|
}
|
|
|
|
|
|
type RequestyProviderConfig = BaseProviderConfig & {
|
|
|
provider: "requesty"
|
|
|
requestyModelId?: string
|
|
|
+ requestyBaseUrl?: string
|
|
|
+ requestyApiKey?: string
|
|
|
}
|
|
|
|
|
|
type VercelAiGatewayProviderConfig = BaseProviderConfig & {
|
|
|
provider: "vercel-ai-gateway"
|
|
|
vercelAiGatewayModelId?: string
|
|
|
+ vercelAiGatewayApiKey?: string
|
|
|
}
|
|
|
|
|
|
type IOIntelligenceProviderConfig = BaseProviderConfig & {
|
|
|
provider: "io-intelligence"
|
|
|
ioIntelligenceModelId?: string
|
|
|
+ ioIntelligenceApiKey?: string
|
|
|
}
|
|
|
|
|
|
type OVHCloudProviderConfig = BaseProviderConfig & {
|
|
|
provider: "ovhcloud"
|
|
|
ovhCloudAiEndpointsModelId?: string
|
|
|
+ ovhCloudAiEndpointsApiKey?: string
|
|
|
+ ovhCloudAiEndpointsBaseUrl?: string
|
|
|
}
|
|
|
|
|
|
type InceptionProviderConfig = BaseProviderConfig & {
|
|
|
provider: "inception"
|
|
|
inceptionLabsModelId?: string
|
|
|
+ inceptionLabsBaseUrl?: string
|
|
|
+ inceptionLabsApiKey?: string
|
|
|
}
|
|
|
|
|
|
type BedrockProviderConfig = BaseProviderConfig & {
|
|
|
provider: "bedrock"
|
|
|
apiModelId?: string
|
|
|
+ awsAccessKey?: string
|
|
|
+ awsSecretKey?: string
|
|
|
+ awsSessionToken?: string
|
|
|
+ awsRegion?: string
|
|
|
+ awsUseCrossRegionInference?: boolean
|
|
|
+ awsUsePromptCache?: boolean
|
|
|
+ awsProfile?: string
|
|
|
+ awsUseProfile?: boolean
|
|
|
+ awsApiKey?: string
|
|
|
+ awsUseApiKey?: boolean
|
|
|
+ awsCustomArn?: string
|
|
|
+ awsModelContextWindow?: number
|
|
|
+ awsBedrockEndpointEnabled?: boolean
|
|
|
+ awsBedrockEndpoint?: string
|
|
|
+ awsBedrock1MContext?: boolean
|
|
|
}
|
|
|
|
|
|
type VertexProviderConfig = BaseProviderConfig & {
|
|
|
provider: "vertex"
|
|
|
apiModelId?: string
|
|
|
+ vertexKeyFile?: string
|
|
|
+ vertexJsonCredentials?: string
|
|
|
+ vertexProjectId?: string
|
|
|
+ vertexRegion?: string
|
|
|
+ enableUrlContext?: boolean
|
|
|
+ enableGrounding?: boolean
|
|
|
}
|
|
|
|
|
|
type GeminiProviderConfig = BaseProviderConfig & {
|
|
|
provider: "gemini"
|
|
|
apiModelId?: string
|
|
|
+ geminiApiKey?: string
|
|
|
+ googleGeminiBaseUrl?: string
|
|
|
+ enableUrlContext?: boolean
|
|
|
+ enableGrounding?: boolean
|
|
|
}
|
|
|
|
|
|
type GeminiCliProviderConfig = BaseProviderConfig & {
|
|
|
provider: "gemini-cli"
|
|
|
apiModelId?: string
|
|
|
+ geminiCliOAuthPath?: string
|
|
|
+ geminiCliProjectId?: string
|
|
|
}
|
|
|
|
|
|
type MistralProviderConfig = BaseProviderConfig & {
|
|
|
provider: "mistral"
|
|
|
apiModelId?: string
|
|
|
+ mistralApiKey?: string
|
|
|
+ mistralCodestralUrl?: string
|
|
|
}
|
|
|
|
|
|
type MoonshotProviderConfig = BaseProviderConfig & {
|
|
|
provider: "moonshot"
|
|
|
apiModelId?: string
|
|
|
+ moonshotBaseUrl?: string
|
|
|
+ moonshotApiKey?: string
|
|
|
}
|
|
|
|
|
|
type MinimaxProviderConfig = BaseProviderConfig & {
|
|
|
provider: "minimax"
|
|
|
apiModelId?: string
|
|
|
+ minimaxBaseUrl?: string
|
|
|
+ minimaxApiKey?: string
|
|
|
}
|
|
|
|
|
|
type DeepSeekProviderConfig = BaseProviderConfig & {
|
|
|
provider: "deepseek"
|
|
|
apiModelId?: string
|
|
|
+ deepSeekBaseUrl?: string
|
|
|
+ deepSeekApiKey?: string
|
|
|
}
|
|
|
|
|
|
type DoubaoProviderConfig = BaseProviderConfig & {
|
|
|
provider: "doubao"
|
|
|
apiModelId?: string
|
|
|
+ doubaoBaseUrl?: string
|
|
|
+ doubaoApiKey?: string
|
|
|
}
|
|
|
|
|
|
type QwenCodeProviderConfig = BaseProviderConfig & {
|
|
|
provider: "qwen-code"
|
|
|
apiModelId?: string
|
|
|
+ qwenCodeOauthPath?: string
|
|
|
}
|
|
|
|
|
|
type XAIProviderConfig = BaseProviderConfig & {
|
|
|
provider: "xai"
|
|
|
apiModelId?: string
|
|
|
+ xaiApiKey?: string
|
|
|
}
|
|
|
|
|
|
type GroqProviderConfig = BaseProviderConfig & {
|
|
|
provider: "groq"
|
|
|
apiModelId?: string
|
|
|
+ groqApiKey?: string
|
|
|
}
|
|
|
|
|
|
type ChutesProviderConfig = BaseProviderConfig & {
|
|
|
provider: "chutes"
|
|
|
apiModelId?: string
|
|
|
+ chutesApiKey?: string
|
|
|
}
|
|
|
|
|
|
type CerebrasProviderConfig = BaseProviderConfig & {
|
|
|
provider: "cerebras"
|
|
|
apiModelId?: string
|
|
|
+ cerebrasApiKey?: string
|
|
|
}
|
|
|
|
|
|
type SambaNovaProviderConfig = BaseProviderConfig & {
|
|
|
provider: "sambanova"
|
|
|
apiModelId?: string
|
|
|
+ sambaNovaApiKey?: string
|
|
|
}
|
|
|
|
|
|
type ZAIProviderConfig = BaseProviderConfig & {
|
|
|
provider: "zai"
|
|
|
apiModelId?: string
|
|
|
+ zaiApiKey?: string
|
|
|
+ zaiApiLine?: "international_coding" | "china_coding"
|
|
|
}
|
|
|
|
|
|
type FireworksProviderConfig = BaseProviderConfig & {
|
|
|
provider: "fireworks"
|
|
|
apiModelId?: string
|
|
|
+ fireworksApiKey?: string
|
|
|
}
|
|
|
|
|
|
type FeatherlessProviderConfig = BaseProviderConfig & {
|
|
|
provider: "featherless"
|
|
|
apiModelId?: string
|
|
|
+ featherlessApiKey?: string
|
|
|
}
|
|
|
|
|
|
type RooProviderConfig = BaseProviderConfig & {
|
|
|
@@ -292,6 +387,8 @@ type RooProviderConfig = BaseProviderConfig & {
|
|
|
type ClaudeCodeProviderConfig = BaseProviderConfig & {
|
|
|
provider: "claude-code"
|
|
|
apiModelId?: string
|
|
|
+ claudeCodePath?: string
|
|
|
+ claudeCodeMaxOutputTokens?: number
|
|
|
}
|
|
|
|
|
|
type VSCodeLMProviderConfig = BaseProviderConfig & {
|
|
|
@@ -307,16 +404,30 @@ type VSCodeLMProviderConfig = BaseProviderConfig & {
|
|
|
type HuggingFaceProviderConfig = BaseProviderConfig & {
|
|
|
provider: "huggingface"
|
|
|
huggingFaceModelId?: string
|
|
|
+ huggingFaceApiKey?: string
|
|
|
+ huggingFaceInferenceProvider?: string
|
|
|
}
|
|
|
|
|
|
type SyntheticProviderConfig = BaseProviderConfig & {
|
|
|
provider: "synthetic"
|
|
|
apiModelId?: string
|
|
|
+ syntheticApiKey?: string
|
|
|
}
|
|
|
|
|
|
type VirtualQuotaFallbackProviderConfig = BaseProviderConfig & {
|
|
|
provider: "virtual-quota-fallback"
|
|
|
- apiModelId?: string
|
|
|
+ profiles?: Array<{
|
|
|
+ profileName?: string
|
|
|
+ profileId?: string
|
|
|
+ profileLimits?: {
|
|
|
+ tokensPerMinute?: number
|
|
|
+ tokensPerHour?: number
|
|
|
+ tokensPerDay?: number
|
|
|
+ requestsPerMinute?: number
|
|
|
+ requestsPerHour?: number
|
|
|
+ requestsPerDay?: number
|
|
|
+ }
|
|
|
+ }>
|
|
|
}
|
|
|
|
|
|
type HumanRelayProviderConfig = BaseProviderConfig & {
|
|
|
@@ -326,7 +437,7 @@ type HumanRelayProviderConfig = BaseProviderConfig & {
|
|
|
|
|
|
type FakeAIProviderConfig = BaseProviderConfig & {
|
|
|
provider: "fake-ai"
|
|
|
- // No model ID field
|
|
|
+ fakeAi?: unknown
|
|
|
}
|
|
|
|
|
|
// Discriminated union of all provider configs
|