{"version":3,"file":"tool.cjs","names":["formatDocumentsAsString","z","DynamicStructuredTool"],"sources":["../../../../src/agents/toolkits/conversational_retrieval/tool.ts"],"sourcesContent":["import type { BaseRetrieverInterface } from \"@langchain/core/retrievers\";\nimport { z } from \"zod\";\nimport { CallbackManagerForToolRun } from \"@langchain/core/callbacks/manager\";\nimport {\n  DynamicStructuredTool,\n  DynamicStructuredToolInput,\n} from \"@langchain/core/tools\";\nimport { formatDocumentsAsString } from \"../../../util/document.js\";\n\nexport function createRetrieverTool(\n  retriever: BaseRetrieverInterface,\n  input: Omit<DynamicStructuredToolInput, \"func\" | \"schema\">\n) {\n  const func = async (\n    { input }: { input: string },\n    runManager?: CallbackManagerForToolRun\n  ) => {\n    const docs = await retriever.invoke(\n      input,\n      runManager?.getChild(\"retriever\")\n    );\n    return formatDocumentsAsString(docs);\n  };\n  const schema = z.object({\n    input: z\n      .string()\n      .describe(\"Natural language query used as input to the retriever\"),\n  });\n  return new DynamicStructuredTool({ ...input, func, schema });\n}\n"],"mappings":";;;;;AASA,SAAgB,oBACd,WACA,OACA;CACA,MAAM,OAAO,OACX,EAAE,SACF,eACG;AAKH,SAAOA,sBAAAA,wBAJM,MAAM,UAAU,OAC3B,OACA,YAAY,SAAS,YAAY,CAClC,CACmC;;CAEtC,MAAM,SAASC,IAAAA,EAAE,OAAO,EACtB,OAAOA,IAAAA,EACJ,QAAQ,CACR,SAAS,wDAAwD,EACrE,CAAC;AACF,QAAO,IAAIC,sBAAAA,sBAAsB;EAAE,GAAG;EAAO;EAAM;EAAQ,CAAC"}