ProviderProfile
This content is not available in your language yet.
type ProviderProfile = { auth?: { env: string; }; baseUrl: string; capability?: { background?: boolean; defaultContextWithoutModifier?: number; effectiveContext?: number; hostedTools?: string[]; inputModalities: { document: "supported" | "rejected" | "silently_dropped"; image: "supported" | "rejected" | "silently_dropped"; }; maxContext: number; maxOutput?: number; modelModifiers: string[]; promptCaching: { maxBreakpoints?: number; minCacheableTokens?: number; mode: "explicit" | "implicit" | "ignored"; ttlSeconds?: number; }; quirks: { claudeModelNameMapping: boolean; countTokensEndpoint?: boolean; maxTokensExcludesReasoning?: boolean; minTimeoutMs?: number; modelsEndpoint?: boolean; stopSequences?: "ignored" | "honored" | "misreported_end_turn"; streamUsageLocation?: "message_start" | "message_delta" | "both"; systemRoleInMessages: boolean; unknownModelFallback: boolean; }; reasoning?: boolean; sampling: { temperature?: { clampEpsilon: number; max: number; maxExclusive: boolean; min: number; minExclusive: boolean; }; temperatureFixed?: number; temperatureRange?: [number, number]; }; thinking: { budgetMaxTokens?: number; budgetTokens: "ignored" | "honored"; cannotDisable: boolean; effortParam?: string; mustEchoBack: boolean; signatureShape?: "opaque" | "always_empty" | "absent"; toggleValues: string[]; }; thinkingOptional?: boolean; toolChoice: boolean; vision: boolean; }; models: Record<string, string>; pricing?: Record<string, { cachedInputPerMillion?: number; inputPerMillion: number; outputPerMillion: number; peakMultiplier?: number; tiers?: { cachedInputPerMillion?: number; inputPerMillion: number; outputPerMillion: number; upToInputTokens?: number; }[]; }>; protocol: "anthropic" | "openai" | "openai-responses" | "twp";};provider 档案(ProviderProfileSchema 推导)。
optional auth?: { env: string;};env: string;baseUrl
Section titled “baseUrl”baseUrl: string;capability?
Section titled “capability?”optional capability?: { background?: boolean; defaultContextWithoutModifier?: number; effectiveContext?: number; hostedTools?: string[]; inputModalities: { document: "supported" | "rejected" | "silently_dropped"; image: "supported" | "rejected" | "silently_dropped"; }; maxContext: number; maxOutput?: number; modelModifiers: string[]; promptCaching: { maxBreakpoints?: number; minCacheableTokens?: number; mode: "explicit" | "implicit" | "ignored"; ttlSeconds?: number; }; quirks: { claudeModelNameMapping: boolean; countTokensEndpoint?: boolean; maxTokensExcludesReasoning?: boolean; minTimeoutMs?: number; modelsEndpoint?: boolean; stopSequences?: "ignored" | "honored" | "misreported_end_turn"; streamUsageLocation?: "message_start" | "message_delta" | "both"; systemRoleInMessages: boolean; unknownModelFallback: boolean; }; reasoning?: boolean; sampling: { temperature?: { clampEpsilon: number; max: number; maxExclusive: boolean; min: number; minExclusive: boolean; }; temperatureFixed?: number; temperatureRange?: [number, number]; }; thinking: { budgetMaxTokens?: number; budgetTokens: "ignored" | "honored"; cannotDisable: boolean; effortParam?: string; mustEchoBack: boolean; signatureShape?: "opaque" | "always_empty" | "absent"; toggleValues: string[]; }; thinkingOptional?: boolean; toolChoice: boolean; vision: boolean;};background?
Section titled “background?”optional background?: boolean;defaultContextWithoutModifier?
Section titled “defaultContextWithoutModifier?”optional defaultContextWithoutModifier?: number;effectiveContext?
Section titled “effectiveContext?”optional effectiveContext?: number;hostedTools?
Section titled “hostedTools?”optional hostedTools?: string[];inputModalities
Section titled “inputModalities”inputModalities: { document: "supported" | "rejected" | "silently_dropped"; image: "supported" | "rejected" | "silently_dropped";};inputModalities.document
Section titled “inputModalities.document”document: "supported" | "rejected" | "silently_dropped";inputModalities.image
Section titled “inputModalities.image”image: "supported" | "rejected" | "silently_dropped";maxContext
Section titled “maxContext”maxContext: number;maxOutput?
Section titled “maxOutput?”optional maxOutput?: number;modelModifiers
Section titled “modelModifiers”modelModifiers: string[];promptCaching
Section titled “promptCaching”promptCaching: { maxBreakpoints?: number; minCacheableTokens?: number; mode: "explicit" | "implicit" | "ignored"; ttlSeconds?: number;};promptCaching.maxBreakpoints?
Section titled “promptCaching.maxBreakpoints?”optional maxBreakpoints?: number;promptCaching.minCacheableTokens?
Section titled “promptCaching.minCacheableTokens?”optional minCacheableTokens?: number;promptCaching.mode
Section titled “promptCaching.mode”mode: "explicit" | "implicit" | "ignored";promptCaching.ttlSeconds?
Section titled “promptCaching.ttlSeconds?”optional ttlSeconds?: number;quirks
Section titled “quirks”quirks: { claudeModelNameMapping: boolean; countTokensEndpoint?: boolean; maxTokensExcludesReasoning?: boolean; minTimeoutMs?: number; modelsEndpoint?: boolean; stopSequences?: "ignored" | "honored" | "misreported_end_turn"; streamUsageLocation?: "message_start" | "message_delta" | "both"; systemRoleInMessages: boolean; unknownModelFallback: boolean;};quirks.claudeModelNameMapping
Section titled “quirks.claudeModelNameMapping”claudeModelNameMapping: boolean;quirks.countTokensEndpoint?
Section titled “quirks.countTokensEndpoint?”optional countTokensEndpoint?: boolean;quirks.maxTokensExcludesReasoning?
Section titled “quirks.maxTokensExcludesReasoning?”optional maxTokensExcludesReasoning?: boolean;quirks.minTimeoutMs?
Section titled “quirks.minTimeoutMs?”optional minTimeoutMs?: number;quirks.modelsEndpoint?
Section titled “quirks.modelsEndpoint?”optional modelsEndpoint?: boolean;quirks.stopSequences?
Section titled “quirks.stopSequences?”optional stopSequences?: "ignored" | "honored" | "misreported_end_turn";quirks.streamUsageLocation?
Section titled “quirks.streamUsageLocation?”optional streamUsageLocation?: "message_start" | "message_delta" | "both";quirks.systemRoleInMessages
Section titled “quirks.systemRoleInMessages”systemRoleInMessages: boolean;quirks.unknownModelFallback
Section titled “quirks.unknownModelFallback”unknownModelFallback: boolean;reasoning?
Section titled “reasoning?”optional reasoning?: boolean;sampling
Section titled “sampling”sampling: { temperature?: { clampEpsilon: number; max: number; maxExclusive: boolean; min: number; minExclusive: boolean; }; temperatureFixed?: number; temperatureRange?: [number, number];};sampling.temperature?
Section titled “sampling.temperature?”optional temperature?: { clampEpsilon: number; max: number; maxExclusive: boolean; min: number; minExclusive: boolean;};sampling.temperature.clampEpsilon
Section titled “sampling.temperature.clampEpsilon”clampEpsilon: number;sampling.temperature.max
Section titled “sampling.temperature.max”max: number;sampling.temperature.maxExclusive
Section titled “sampling.temperature.maxExclusive”maxExclusive: boolean;sampling.temperature.min
Section titled “sampling.temperature.min”min: number;sampling.temperature.minExclusive
Section titled “sampling.temperature.minExclusive”minExclusive: boolean;sampling.temperatureFixed?
Section titled “sampling.temperatureFixed?”optional temperatureFixed?: number;sampling.temperatureRange?
Section titled “sampling.temperatureRange?”optional temperatureRange?: [number, number];thinking
Section titled “thinking”thinking: { budgetMaxTokens?: number; budgetTokens: "ignored" | "honored"; cannotDisable: boolean; effortParam?: string; mustEchoBack: boolean; signatureShape?: "opaque" | "always_empty" | "absent"; toggleValues: string[];};thinking.budgetMaxTokens?
Section titled “thinking.budgetMaxTokens?”optional budgetMaxTokens?: number;thinking.budgetTokens
Section titled “thinking.budgetTokens”budgetTokens: "ignored" | "honored";thinking.cannotDisable
Section titled “thinking.cannotDisable”cannotDisable: boolean;thinking.effortParam?
Section titled “thinking.effortParam?”optional effortParam?: string;thinking.mustEchoBack
Section titled “thinking.mustEchoBack”mustEchoBack: boolean;thinking.signatureShape?
Section titled “thinking.signatureShape?”optional signatureShape?: "opaque" | "always_empty" | "absent";thinking.toggleValues
Section titled “thinking.toggleValues”toggleValues: string[];thinkingOptional?
Section titled “thinkingOptional?”optional thinkingOptional?: boolean;toolChoice
Section titled “toolChoice”toolChoice: boolean;vision
Section titled “vision”vision: boolean;models
Section titled “models”models: Record<string, string>;pricing?
Section titled “pricing?”optional pricing?: Record<string, { cachedInputPerMillion?: number; inputPerMillion: number; outputPerMillion: number; peakMultiplier?: number; tiers?: { cachedInputPerMillion?: number; inputPerMillion: number; outputPerMillion: number; upToInputTokens?: number; }[];}>;protocol
Section titled “protocol”protocol: "anthropic" | "openai" | "openai-responses" | "twp";Was this page helpful?
Thanks for your feedback.