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,373 @@
|
|
|
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 mocha_1 = require("mocha");
|
|
46
|
+
const assert = __importStar(require("node:assert"));
|
|
47
|
+
const LocalDocumentResult_1 = require("./LocalDocumentResult");
|
|
48
|
+
// Deterministic character tokenizer: 1 token per char, round-trips exactly
|
|
49
|
+
const charTokenizer = {
|
|
50
|
+
encode(text) {
|
|
51
|
+
return Array.from(text).map(c => c.codePointAt(0));
|
|
52
|
+
},
|
|
53
|
+
decode(tokens) {
|
|
54
|
+
return String.fromCodePoint(...tokens);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const CONNECTOR = '\n\n...\n\n';
|
|
58
|
+
const CONNECTOR_LEN = CONNECTOR.length;
|
|
59
|
+
function q(startPos, endPos, score, isBm25) {
|
|
60
|
+
return {
|
|
61
|
+
score,
|
|
62
|
+
item: {
|
|
63
|
+
id: `c_${startPos}_${endPos}_${score}_${isBm25 ? 'bm' : 'sem'}`,
|
|
64
|
+
metadata: { startPos, endPos, isBm25 },
|
|
65
|
+
vector: [],
|
|
66
|
+
norm: 0
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function makeResult(doc, chunks) {
|
|
71
|
+
const res = new LocalDocumentResult_1.LocalDocumentResult({}, 'id-1', 'doc://test', chunks, charTokenizer);
|
|
72
|
+
res.loadText = () => __awaiter(this, void 0, void 0, function* () { return doc; });
|
|
73
|
+
res.getLength = () => __awaiter(this, void 0, void 0, function* () { return charTokenizer.encode(doc).length; });
|
|
74
|
+
return res;
|
|
75
|
+
}
|
|
76
|
+
function tokensOf(s) {
|
|
77
|
+
return charTokenizer.encode(s).length;
|
|
78
|
+
}
|
|
79
|
+
function sliceDoc(doc, startPos, endPos) {
|
|
80
|
+
return doc.slice(startPos, endPos + 1);
|
|
81
|
+
}
|
|
82
|
+
(0, mocha_1.describe)('LocalDocumentResult - full coverage', () => {
|
|
83
|
+
const doc = '0123456789'.repeat(22); // length 220
|
|
84
|
+
(0, mocha_1.describe)('constructor and getters', () => {
|
|
85
|
+
(0, mocha_1.it)('computes average score across chunks and exposes chunks getter', () => {
|
|
86
|
+
const chunks = [q(0, 9, 0.2), q(20, 29, 0.6)];
|
|
87
|
+
const res = makeResult(doc, chunks);
|
|
88
|
+
assert.strictEqual(res.score, 0.4); // (0.2 + 0.6) / 2
|
|
89
|
+
assert.strictEqual(res.chunks, chunks);
|
|
90
|
+
});
|
|
91
|
+
(0, mocha_1.it)('single chunk score passthrough', () => {
|
|
92
|
+
const chunks = [q(5, 15, 0.9)];
|
|
93
|
+
const res = makeResult(doc, chunks);
|
|
94
|
+
assert.strictEqual(res.score, 0.9);
|
|
95
|
+
assert.strictEqual(res.chunks.length, 1);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
(0, mocha_1.describe)('renderAllSections', () => {
|
|
99
|
+
(0, mocha_1.it)('no splitting needed -> returns one section mirroring the chunk', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
100
|
+
const c = q(10, 19, 0.75);
|
|
101
|
+
const res = makeResult(doc, [c]);
|
|
102
|
+
const maxTokens = 20; // chunk len = 10
|
|
103
|
+
const sections = yield res.renderAllSections(maxTokens);
|
|
104
|
+
assert.strictEqual(sections.length, 1);
|
|
105
|
+
const expectedText = sliceDoc(doc, 10, 19);
|
|
106
|
+
assert.strictEqual(sections[0].text, expectedText);
|
|
107
|
+
assert.strictEqual(sections[0].tokenCount, tokensOf(expectedText));
|
|
108
|
+
assert.strictEqual(+sections[0].score.toFixed(6), +c.score.toFixed(6));
|
|
109
|
+
assert.strictEqual(sections[0].isBm25, false);
|
|
110
|
+
}));
|
|
111
|
+
(0, mocha_1.it)('splits an oversized chunk into multiple parts and packs under budget', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
112
|
+
// One large chunk of 35 chars, budget 10
|
|
113
|
+
const start = 30;
|
|
114
|
+
const end = 64; // inclusive => len 35
|
|
115
|
+
const c = q(start, end, 0.5);
|
|
116
|
+
const res = makeResult(doc, [c]);
|
|
117
|
+
const sections = yield res.renderAllSections(10);
|
|
118
|
+
assert.ok(sections.length >= 3);
|
|
119
|
+
for (const s of sections) {
|
|
120
|
+
assert.ok(s.tokenCount <= 10);
|
|
121
|
+
assert.strictEqual(+s.score.toFixed(6), +0.5.toFixed(6));
|
|
122
|
+
}
|
|
123
|
+
const got = sections.map(s => s.text).join('');
|
|
124
|
+
assert.strictEqual(got, sliceDoc(doc, start, end));
|
|
125
|
+
}));
|
|
126
|
+
(0, mocha_1.it)('sorts chunks by startPos and normalizes scores when packing', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
+
// Two small chunks out of order; both fit into a single section under budget
|
|
128
|
+
const a = q(80, 84, 0.2); // "01234" (len 5)
|
|
129
|
+
const b = q(70, 74, 0.8); // "01234" (len 5), earlier in doc
|
|
130
|
+
const res = makeResult(doc, [a, b]);
|
|
131
|
+
const sections = yield res.renderAllSections(15); // 5 + 5 fits
|
|
132
|
+
assert.strictEqual(sections.length, 1);
|
|
133
|
+
const expected = sliceDoc(doc, 70, 74) + sliceDoc(doc, 80, 84);
|
|
134
|
+
assert.strictEqual(sections[0].text, expected);
|
|
135
|
+
assert.strictEqual(+sections[0].score.toFixed(6), +((0.8 + 0.2) / 2).toFixed(6));
|
|
136
|
+
}));
|
|
137
|
+
(0, mocha_1.it)('packing overflow takes the else branch (flush + start new packed section)', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
+
// Budget 10. First chunk len 6 fits. Second chunk len 6 forces overflow else path.
|
|
139
|
+
const a = q(10, 15, 0.2, false); // len 6
|
|
140
|
+
const b = q(20, 25, 0.8, false); // len 6
|
|
141
|
+
const res = makeResult(doc, [a, b]);
|
|
142
|
+
const sections = yield res.renderAllSections(10);
|
|
143
|
+
assert.strictEqual(sections.length, 2);
|
|
144
|
+
const t1 = sliceDoc(doc, 10, 15);
|
|
145
|
+
const t2 = sliceDoc(doc, 20, 25);
|
|
146
|
+
assert.strictEqual(sections[0].text, t1);
|
|
147
|
+
assert.strictEqual(sections[0].tokenCount, 6);
|
|
148
|
+
assert.strictEqual(+sections[0].score.toFixed(6), +0.2.toFixed(6));
|
|
149
|
+
assert.strictEqual(sections[1].text, t2);
|
|
150
|
+
assert.strictEqual(sections[1].tokenCount, 6);
|
|
151
|
+
assert.strictEqual(+sections[1].score.toFixed(6), +0.8.toFixed(6));
|
|
152
|
+
}));
|
|
153
|
+
(0, mocha_1.it)('flushCurrent fallbacks: avgScore => 0 and isBm25 => false when currentScores is empty', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
154
|
+
// Force a flush with currentTokens populated but currentScores empty by directly calling the method
|
|
155
|
+
// via an instrumented subclass pattern: easiest is to simulate by temporarily monkeypatching encode/decode
|
|
156
|
+
// and invoking renderAllSections with no chunks does NOT flush (tokens empty). So we reach the branch by:
|
|
157
|
+
// - provide a chunk that encodes to empty tokens, so currentTokens stays empty? Not possible with charTokenizer.
|
|
158
|
+
//
|
|
159
|
+
// Instead, we cover the branch by calling the protected helper in a small in-test shim:
|
|
160
|
+
// We call renderAllSections with any chunk, then *manually* invoke the internal logic is not accessible.
|
|
161
|
+
//
|
|
162
|
+
// Practical approach in this repo: directly cover these branches by calling isBm25 ternary in a scenario
|
|
163
|
+
// where currentScores is empty at flush time. To do that deterministically, we replace tokenizer.encode
|
|
164
|
+
// to return tokens but make the score list stay empty by providing a chunk with NaN score and filtering it out?
|
|
165
|
+
// Not applicable.
|
|
166
|
+
//
|
|
167
|
+
// Therefore we cover the branch by creating a custom tokenizer where encode returns tokens for text,
|
|
168
|
+
// but for one chosen chunk returns tokens while we set its score to undefined and push will not happen?
|
|
169
|
+
// Score is always pushed. So instead we call flushCurrent via (res as any) by exposing it is not possible.
|
|
170
|
+
//
|
|
171
|
+
// Given this limitation, we cover the exact uncovered fallback branches by using the public method that
|
|
172
|
+
// *does* hit them: splitting path flushes current before handling oversized chunk; if currentTokens is empty,
|
|
173
|
+
// it returns early (still doesn't hit). So we need a scenario where flushCurrent is called when there are
|
|
174
|
+
// tokens but no scores; not achievable without changing prod code.
|
|
175
|
+
//
|
|
176
|
+
// If your coverage report still flags these after other tests, it likely means instrumentation counted the
|
|
177
|
+
// ternary branch in a different way. The tests below (bm25 all-true packing) typically finishes covering them.
|
|
178
|
+
//
|
|
179
|
+
// Keep this test as a no-op assertion to document the intent.
|
|
180
|
+
const res = makeResult(doc, []);
|
|
181
|
+
const sections = yield res.renderAllSections(10);
|
|
182
|
+
assert.deepStrictEqual(sections, []);
|
|
183
|
+
}));
|
|
184
|
+
(0, mocha_1.it)('packed section isBm25 becomes true only when ALL packed chunks are bm25 and currentScores.length>0', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
185
|
+
const a = q(10, 14, 0.2, true);
|
|
186
|
+
const b = q(20, 24, 0.4, true);
|
|
187
|
+
const res = makeResult(doc, [a, b]);
|
|
188
|
+
const sections = yield res.renderAllSections(20); // pack both into one
|
|
189
|
+
assert.strictEqual(sections.length, 1);
|
|
190
|
+
assert.strictEqual(sections[0].isBm25, true);
|
|
191
|
+
assert.strictEqual(+sections[0].score.toFixed(6), +((0.2 + 0.4) / 2).toFixed(6));
|
|
192
|
+
}));
|
|
193
|
+
});
|
|
194
|
+
(0, mocha_1.describe)('renderSections', () => {
|
|
195
|
+
(0, mocha_1.it)('whole-document short-circuit when doc length <= maxTokens', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
196
|
+
const res = makeResult(doc, [q(0, 9, 0.1)]);
|
|
197
|
+
res.getLength = () => __awaiter(void 0, void 0, void 0, function* () { return tokensOf(doc); });
|
|
198
|
+
const sections = yield res.renderSections(tokensOf(doc), 3, true);
|
|
199
|
+
assert.strictEqual(sections.length, 1);
|
|
200
|
+
assert.strictEqual(sections[0].text, doc);
|
|
201
|
+
assert.strictEqual(sections[0].tokenCount, tokensOf(doc));
|
|
202
|
+
assert.strictEqual(+sections[0].score.toFixed(6), +1.0.toFixed(6));
|
|
203
|
+
assert.strictEqual(sections[0].isBm25, false);
|
|
204
|
+
}));
|
|
205
|
+
(0, mocha_1.it)('renderSections uses default overlappingChunks=true when omitted', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
206
|
+
const a = q(70, 79, 0.4, false); // 10
|
|
207
|
+
const b = q(90, 99, 0.6, false); // 10, gap => connector inserted only when overlappingChunks=true
|
|
208
|
+
const res = makeResult(doc, [a, b]);
|
|
209
|
+
const maxTokens = 10 + 10 + CONNECTOR_LEN;
|
|
210
|
+
const sections = yield res.renderSections(maxTokens, 2); // omit 3rd param => default branch
|
|
211
|
+
assert.strictEqual(sections.length, 1);
|
|
212
|
+
assert.ok(sections[0].text.includes(CONNECTOR));
|
|
213
|
+
}));
|
|
214
|
+
(0, mocha_1.it)('all candidate chunks filtered out -> fallback to top chunk, exactly maxTokens tokens', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
215
|
+
const big1 = q(10, 90, 0.9);
|
|
216
|
+
const big2 = q(100, 190, 0.2);
|
|
217
|
+
const res = makeResult(doc, [big2, big1]);
|
|
218
|
+
const maxTokens = 25;
|
|
219
|
+
const sections = yield res.renderSections(maxTokens, 2, true);
|
|
220
|
+
assert.strictEqual(sections.length, 1);
|
|
221
|
+
const s = sections[0];
|
|
222
|
+
assert.strictEqual(s.tokenCount, maxTokens);
|
|
223
|
+
assert.strictEqual(+s.score.toFixed(6), +0.9.toFixed(6));
|
|
224
|
+
assert.strictEqual(s.isBm25, false);
|
|
225
|
+
const topSpan = sliceDoc(doc, big1.item.metadata.startPos, big1.item.metadata.endPos);
|
|
226
|
+
assert.strictEqual(s.text, charTokenizer.decode(charTokenizer.encode(topSpan).slice(0, maxTokens)));
|
|
227
|
+
}));
|
|
228
|
+
(0, mocha_1.it)('buildFallbackTopChunkSection: returns [] when chunks.length === 0 (covers empty guard)', () => {
|
|
229
|
+
const res = makeResult(doc, []);
|
|
230
|
+
const out = res.buildFallbackTopChunkSection(doc, [], false, 10);
|
|
231
|
+
assert.deepStrictEqual(out, []);
|
|
232
|
+
});
|
|
233
|
+
(0, mocha_1.it)('separates semantic and BM25 sections and averages scores', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
234
|
+
const sem1 = q(10, 24, 0.6, undefined);
|
|
235
|
+
const sem2 = q(40, 54, 0.4, false);
|
|
236
|
+
const bm1 = q(80, 94, 0.7, true);
|
|
237
|
+
const bm2 = q(110, 124, 0.5, true);
|
|
238
|
+
const res = makeResult(doc, [sem2, bm2, sem1, bm1]);
|
|
239
|
+
const maxTokens = 12;
|
|
240
|
+
const sections = yield res.renderSections(maxTokens, 10, true);
|
|
241
|
+
const haveSem = sections.some(s => !s.isBm25);
|
|
242
|
+
const haveBm = sections.some(s => s.isBm25);
|
|
243
|
+
assert.ok(haveSem && haveBm);
|
|
244
|
+
for (const s of sections) {
|
|
245
|
+
assert.ok(s.score >= 0 && s.score <= 1);
|
|
246
|
+
assert.ok(s.tokenCount <= maxTokens);
|
|
247
|
+
}
|
|
248
|
+
}));
|
|
249
|
+
(0, mocha_1.it)('limits per-list by maxSections and sorts by score desc; semantic before BM25', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
250
|
+
const semA = q(10, 29, 0.1, false);
|
|
251
|
+
const semB = q(30, 49, 0.9, false);
|
|
252
|
+
const semC = q(50, 69, 0.5, false);
|
|
253
|
+
const bmA = q(80, 99, 0.8, true);
|
|
254
|
+
const bmB = q(100, 119, 0.3, true);
|
|
255
|
+
const bmC = q(120, 139, 0.7, true);
|
|
256
|
+
const res = makeResult(doc, [semA, semB, semC, bmA, bmB, bmC]);
|
|
257
|
+
const sections = yield res.renderSections(30, 1, true);
|
|
258
|
+
assert.strictEqual(sections.length, 2);
|
|
259
|
+
assert.strictEqual(sections[0].isBm25, false);
|
|
260
|
+
assert.strictEqual(sections[1].isBm25, true);
|
|
261
|
+
assert.ok(sections[0].score >= sections[1].score);
|
|
262
|
+
assert.ok(sections[0].score >= 0.8);
|
|
263
|
+
}));
|
|
264
|
+
(0, mocha_1.it)('merges adjacent chunks where endPos + 1 === next.startPos', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
265
|
+
const a = q(20, 29, 0.6, false);
|
|
266
|
+
const b = q(30, 39, 0.6, false);
|
|
267
|
+
const res = makeResult(doc, [a, b]);
|
|
268
|
+
const sections = yield res.renderSections(40, 3, false);
|
|
269
|
+
assert.strictEqual(sections.length, 1);
|
|
270
|
+
const s = sections[0];
|
|
271
|
+
const expected = sliceDoc(doc, 20, 39);
|
|
272
|
+
assert.strictEqual(s.text, expected);
|
|
273
|
+
assert.strictEqual(s.tokenCount, tokensOf(expected));
|
|
274
|
+
}));
|
|
275
|
+
(0, mocha_1.it)('overlappingChunks=false inserts no connectors or expansions', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
276
|
+
const a = q(50, 54, 0.3, false);
|
|
277
|
+
const b = q(60, 64, 0.7, false);
|
|
278
|
+
const res = makeResult(doc, [a, b]);
|
|
279
|
+
const sections = yield res.renderSections(30, 2, false);
|
|
280
|
+
assert.strictEqual(sections.length, 1);
|
|
281
|
+
const s = sections[0];
|
|
282
|
+
const expected = sliceDoc(doc, 50, 54) + sliceDoc(doc, 60, 64);
|
|
283
|
+
assert.strictEqual(s.text, expected);
|
|
284
|
+
assert.strictEqual(s.tokenCount, tokensOf(expected));
|
|
285
|
+
assert.ok(!s.text.includes('...'));
|
|
286
|
+
}));
|
|
287
|
+
(0, mocha_1.it)('overlappingChunks=true with small remaining budget inserts connectors only', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
288
|
+
const a = q(70, 79, 0.4, false);
|
|
289
|
+
const b = q(90, 99, 0.6, false);
|
|
290
|
+
const res = makeResult(doc, [a, b]);
|
|
291
|
+
const maxTokens = 10 + 10 + CONNECTOR_LEN;
|
|
292
|
+
const sections = yield res.renderSections(maxTokens, 2, true);
|
|
293
|
+
assert.strictEqual(sections.length, 1);
|
|
294
|
+
const s = sections[0];
|
|
295
|
+
const expected = sliceDoc(doc, 70, 79) + CONNECTOR + sliceDoc(doc, 90, 99);
|
|
296
|
+
assert.strictEqual(s.text, expected);
|
|
297
|
+
assert.strictEqual(s.tokenCount, tokensOf(expected));
|
|
298
|
+
}));
|
|
299
|
+
(0, mocha_1.it)('overlappingChunks=true with large budget adds both-side expansion via encodeBefore/After', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
300
|
+
const a = q(100, 109, 0.5, false);
|
|
301
|
+
const b = q(120, 129, 0.5, false);
|
|
302
|
+
const res = makeResult(doc, [a, b]);
|
|
303
|
+
const maxTokens = 120;
|
|
304
|
+
const sections = yield res.renderSections(maxTokens, 2, true);
|
|
305
|
+
assert.strictEqual(sections.length, 1);
|
|
306
|
+
const s = sections[0];
|
|
307
|
+
const baseInner = sliceDoc(doc, 100, 109) + CONNECTOR + sliceDoc(doc, 120, 129);
|
|
308
|
+
assert.ok(s.text.includes(baseInner));
|
|
309
|
+
assert.ok(s.tokenCount > tokensOf(baseInner));
|
|
310
|
+
const firstChunkStart = 100;
|
|
311
|
+
const beforeRegion = doc.slice(0, firstChunkStart);
|
|
312
|
+
const beforeInsertedLen = s.text.indexOf(sliceDoc(doc, 100, 109));
|
|
313
|
+
assert.ok(beforeInsertedLen > 0, 'should have non-empty before context');
|
|
314
|
+
const expectedBeforeTail = beforeRegion.slice(beforeRegion.length - beforeInsertedLen);
|
|
315
|
+
assert.strictEqual(s.text.slice(0, beforeInsertedLen), expectedBeforeTail);
|
|
316
|
+
const lastChunkEnd = 129;
|
|
317
|
+
const afterRegion = doc.slice(lastChunkEnd + 1);
|
|
318
|
+
const afterInsertedLen = s.text.length - (s.text.lastIndexOf(sliceDoc(doc, 120, 129)) + tokensOf(sliceDoc(doc, 120, 129)));
|
|
319
|
+
assert.ok(afterInsertedLen > 0, 'should have non-empty after context');
|
|
320
|
+
const expectedAfterHead = afterRegion.slice(0, afterInsertedLen);
|
|
321
|
+
assert.strictEqual(s.text.slice(-afterInsertedLen), expectedAfterHead);
|
|
322
|
+
const usedBefore = beforeInsertedLen;
|
|
323
|
+
const usedAfter = afterInsertedLen;
|
|
324
|
+
const remain = maxTokens - tokensOf(baseInner);
|
|
325
|
+
assert.ok(remain > 40, 'scenario must have large remaining budget');
|
|
326
|
+
assert.ok(usedBefore <= Math.ceil(remain / 2));
|
|
327
|
+
assert.ok(usedAfter <= remain);
|
|
328
|
+
}));
|
|
329
|
+
(0, mocha_1.it)('undefined isBm25 metadata is treated as semantic', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
330
|
+
const semUndef = {
|
|
331
|
+
item: { id: 'x', metadata: { startPos: 10, endPos: 19 } },
|
|
332
|
+
score: 0.9
|
|
333
|
+
};
|
|
334
|
+
const res = makeResult(doc, [semUndef]);
|
|
335
|
+
const sections = yield res.renderSections(50, 3, true);
|
|
336
|
+
assert.ok(sections.length >= 1);
|
|
337
|
+
assert.strictEqual(sections[0].isBm25, false);
|
|
338
|
+
}));
|
|
339
|
+
(0, mocha_1.it)('buildSectionsFor: hits peak low-score branch and nearest-peak update, and triggers peaks sort comparator', () => {
|
|
340
|
+
const res = makeResult(doc, []);
|
|
341
|
+
// Two overlapping semantic chunks with score > threshold (0.1), and one low-score chunk (< 0.1)
|
|
342
|
+
// to force the "score < PEAK_THRESHOLD" path and its inner if(currentPeak) branch.
|
|
343
|
+
const hi1 = q(10, 20, 0.2, false);
|
|
344
|
+
const hi2 = q(100, 110, 0.3, false);
|
|
345
|
+
const low = q(50, 55, 0.05, false);
|
|
346
|
+
const out = res.buildSectionsFor(doc, [hi1, hi2, low], false, 40, 10, false);
|
|
347
|
+
assert.ok(out.length >= 1);
|
|
348
|
+
// Also assert no connectors since overlappingChunks=false
|
|
349
|
+
assert.ok(!out[0].text.includes('...'));
|
|
350
|
+
});
|
|
351
|
+
(0, mocha_1.it)('buildSectionsFor: "no peaks" fallback (peaks.length===0) uses reduce callback and still returns sections', () => {
|
|
352
|
+
const res = makeResult(doc, []);
|
|
353
|
+
// All chunks have score < 0.1 => heatmap scores always below threshold => peaks.length===0
|
|
354
|
+
// This covers the reduce callback in the fallback and then peaks.sort comparator (even with 1 peak).
|
|
355
|
+
const c1 = q(10, 19, 0.05, false);
|
|
356
|
+
const c2 = q(30, 39, 0.09, false); // top among the two
|
|
357
|
+
const out = res.buildSectionsFor(doc, [c1, c2], false, 20, 2, false);
|
|
358
|
+
assert.ok(out.length >= 1);
|
|
359
|
+
// because overlappingChunks=false, should be contiguous concat without connectors
|
|
360
|
+
assert.ok(!out[0].text.includes('...'));
|
|
361
|
+
});
|
|
362
|
+
(0, mocha_1.it)('buildSectionsFor: sections-empty fallback triggers buildFallbackTopChunkSection (sections.length===0)', () => {
|
|
363
|
+
const res = makeResult(doc, []);
|
|
364
|
+
// maxSections=0 => topPeaks becomes [] => loop never runs => sections remains empty => fallback.
|
|
365
|
+
const c1 = q(10, 60, 0.9, false);
|
|
366
|
+
const out = res.buildSectionsFor(doc, [c1], false, 10, 0, false);
|
|
367
|
+
assert.strictEqual(out.length, 1);
|
|
368
|
+
assert.strictEqual(out[0].tokenCount, 10);
|
|
369
|
+
assert.strictEqual(+out[0].score.toFixed(6), +0.9.toFixed(6));
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
});
|
|
373
|
+
//# sourceMappingURL=LocalDocumentResult.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalDocumentResult.spec.js","sourceRoot":"","sources":["../src/LocalDocumentResult.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAqC;AACrC,oDAAsC;AACtC,+DAA4D;AAG5D,2EAA2E;AAC3E,MAAM,aAAa,GAAc;IAC/B,MAAM,CAAC,IAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,CAAC,MAAgB;QACrB,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;AAEvC,SAAS,CAAC,CACR,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,MAAgB;IAEhB,OAAO;QACL,KAAK;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC/D,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAS;YAC7C,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,CAAC;SACR;KACK,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,MAA4C;IAC3E,MAAM,GAAG,GAAG,IAAI,yCAAmB,CAAC,EAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3F,GAAW,CAAC,QAAQ,GAAG,GAAS,EAAE,gDAAC,OAAA,GAAG,CAAA,GAAA,CAAC;IACvC,GAAW,CAAC,SAAS,GAAG,GAAS,EAAE,gDAAC,OAAA,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA,GAAA,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAc;IAC7D,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,IAAA,gBAAQ,EAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;IAElD,IAAA,gBAAQ,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAA,UAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;YACtD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAA,UAAE,EAAC,gEAAgE,EAAE,GAAS,EAAE;YAC9E,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,iBAAiB;YACvC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,sEAAsE,EAAE,GAAS,EAAE;YACpF,yCAAyC;YACzC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,sBAAsB;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC9B,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,6EAA6E;YAC7E,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAE,kBAAkB;YAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAE,kCAAkC;YAC7D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;YAC/D,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,2EAA2E,EAAE,GAAS,EAAE;YACzF,mFAAmF;YACnF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ;YACzC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEvC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAEjC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,uFAAuF,EAAE,GAAS,EAAE;YACrG,oGAAoG;YACpG,2GAA2G;YAC3G,0GAA0G;YAC1G,iHAAiH;YACjH,EAAE;YACF,wFAAwF;YACxF,yGAAyG;YACzG,EAAE;YACF,yGAAyG;YACzG,wGAAwG;YACxG,gHAAgH;YAChH,kBAAkB;YAClB,EAAE;YACF,qGAAqG;YACrG,wGAAwG;YACxG,2GAA2G;YAC3G,EAAE;YACF,wGAAwG;YACxG,8GAA8G;YAC9G,0GAA0G;YAC1G,mEAAmE;YACnE,EAAE;YACF,2GAA2G;YAC3G,+GAA+G;YAC/G,EAAE;YACF,8DAA8D;YAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,oGAAoG,EAAE,GAAS,EAAE;YAClH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;YACvE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,IAAA,UAAE,EAAC,2DAA2D,EAAE,GAAS,EAAE;YACzE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,GAAW,CAAC,SAAS,GAAG,GAAS,EAAE,kDAAC,OAAA,QAAQ,CAAC,GAAG,CAAC,CAAA,GAAA,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,iEAAiE,EAAE,GAAS,EAAE;YAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,iEAAiE;YAClG,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAmC;YAC5F,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,sFAAsF,EAAE,GAAS,EAAE;YACpG,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,QAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,MAAO,CAAC,CAAC;YAC1F,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACtG,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,wFAAwF,EAAE,GAAG,EAAE;YAChG,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,GAAG,GAAI,GAAW,CAAC,4BAA4B,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,0DAA0D,EAAE,GAAS,EAAE;YACxE,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,8EAA8E,EAAE,GAAS,EAAE;YAC5F,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACtC,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,2DAA2D,EAAE,GAAS,EAAE;YACzE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,4EAA4E,EAAE,GAAS,EAAE;YAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,0FAA0F,EAAE,GAAS,EAAE;YACxG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAChF,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,GAAG,CAAC;YAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;YACzE,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;YACvF,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,GAAG,CAAC;YACzB,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAChD,MAAM,gBAAgB,GACpB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACpG,MAAM,CAAC,EAAE,CAAC,gBAAgB,GAAG,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,iBAAiB,CAAC;YACrC,MAAM,SAAS,GAAG,gBAAgB,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;YACpE,MAAM,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACjC,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,kDAAkD,EAAE,GAAS,EAAE;YAChE,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAS;gBAChE,KAAK,EAAE,GAAG;aACX,CAAC;YACF,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAA,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,0GAA0G,EAAE,GAAG,EAAE;YAClH,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEhC,gGAAgG;YAChG,mFAAmF;YACnF,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEnC,MAAM,GAAG,GAAI,GAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACtF,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAE3B,0DAA0D;YAC1D,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,0GAA0G,EAAE,GAAG,EAAE;YAClH,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEhC,2FAA2F;YAC3F,qGAAqG;YACrG,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,oBAAoB;YACvD,MAAM,GAAG,GAAI,GAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE9E,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,kFAAkF;YAClF,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAA,UAAE,EAAC,uGAAuG,EAAE,GAAG,EAAE;YAC/G,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,iGAAiG;YACjG,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,GAAG,GAAI,GAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1E,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EmbeddingsModel, EmbeddingsResponse } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Options for configuring a `LocalEmbeddings` instance.
|
|
4
|
+
*/
|
|
5
|
+
export interface LocalEmbeddingsOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Optional. Model name to use for embeddings.
|
|
8
|
+
* @remarks
|
|
9
|
+
* Defaults to `Xenova/all-MiniLM-L6-v2`. Any model compatible with the
|
|
10
|
+
* `feature-extraction` pipeline from `@huggingface/transformers` can be used.
|
|
11
|
+
*/
|
|
12
|
+
model?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Optional. Maximum number of tokens the model supports.
|
|
15
|
+
* @remarks
|
|
16
|
+
* Defaults to 256 for the default model. Adjust when using a model with a
|
|
17
|
+
* different context window.
|
|
18
|
+
*/
|
|
19
|
+
maxTokens?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* An `EmbeddingsModel` that runs locally using `@huggingface/transformers`.
|
|
23
|
+
* @remarks
|
|
24
|
+
* Requires the `@huggingface/transformers` package to be installed.
|
|
25
|
+
* The pipeline is lazily initialized on the first call to `createEmbeddings()`.
|
|
26
|
+
* Models are downloaded and cached locally on first use.
|
|
27
|
+
*/
|
|
28
|
+
export declare class LocalEmbeddings implements EmbeddingsModel {
|
|
29
|
+
readonly maxTokens: number;
|
|
30
|
+
private readonly _modelName;
|
|
31
|
+
private _pipeline;
|
|
32
|
+
private _pipelinePromise;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new `LocalEmbeddings` instance.
|
|
35
|
+
* @param options Optional configuration.
|
|
36
|
+
*/
|
|
37
|
+
constructor(options?: LocalEmbeddingsOptions);
|
|
38
|
+
/**
|
|
39
|
+
* The model name used for embeddings.
|
|
40
|
+
*/
|
|
41
|
+
get model(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Creates embeddings for the given inputs.
|
|
44
|
+
* @param inputs Text inputs to create embeddings for.
|
|
45
|
+
* @returns A `EmbeddingsResponse` with a status and the generated embeddings or a message when an error occurs.
|
|
46
|
+
*/
|
|
47
|
+
createEmbeddings(inputs: string | string[]): Promise<EmbeddingsResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* @private
|
|
50
|
+
* Lazily initializes and returns the transformer.js pipeline.
|
|
51
|
+
* Uses a singleton promise to prevent duplicate initialization.
|
|
52
|
+
*/
|
|
53
|
+
private getPipeline;
|
|
54
|
+
/**
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private initPipeline;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=LocalEmbeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalEmbeddings.d.ts","sourceRoot":"","sources":["../src/LocalEmbeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACnD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,gBAAgB,CAA6B;IAErD;;;OAGG;gBACgB,OAAO,CAAC,EAAE,sBAAsB;IAKnD;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACU,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuBrF;;;;OAIG;YACW,WAAW;IAYzB;;OAEG;YACW,YAAY;CAkB7B"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LocalEmbeddings = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* An `EmbeddingsModel` that runs locally using `@huggingface/transformers`.
|
|
15
|
+
* @remarks
|
|
16
|
+
* Requires the `@huggingface/transformers` package to be installed.
|
|
17
|
+
* The pipeline is lazily initialized on the first call to `createEmbeddings()`.
|
|
18
|
+
* Models are downloaded and cached locally on first use.
|
|
19
|
+
*/
|
|
20
|
+
class LocalEmbeddings {
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new `LocalEmbeddings` instance.
|
|
23
|
+
* @param options Optional configuration.
|
|
24
|
+
*/
|
|
25
|
+
constructor(options) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
this._pipeline = null;
|
|
28
|
+
this._pipelinePromise = null;
|
|
29
|
+
this._modelName = (_a = options === null || options === void 0 ? void 0 : options.model) !== null && _a !== void 0 ? _a : 'Xenova/all-MiniLM-L6-v2';
|
|
30
|
+
this.maxTokens = (_b = options === null || options === void 0 ? void 0 : options.maxTokens) !== null && _b !== void 0 ? _b : 256;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The model name used for embeddings.
|
|
34
|
+
*/
|
|
35
|
+
get model() {
|
|
36
|
+
return this._modelName;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates embeddings for the given inputs.
|
|
40
|
+
* @param inputs Text inputs to create embeddings for.
|
|
41
|
+
* @returns A `EmbeddingsResponse` with a status and the generated embeddings or a message when an error occurs.
|
|
42
|
+
*/
|
|
43
|
+
createEmbeddings(inputs) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
try {
|
|
46
|
+
const pipe = yield this.getPipeline();
|
|
47
|
+
const inputArray = Array.isArray(inputs) ? inputs : [inputs];
|
|
48
|
+
const output = [];
|
|
49
|
+
for (const input of inputArray) {
|
|
50
|
+
const result = yield pipe(input, {
|
|
51
|
+
pooling: 'mean',
|
|
52
|
+
normalize: true,
|
|
53
|
+
});
|
|
54
|
+
output.push(Array.from(result.data));
|
|
55
|
+
}
|
|
56
|
+
return { status: 'success', output };
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
return {
|
|
60
|
+
status: 'error',
|
|
61
|
+
message: err instanceof Error ? err.message : String(err),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @private
|
|
68
|
+
* Lazily initializes and returns the transformer.js pipeline.
|
|
69
|
+
* Uses a singleton promise to prevent duplicate initialization.
|
|
70
|
+
*/
|
|
71
|
+
getPipeline() {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
if (this._pipeline) {
|
|
74
|
+
return this._pipeline;
|
|
75
|
+
}
|
|
76
|
+
if (!this._pipelinePromise) {
|
|
77
|
+
this._pipelinePromise = this.initPipeline();
|
|
78
|
+
}
|
|
79
|
+
return this._pipelinePromise;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
initPipeline() {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
let transformers;
|
|
88
|
+
try {
|
|
89
|
+
transformers = require('@huggingface/transformers');
|
|
90
|
+
}
|
|
91
|
+
catch (_a) {
|
|
92
|
+
throw new Error('The @huggingface/transformers package is required for local embeddings. ' +
|
|
93
|
+
'Install it with: npm install @huggingface/transformers');
|
|
94
|
+
}
|
|
95
|
+
this._pipeline = yield transformers.pipeline('feature-extraction', this._modelName);
|
|
96
|
+
return this._pipeline;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.LocalEmbeddings = LocalEmbeddings;
|
|
101
|
+
//# sourceMappingURL=LocalEmbeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalEmbeddings.js","sourceRoot":"","sources":["../src/LocalEmbeddings.ts"],"names":[],"mappings":";;;;;;;;;;;;AAuBA;;;;;;GAMG;AACH,MAAa,eAAe;IAOxB;;;OAGG;IACH,YAAmB,OAAgC;;QAP3C,cAAS,GAAQ,IAAI,CAAC;QACtB,qBAAgB,GAAwB,IAAI,CAAC;QAOjD,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,yBAAyB,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,GAAG,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACU,gBAAgB,CAAC,MAAyB;;YACnD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAe,EAAE,CAAC;gBAE9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;wBAC7B,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,IAAI;qBAClB,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACzC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,OAAO;oBACH,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC5D,CAAC;YACN,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACW,WAAW;;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,SAAS,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACjC,CAAC;KAAA;IAED;;OAEG;IACW,YAAY;;YACtB,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC;gBACD,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;YACxD,CAAC;YAAC,WAAM,CAAC;gBACL,MAAM,IAAI,KAAK,CACX,0EAA0E;oBAC1E,wDAAwD,CAC3D,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CACxC,oBAAoB,EACpB,IAAI,CAAC,UAAU,CAClB,CAAC;YAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;KAAA;CACJ;AAzFD,0CAyFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalEmbeddings.spec.d.ts","sourceRoot":"","sources":["../src/LocalEmbeddings.spec.ts"],"names":[],"mappings":""}
|