{"version":3,"file":"vectara_summary.cjs","names":["BaseRetriever","DEFAULT_FILTER","fields: VectaraRetrieverInput","query: string","_callbacks?: CallbackManagerForRetrieverRun","Document"],"sources":["../../src/retrievers/vectara_summary.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport {\n  BaseRetriever,\n  type BaseRetrieverInput,\n} from \"@langchain/core/retrievers\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport {\n  VectaraStore,\n  type VectaraSummary,\n  type VectaraFilter,\n  DEFAULT_FILTER,\n} from \"../vectorstores/vectara.js\";\n\nexport interface VectaraRetrieverInput extends BaseRetrieverInput {\n  vectara: VectaraStore;\n  filter?: VectaraFilter;\n  topK?: number;\n  summaryConfig?: VectaraSummary;\n}\n\nexport class VectaraSummaryRetriever extends BaseRetriever {\n  static lc_name() {\n    return \"VectaraSummaryRetriever\";\n  }\n\n  lc_namespace = [\"langchain\", \"retrievers\"];\n\n  private filter = DEFAULT_FILTER;\n\n  private vectara: VectaraStore;\n\n  private topK: number;\n\n  private summaryConfig: VectaraSummary;\n\n  constructor(fields: VectaraRetrieverInput) {\n    super(fields);\n    this.vectara = fields.vectara;\n    this.topK = fields.topK ?? 10;\n    this.filter = fields.filter ?? DEFAULT_FILTER;\n    this.summaryConfig = fields.summaryConfig ?? {\n      enabled: false,\n      maxSummarizedResults: 0,\n      responseLang: \"eng\",\n    };\n  }\n\n  async _getRelevantDocuments(\n    query: string,\n    _callbacks?: CallbackManagerForRetrieverRun\n  ): Promise<Document[]> {\n    const summaryResult = await this.vectara.vectaraQuery(\n      query,\n      this.topK,\n      this.filter,\n      this.summaryConfig ? this.summaryConfig : undefined\n    );\n    const docs = summaryResult.documents;\n    if (this.summaryConfig.enabled) {\n      docs.push(\n        new Document({\n          pageContent: summaryResult.summary,\n          metadata: { summary: true },\n        })\n      );\n    }\n    return docs;\n  }\n}\n"],"mappings":";;;;;;;;AAoBA,IAAa,0BAAb,cAA6CA,0CAAc;CACzD,OAAO,UAAU;AACf,SAAO;CACR;CAED,eAAe,CAAC,aAAa,YAAa;CAE1C,AAAQ,SAASC;CAEjB,AAAQ;CAER,AAAQ;CAER,AAAQ;CAER,YAAYC,QAA+B;EACzC,MAAM,OAAO;EACb,KAAK,UAAU,OAAO;EACtB,KAAK,OAAO,OAAO,QAAQ;EAC3B,KAAK,SAAS,OAAO,UAAUD;EAC/B,KAAK,gBAAgB,OAAO,iBAAiB;GAC3C,SAAS;GACT,sBAAsB;GACtB,cAAc;EACf;CACF;CAED,MAAM,sBACJE,OACAC,YACqB;EACrB,MAAM,gBAAgB,MAAM,KAAK,QAAQ,aACvC,OACA,KAAK,MACL,KAAK,QACL,KAAK,gBAAgB,KAAK,gBAAgB,OAC3C;EACD,MAAM,OAAO,cAAc;AAC3B,MAAI,KAAK,cAAc,SACrB,KAAK,KACH,IAAIC,oCAAS;GACX,aAAa,cAAc;GAC3B,UAAU,EAAE,SAAS,KAAM;EAC5B,GACF;AAEH,SAAO;CACR;AACF"}