{"version":3,"file":"BeforeModelNode.cjs","names":["MiddlewareNode","getHookFunction"],"sources":["../../../src/agents/nodes/BeforeModelNode.ts"],"sourcesContent":["import { z } from \"zod/v4\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode } from \"./middleware.js\";\nimport type { AgentMiddleware, MiddlewareResult } from \"../middleware/types.js\";\nimport type { AgentBuiltInState, Runtime } from \"../runtime.js\";\nimport { getHookFunction } from \"../middleware/utils.js\";\n\n/**\n * Node for executing a single middleware's beforeModel hook.\n */\nexport class BeforeModelNode<\n  TStateSchema extends Record<string, unknown> = Record<string, unknown>,\n  TContextSchema extends Record<string, unknown> = Record<string, unknown>,\n> extends MiddlewareNode<TStateSchema, TContextSchema> {\n  lc_namespace = [\"langchain\", \"agents\", \"beforeModelNodes\"];\n\n  constructor(\n    public middleware: AgentMiddleware<\n      z.ZodObject<z.ZodRawShape>,\n      z.ZodObject<z.ZodRawShape>\n    >\n  ) {\n    super({\n      name: `BeforeModelNode_${middleware.name}`,\n      func: async (\n        state: TStateSchema,\n        config?: RunnableConfig<TContextSchema>\n      ) => this.invokeMiddleware(state, config),\n    });\n  }\n\n  runHook(state: TStateSchema, runtime: Runtime<TContextSchema>) {\n    const fn = getHookFunction(this.middleware.beforeModel!);\n    return fn(\n      state as Record<string, unknown> & AgentBuiltInState,\n      runtime as Runtime<unknown>\n    ) as Promise<MiddlewareResult<TStateSchema>>;\n  }\n}\n"],"mappings":";;;;;;AAUA,IAAa,kBAAb,cAGUA,mBAAAA,eAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;EAAmB;CAE1D,YACE,YAIA;AACA,QAAM;GACJ,MAAM,mBAAmB,WAAW;GACpC,MAAM,OACJ,OACA,WACG,KAAK,iBAAiB,OAAO,OAAO;GAC1C,CAAC;AAXK,OAAA,aAAA;;CAcT,QAAQ,OAAqB,SAAkC;AAE7D,SADWC,cAAAA,gBAAgB,KAAK,WAAW,YAAa,CAEtD,OACA,QACD"}