{"version":3,"file":"base.cjs","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n  /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n  documentPrompt,\n  documentSeparator,\n  documents,\n  config,\n}: {\n  documentPrompt: BasePromptTemplate;\n  documentSeparator: string;\n  documents: Document[];\n  config?: RunnableConfig;\n}) {\n  if (documents == null || documents.length === 0) {\n    return \"\";\n  }\n  const formattedDocs = await Promise.all(\n    documents.map((document) =>\n      documentPrompt\n        .withConfig({ runName: \"document_formatter\" })\n        .invoke(\n          { ...document.metadata, page_content: document.pageContent },\n          config\n        )\n    )\n  );\n  return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;;AAMA,MAAa,gBAAgB;AAG7B,MAAa,0BACK,wCAAA,eAAe,aAAa,iBAAiB;AAE/D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;AACD,KAAI,aAAa,QAAQ,UAAU,WAAW,EAC5C,QAAO;AAYT,SAVsB,MAAM,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,sBAAsB,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;EAAa,EAC5D,OACD,CACJ,CACF,EACoB,KAAK,kBAAkB"}