{"version":3,"file":"arxiv.cjs","names":["BaseRetriever","options: ArxivRetrieverOptions","query: string","searchArxiv","loadDocsFromResults","getDocsFromSummaries"],"sources":["../../src/retrievers/arxiv.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport { Document } from \"@langchain/core/documents\";\nimport {\n  searchArxiv,\n  loadDocsFromResults,\n  getDocsFromSummaries,\n} from \"../utils/arxiv.js\";\n\nexport type ArxivRetrieverOptions = {\n  getFullDocuments?: boolean;\n  maxSearchResults?: number;\n} & BaseRetrieverInput;\n\n/**\n * A retriever that searches arXiv for relevant articles based on a query.\n * It can retrieve either full documents (PDFs) or just summaries.\n */\nexport class ArxivRetriever extends BaseRetriever {\n  static lc_name() {\n    return \"ArxivRetriever\";\n  }\n\n  lc_namespace = [\"langchain\", \"retrievers\", \"arxiv_retriever\"];\n\n  getFullDocuments = false;\n\n  maxSearchResults = 10;\n\n  constructor(options: ArxivRetrieverOptions = {}) {\n    super(options);\n    this.getFullDocuments = options.getFullDocuments ?? this.getFullDocuments;\n    this.maxSearchResults = options.maxSearchResults ?? this.maxSearchResults;\n  }\n\n  async _getRelevantDocuments(query: string): Promise<Document[]> {\n    try {\n      const results = await searchArxiv(query, this.maxSearchResults);\n\n      if (this.getFullDocuments) {\n        // Fetch and parse PDFs to get full documents\n        return await loadDocsFromResults(results);\n      } else {\n        // Use summaries as documents\n        return getDocsFromSummaries(results);\n      }\n    } catch {\n      throw new Error(`Error retrieving documents from arXiv.`);\n    }\n  }\n}\n"],"mappings":";;;;;;;;;;;AAiBA,IAAa,iBAAb,cAAoCA,0CAAc;CAChD,OAAO,UAAU;AACf,SAAO;CACR;CAED,eAAe;EAAC;EAAa;EAAc;CAAkB;CAE7D,mBAAmB;CAEnB,mBAAmB;CAEnB,YAAYC,UAAiC,CAAE,GAAE;EAC/C,MAAM,QAAQ;EACd,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;EACzD,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;CAC1D;CAED,MAAM,sBAAsBC,OAAoC;AAC9D,MAAI;GACF,MAAM,UAAU,MAAMC,0BAAY,OAAO,KAAK,iBAAiB;AAE/D,OAAI,KAAK,iBAEP,QAAO,MAAMC,kCAAoB,QAAQ;OAGzC,QAAOC,mCAAqB,QAAQ;EAEvC,QAAO;AACN,SAAM,IAAI,MAAM,CAAC,sCAAsC,CAAC;EACzD;CACF;AACF"}