@genkit-ai/anthropic
Version:
Genkit AI framework plugin for Anthropic APIs.
1,139 lines (1,135 loc) • 48.9 kB
TypeScript
import Anthropic from '@anthropic-ai/sdk';
export { CacheControlEphemeral as AnthropicCacheControl } from '-ai/sdk/resources/messages';
import { z } from 'genkit';
/**
* 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.
*/
/**
* Internal symbol for dependency injection in tests.
* Not part of the public API.
* @internal
*/
declare const __testClient: unique symbol;
/**
* Plugin configuration options for the Anthropic plugin.
*/
interface PluginOptions {
apiKey?: string;
/** Default API surface for all requests unless overridden per-request. */
apiVersion?: 'stable' | 'beta';
}
/**
* Internal plugin options that include test client injection.
* @internal
*/
interface InternalPluginOptions extends PluginOptions {
[__testClient]?: Anthropic;
}
/**
* Shared parameters required to construct Claude helpers.
*/
interface ClaudeHelperParamsBase {
name: string;
client: Anthropic;
defaultApiVersion?: 'stable' | 'beta';
}
/**
* Parameters for creating a Claude model action.
*/
interface ClaudeModelParams extends ClaudeHelperParamsBase {
}
/**
* Parameters for creating a Claude runner.
*/
interface ClaudeRunnerParams extends ClaudeHelperParamsBase {
}
declare const ThinkingConfigSchema: 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">>;
declare const AnthropicConfigSchema: 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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>;
type ThinkingConfig = z.infer<typeof ThinkingConfigSchema>;
type ClaudeConfig = z.infer<typeof AnthropicConfigSchema>;
type AnthropicConfigSchemaType = typeof AnthropicConfigSchema;
declare const AnthropicBaseConfigSchema: 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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>;
declare const AnthropicThinkingConfigSchema: 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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>>;
/** Optional shorthand to pick API surface for this request. */
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">>;
type AnthropicBaseConfigSchemaType = typeof AnthropicConfigSchema;
type AnthropicThinkingConfigSchemaType = typeof AnthropicConfigSchema;
type AnthropicBaseConfig = ClaudeConfig;
type AnthropicThinkingConfig = ClaudeConfig;
/**
* Media object representation with URL and optional content type.
*/
interface Media {
url: string;
contentType?: string;
}
declare const MediaSchema: z.ZodObject<{
url: z.ZodString;
contentType: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
url: string;
contentType?: string | undefined;
}, {
url: string;
contentType?: string | undefined;
}>;
declare const MediaTypeSchema: z.ZodEnum<["image/jpeg", "image/png", "image/gif", "image/webp"]>;
type MediaType = z.infer<typeof MediaTypeSchema>;
declare const MEDIA_TYPES: {
readonly JPEG: "image/jpeg";
readonly PNG: "image/png";
readonly GIF: "image/gif";
readonly WEBP: "image/webp";
};
/**
* Resolve whether beta API should be used for this call.
* Priority:
* 1. request.config.apiVersion (per-request override - explicit stable or beta)
* 2. pluginDefaultApiVersion (plugin-wide default)
* 3. otherwise stable
*/
declare function resolveBetaEnabled(cfg: ClaudeConfig | undefined, pluginDefaultApiVersion?: 'stable' | 'beta'): boolean;
/** Plain text document source. */
interface AnthropicTextSource {
type: 'text';
data: string;
mediaType?: string;
}
/** Base64-encoded document source (e.g., PDF). */
interface AnthropicBase64Source {
type: 'base64';
data: string;
mediaType: string;
}
/** File reference source (from Files API). */
interface AnthropicFileSource {
type: 'file';
fileId: string;
}
/** Custom content blocks for granular citation control. */
interface AnthropicContentSource {
type: 'content';
content: Array<{
type: 'text';
text: string;
} | {
type: 'image';
source: {
type: 'base64';
mediaType: string;
data: string;
};
}>;
}
/** URL source for PDFs. */
interface AnthropicURLSource {
type: 'url';
url: string;
}
/** Union of all document source types. */
type AnthropicDocumentSource = AnthropicTextSource | AnthropicBase64Source | AnthropicFileSource | AnthropicContentSource | AnthropicURLSource;
/** Options for creating an Anthropic document with optional citations. */
interface AnthropicDocumentOptions {
source: AnthropicDocumentSource;
title?: string;
context?: string;
citations?: {
enabled: boolean;
};
}
/** Citation from a plain text document (character indices). */
interface CharLocationCitation {
type: 'char_location';
citedText: string;
documentIndex: number;
documentTitle?: string;
fileId?: string;
startCharIndex: number;
endCharIndex: number;
}
/** Citation from a PDF document (page numbers). */
interface PageLocationCitation {
type: 'page_location';
citedText: string;
documentIndex: number;
documentTitle?: string;
fileId?: string;
startPageNumber: number;
endPageNumber: number;
}
/** Citation from a custom content document (block indices). */
interface ContentBlockLocationCitation {
type: 'content_block_location';
citedText: string;
documentIndex: number;
documentTitle?: string;
fileId?: string;
startBlockIndex: number;
endBlockIndex: number;
}
/** Union of all citation types for documents. */
type AnthropicCitation = CharLocationCitation | PageLocationCitation | ContentBlockLocationCitation;
export { type AnthropicBase64Source, type AnthropicBaseConfig, AnthropicBaseConfigSchema, type AnthropicBaseConfigSchemaType, type AnthropicCitation, AnthropicConfigSchema, type AnthropicConfigSchemaType, type AnthropicContentSource, type AnthropicDocumentOptions, type AnthropicDocumentSource, type AnthropicFileSource, type AnthropicTextSource, type AnthropicThinkingConfig, AnthropicThinkingConfigSchema, type AnthropicThinkingConfigSchemaType, type AnthropicURLSource, type CharLocationCitation, type ClaudeConfig, type ClaudeModelParams, type ClaudeRunnerParams, type ContentBlockLocationCitation, type InternalPluginOptions, MEDIA_TYPES, type Media, MediaSchema, type MediaType, MediaTypeSchema, type PageLocationCitation, type PluginOptions, type ThinkingConfig, ThinkingConfigSchema, __testClient, resolveBetaEnabled };