langchain
Version:
Typescript bindings for langchain
1 lines • 32.7 kB
Source Map (JSON)
{"version":3,"file":"types.d.ts","names":["InteropZodObject","InteropZodDefault","InteropZodOptional","InferInteropZodInput","InferInteropZodOutput","InteropZodToStateDefinition","AnnotationRoot","AIMessage","SystemMessage","ToolMessage","ToolCall","Command","ClientTool","ServerTool","JumpToTarget","Runtime","AgentBuiltInState","ModelRequest","PromiseOrValue","T","Promise","AnyAnnotationRoot","NormalizedSchemaInput","TSchema","Record","MiddlewareResult","TState","ToolCallRequest","TContext","ToolCallHandler","WrapToolCallHook","WrapModelCallHandler","Omit","WrapModelCallHook","BeforeAgentHandler","Partial","BeforeAgentHook","BeforeModelHandler","BeforeModelHook","AfterModelHandler","AfterModelHook","AfterAgentHandler","AfterAgentHook","MIDDLEWARE_BRAND","AgentMiddleware","TContextSchema","TFullContext","FilterPrivateProps","K","InferChannelType","ToAnnotationRoot","InferMiddlewareState","S","InferMiddlewareInputState","InferMiddlewareStates","First","Rest","InferMiddlewareInputStates","InferMergedState","InferMergedInputState","InferMiddlewareContext","C","InferMiddlewareContextInput","Inner","InferMiddlewareContexts","MergeContextTypes","A","B","InferMiddlewareContextInputs","InferContextInput","ContextSchema","InferSchemaInput"],"sources":["../../../src/agents/middleware/types.d.ts"],"sourcesContent":["import type { InteropZodObject, InteropZodDefault, InteropZodOptional, InferInteropZodInput, InferInteropZodOutput } from \"@langchain/core/utils/types\";\nimport type { InteropZodToStateDefinition } from \"@langchain/langgraph/zod\";\nimport type { AnnotationRoot } from \"@langchain/langgraph\";\nimport type { AIMessage, SystemMessage, ToolMessage } from \"@langchain/core/messages\";\nimport type { ToolCall } from \"@langchain/core/messages/tool\";\nimport type { Command } from \"@langchain/langgraph\";\nimport type { ClientTool, ServerTool } from \"@langchain/core/tools\";\nimport type { JumpToTarget } from \"../constants.js\";\nimport type { Runtime, AgentBuiltInState } from \"../runtime.js\";\nimport type { ModelRequest } from \"../nodes/types.js\";\ntype PromiseOrValue<T> = T | Promise<T>;\nexport type AnyAnnotationRoot = AnnotationRoot<any>;\nexport type NormalizedSchemaInput<TSchema extends InteropZodObject | undefined | never = any> = [TSchema] extends [never] ? AgentBuiltInState : TSchema extends InteropZodObject ? InferInteropZodOutput<TSchema> & AgentBuiltInState : TSchema extends Record<string, unknown> ? TSchema & AgentBuiltInState : AgentBuiltInState;\n/**\n * Result type for middleware functions.\n */\nexport type MiddlewareResult<TState> = (TState & {\n jumpTo?: JumpToTarget;\n}) | void;\n/**\n * Represents a tool call request for the wrapToolCall hook.\n * Contains the tool call information along with the agent's current state and runtime.\n */\nexport interface ToolCallRequest<TState extends Record<string, unknown> = Record<string, unknown>, TContext = unknown> {\n /**\n * The tool call to be executed\n */\n toolCall: ToolCall;\n /**\n * The BaseTool instance being invoked.\n * Provides access to tool metadata like name, description, schema, etc.\n */\n tool: ClientTool | ServerTool;\n /**\n * The current agent state (includes both middleware state and built-in state).\n */\n state: TState & AgentBuiltInState;\n /**\n * The runtime context containing metadata, signal, writer, interrupt, etc.\n */\n runtime: Runtime<TContext>;\n}\n/**\n * Handler function type for wrapping tool calls.\n * Takes a tool call request and returns the tool result or a command.\n */\nexport type ToolCallHandler<TSchema extends Record<string, unknown> = AgentBuiltInState, TContext = unknown> = (request: ToolCallRequest<TSchema, TContext>) => PromiseOrValue<ToolMessage | Command>;\n/**\n * Wrapper function type for the wrapToolCall hook.\n * Allows middleware to intercept and modify tool execution.\n */\nexport type WrapToolCallHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = (request: ToolCallRequest<NormalizedSchemaInput<TSchema>, TContext>, handler: ToolCallHandler<NormalizedSchemaInput<TSchema>, TContext>) => PromiseOrValue<ToolMessage | Command>;\n/**\n * Handler function type for wrapping model calls.\n * Takes a model request and returns the AI message response.\n *\n * @param request - The model request containing model, messages, systemPrompt, tools, state, and runtime\n * @returns The AI message response from the model\n */\nexport type WrapModelCallHandler<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = (request: Omit<ModelRequest<NormalizedSchemaInput<TSchema>, TContext>, \n/**\n * allow to reset the system prompt or system message\n */\n\"systemPrompt\" | \"systemMessage\"> & {\n systemPrompt?: string;\n systemMessage?: SystemMessage;\n}) => PromiseOrValue<AIMessage>;\n/**\n * Wrapper function type for the wrapModelCall hook.\n * Allows middleware to intercept and modify model execution.\n * This enables you to:\n * - Modify the request before calling the model (e.g., change system prompt, add/remove tools)\n * - Handle errors and retry with different parameters\n * - Post-process the response\n * - Implement custom caching, logging, or other cross-cutting concerns\n *\n * @param request - The model request containing all parameters needed for the model call\n * @param handler - The function that invokes the model. Call this with a ModelRequest to get the response\n * @returns The AI message response from the model (or a modified version)\n */\nexport type WrapModelCallHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = (request: ModelRequest<NormalizedSchemaInput<TSchema>, TContext>, handler: WrapModelCallHandler<TSchema, TContext>) => PromiseOrValue<AIMessage>;\n/**\n * Handler function type for the beforeAgent hook.\n * Called once at the start of agent invocation before any model calls or tool executions.\n *\n * @param state - The current agent state (includes both middleware state and built-in state)\n * @param runtime - The runtime context containing metadata, signal, writer, interrupt, etc.\n * @returns A middleware result containing partial state updates or undefined to pass through\n */\ntype BeforeAgentHandler<TSchema, TContext> = (state: TSchema, runtime: Runtime<TContext>) => PromiseOrValue<MiddlewareResult<Partial<TSchema>>>;\n/**\n * Hook type for the beforeAgent lifecycle event.\n * Can be either a handler function or an object with a handler and optional jump targets.\n * This hook is called once at the start of the agent invocation.\n */\nexport type BeforeAgentHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = BeforeAgentHandler<NormalizedSchemaInput<TSchema>, TContext> | {\n hook: BeforeAgentHandler<NormalizedSchemaInput<TSchema>, TContext>;\n canJumpTo?: JumpToTarget[];\n};\n/**\n * Handler function type for the beforeModel hook.\n * Called before the model is invoked and before the wrapModelCall hook.\n *\n * @param state - The current agent state (includes both middleware state and built-in state)\n * @param runtime - The runtime context containing metadata, signal, writer, interrupt, etc.\n * @returns A middleware result containing partial state updates or undefined to pass through\n */\ntype BeforeModelHandler<TSchema, TContext> = (state: TSchema, runtime: Runtime<TContext>) => PromiseOrValue<MiddlewareResult<Partial<TSchema>>>;\n/**\n * Hook type for the beforeModel lifecycle event.\n * Can be either a handler function or an object with a handler and optional jump targets.\n * This hook is called before each model invocation.\n */\nexport type BeforeModelHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = BeforeModelHandler<NormalizedSchemaInput<TSchema>, TContext> | {\n hook: BeforeModelHandler<NormalizedSchemaInput<TSchema>, TContext>;\n canJumpTo?: JumpToTarget[];\n};\n/**\n * Handler function type for the afterModel hook.\n * Called after the model is invoked and before any tools are called.\n * Allows modifying the agent state after model invocation, e.g., to update tool call parameters.\n *\n * @param state - The current agent state (includes both middleware state and built-in state)\n * @param runtime - The runtime context containing metadata, signal, writer, interrupt, etc.\n * @returns A middleware result containing partial state updates or undefined to pass through\n */\ntype AfterModelHandler<TSchema, TContext> = (state: TSchema, runtime: Runtime<TContext>) => PromiseOrValue<MiddlewareResult<Partial<TSchema>>>;\n/**\n * Hook type for the afterModel lifecycle event.\n * Can be either a handler function or an object with a handler and optional jump targets.\n * This hook is called after each model invocation.\n */\nexport type AfterModelHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = AfterModelHandler<NormalizedSchemaInput<TSchema>, TContext> | {\n hook: AfterModelHandler<NormalizedSchemaInput<TSchema>, TContext>;\n canJumpTo?: JumpToTarget[];\n};\n/**\n * Handler function type for the afterAgent hook.\n * Called once at the end of agent invocation after all model calls and tool executions are complete.\n *\n * @param state - The current agent state (includes both middleware state and built-in state)\n * @param runtime - The runtime context containing metadata, signal, writer, interrupt, etc.\n * @returns A middleware result containing partial state updates or undefined to pass through\n */\ntype AfterAgentHandler<TSchema, TContext> = (state: TSchema, runtime: Runtime<TContext>) => PromiseOrValue<MiddlewareResult<Partial<TSchema>>>;\n/**\n * Hook type for the afterAgent lifecycle event.\n * Can be either a handler function or an object with a handler and optional jump targets.\n * This hook is called once at the end of the agent invocation.\n */\nexport type AfterAgentHook<TSchema extends InteropZodObject | undefined = undefined, TContext = unknown> = AfterAgentHandler<NormalizedSchemaInput<TSchema>, TContext> | {\n hook: AfterAgentHandler<NormalizedSchemaInput<TSchema>, TContext>;\n canJumpTo?: JumpToTarget[];\n};\n/**\n * Unique symbol used to brand middleware instances.\n * This prevents functions from being accidentally assignable to AgentMiddleware\n * since functions have a 'name' property that would otherwise make them structurally compatible.\n */\nexport declare const MIDDLEWARE_BRAND: unique symbol;\n/**\n * Base middleware interface.\n */\nexport interface AgentMiddleware<TSchema extends InteropZodObject | undefined = any, TContextSchema extends InteropZodObject | InteropZodDefault<InteropZodObject> | InteropZodOptional<InteropZodObject> | undefined = any, TFullContext = any> {\n /**\n * Brand property to distinguish middleware instances from plain objects or functions.\n * This is required and prevents accidental assignment of functions to middleware arrays.\n */\n readonly [MIDDLEWARE_BRAND]: true;\n /**\n * The name of the middleware.\n */\n name: string;\n /**\n * The schema of the middleware state. Middleware state is persisted between multiple invocations. It can be either:\n * - A Zod object\n * - A Zod optional object\n * - A Zod default object\n * - Undefined\n */\n stateSchema?: TSchema;\n /**\n * The schema of the middleware context. Middleware context is read-only and not persisted between multiple invocations. It can be either:\n * - A Zod object\n * - A Zod optional object\n * - A Zod default object\n * - Undefined\n */\n contextSchema?: TContextSchema;\n /**\n * Additional tools registered by the middleware.\n */\n tools?: (ClientTool | ServerTool)[];\n /**\n * Wraps tool execution with custom logic. This allows you to:\n * - Modify tool call parameters before execution\n * - Handle errors and retry with different parameters\n * - Post-process tool results\n * - Implement caching, logging, authentication, or other cross-cutting concerns\n * - Return Command objects for advanced control flow\n *\n * The handler receives a ToolCallRequest containing the tool call, state, and runtime,\n * along with a handler function to execute the actual tool.\n *\n * @param request - The tool call request containing toolCall, state, and runtime.\n * @param handler - The function that executes the tool. Call this with a ToolCallRequest to get the result.\n * @returns The tool result as a ToolMessage or a Command for advanced control flow.\n *\n * @example\n * ```ts\n * wrapToolCall: async (request, handler) => {\n * console.log(`Calling tool: ${request.tool.name}`);\n * console.log(`Tool description: ${request.tool.description}`);\n *\n * try {\n * // Execute the tool\n * const result = await handler(request);\n * console.log(`Tool ${request.tool.name} succeeded`);\n * return result;\n * } catch (error) {\n * console.error(`Tool ${request.tool.name} failed:`, error);\n * // Could return a custom error message or retry\n * throw error;\n * }\n * }\n * ```\n *\n * @example Authentication\n * ```ts\n * wrapToolCall: async (request, handler) => {\n * // Check if user is authorized for this tool\n * if (!request.runtime.context.isAuthorized(request.tool.name)) {\n * return new ToolMessage({\n * content: \"Unauthorized to call this tool\",\n * tool_call_id: request.toolCall.id,\n * });\n * }\n * return handler(request);\n * }\n * ```\n *\n * @example Caching\n * ```ts\n * const cache = new Map();\n * wrapToolCall: async (request, handler) => {\n * const cacheKey = `${request.tool.name}:${JSON.stringify(request.toolCall.args)}`;\n * if (cache.has(cacheKey)) {\n * return cache.get(cacheKey);\n * }\n * const result = await handler(request);\n * cache.set(cacheKey, result);\n * return result;\n * }\n * ```\n */\n wrapToolCall?: WrapToolCallHook<TSchema, TFullContext>;\n /**\n * Wraps the model invocation with custom logic. This allows you to:\n * - Modify the request before calling the model\n * - Handle errors and retry with different parameters\n * - Post-process the response\n * - Implement custom caching, logging, or other cross-cutting concerns\n *\n * @param request - The model request containing model, messages, systemPrompt, tools, state, and runtime.\n * @param handler - The function that invokes the model. Call this with a ModelRequest to get the response.\n * @returns The response from the model (or a modified version).\n *\n * @example\n * ```ts\n * wrapModelCall: async (request, handler) => {\n * // Modify request before calling\n * const modifiedRequest = { ...request, systemPrompt: \"You are helpful\" };\n *\n * try {\n * // Call the model\n * return await handler(modifiedRequest);\n * } catch (error) {\n * // Handle errors and retry with fallback\n * const fallbackRequest = { ...request, model: fallbackModel };\n * return await handler(fallbackRequest);\n * }\n * }\n * ```\n */\n wrapModelCall?: WrapModelCallHook<TSchema, TFullContext>;\n /**\n * The function to run before the agent execution starts. This function is called once at the start of the agent invocation.\n * It allows to modify the state of the agent before any model calls or tool executions.\n *\n * @param state - The middleware state\n * @param runtime - The middleware runtime\n * @returns The modified middleware state or undefined to pass through\n */\n beforeAgent?: BeforeAgentHook<TSchema, TFullContext>;\n /**\n * The function to run before the model call. This function is called before the model is invoked and before the `wrapModelCall` hook.\n * It allows to modify the state of the agent.\n *\n * @param state - The middleware state\n * @param runtime - The middleware runtime\n * @returns The modified middleware state or undefined to pass through\n */\n beforeModel?: BeforeModelHook<TSchema, TFullContext>;\n /**\n * The function to run after the model call. This function is called after the model is invoked and before any tools are called.\n * It allows to modify the state of the agent after the model is invoked, e.g. to update tool call parameters.\n *\n * @param state - The middleware state\n * @param runtime - The middleware runtime\n * @returns The modified middleware state or undefined to pass through\n */\n afterModel?: AfterModelHook<TSchema, TFullContext>;\n /**\n * The function to run after the agent execution completes. This function is called once at the end of the agent invocation.\n * It allows to modify the final state of the agent after all model calls and tool executions are complete.\n *\n * @param state - The middleware state\n * @param runtime - The middleware runtime\n * @returns The modified middleware state or undefined to pass through\n */\n afterAgent?: AfterAgentHook<TSchema, TFullContext>;\n}\n/**\n * Helper type to filter out properties that start with underscore (private properties)\n */\ntype FilterPrivateProps<T> = {\n [K in keyof T as K extends `_${string}` ? never : K]: T[K];\n};\nexport type InferChannelType<T extends AnyAnnotationRoot | InteropZodObject> = T extends AnyAnnotationRoot ? ToAnnotationRoot<T>[\"State\"] : T extends InteropZodObject ? InferInteropZodInput<T> : {};\n/**\n * Helper type to infer the state schema type from a middleware\n * This filters out private properties (those starting with underscore)\n */\nexport type InferMiddlewareState<T extends AgentMiddleware> = T extends AgentMiddleware<infer S, any, any> ? S extends InteropZodObject ? FilterPrivateProps<InferInteropZodOutput<S>> : {} : {};\n/**\n * Helper type to infer the input state schema type from a middleware (all properties optional)\n * This filters out private properties (those starting with underscore)\n */\nexport type InferMiddlewareInputState<T extends AgentMiddleware> = T extends AgentMiddleware<infer S, any, any> ? S extends InteropZodObject ? FilterPrivateProps<InferInteropZodInput<S>> : {} : {};\n/**\n * Helper type to infer merged state from an array of middleware (just the middleware states)\n */\nexport type InferMiddlewareStates<T = AgentMiddleware[]> = T extends readonly [] ? {} : T extends readonly [infer First, ...infer Rest] ? First extends AgentMiddleware ? Rest extends readonly AgentMiddleware[] ? InferMiddlewareState<First> & InferMiddlewareStates<Rest> : InferMiddlewareState<First> : {} : {};\n/**\n * Helper type to infer merged input state from an array of middleware (with optional defaults)\n */\nexport type InferMiddlewareInputStates<T extends readonly AgentMiddleware[]> = T extends readonly [] ? {} : T extends readonly [infer First, ...infer Rest] ? First extends AgentMiddleware ? Rest extends readonly AgentMiddleware[] ? InferMiddlewareInputState<First> & InferMiddlewareInputStates<Rest> : InferMiddlewareInputState<First> : {} : {};\n/**\n * Helper type to infer merged state from an array of middleware (includes built-in state)\n */\nexport type InferMergedState<T extends readonly AgentMiddleware[]> = InferMiddlewareStates<T> & AgentBuiltInState;\n/**\n * Helper type to infer merged input state from an array of middleware (includes built-in state)\n */\nexport type InferMergedInputState<T extends readonly AgentMiddleware[]> = InferMiddlewareInputStates<T> & AgentBuiltInState;\n/**\n * Helper type to infer the context schema type from a middleware\n */\nexport type InferMiddlewareContext<T extends AgentMiddleware> = T extends AgentMiddleware<any, infer C, any> ? C extends InteropZodObject ? InferInteropZodInput<C> : {} : {};\n/**\n * Helper type to infer the input context schema type from a middleware (with optional defaults)\n */\nexport type InferMiddlewareContextInput<T extends AgentMiddleware> = T extends AgentMiddleware<any, infer C, any> ? C extends InteropZodOptional<infer Inner> ? InferInteropZodInput<Inner> | undefined : C extends InteropZodObject ? InferInteropZodInput<C> : {} : {};\n/**\n * Helper type to infer merged context from an array of middleware\n */\nexport type InferMiddlewareContexts<T extends readonly AgentMiddleware[]> = T extends readonly [] ? {} : T extends readonly [infer First, ...infer Rest] ? First extends AgentMiddleware ? Rest extends readonly AgentMiddleware[] ? InferMiddlewareContext<First> & InferMiddlewareContexts<Rest> : InferMiddlewareContext<First> : {} : {};\n/**\n * Helper to merge two context types, preserving undefined unions\n */\ntype MergeContextTypes<A, B> = [A] extends [undefined] ? [B] extends [undefined] ? undefined : B | undefined : [B] extends [undefined] ? A | undefined : [A] extends [B] ? A : [B] extends [A] ? B : A & B;\n/**\n * Helper type to infer merged input context from an array of middleware (with optional defaults)\n */\nexport type InferMiddlewareContextInputs<T extends readonly AgentMiddleware[]> = T extends readonly [] ? {} : T extends readonly [infer First, ...infer Rest] ? First extends AgentMiddleware ? Rest extends readonly AgentMiddleware[] ? MergeContextTypes<InferMiddlewareContextInput<First>, InferMiddlewareContextInputs<Rest>> : InferMiddlewareContextInput<First> : {} : {};\n/**\n * Helper type to extract input type from context schema (with optional defaults)\n */\nexport type InferContextInput<ContextSchema extends AnyAnnotationRoot | InteropZodObject> = ContextSchema extends InteropZodObject ? InferInteropZodInput<ContextSchema> : ContextSchema extends AnyAnnotationRoot ? ToAnnotationRoot<ContextSchema>[\"State\"] : {};\nexport type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> = A extends AnyAnnotationRoot ? A : A extends InteropZodObject ? AnnotationRoot<InteropZodToStateDefinition<A>> : never;\nexport type InferSchemaInput<A extends AnyAnnotationRoot | InteropZodObject | undefined> = A extends AnyAnnotationRoot | InteropZodObject ? ToAnnotationRoot<A>[\"State\"] : {};\nexport {};\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}