vectra 0.12.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +92 -100
- package/bin/vectra.js +3 -0
- package/lib/BrowserWebFetcher.d.ts +75 -0
- package/lib/BrowserWebFetcher.d.ts.map +1 -0
- package/lib/BrowserWebFetcher.js +290 -0
- package/lib/BrowserWebFetcher.js.map +1 -0
- package/lib/FileFetcher.d.ts +5 -0
- package/lib/FileFetcher.d.ts.map +1 -0
- package/lib/FileFetcher.js +89 -0
- package/lib/FileFetcher.js.map +1 -0
- package/lib/FileFetcher.spec.d.ts +2 -0
- package/lib/FileFetcher.spec.d.ts.map +1 -0
- package/lib/FileFetcher.spec.js +244 -0
- package/lib/FileFetcher.spec.js.map +1 -0
- package/lib/FolderWatcher.d.ts +91 -0
- package/lib/FolderWatcher.d.ts.map +1 -0
- package/lib/FolderWatcher.js +304 -0
- package/lib/FolderWatcher.js.map +1 -0
- package/lib/FolderWatcher.spec.d.ts +2 -0
- package/lib/FolderWatcher.spec.d.ts.map +1 -0
- package/lib/FolderWatcher.spec.js +308 -0
- package/lib/FolderWatcher.spec.js.map +1 -0
- package/lib/GPT3Tokenizer.d.ts +9 -0
- package/lib/GPT3Tokenizer.spec.d.ts +2 -0
- package/lib/GPT3Tokenizer.spec.d.ts.map +1 -0
- package/lib/GPT3Tokenizer.spec.js +45 -0
- package/lib/GPT3Tokenizer.spec.js.map +1 -0
- package/lib/ItemSelector.d.ts +41 -0
- package/lib/ItemSelector.d.ts.map +1 -0
- package/lib/ItemSelector.js +179 -0
- package/lib/ItemSelector.js.map +1 -0
- package/lib/ItemSelector.spec.d.ts +2 -0
- package/lib/ItemSelector.spec.d.ts.map +1 -0
- package/lib/ItemSelector.spec.js +204 -0
- package/lib/ItemSelector.spec.js.map +1 -0
- package/lib/LocalDocument.d.ts +54 -0
- package/lib/LocalDocument.d.ts.map +1 -1
- package/lib/LocalDocument.js +116 -0
- package/lib/LocalDocument.js.map +1 -0
- package/lib/LocalDocument.spec.d.ts +2 -0
- package/lib/LocalDocument.spec.d.ts.map +1 -0
- package/lib/LocalDocument.spec.js +214 -0
- package/lib/LocalDocument.spec.js.map +1 -0
- package/lib/LocalDocumentIndex.d.ts +152 -0
- package/lib/LocalDocumentIndex.d.ts.map +1 -1
- package/lib/LocalDocumentIndex.js +420 -0
- package/lib/LocalDocumentIndex.js.map +1 -0
- package/lib/LocalDocumentIndex.spec.d.ts +2 -0
- package/lib/LocalDocumentIndex.spec.d.ts.map +1 -0
- package/lib/LocalDocumentIndex.spec.js +494 -0
- package/lib/LocalDocumentIndex.spec.js.map +1 -0
- package/lib/LocalDocumentResult.d.ts +66 -0
- package/lib/LocalDocumentResult.d.ts.map +1 -1
- package/lib/LocalDocumentResult.js +376 -0
- package/lib/LocalDocumentResult.js.map +1 -0
- package/lib/LocalDocumentResult.spec.d.ts +2 -0
- package/lib/LocalDocumentResult.spec.d.ts.map +1 -0
- package/lib/LocalDocumentResult.spec.js +373 -0
- package/lib/LocalDocumentResult.spec.js.map +1 -0
- package/lib/LocalEmbeddings.d.ts +59 -0
- package/lib/LocalEmbeddings.d.ts.map +1 -0
- package/lib/LocalEmbeddings.js +101 -0
- package/lib/LocalEmbeddings.js.map +1 -0
- package/lib/LocalEmbeddings.spec.d.ts +2 -0
- package/lib/LocalEmbeddings.spec.d.ts.map +1 -0
- package/lib/LocalEmbeddings.spec.js +155 -0
- package/lib/LocalEmbeddings.spec.js.map +1 -0
- package/lib/LocalIndex.d.ts +159 -0
- package/lib/LocalIndex.d.ts.map +1 -1
- package/lib/LocalIndex.js +519 -0
- package/lib/LocalIndex.js.map +1 -0
- package/lib/LocalIndex.spec.d.ts +2 -0
- package/lib/LocalIndex.spec.js +611 -9
- package/lib/LocalIndex.spec.js.map +1 -1
- package/lib/OpenAIEmbeddings.d.ts +124 -0
- package/lib/OpenAIEmbeddings.d.ts.map +1 -0
- package/lib/OpenAIEmbeddings.js +166 -0
- package/lib/OpenAIEmbeddings.js.map +1 -0
- package/lib/OpenAIEmbeddings.spec.d.ts +2 -0
- package/lib/OpenAIEmbeddings.spec.d.ts.map +1 -0
- package/lib/OpenAIEmbeddings.spec.js +298 -0
- package/lib/OpenAIEmbeddings.spec.js.map +1 -0
- package/lib/TextSplitter.d.ts +21 -0
- package/lib/TextSplitter.d.ts.map +1 -1
- package/lib/TextSplitter.js +500 -0
- package/lib/TextSplitter.js.map +1 -0
- package/lib/TextSplitter.spec.d.ts +2 -0
- package/lib/TextSplitter.spec.d.ts.map +1 -0
- package/lib/TextSplitter.spec.js +337 -0
- package/lib/TextSplitter.spec.js.map +1 -0
- package/lib/TransformersEmbeddings.d.ts +121 -0
- package/lib/TransformersEmbeddings.d.ts.map +1 -0
- package/lib/TransformersEmbeddings.js +176 -0
- package/lib/TransformersEmbeddings.js.map +1 -0
- package/lib/TransformersEmbeddings.spec.d.ts +2 -0
- package/lib/TransformersEmbeddings.spec.d.ts.map +1 -0
- package/lib/TransformersEmbeddings.spec.js +198 -0
- package/lib/TransformersEmbeddings.spec.js.map +1 -0
- package/lib/TransformersTokenizer.d.ts +33 -0
- package/lib/TransformersTokenizer.d.ts.map +1 -0
- package/lib/TransformersTokenizer.js +44 -0
- package/lib/TransformersTokenizer.js.map +1 -0
- package/lib/TransformersTokenizer.spec.d.ts +2 -0
- package/lib/TransformersTokenizer.spec.d.ts.map +1 -0
- package/lib/TransformersTokenizer.spec.js +112 -0
- package/lib/TransformersTokenizer.spec.js.map +1 -0
- package/lib/WebFetcher.d.ts +14 -0
- package/lib/WebFetcher.d.ts.map +1 -0
- package/lib/WebFetcher.js +238 -0
- package/lib/WebFetcher.js.map +1 -0
- package/lib/WebFetcher.spec.d.ts +2 -0
- package/lib/WebFetcher.spec.d.ts.map +1 -0
- package/lib/WebFetcher.spec.js +263 -0
- package/lib/WebFetcher.spec.js.map +1 -0
- package/lib/browser.d.ts +30 -0
- package/lib/browser.d.ts.map +1 -0
- package/lib/browser.js +52 -0
- package/lib/browser.js.map +1 -0
- package/lib/codecs/IndexCodec.d.ts +37 -0
- package/lib/codecs/IndexCodec.d.ts.map +1 -0
- package/lib/codecs/IndexCodec.js +3 -0
- package/lib/codecs/IndexCodec.js.map +1 -0
- package/lib/codecs/JsonCodec.d.ts +19 -0
- package/lib/codecs/JsonCodec.d.ts.map +1 -0
- package/lib/codecs/JsonCodec.js +35 -0
- package/lib/codecs/JsonCodec.js.map +1 -0
- package/lib/codecs/JsonCodec.spec.d.ts +2 -0
- package/lib/codecs/JsonCodec.spec.d.ts.map +1 -0
- package/lib/codecs/JsonCodec.spec.js +66 -0
- package/lib/codecs/JsonCodec.spec.js.map +1 -0
- package/lib/codecs/LocalIndex.protobuf.spec.d.ts +2 -0
- package/lib/codecs/LocalIndex.protobuf.spec.d.ts.map +1 -0
- package/lib/codecs/LocalIndex.protobuf.spec.js +108 -0
- package/lib/codecs/LocalIndex.protobuf.spec.js.map +1 -0
- package/lib/codecs/ProtobufCodec.d.ts +20 -0
- package/lib/codecs/ProtobufCodec.d.ts.map +1 -0
- package/lib/codecs/ProtobufCodec.js +225 -0
- package/lib/codecs/ProtobufCodec.js.map +1 -0
- package/lib/codecs/ProtobufCodec.spec.d.ts +2 -0
- package/lib/codecs/ProtobufCodec.spec.d.ts.map +1 -0
- package/lib/codecs/ProtobufCodec.spec.js +155 -0
- package/lib/codecs/ProtobufCodec.spec.js.map +1 -0
- package/lib/codecs/index.d.ts +5 -0
- package/lib/codecs/index.d.ts.map +1 -0
- package/lib/codecs/index.js +21 -0
- package/lib/codecs/index.js.map +1 -0
- package/lib/codecs/migrateIndex.d.ts +24 -0
- package/lib/codecs/migrateIndex.d.ts.map +1 -0
- package/lib/codecs/migrateIndex.js +119 -0
- package/lib/codecs/migrateIndex.js.map +1 -0
- package/lib/codecs/migrateIndex.spec.d.ts +2 -0
- package/lib/codecs/migrateIndex.spec.d.ts.map +1 -0
- package/lib/codecs/migrateIndex.spec.js +151 -0
- package/lib/codecs/migrateIndex.spec.js.map +1 -0
- package/lib/codecs/schemas/index.proto +34 -0
- package/lib/index.d.ts +20 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +36 -0
- package/lib/index.js.map +1 -0
- package/lib/internals/Colorize.d.ts +14 -0
- package/lib/internals/Colorize.d.ts.map +1 -0
- package/lib/internals/Colorize.js +69 -0
- package/lib/internals/Colorize.js.map +1 -0
- package/lib/internals/index.d.ts +3 -0
- package/lib/internals/index.d.ts.map +1 -0
- package/lib/internals/index.js +19 -0
- package/lib/internals/index.js.map +1 -0
- package/lib/internals/types.d.ts +43 -0
- package/lib/internals/types.d.ts.map +1 -0
- package/lib/internals/types.js +3 -0
- package/lib/internals/types.js.map +1 -0
- package/lib/server/IndexManager.d.ts +78 -0
- package/lib/server/IndexManager.d.ts.map +1 -0
- package/lib/server/IndexManager.js +259 -0
- package/lib/server/IndexManager.js.map +1 -0
- package/lib/server/VectraServer.d.ts +40 -0
- package/lib/server/VectraServer.d.ts.map +1 -0
- package/lib/server/VectraServer.js +151 -0
- package/lib/server/VectraServer.js.map +1 -0
- package/lib/server/VectraServer.spec.d.ts +2 -0
- package/lib/server/VectraServer.spec.d.ts.map +1 -0
- package/lib/server/VectraServer.spec.js +322 -0
- package/lib/server/VectraServer.spec.js.map +1 -0
- package/lib/server/handlers/documentHandlers.d.ts +15 -0
- package/lib/server/handlers/documentHandlers.d.ts.map +1 -0
- package/lib/server/handlers/documentHandlers.js +95 -0
- package/lib/server/handlers/documentHandlers.js.map +1 -0
- package/lib/server/handlers/helpers.d.ts +23 -0
- package/lib/server/handlers/helpers.d.ts.map +1 -0
- package/lib/server/handlers/helpers.js +138 -0
- package/lib/server/handlers/helpers.js.map +1 -0
- package/lib/server/handlers/index.d.ts +8 -0
- package/lib/server/handlers/index.d.ts.map +1 -0
- package/lib/server/handlers/index.js +22 -0
- package/lib/server/handlers/index.js.map +1 -0
- package/lib/server/handlers/indexHandlers.d.ts +14 -0
- package/lib/server/handlers/indexHandlers.d.ts.map +1 -0
- package/lib/server/handlers/indexHandlers.js +85 -0
- package/lib/server/handlers/indexHandlers.js.map +1 -0
- package/lib/server/handlers/itemHandlers.d.ts +34 -0
- package/lib/server/handlers/itemHandlers.d.ts.map +1 -0
- package/lib/server/handlers/itemHandlers.js +166 -0
- package/lib/server/handlers/itemHandlers.js.map +1 -0
- package/lib/server/handlers/lifecycleHandlers.d.ts +11 -0
- package/lib/server/handlers/lifecycleHandlers.d.ts.map +1 -0
- package/lib/server/handlers/lifecycleHandlers.js +31 -0
- package/lib/server/handlers/lifecycleHandlers.js.map +1 -0
- package/lib/server/handlers/queryHandlers.d.ts +27 -0
- package/lib/server/handlers/queryHandlers.d.ts.map +1 -0
- package/lib/server/handlers/queryHandlers.js +135 -0
- package/lib/server/handlers/queryHandlers.js.map +1 -0
- package/lib/server/handlers/statsHandlers.d.ts +17 -0
- package/lib/server/handlers/statsHandlers.d.ts.map +1 -0
- package/lib/server/handlers/statsHandlers.js +81 -0
- package/lib/server/handlers/statsHandlers.js.map +1 -0
- package/lib/server/index.d.ts +4 -0
- package/lib/server/index.d.ts.map +1 -0
- package/lib/server/index.js +23 -0
- package/lib/server/index.js.map +1 -0
- package/lib/storage/FileStorage.d.ts +92 -0
- package/lib/storage/FileStorage.d.ts.map +1 -0
- package/lib/storage/FileStorage.js +3 -0
- package/lib/storage/FileStorage.js.map +1 -0
- package/lib/storage/FileStorageUtilities.d.ts +36 -0
- package/lib/storage/FileStorageUtilities.d.ts.map +1 -0
- package/lib/storage/FileStorageUtilities.js +91 -0
- package/lib/storage/FileStorageUtilities.js.map +1 -0
- package/lib/storage/FileStorageUtilities.spec.d.ts +2 -0
- package/lib/storage/FileStorageUtilities.spec.d.ts.map +1 -0
- package/lib/storage/FileStorageUtilities.spec.js +98 -0
- package/lib/storage/FileStorageUtilities.spec.js.map +1 -0
- package/lib/storage/FileType.d.ts +29 -0
- package/lib/storage/FileType.d.ts.map +1 -0
- package/lib/storage/FileType.js +38 -0
- package/lib/storage/FileType.js.map +1 -0
- package/lib/storage/IndexedDBStorage.d.ts +47 -0
- package/lib/storage/IndexedDBStorage.d.ts.map +1 -0
- package/lib/storage/IndexedDBStorage.js +347 -0
- package/lib/storage/IndexedDBStorage.js.map +1 -0
- package/lib/storage/LocalFileStorage.browser.d.ts +19 -0
- package/lib/storage/LocalFileStorage.browser.d.ts.map +1 -0
- package/lib/storage/LocalFileStorage.browser.js +43 -0
- package/lib/storage/LocalFileStorage.browser.js.map +1 -0
- package/lib/storage/LocalFileStorage.d.ts +23 -0
- package/lib/storage/LocalFileStorage.d.ts.map +1 -0
- package/lib/storage/LocalFileStorage.js +152 -0
- package/lib/storage/LocalFileStorage.js.map +1 -0
- package/lib/storage/LocalFileStorage.spec.d.ts +2 -0
- package/lib/storage/LocalFileStorage.spec.d.ts.map +1 -0
- package/lib/storage/LocalFileStorage.spec.js +249 -0
- package/lib/storage/LocalFileStorage.spec.js.map +1 -0
- package/lib/storage/VirtualFileStorage.d.ts +18 -0
- package/lib/storage/VirtualFileStorage.d.ts.map +1 -0
- package/lib/storage/VirtualFileStorage.js +178 -0
- package/lib/storage/VirtualFileStorage.js.map +1 -0
- package/lib/storage/VirtualFileStorage.spec.d.ts +2 -0
- package/lib/storage/VirtualFileStorage.spec.d.ts.map +1 -0
- package/lib/storage/VirtualFileStorage.spec.js +302 -0
- package/lib/storage/VirtualFileStorage.spec.js.map +1 -0
- package/lib/storage/index.d.ts +6 -0
- package/lib/storage/index.d.ts.map +1 -0
- package/lib/storage/index.js +22 -0
- package/lib/storage/index.js.map +1 -0
- package/lib/templates/templates/csharp/README.md +48 -0
- package/lib/templates/templates/csharp/VectraClient.cs +234 -0
- package/lib/templates/templates/go/README.md +71 -0
- package/lib/templates/templates/go/vectra_client.go +322 -0
- package/lib/templates/templates/java/README.md +81 -0
- package/lib/templates/templates/java/VectraClient.java +232 -0
- package/lib/templates/templates/python/README.md +37 -0
- package/lib/templates/templates/python/vectra_client.py +279 -0
- package/lib/templates/templates/rust/Cargo.toml +14 -0
- package/lib/templates/templates/rust/README.md +39 -0
- package/lib/templates/templates/rust/build.rs +4 -0
- package/lib/templates/templates/rust/lib.rs +284 -0
- package/lib/templates/templates/typescript/README.md +96 -0
- package/lib/templates/templates/typescript/VectraClient.ts +374 -0
- package/lib/templates/typescript/VectraClient.d.ts +114 -0
- package/lib/templates/typescript/VectraClient.d.ts.map +1 -0
- package/lib/templates/typescript/VectraClient.js +328 -0
- package/lib/templates/typescript/VectraClient.js.map +1 -0
- package/lib/types.d.ts +153 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +18 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/pathUtils.d.ts +40 -0
- package/lib/utils/pathUtils.d.ts.map +1 -0
- package/lib/utils/pathUtils.js +98 -0
- package/lib/utils/pathUtils.js.map +1 -0
- package/lib/vectra-cli.d.ts +2 -0
- package/lib/vectra-cli.d.ts.map +1 -1
- package/lib/vectra-cli.generate.spec.d.ts +2 -0
- package/lib/vectra-cli.generate.spec.d.ts.map +1 -0
- package/lib/vectra-cli.generate.spec.js +112 -0
- package/lib/vectra-cli.generate.spec.js.map +1 -0
- package/lib/vectra-cli.js +760 -0
- package/lib/vectra-cli.js.map +1 -0
- package/lib/vectra-cli.spec.d.ts +1 -0
- package/lib/vectra-cli.spec.d.ts.map +1 -0
- package/lib/vectra-cli.spec.js +2 -0
- package/lib/vectra-cli.spec.js.map +1 -0
- package/package.json +91 -16
- package/proto/vectra_service.proto +276 -0
- package/src/BrowserWebFetcher.ts +345 -0
- package/src/FileFetcher.spec.ts +234 -0
- package/src/FileFetcher.ts +37 -25
- package/src/FolderWatcher.spec.ts +288 -0
- package/src/FolderWatcher.ts +304 -0
- package/src/GPT3Tokenizer.spec.ts +50 -0
- package/src/ItemSelector.spec.ts +252 -0
- package/src/ItemSelector.ts +163 -150
- package/src/LocalDocument.spec.ts +211 -0
- package/src/LocalDocument.ts +88 -94
- package/src/LocalDocumentIndex.spec.ts +481 -0
- package/src/LocalDocumentIndex.ts +39 -40
- package/src/LocalDocumentResult.spec.ts +373 -0
- package/src/LocalDocumentResult.ts +489 -319
- package/src/LocalEmbeddings.spec.ts +138 -0
- package/src/LocalEmbeddings.ts +120 -0
- package/src/LocalIndex.spec.ts +808 -66
- package/src/LocalIndex.ts +479 -429
- package/src/OpenAIEmbeddings.spec.ts +354 -0
- package/src/OpenAIEmbeddings.ts +26 -27
- package/src/TextSplitter.spec.ts +342 -0
- package/src/TextSplitter.ts +517 -532
- package/src/TransformersEmbeddings.spec.ts +188 -0
- package/src/TransformersEmbeddings.ts +232 -0
- package/src/TransformersTokenizer.spec.ts +143 -0
- package/src/TransformersTokenizer.ts +45 -0
- package/src/WebFetcher.spec.ts +288 -0
- package/src/WebFetcher.ts +184 -186
- package/src/browser.ts +69 -0
- package/src/codecs/IndexCodec.ts +40 -0
- package/src/codecs/JsonCodec.spec.ts +70 -0
- package/src/codecs/JsonCodec.ts +37 -0
- package/src/codecs/LocalIndex.protobuf.spec.ts +115 -0
- package/src/codecs/ProtobufCodec.spec.ts +166 -0
- package/src/codecs/ProtobufCodec.ts +193 -0
- package/src/codecs/index.ts +4 -0
- package/src/codecs/migrateIndex.spec.ts +176 -0
- package/src/codecs/migrateIndex.ts +125 -0
- package/src/codecs/schemas/index.proto +34 -0
- package/src/index.ts +9 -1
- package/src/internals/Colorize.ts +19 -16
- package/src/server/IndexManager.ts +243 -0
- package/src/server/VectraServer.spec.ts +303 -0
- package/src/server/VectraServer.ts +156 -0
- package/src/server/handlers/documentHandlers.ts +59 -0
- package/src/server/handlers/helpers.ts +93 -0
- package/src/server/handlers/index.ts +7 -0
- package/src/server/handlers/indexHandlers.ts +44 -0
- package/src/server/handlers/itemHandlers.ts +140 -0
- package/src/server/handlers/lifecycleHandlers.ts +26 -0
- package/src/server/handlers/queryHandlers.ts +96 -0
- package/src/server/handlers/statsHandlers.ts +38 -0
- package/src/server/index.ts +3 -0
- package/src/storage/FileStorage.ts +105 -0
- package/src/storage/FileStorageUtilities.spec.ts +106 -0
- package/src/storage/FileStorageUtilities.ts +77 -0
- package/src/storage/FileType.ts +61 -0
- package/src/storage/IndexedDBStorage.ts +365 -0
- package/src/storage/LocalFileStorage.browser.ts +52 -0
- package/src/storage/LocalFileStorage.spec.ts +292 -0
- package/src/storage/LocalFileStorage.ts +98 -0
- package/src/storage/VirtualFileStorage.spec.ts +307 -0
- package/src/storage/VirtualFileStorage.ts +169 -0
- package/src/storage/index.ts +5 -0
- package/src/templates/csharp/README.md +48 -0
- package/src/templates/csharp/VectraClient.cs +234 -0
- package/src/templates/go/README.md +71 -0
- package/src/templates/go/vectra_client.go +322 -0
- package/src/templates/java/README.md +81 -0
- package/src/templates/java/VectraClient.java +232 -0
- package/src/templates/python/README.md +37 -0
- package/src/templates/python/vectra_client.py +279 -0
- package/src/templates/rust/Cargo.toml +14 -0
- package/src/templates/rust/README.md +39 -0
- package/src/templates/rust/build.rs +4 -0
- package/src/templates/rust/lib.rs +284 -0
- package/src/templates/typescript/README.md +96 -0
- package/src/templates/typescript/VectraClient.ts +374 -0
- package/src/types.ts +131 -123
- package/src/utils/index.ts +1 -0
- package/src/utils/pathUtils.ts +106 -0
- package/src/vectra-cli.generate.spec.ts +72 -0
- package/src/vectra-cli.spec.ts +0 -0
- package/src/vectra-cli.ts +687 -246
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const assert = __importStar(require("assert"));
|
|
46
|
+
const sinon = __importStar(require("sinon"));
|
|
47
|
+
const LocalEmbeddings_1 = require("./LocalEmbeddings");
|
|
48
|
+
describe('LocalEmbeddings', () => {
|
|
49
|
+
let requireStub;
|
|
50
|
+
let fakePipeline;
|
|
51
|
+
let fakePipelineFn;
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
// Create a fake pipeline function that returns tensor-like results
|
|
54
|
+
fakePipelineFn = sinon.stub();
|
|
55
|
+
fakePipeline = sinon.stub().resolves(fakePipelineFn);
|
|
56
|
+
// Stub require to intercept @huggingface/transformers
|
|
57
|
+
requireStub = sinon.stub(module.constructor.prototype, 'require');
|
|
58
|
+
requireStub.callThrough(); // Allow all other requires to pass through
|
|
59
|
+
requireStub.withArgs('@huggingface/transformers').returns({
|
|
60
|
+
pipeline: fakePipeline,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
afterEach(() => {
|
|
64
|
+
sinon.restore();
|
|
65
|
+
});
|
|
66
|
+
describe('constructor', () => {
|
|
67
|
+
it('should use default model and maxTokens', () => {
|
|
68
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
69
|
+
assert.strictEqual(embeddings.model, 'Xenova/all-MiniLM-L6-v2');
|
|
70
|
+
assert.strictEqual(embeddings.maxTokens, 256);
|
|
71
|
+
});
|
|
72
|
+
it('should accept custom model name', () => {
|
|
73
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings({ model: 'custom/model' });
|
|
74
|
+
assert.strictEqual(embeddings.model, 'custom/model');
|
|
75
|
+
});
|
|
76
|
+
it('should accept custom maxTokens', () => {
|
|
77
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings({ maxTokens: 512 });
|
|
78
|
+
assert.strictEqual(embeddings.maxTokens, 512);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('createEmbeddings', () => {
|
|
82
|
+
it('should create embeddings for a single string input', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
const fakeVector = new Float32Array([0.1, 0.2, 0.3]);
|
|
84
|
+
fakePipelineFn.resolves({ data: fakeVector });
|
|
85
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
86
|
+
const result = yield embeddings.createEmbeddings('hello world');
|
|
87
|
+
assert.strictEqual(result.status, 'success');
|
|
88
|
+
assert.ok(result.output);
|
|
89
|
+
assert.strictEqual(result.output.length, 1);
|
|
90
|
+
assert.deepStrictEqual(result.output[0], [0.10000000149011612, 0.20000000298023224, 0.30000001192092896]);
|
|
91
|
+
}));
|
|
92
|
+
it('should create embeddings for an array of inputs', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
|
+
const vec1 = new Float32Array([0.1, 0.2, 0.3]);
|
|
94
|
+
const vec2 = new Float32Array([0.4, 0.5, 0.6]);
|
|
95
|
+
fakePipelineFn.onFirstCall().resolves({ data: vec1 });
|
|
96
|
+
fakePipelineFn.onSecondCall().resolves({ data: vec2 });
|
|
97
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
98
|
+
const result = yield embeddings.createEmbeddings(['hello', 'world']);
|
|
99
|
+
assert.strictEqual(result.status, 'success');
|
|
100
|
+
assert.ok(result.output);
|
|
101
|
+
assert.strictEqual(result.output.length, 2);
|
|
102
|
+
}));
|
|
103
|
+
it('should call pipeline with mean pooling and normalize', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
+
const fakeVector = new Float32Array([0.5, 0.5]);
|
|
105
|
+
fakePipelineFn.resolves({ data: fakeVector });
|
|
106
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
107
|
+
yield embeddings.createEmbeddings('test');
|
|
108
|
+
assert.ok(fakePipelineFn.calledOnce);
|
|
109
|
+
const [input, options] = fakePipelineFn.firstCall.args;
|
|
110
|
+
assert.strictEqual(input, 'test');
|
|
111
|
+
assert.deepStrictEqual(options, { pooling: 'mean', normalize: true });
|
|
112
|
+
}));
|
|
113
|
+
it('should initialize the pipeline with correct model name', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
|
+
const fakeVector = new Float32Array([0.5]);
|
|
115
|
+
fakePipelineFn.resolves({ data: fakeVector });
|
|
116
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings({ model: 'my/model' });
|
|
117
|
+
yield embeddings.createEmbeddings('test');
|
|
118
|
+
assert.ok(fakePipeline.calledOnce);
|
|
119
|
+
const [task, model] = fakePipeline.firstCall.args;
|
|
120
|
+
assert.strictEqual(task, 'feature-extraction');
|
|
121
|
+
assert.strictEqual(model, 'my/model');
|
|
122
|
+
}));
|
|
123
|
+
it('should reuse the pipeline across calls', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
+
const fakeVector = new Float32Array([0.5]);
|
|
125
|
+
fakePipelineFn.resolves({ data: fakeVector });
|
|
126
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
127
|
+
yield embeddings.createEmbeddings('first');
|
|
128
|
+
yield embeddings.createEmbeddings('second');
|
|
129
|
+
// Pipeline should only be created once
|
|
130
|
+
assert.ok(fakePipeline.calledOnce);
|
|
131
|
+
// But the pipeline function should be called twice
|
|
132
|
+
assert.strictEqual(fakePipelineFn.callCount, 2);
|
|
133
|
+
}));
|
|
134
|
+
it('should return error status when pipeline fails', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
+
fakePipelineFn.rejects(new Error('Model not found'));
|
|
136
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
137
|
+
const result = yield embeddings.createEmbeddings('test');
|
|
138
|
+
assert.strictEqual(result.status, 'error');
|
|
139
|
+
assert.ok(result.message);
|
|
140
|
+
assert.ok(result.message.includes('Model not found'));
|
|
141
|
+
}));
|
|
142
|
+
});
|
|
143
|
+
describe('optional dependency', () => {
|
|
144
|
+
it('should return error when @huggingface/transformers is not installed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
145
|
+
requireStub.withArgs('@huggingface/transformers').throws(new Error('Cannot find module'));
|
|
146
|
+
const embeddings = new LocalEmbeddings_1.LocalEmbeddings();
|
|
147
|
+
const result = yield embeddings.createEmbeddings('test');
|
|
148
|
+
assert.strictEqual(result.status, 'error');
|
|
149
|
+
assert.ok(result.message);
|
|
150
|
+
assert.ok(result.message.includes('@huggingface/transformers'));
|
|
151
|
+
assert.ok(result.message.includes('npm install'));
|
|
152
|
+
}));
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=LocalEmbeddings.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalEmbeddings.spec.js","sourceRoot":"","sources":["../src/LocalEmbeddings.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,6CAA+B;AAC/B,uDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,IAAI,WAA4B,CAAC;IACjC,IAAI,YAA6B,CAAC;IAClC,IAAI,cAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACZ,mEAAmE;QACnE,cAAc,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAErD,sDAAsD;QACtD,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,2CAA2C;QACtE,WAAW,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC;YACtD,QAAQ,EAAE,YAAY;SACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAC9C,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACvC,MAAM,UAAU,GAAG,IAAI,iCAAe,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,UAAU,GAAG,IAAI,iCAAe,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAChE,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACrD,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAE9C,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEhE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC7D,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvD,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;YAClE,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAE9C,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;YACvD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;YACpE,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAE9C,MAAM,UAAU,GAAG,IAAI,iCAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9D,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;YACpD,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAE9C,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE5C,uCAAuC;YACvC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACnC,mDAAmD;YACnD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;YAC5D,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qEAAqE,EAAE,GAAS,EAAE;YACjF,WAAW,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAE1F,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { IndexItem, IndexStats, MetadataFilter, MetadataTypes, QueryResult } from './types';
|
|
2
|
+
import { FileStorage } from './storage';
|
|
3
|
+
import { IndexCodec } from './codecs';
|
|
4
|
+
export interface CreateIndexConfig {
|
|
5
|
+
version: number;
|
|
6
|
+
deleteIfExists?: boolean;
|
|
7
|
+
metadata_config?: {
|
|
8
|
+
indexed?: string[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Local vector index instance.
|
|
13
|
+
* @remarks
|
|
14
|
+
* This class is used to create, update, and query a local vector index.
|
|
15
|
+
* Each index is a folder on disk containing an index.json file and an optional set of metadata files.
|
|
16
|
+
*/
|
|
17
|
+
export declare class LocalIndex<TMetadata extends Record<string, MetadataTypes> = Record<string, MetadataTypes>> {
|
|
18
|
+
private readonly _folderPath;
|
|
19
|
+
private readonly _indexName;
|
|
20
|
+
private readonly _storage;
|
|
21
|
+
private readonly _codec;
|
|
22
|
+
private _data?;
|
|
23
|
+
private _update?;
|
|
24
|
+
private _bm25Engine;
|
|
25
|
+
private readonly _bm25Factory;
|
|
26
|
+
private readonly _docReader;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new instance of LocalIndex.
|
|
29
|
+
* @param folderPath Path to the index folder.
|
|
30
|
+
* @param indexName Optional index file name. Defaults to 'index' + codec.extension.
|
|
31
|
+
* @param storage Optional file storage instance. Defaults to LocalFileStorage.
|
|
32
|
+
* @param codec Optional codec for serialization. Defaults to JsonCodec.
|
|
33
|
+
* @param options Optional constructor options for dependency injection.
|
|
34
|
+
*/
|
|
35
|
+
constructor(folderPath: string, indexName?: string, storage?: FileStorage, codec?: IndexCodec, options?: {
|
|
36
|
+
bm25Factory?: () => any;
|
|
37
|
+
docReader?: (docId: string) => Promise<string>;
|
|
38
|
+
});
|
|
39
|
+
/** Path to the index folder. */
|
|
40
|
+
get folderPath(): string;
|
|
41
|
+
/** Name of the index file. */
|
|
42
|
+
get indexName(): string;
|
|
43
|
+
/** Storage provider used to store the index. */
|
|
44
|
+
get storage(): FileStorage;
|
|
45
|
+
/** Codec used for serialization. */
|
|
46
|
+
get codec(): IndexCodec;
|
|
47
|
+
/**
|
|
48
|
+
* Begins an update to the index.
|
|
49
|
+
* @remarks
|
|
50
|
+
* This method loads the index into memory and prepares it for updates.
|
|
51
|
+
*/
|
|
52
|
+
beginUpdate(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Cancels an update to the index.
|
|
55
|
+
* @remarks
|
|
56
|
+
* This method discards any changes made to the index since the update began.
|
|
57
|
+
*/
|
|
58
|
+
cancelUpdate(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Creates a new index.
|
|
61
|
+
* @remarks
|
|
62
|
+
* This method creates a new folder on disk containing an index.json file.
|
|
63
|
+
* @param config Index configuration.
|
|
64
|
+
*/
|
|
65
|
+
createIndex(config?: CreateIndexConfig): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Deletes the index.
|
|
68
|
+
* @remarks
|
|
69
|
+
* This method deletes the index folder from disk.
|
|
70
|
+
*/
|
|
71
|
+
deleteIndex(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Deletes an item from the index.
|
|
74
|
+
* @param id ID of item to delete.
|
|
75
|
+
*/
|
|
76
|
+
deleteItem(id: string): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Ends an update to the index.
|
|
79
|
+
* @remarks
|
|
80
|
+
* This method saves the index to disk.
|
|
81
|
+
*/
|
|
82
|
+
endUpdate(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Loads an index from disk and returns its stats.
|
|
85
|
+
* @returns Index stats.
|
|
86
|
+
*/
|
|
87
|
+
getIndexStats(): Promise<IndexStats>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns an item from the index given its ID.
|
|
90
|
+
* @param id ID of the item to retrieve.
|
|
91
|
+
* @returns Item or undefined if not found.
|
|
92
|
+
*/
|
|
93
|
+
getItem<TItemMetadata extends TMetadata = TMetadata>(id: string): Promise<IndexItem<TItemMetadata> | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Adds an item to the index.
|
|
96
|
+
* @remarks
|
|
97
|
+
* A new update is started if one is not already in progress. If an item with the same ID
|
|
98
|
+
* already exists, an error will be thrown.
|
|
99
|
+
* @param item Item to insert.
|
|
100
|
+
* @returns Inserted item.
|
|
101
|
+
*/
|
|
102
|
+
insertItem<TItemMetadata extends TMetadata = TMetadata>(item: Partial<IndexItem<TItemMetadata>>): Promise<IndexItem<TItemMetadata>>;
|
|
103
|
+
/**
|
|
104
|
+
* Adds a batch of items to the index.
|
|
105
|
+
* @remarks
|
|
106
|
+
* Batch update requires no update to be in progress. This is necessary so that if any one
|
|
107
|
+
* insert operation fails, the entire update can be safely cancelled. This prevents partial
|
|
108
|
+
* updates from being applied to the local index.
|
|
109
|
+
* @param items Items to insert.
|
|
110
|
+
* @returns Inserted items.
|
|
111
|
+
*/
|
|
112
|
+
batchInsertItems<TItemMetadata extends TMetadata = TMetadata>(items: Partial<IndexItem<TItemMetadata>>[]): Promise<IndexItem[]>;
|
|
113
|
+
/** Returns true if the index exists. */
|
|
114
|
+
isIndexCreated(): Promise<boolean>;
|
|
115
|
+
/**
|
|
116
|
+
* Returns all items in the index.
|
|
117
|
+
* @remarks
|
|
118
|
+
* This method loads the index into memory and returns all its items. A copy of the items
|
|
119
|
+
* array is returned so no modifications should be made to the array.
|
|
120
|
+
* @returns Array of all items in the index.
|
|
121
|
+
*/
|
|
122
|
+
listItems<TItemMetadata extends TMetadata = TMetadata>(): Promise<IndexItem<TItemMetadata>[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Returns all items in the index matching the filter.
|
|
125
|
+
* @remarks
|
|
126
|
+
* This method loads the index into memory and returns all its items matching the filter.
|
|
127
|
+
* @param filter Filter to apply.
|
|
128
|
+
* @returns Array of items matching the filter.
|
|
129
|
+
*/
|
|
130
|
+
listItemsByMetadata<TItemMetadata extends TMetadata = TMetadata>(filter: MetadataFilter): Promise<IndexItem<TItemMetadata>[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Finds the top k items in the index that are most similar to the vector.
|
|
133
|
+
* @remarks
|
|
134
|
+
* This method loads the index into memory and returns the top k items that are most similar.
|
|
135
|
+
* An optional filter can be applied to the metadata of the items.
|
|
136
|
+
* @param vector Vector to query against.
|
|
137
|
+
* @param query Query string (used when isBm25=true).
|
|
138
|
+
* @param topK Number of items to return.
|
|
139
|
+
* @param filter Optional. Filter to apply.
|
|
140
|
+
* @param isBm25 Optional. If true, append BM25 keyword results to semantic results.
|
|
141
|
+
* @returns Similar items to the vector that match the supplied filter.
|
|
142
|
+
*/
|
|
143
|
+
queryItems<TItemMetadata extends TMetadata = TMetadata>(vector: number[], query: string, topK: number, filter?: MetadataFilter, isBm25?: boolean): Promise<QueryResult<TItemMetadata>[]>;
|
|
144
|
+
/**
|
|
145
|
+
* Adds or replaces an item in the index.
|
|
146
|
+
* @remarks
|
|
147
|
+
* A new update is started if one is not already in progress. If an item with the same ID
|
|
148
|
+
* already exists, it will be replaced.
|
|
149
|
+
* @param item Item to insert or replace.
|
|
150
|
+
* @returns Upserted item.
|
|
151
|
+
*/
|
|
152
|
+
upsertItem<TItemMetadata extends TMetadata = TMetadata>(item: Partial<IndexItem<TItemMetadata>>): Promise<IndexItem<TItemMetadata>>;
|
|
153
|
+
/** Ensures that the index has been loaded into memory. */
|
|
154
|
+
protected loadIndexData(): Promise<void>;
|
|
155
|
+
private addItemToUpdate;
|
|
156
|
+
private setupBm25;
|
|
157
|
+
private bm25Search;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=LocalIndex.d.ts.map
|
package/lib/LocalIndex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalIndex.d.ts","sourceRoot":"","sources":["../src/LocalIndex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocalIndex.d.ts","sourceRoot":"","sources":["../src/LocalIndex.ts"],"names":[],"mappings":"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"}
|