{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/retrievers/document_compressors/index.ts"],"sourcesContent":["import { Callbacks } from \"../../callbacks/manager.js\";\nimport { DocumentInterface } from \"../../documents/document.js\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n  /**\n   * Abstract method that must be implemented by any class that extends\n   * `BaseDocumentCompressor`. This method takes an array of `Document`\n   * objects and a query string as parameters and returns a Promise that\n   * resolves with an array of compressed `Document` objects.\n   * @param documents An array of `Document` objects to be compressed.\n   * @param query A query string.\n   * @returns A Promise that resolves with an array of compressed `Document` objects.\n   */\n  abstract compressDocuments(\n    documents: DocumentInterface[],\n    query: string,\n    callbacks?: Callbacks\n  ): Promise<DocumentInterface[]>;\n\n  // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n  static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n    return x?.compressDocuments !== undefined;\n  }\n}\n"],"mappings":";;;;;;AAMA,IAAsB,yBAAtB,MAA6C;CAiB3C,OAAO,yBAAyB,GAAqC;AACnE,SAAO,GAAG,sBAAsB,KAAA"}