{"version":3,"file":"responses.d.cts","names":["InteropZodObject","InteropZodType","AIMessage","LanguageModelLike","FunctionDefinition","StructuredOutputParsingError","MultipleStructuredOutputsError","ResponseFormatUndefined","ToolStrategy","Record","ToolStrategyOptions","S","U","ProviderStrategy","T","ResponseFormat","transformResponseFormat","JsonSchemaFormat","TypedToolStrategy","Array","ToolStrategyError","Promise","toolStrategy","K","providerStrategy","hasSupportForJsonSchemaOutput"],"sources":["../../src/agents/responses.d.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-instanceof/no-instanceof */\nimport { InteropZodObject, InteropZodType } from \"@langchain/core/utils/types\";\nimport { type AIMessage } from \"@langchain/core/messages\";\nimport { type LanguageModelLike } from \"@langchain/core/language_models/base\";\nimport { type FunctionDefinition } from \"@langchain/core/language_models/base\";\nimport { StructuredOutputParsingError, MultipleStructuredOutputsError } from \"./errors.js\";\n/**\n * Special type to indicate that no response format is provided.\n * When this type is used, the structuredResponse property should not be present in the result.\n */\nexport type ResponseFormatUndefined = {\n    __responseFormatUndefined: true;\n};\n/**\n * Information for tracking structured output tool metadata.\n * This contains all necessary information to handle structured responses generated\n * via tool calls, including the original schema, its type classification, and the\n * corresponding tool implementation used by the tools strategy.\n */\nexport declare class ToolStrategy<_T = unknown> {\n    readonly schema: Record<string, unknown>;\n    readonly tool: {\n        type: \"function\";\n        function: FunctionDefinition;\n    };\n    readonly options?: ToolStrategyOptions | undefined;\n    private constructor();\n    get name(): string;\n    static fromSchema<S extends InteropZodObject>(schema: S, outputOptions?: ToolStrategyOptions): ToolStrategy<S extends InteropZodType<infer U> ? U : unknown>;\n    static fromSchema(schema: Record<string, unknown>, outputOptions?: ToolStrategyOptions): ToolStrategy<Record<string, unknown>>;\n    /**\n     * Parse tool arguments according to the schema.\n     *\n     * @throws {StructuredOutputParsingError} if the response is not valid\n     * @param toolArgs - The arguments from the tool call\n     * @returns The parsed response according to the schema type\n     */\n    parse(toolArgs: Record<string, unknown>): Record<string, unknown>;\n}\nexport declare class ProviderStrategy<T = unknown> {\n    readonly schema: Record<string, unknown>;\n    // @ts-expect-error - _schemaType is used only for type inference\n    private _schemaType?;\n    private constructor();\n    static fromSchema<T>(schema: InteropZodType<T>): ProviderStrategy<T>;\n    static fromSchema(schema: Record<string, unknown>): ProviderStrategy<Record<string, unknown>>;\n    /**\n     * Parse tool arguments according to the schema. If the response is not valid, return undefined.\n     *\n     * @param toolArgs - The arguments from the tool call\n     * @returns The parsed response according to the schema type\n     */\n    parse(response: AIMessage): any;\n}\nexport type ResponseFormat = ToolStrategy<any> | ProviderStrategy<any>;\n/**\n * Handle user input for `responseFormat` parameter of `CreateAgentParams`.\n * This function defines the default behavior for the `responseFormat` parameter, which is:\n *\n * - if value is a Zod schema, default to structured output via tool calling\n * - if value is a JSON schema, default to structured output via tool calling\n * - if value is a custom response format, return it as is\n * - if value is an array, ensure all array elements are instance of `ToolStrategy`\n * @param responseFormat - The response format to transform, provided by the user\n * @param options - The response format options for tool strategy\n * @param model - The model to check if it supports JSON schema output\n * @returns\n */\nexport declare function transformResponseFormat(responseFormat?: InteropZodType<any> | InteropZodType<any>[] | JsonSchemaFormat | JsonSchemaFormat[] | ResponseFormat | ToolStrategy<any>[] | ResponseFormatUndefined, options?: ToolStrategyOptions, model?: LanguageModelLike | string): ResponseFormat[];\n/**\n * Branded type for ToolStrategy arrays that preserves type information\n */\nexport interface TypedToolStrategy<T = unknown> extends Array<ToolStrategy<any>> {\n    _schemaType?: T;\n}\nexport type ToolStrategyError = StructuredOutputParsingError | MultipleStructuredOutputsError;\nexport interface ToolStrategyOptions {\n    /**\n     * Allows you to customize the message that appears in the conversation history when structured\n     * output is generated.\n     */\n    toolMessageContent?: string;\n    /**\n     * Handle errors from the structured output tool call. Using tools to generate structured output\n     * can cause errors, e.g. if:\n     * - you provide multiple structured output schemas and the model calls multiple structured output tools\n     * - if the structured output generated by the tool call doesn't match provided schema\n     *\n     * This property allows to handle these errors in different ways:\n     * - `true` - retry the tool call\n     * - `false` - throw an error\n     * - `string` - retry the tool call with the provided message\n     * - `(error: ToolStrategyError) => Promise<string> | string` - retry with the provided message or throw the error\n     */\n    handleError?: boolean | string | ((error: ToolStrategyError) => Promise<string> | string);\n}\nexport declare function toolStrategy<T extends InteropZodType<any>>(responseFormat: T, options?: ToolStrategyOptions): TypedToolStrategy<T extends InteropZodType<infer U> ? U : never>;\nexport declare function toolStrategy<T extends readonly InteropZodType<any>[]>(responseFormat: T, options?: ToolStrategyOptions): TypedToolStrategy<{\n    [K in keyof T]: T[K] extends InteropZodType<infer U> ? U : never;\n}[number]>;\nexport declare function toolStrategy(responseFormat: JsonSchemaFormat, options?: ToolStrategyOptions): TypedToolStrategy<Record<string, unknown>>;\nexport declare function toolStrategy(responseFormat: JsonSchemaFormat[], options?: ToolStrategyOptions): TypedToolStrategy<Record<string, unknown>>;\nexport declare function providerStrategy<T extends InteropZodType<any>>(responseFormat: T): ProviderStrategy<T extends InteropZodType<infer U> ? U : never>;\nexport declare function providerStrategy(responseFormat: JsonSchemaFormat): ProviderStrategy<Record<string, unknown>>;\n/**\n * Type representing a JSON Schema object format.\n * This is a strict type that excludes ToolStrategy and ProviderStrategy instances.\n */\nexport type JsonSchemaFormat = {\n    type: \"null\" | \"boolean\" | \"object\" | \"array\" | \"number\" | \"string\" | \"integer\";\n    properties?: Record<string, unknown>;\n    required?: string[];\n    additionalProperties?: boolean;\n    [key: string]: unknown;\n} & {\n    // Brand to ensure this is not a ToolStrategy or ProviderStrategy\n    __brand?: never;\n};\n/**\n * Identifies the models that support JSON schema output\n * @param model - The model to check\n * @returns True if the model supports JSON schema output, false otherwise\n */\nexport declare function hasSupportForJsonSchemaOutput(model?: LanguageModelLike | string): boolean;\n"],"mappings":"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"}