542 lines
33 KiB
TypeScript
542 lines
33 KiB
TypeScript
/** Immutable, credential-blind models.json snapshot. */
|
|
import { type Static, Type } from "typebox";
|
|
declare const ModelDefinitionSchema: Type.TObject<{
|
|
id: Type.TString;
|
|
name: Type.TOptional<Type.TString>;
|
|
api: Type.TOptional<Type.TString>;
|
|
baseUrl: Type.TOptional<Type.TString>;
|
|
reasoning: Type.TOptional<Type.TBoolean>;
|
|
thinkingLevelMap: Type.TOptional<Type.TObject<{
|
|
off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>>;
|
|
input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
|
|
cost: Type.TOptional<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
tiers: Type.TOptional<Type.TArray<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
inputTokensAbove: Type.TNumber;
|
|
}>>>;
|
|
}>>;
|
|
contextWindow: Type.TOptional<Type.TNumber>;
|
|
maxTokens: Type.TOptional<Type.TNumber>;
|
|
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
compat: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
supportsStore: Type.TOptional<Type.TBoolean>;
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
|
|
supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
|
|
maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
|
|
requiresToolResultName: Type.TOptional<Type.TBoolean>;
|
|
requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
|
|
requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
|
|
requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
|
|
thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
|
|
chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
|
|
$var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">]>;
|
|
omitWhenOff: Type.TOptional<Type.TBoolean>;
|
|
}>]>>>;
|
|
cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
|
|
openRouterRouting: Type.TOptional<Type.TObject<{
|
|
allow_fallbacks: Type.TOptional<Type.TBoolean>;
|
|
require_parameters: Type.TOptional<Type.TBoolean>;
|
|
data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
|
|
zdr: Type.TOptional<Type.TBoolean>;
|
|
enforce_distillable_text: Type.TOptional<Type.TBoolean>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
ignore: Type.TOptional<Type.TArray<Type.TString>>;
|
|
quantizations: Type.TOptional<Type.TArray<Type.TString>>;
|
|
sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
|
|
by: Type.TOptional<Type.TString>;
|
|
partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>]>>;
|
|
max_price: Type.TOptional<Type.TObject<{
|
|
prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
}>>;
|
|
preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
}>>;
|
|
vercelGatewayRouting: Type.TOptional<Type.TObject<{
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
}>>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
deferredToolsMode: Type.TOptional<Type.TLiteral<"kimi">>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolSearch: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
|
|
supportsTemperature: Type.TOptional<Type.TBoolean>;
|
|
forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
|
|
allowEmptySignature: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolReferences: Type.TOptional<Type.TBoolean>;
|
|
}>]>>;
|
|
}>;
|
|
declare const ModelOverrideSchema: Type.TObject<{
|
|
name: Type.TOptional<Type.TString>;
|
|
reasoning: Type.TOptional<Type.TBoolean>;
|
|
thinkingLevelMap: Type.TOptional<Type.TObject<{
|
|
off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>>;
|
|
input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
|
|
cost: Type.TOptional<Type.TObject<{
|
|
input: Type.TOptional<Type.TNumber>;
|
|
output: Type.TOptional<Type.TNumber>;
|
|
cacheRead: Type.TOptional<Type.TNumber>;
|
|
cacheWrite: Type.TOptional<Type.TNumber>;
|
|
tiers: Type.TOptional<Type.TArray<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
inputTokensAbove: Type.TNumber;
|
|
}>>>;
|
|
}>>;
|
|
contextWindow: Type.TOptional<Type.TNumber>;
|
|
maxTokens: Type.TOptional<Type.TNumber>;
|
|
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
compat: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
supportsStore: Type.TOptional<Type.TBoolean>;
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
|
|
supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
|
|
maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
|
|
requiresToolResultName: Type.TOptional<Type.TBoolean>;
|
|
requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
|
|
requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
|
|
requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
|
|
thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
|
|
chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
|
|
$var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">]>;
|
|
omitWhenOff: Type.TOptional<Type.TBoolean>;
|
|
}>]>>>;
|
|
cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
|
|
openRouterRouting: Type.TOptional<Type.TObject<{
|
|
allow_fallbacks: Type.TOptional<Type.TBoolean>;
|
|
require_parameters: Type.TOptional<Type.TBoolean>;
|
|
data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
|
|
zdr: Type.TOptional<Type.TBoolean>;
|
|
enforce_distillable_text: Type.TOptional<Type.TBoolean>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
ignore: Type.TOptional<Type.TArray<Type.TString>>;
|
|
quantizations: Type.TOptional<Type.TArray<Type.TString>>;
|
|
sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
|
|
by: Type.TOptional<Type.TString>;
|
|
partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>]>>;
|
|
max_price: Type.TOptional<Type.TObject<{
|
|
prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
}>>;
|
|
preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
}>>;
|
|
vercelGatewayRouting: Type.TOptional<Type.TObject<{
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
}>>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
deferredToolsMode: Type.TOptional<Type.TLiteral<"kimi">>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolSearch: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
|
|
supportsTemperature: Type.TOptional<Type.TBoolean>;
|
|
forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
|
|
allowEmptySignature: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolReferences: Type.TOptional<Type.TBoolean>;
|
|
}>]>>;
|
|
}>;
|
|
declare const ProviderConfigSchema: Type.TObject<{
|
|
name: Type.TOptional<Type.TString>;
|
|
baseUrl: Type.TOptional<Type.TString>;
|
|
apiKey: Type.TOptional<Type.TString>;
|
|
api: Type.TOptional<Type.TString>;
|
|
oauth: Type.TOptional<Type.TLiteral<"radius">>;
|
|
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
compat: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
supportsStore: Type.TOptional<Type.TBoolean>;
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
|
|
supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
|
|
maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
|
|
requiresToolResultName: Type.TOptional<Type.TBoolean>;
|
|
requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
|
|
requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
|
|
requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
|
|
thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
|
|
chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
|
|
$var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">]>;
|
|
omitWhenOff: Type.TOptional<Type.TBoolean>;
|
|
}>]>>>;
|
|
cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
|
|
openRouterRouting: Type.TOptional<Type.TObject<{
|
|
allow_fallbacks: Type.TOptional<Type.TBoolean>;
|
|
require_parameters: Type.TOptional<Type.TBoolean>;
|
|
data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
|
|
zdr: Type.TOptional<Type.TBoolean>;
|
|
enforce_distillable_text: Type.TOptional<Type.TBoolean>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
ignore: Type.TOptional<Type.TArray<Type.TString>>;
|
|
quantizations: Type.TOptional<Type.TArray<Type.TString>>;
|
|
sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
|
|
by: Type.TOptional<Type.TString>;
|
|
partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>]>>;
|
|
max_price: Type.TOptional<Type.TObject<{
|
|
prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
}>>;
|
|
preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
}>>;
|
|
vercelGatewayRouting: Type.TOptional<Type.TObject<{
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
}>>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
deferredToolsMode: Type.TOptional<Type.TLiteral<"kimi">>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolSearch: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
|
|
supportsTemperature: Type.TOptional<Type.TBoolean>;
|
|
forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
|
|
allowEmptySignature: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolReferences: Type.TOptional<Type.TBoolean>;
|
|
}>]>>;
|
|
authHeader: Type.TOptional<Type.TBoolean>;
|
|
models: Type.TOptional<Type.TArray<Type.TObject<{
|
|
id: Type.TString;
|
|
name: Type.TOptional<Type.TString>;
|
|
api: Type.TOptional<Type.TString>;
|
|
baseUrl: Type.TOptional<Type.TString>;
|
|
reasoning: Type.TOptional<Type.TBoolean>;
|
|
thinkingLevelMap: Type.TOptional<Type.TObject<{
|
|
off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>>;
|
|
input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
|
|
cost: Type.TOptional<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
tiers: Type.TOptional<Type.TArray<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
inputTokensAbove: Type.TNumber;
|
|
}>>>;
|
|
}>>;
|
|
contextWindow: Type.TOptional<Type.TNumber>;
|
|
maxTokens: Type.TOptional<Type.TNumber>;
|
|
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
compat: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
supportsStore: Type.TOptional<Type.TBoolean>;
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
|
|
supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
|
|
maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
|
|
requiresToolResultName: Type.TOptional<Type.TBoolean>;
|
|
requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
|
|
requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
|
|
requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
|
|
thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
|
|
chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
|
|
$var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">]>;
|
|
omitWhenOff: Type.TOptional<Type.TBoolean>;
|
|
}>]>>>;
|
|
cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
|
|
openRouterRouting: Type.TOptional<Type.TObject<{
|
|
allow_fallbacks: Type.TOptional<Type.TBoolean>;
|
|
require_parameters: Type.TOptional<Type.TBoolean>;
|
|
data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
|
|
zdr: Type.TOptional<Type.TBoolean>;
|
|
enforce_distillable_text: Type.TOptional<Type.TBoolean>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
ignore: Type.TOptional<Type.TArray<Type.TString>>;
|
|
quantizations: Type.TOptional<Type.TArray<Type.TString>>;
|
|
sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
|
|
by: Type.TOptional<Type.TString>;
|
|
partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>]>>;
|
|
max_price: Type.TOptional<Type.TObject<{
|
|
prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
}>>;
|
|
preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
}>>;
|
|
vercelGatewayRouting: Type.TOptional<Type.TObject<{
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
}>>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
deferredToolsMode: Type.TOptional<Type.TLiteral<"kimi">>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolSearch: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
|
|
supportsTemperature: Type.TOptional<Type.TBoolean>;
|
|
forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
|
|
allowEmptySignature: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolReferences: Type.TOptional<Type.TBoolean>;
|
|
}>]>>;
|
|
}>>>;
|
|
modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
|
|
name: Type.TOptional<Type.TString>;
|
|
reasoning: Type.TOptional<Type.TBoolean>;
|
|
thinkingLevelMap: Type.TOptional<Type.TObject<{
|
|
off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>>;
|
|
input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
|
|
cost: Type.TOptional<Type.TObject<{
|
|
input: Type.TOptional<Type.TNumber>;
|
|
output: Type.TOptional<Type.TNumber>;
|
|
cacheRead: Type.TOptional<Type.TNumber>;
|
|
cacheWrite: Type.TOptional<Type.TNumber>;
|
|
tiers: Type.TOptional<Type.TArray<Type.TObject<{
|
|
input: Type.TNumber;
|
|
output: Type.TNumber;
|
|
cacheRead: Type.TNumber;
|
|
cacheWrite: Type.TNumber;
|
|
inputTokensAbove: Type.TNumber;
|
|
}>>>;
|
|
}>>;
|
|
contextWindow: Type.TOptional<Type.TNumber>;
|
|
maxTokens: Type.TOptional<Type.TNumber>;
|
|
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
compat: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
supportsStore: Type.TOptional<Type.TBoolean>;
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
|
|
supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
|
|
maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
|
|
requiresToolResultName: Type.TOptional<Type.TBoolean>;
|
|
requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
|
|
requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
|
|
requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
|
|
thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
|
|
chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
|
|
$var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">]>;
|
|
omitWhenOff: Type.TOptional<Type.TBoolean>;
|
|
}>]>>>;
|
|
cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
|
|
openRouterRouting: Type.TOptional<Type.TObject<{
|
|
allow_fallbacks: Type.TOptional<Type.TBoolean>;
|
|
require_parameters: Type.TOptional<Type.TBoolean>;
|
|
data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
|
|
zdr: Type.TOptional<Type.TBoolean>;
|
|
enforce_distillable_text: Type.TOptional<Type.TBoolean>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
ignore: Type.TOptional<Type.TArray<Type.TString>>;
|
|
quantizations: Type.TOptional<Type.TArray<Type.TString>>;
|
|
sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
|
|
by: Type.TOptional<Type.TString>;
|
|
partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
}>]>>;
|
|
max_price: Type.TOptional<Type.TObject<{
|
|
prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
|
|
}>>;
|
|
preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
|
|
p50: Type.TOptional<Type.TNumber>;
|
|
p75: Type.TOptional<Type.TNumber>;
|
|
p90: Type.TOptional<Type.TNumber>;
|
|
p99: Type.TOptional<Type.TNumber>;
|
|
}>]>>;
|
|
}>>;
|
|
vercelGatewayRouting: Type.TOptional<Type.TObject<{
|
|
only: Type.TOptional<Type.TArray<Type.TString>>;
|
|
order: Type.TOptional<Type.TArray<Type.TString>>;
|
|
}>>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
deferredToolsMode: Type.TOptional<Type.TLiteral<"kimi">>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
|
|
sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictMode: Type.TOptional<Type.TBoolean>;
|
|
supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolSearch: Type.TOptional<Type.TBoolean>;
|
|
}>, Type.TObject<{
|
|
supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
|
|
supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
|
|
sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
|
|
supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
|
|
supportsTemperature: Type.TOptional<Type.TBoolean>;
|
|
forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
|
|
allowEmptySignature: Type.TOptional<Type.TBoolean>;
|
|
supportsStrictTools: Type.TOptional<Type.TBoolean>;
|
|
supportsToolReferences: Type.TOptional<Type.TBoolean>;
|
|
}>]>>;
|
|
}>>>;
|
|
}>;
|
|
export type ModelsJsonModel = Static<typeof ModelDefinitionSchema>;
|
|
export type ModelsJsonModelOverride = Static<typeof ModelOverrideSchema>;
|
|
export type ModelsJsonProvider = Static<typeof ProviderConfigSchema>;
|
|
/** One immutable load of models.json. */
|
|
export declare class ModelConfig {
|
|
private readonly providers;
|
|
private readonly error;
|
|
private constructor();
|
|
static load(modelsJsonPath: string | undefined): Promise<ModelConfig>;
|
|
getProvider(providerId: string): ModelsJsonProvider | undefined;
|
|
getProviderIds(): readonly string[];
|
|
getError(): string | undefined;
|
|
}
|
|
export {};
|
|
//# sourceMappingURL=model-config.d.ts.map
|