{"version":3,"file":"BeforeModelNode.cjs","names":["MiddlewareNode","getHookFunction"],"sources":["../../../src/agents/nodes/BeforeModelNode.ts"],"sourcesContent":["import { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode } from \"./middleware.js\";\nimport type {\n  AnyAgentMiddleware,\n  MiddlewareResult,\n} 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(public middleware: AnyAgentMiddleware) {\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":";;;;;;AAYA,IAAa,kBAAb,cAGUA,mBAAAA,eAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;EAAmB;CAE1D,YAAY,YAAuC;AACjD,QAAM;GACJ,MAAM,mBAAmB,WAAW;GACpC,MAAM,OACJ,OACA,WACG,KAAK,iBAAiB,OAAO,OAAO;GAC1C,CAAC;AAPe,OAAA,aAAA;;CAUnB,QAAQ,OAAqB,SAAkC;AAE7D,SADWC,cAAAA,gBAAgB,KAAK,WAAW,YAClC,CACP,OACA,QACD"}