@genkit-ai/anthropic
Version:
Genkit AI framework plugin for Anthropic APIs.
1,042 lines (1,039 loc) • 280 kB
text/typescript
import { ModelReference, z, GenerateRequest, StreamingCallback, GenerateResponseData } from 'genkit';
import { ModelInfo, ModelAction, GenerateResponseChunkData } from 'genkit/model';
import { ClaudeModelParams, AnthropicConfigSchemaType, AnthropicConfigSchema, ClaudeRunnerParams } from './types.mjs';
import '@anthropic-ai/sdk';
import '@anthropic-ai/sdk/resources/messages';
/**
* Copyright 2024 Bloom Labs Inc
* Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
type ConfigSchemaType = AnthropicConfigSchemaType;
/**
* Generic Claude model info for unknown/unsupported models.
* Used when a model name is not in KNOWN_CLAUDE_MODELS.
*/
declare const GENERIC_MODEL_INFO: ModelInfo;
/**
* Advanced Claude model info for models that support JSON output.
*/
declare const ADVANCED_MODEL_INFO: ModelInfo;
declare const KNOWN_MODELS: {
readonly 'claude-opus-4-7': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
readonly 'claude-opus-4-6': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
readonly 'claude-opus-4-5': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
readonly 'claude-haiku-4-5': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"auto">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"auto">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"any">;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"any">;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
type: z.ZodLiteral<"tool">;
name: z.ZodString;
}, z.ZodTypeAny, "passthrough">>]>>;
metadata: z.ZodOptional<z.ZodObject<{
user_id: z.ZodOptional<z.ZodString>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
user_id: z.ZodOptional<z.ZodString>;
}, z.ZodTypeAny, "passthrough">>>;
apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
enabled: z.ZodOptional<z.ZodBoolean>;
budgetTokens: z.ZodOptional<z.ZodNumber>;
adaptive: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
}, z.ZodTypeAny, "passthrough">>>;
output_config: z.ZodOptional<z.ZodObject<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {
total: number;
type?: "tokens" | undefined;
}>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
task_budget: z.ZodOptional<z.ZodObject<{
type: z.ZodDefault<z.ZodLiteral<"tokens">>;
total: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "tokens";
total: number;
}, {