{"version":3,"file":"helpers.cjs","names":["LLMChain"],"sources":["../../src/agents/helpers.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { ToolInterface } from \"@langchain/core/tools\";\nimport type { SerializedAgentT, AgentInput } from \"./types.js\";\nimport { LLMChain } from \"../chains/llm_chain.js\";\n\nexport async function deserializeHelper<\n  T extends string,\n  U extends Record<string, unknown>,\n  V extends AgentInput,\n  Z,\n>(\n  llm: BaseLanguageModelInterface | undefined,\n  tools: ToolInterface[] | undefined,\n  data: SerializedAgentT<T, U, V>,\n  fromLLMAndTools: (\n    llm: BaseLanguageModelInterface,\n    tools: ToolInterface[],\n    args: U\n  ) => Z,\n  fromConstructor: (args: V) => Z\n): Promise<Z> {\n  if (data.load_from_llm_and_tools) {\n    if (!llm) {\n      throw new Error(\"Loading from llm and tools, llm must be provided.\");\n    }\n\n    if (!tools) {\n      throw new Error(\"Loading from llm and tools, tools must be provided.\");\n    }\n\n    return fromLLMAndTools(llm, tools, data);\n  }\n  if (!data.llm_chain) {\n    throw new Error(\"Loading from constructor, llm_chain must be provided.\");\n  }\n\n  const llmChain = await LLMChain.deserialize(data.llm_chain);\n  return fromConstructor({ ...data, llmChain });\n}\n"],"mappings":";;AAKA,eAAsB,kBAMpB,KACA,OACA,MACA,iBAKA,iBACY;AACZ,KAAI,KAAK,yBAAyB;AAChC,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,oDAAoD;AAGtE,MAAI,CAAC,MACH,OAAM,IAAI,MAAM,sDAAsD;AAGxE,SAAO,gBAAgB,KAAK,OAAO,KAAK;;AAE1C,KAAI,CAAC,KAAK,UACR,OAAM,IAAI,MAAM,wDAAwD;CAG1E,MAAM,WAAW,MAAMA,kBAAAA,SAAS,YAAY,KAAK,UAAU;AAC3D,QAAO,gBAAgB;EAAE,GAAG;EAAM;EAAU,CAAC"}