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 @@
|
|
|
1
|
+
{"version":3,"file":"GPT3Tokenizer.spec.d.ts","sourceRoot":"","sources":["../src/GPT3Tokenizer.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_assert_1 = require("node:assert");
|
|
4
|
+
const mocha_1 = require("mocha");
|
|
5
|
+
const GPT3Tokenizer_1 = require("../src/GPT3Tokenizer");
|
|
6
|
+
(0, mocha_1.describe)('GPT3Tokenizer', () => {
|
|
7
|
+
const tokenizer = new GPT3Tokenizer_1.GPT3Tokenizer();
|
|
8
|
+
(0, mocha_1.it)('encodes empty string to [] and decodes [] to empty string', () => {
|
|
9
|
+
const tokens = tokenizer.encode('');
|
|
10
|
+
node_assert_1.strict.deepEqual(tokens, [], 'encode("") should return []');
|
|
11
|
+
const text = tokenizer.decode([]);
|
|
12
|
+
node_assert_1.strict.equal(text, '', 'decode([]) should return empty string');
|
|
13
|
+
});
|
|
14
|
+
(0, mocha_1.it)('round-trips various strings including unicode and punctuation', () => {
|
|
15
|
+
const samples = [
|
|
16
|
+
'Hello, world!',
|
|
17
|
+
'Café 😊 こんにちは 𠜎𠜱𠝹𠱓',
|
|
18
|
+
'Newlines\nand\ttabs with multiple spaces.',
|
|
19
|
+
'--- *** ===='
|
|
20
|
+
];
|
|
21
|
+
for (const s of samples) {
|
|
22
|
+
const tokens = tokenizer.encode(s);
|
|
23
|
+
const decoded = tokenizer.decode(tokens);
|
|
24
|
+
node_assert_1.strict.equal(decoded, s, `decode(encode(s)) should equal s for: ${JSON.stringify(s)}`);
|
|
25
|
+
// Validate token array shape: array of non-negative integers
|
|
26
|
+
node_assert_1.strict.ok(Array.isArray(tokens), 'encode should return an array');
|
|
27
|
+
for (const t of tokens) {
|
|
28
|
+
node_assert_1.strict.equal(typeof t, 'number', 'each token should be a number');
|
|
29
|
+
node_assert_1.strict.ok(Number.isInteger(t), 'each token should be an integer');
|
|
30
|
+
node_assert_1.strict.ok(t >= 0, 'each token should be non-negative');
|
|
31
|
+
}
|
|
32
|
+
// Encoding should be stable across calls for the same input
|
|
33
|
+
const tokens2 = tokenizer.encode(s);
|
|
34
|
+
node_assert_1.strict.deepEqual(tokens2, tokens, 'encode should be deterministic for the same input');
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
(0, mocha_1.it)('produces non-empty tokens for typical non-empty input', () => {
|
|
38
|
+
const s = 'This is a simple test.';
|
|
39
|
+
const tokens = tokenizer.encode(s);
|
|
40
|
+
node_assert_1.strict.ok(tokens.length > 0, 'expected some tokens for non-empty input');
|
|
41
|
+
const decoded = tokenizer.decode(tokens);
|
|
42
|
+
node_assert_1.strict.equal(decoded, s, 'decoded text should match original input');
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=GPT3Tokenizer.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPT3Tokenizer.spec.js","sourceRoot":"","sources":["../src/GPT3Tokenizer.spec.ts"],"names":[],"mappings":";;AAAA,6CAA+C;AAC/C,iCAAqC;AACrC,wDAAqD;AAErD,IAAA,gBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,IAAI,6BAAa,EAAE,CAAC;IAEtC,IAAA,UAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,oBAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,oBAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,uCAAuC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,OAAO,GAAG;YACd,eAAe;YACf,wBAAwB;YACxB,+CAA+C;YAC/C,cAAc;SACf,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,oBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,yCAAyC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEvF,6DAA6D;YAC7D,oBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAClE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,oBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBAClE,oBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAC;gBAClE,oBAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,4DAA4D;YAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,oBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,mDAAmD,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,wBAAwB,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,oBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,oBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MetadataFilter, MetadataTypes } from './types';
|
|
2
|
+
export declare class ItemSelector {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the similarity between two vectors using the cosine similarity.
|
|
5
|
+
* @param vector1 Vector 1
|
|
6
|
+
* @param vector2 Vector 2
|
|
7
|
+
* @returns Similarity between the two vectors
|
|
8
|
+
*/
|
|
9
|
+
static cosineSimilarity(vector1: number[], vector2: number[]): number;
|
|
10
|
+
/**
|
|
11
|
+
* Normalizes a vector.
|
|
12
|
+
* @remarks
|
|
13
|
+
* The norm of a vector is the square root of the sum of the squares of the elements.
|
|
14
|
+
* The LocalIndex pre-normalizes all vectors to improve performance.
|
|
15
|
+
* @param vector Vector to normalize
|
|
16
|
+
* @returns Normalized vector
|
|
17
|
+
*/
|
|
18
|
+
static normalize(vector: number[]): number;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the similarity between two vectors using cosine similarity.
|
|
21
|
+
* @remarks
|
|
22
|
+
* The LocalIndex pre-normalizes all vectors to improve performance.
|
|
23
|
+
* This method uses the pre-calculated norms to improve performance.
|
|
24
|
+
* @param vector1 Vector 1
|
|
25
|
+
* @param norm1 Norm of vector 1
|
|
26
|
+
* @param vector2 Vector 2
|
|
27
|
+
* @param norm2 Norm of vector 2
|
|
28
|
+
* @returns Similarity between the two vectors
|
|
29
|
+
*/
|
|
30
|
+
static normalizedCosineSimilarity(vector1: number[], norm1: number, vector2: number[], norm2: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Applies a filter to the metadata of an item.
|
|
33
|
+
* @param metadata Metadata of the item
|
|
34
|
+
* @param filter Filter to apply
|
|
35
|
+
* @returns True if the item matches the filter, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
static select(metadata: Record<string, MetadataTypes>, filter: MetadataFilter): boolean;
|
|
38
|
+
private static dotProduct;
|
|
39
|
+
private static metadataFilter;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=ItemSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemSelector.d.ts","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,YAAY;IACvB;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAenE;;;;;;;OAOG;WACW,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAYxC;;;;;;;;;;OAUG;WACW,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;IAS3G;;;;;OAKG;WACW,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IAqC9F,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB,OAAO,CAAC,MAAM,CAAC,cAAc;CA+D9B"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ItemSelector = void 0;
|
|
4
|
+
class ItemSelector {
|
|
5
|
+
/**
|
|
6
|
+
* Returns the similarity between two vectors using the cosine similarity.
|
|
7
|
+
* @param vector1 Vector 1
|
|
8
|
+
* @param vector2 Vector 2
|
|
9
|
+
* @returns Similarity between the two vectors
|
|
10
|
+
*/
|
|
11
|
+
static cosineSimilarity(vector1, vector2) {
|
|
12
|
+
// Use only the overlapping portion of both vectors (dot and norms)
|
|
13
|
+
const minLen = Math.min(vector1.length, vector2.length);
|
|
14
|
+
const v1 = vector1.slice(0, minLen);
|
|
15
|
+
const v2 = vector2.slice(0, minLen);
|
|
16
|
+
const norm1 = this.normalize(v1);
|
|
17
|
+
const norm2 = this.normalize(v2);
|
|
18
|
+
if (norm1 === 0 || norm2 === 0) {
|
|
19
|
+
return NaN;
|
|
20
|
+
}
|
|
21
|
+
return this.dotProduct(v1, v2) / (norm1 * norm2);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Normalizes a vector.
|
|
25
|
+
* @remarks
|
|
26
|
+
* The norm of a vector is the square root of the sum of the squares of the elements.
|
|
27
|
+
* The LocalIndex pre-normalizes all vectors to improve performance.
|
|
28
|
+
* @param vector Vector to normalize
|
|
29
|
+
* @returns Normalized vector
|
|
30
|
+
*/
|
|
31
|
+
static normalize(vector) {
|
|
32
|
+
// Initialize a variable to store the sum of the squares
|
|
33
|
+
let sum = 0;
|
|
34
|
+
// Loop through the elements of the array
|
|
35
|
+
for (let i = 0; i < vector.length; i++) {
|
|
36
|
+
// Square the element and add it to the sum
|
|
37
|
+
sum += vector[i] * vector[i];
|
|
38
|
+
}
|
|
39
|
+
// Return the square root of the sum
|
|
40
|
+
return Math.sqrt(sum);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns the similarity between two vectors using cosine similarity.
|
|
44
|
+
* @remarks
|
|
45
|
+
* The LocalIndex pre-normalizes all vectors to improve performance.
|
|
46
|
+
* This method uses the pre-calculated norms to improve performance.
|
|
47
|
+
* @param vector1 Vector 1
|
|
48
|
+
* @param norm1 Norm of vector 1
|
|
49
|
+
* @param vector2 Vector 2
|
|
50
|
+
* @param norm2 Norm of vector 2
|
|
51
|
+
* @returns Similarity between the two vectors
|
|
52
|
+
*/
|
|
53
|
+
static normalizedCosineSimilarity(vector1, norm1, vector2, norm2) {
|
|
54
|
+
// Explicitly return NaN if either norm is zero
|
|
55
|
+
if (norm1 === 0 || norm2 === 0) {
|
|
56
|
+
return NaN;
|
|
57
|
+
}
|
|
58
|
+
// Return the quotient of the dot product and the product of the norms
|
|
59
|
+
return this.dotProduct(vector1, vector2) / (norm1 * norm2);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Applies a filter to the metadata of an item.
|
|
63
|
+
* @param metadata Metadata of the item
|
|
64
|
+
* @param filter Filter to apply
|
|
65
|
+
* @returns True if the item matches the filter, false otherwise
|
|
66
|
+
*/
|
|
67
|
+
static select(metadata, filter) {
|
|
68
|
+
// Treat null/undefined and {} as "no filter"
|
|
69
|
+
if (filter == null || (typeof filter === 'object' && Object.keys(filter).length === 0)) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
for (const key in filter) {
|
|
73
|
+
switch (key) {
|
|
74
|
+
case '$and':
|
|
75
|
+
if (!filter[key].every((f) => this.select(metadata, f))) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
case '$or':
|
|
80
|
+
if (!filter[key].some((f) => this.select(metadata, f))) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
default:
|
|
85
|
+
const value = filter[key];
|
|
86
|
+
if (value === undefined || value === null) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
else if (typeof value == 'object') {
|
|
90
|
+
if (!this.metadataFilter(metadata[key], value)) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (metadata[key] !== value) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
static dotProduct(arr1, arr2) {
|
|
105
|
+
// Use only overlapping indices to avoid NaN when lengths differ
|
|
106
|
+
const minLen = Math.min(arr1.length, arr2.length);
|
|
107
|
+
let sum = 0;
|
|
108
|
+
for (let i = 0; i < minLen; i++) {
|
|
109
|
+
sum += arr1[i] * arr2[i];
|
|
110
|
+
}
|
|
111
|
+
return sum;
|
|
112
|
+
}
|
|
113
|
+
static metadataFilter(value, filter) {
|
|
114
|
+
if (value === undefined || value === null) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
for (const key in filter) {
|
|
118
|
+
switch (key) {
|
|
119
|
+
case '$eq':
|
|
120
|
+
if (value !== filter[key]) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
124
|
+
case '$ne':
|
|
125
|
+
if (value === filter[key]) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
case '$gt':
|
|
130
|
+
if (typeof value != 'number' || value <= filter[key]) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
case '$gte':
|
|
135
|
+
if (typeof value != 'number' || value < filter[key]) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
break;
|
|
139
|
+
case '$lt':
|
|
140
|
+
if (typeof value != 'number' || value >= filter[key]) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
case '$lte':
|
|
145
|
+
if (typeof value != 'number' || value > filter[key]) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
break;
|
|
149
|
+
case '$in':
|
|
150
|
+
if (typeof value == 'boolean') {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
else if (typeof value == 'string' && !filter[key].includes(value)) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
else if (!filter[key].some(val => typeof val == 'string' && val.includes(value))) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
break;
|
|
160
|
+
case '$nin':
|
|
161
|
+
if (typeof value == 'boolean') {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
else if (typeof value == 'string' && filter[key].includes(value)) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
else if (filter[key].some(val => typeof val == 'string' && val.includes(value))) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
default:
|
|
172
|
+
return value === filter[key];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.ItemSelector = ItemSelector;
|
|
179
|
+
//# sourceMappingURL=ItemSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemSelector.js","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemSelector.spec.d.ts","sourceRoot":"","sources":["../src/ItemSelector.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_assert_1 = require("node:assert");
|
|
4
|
+
const ItemSelector_1 = require("./ItemSelector");
|
|
5
|
+
function almostEqual(actual, expected, eps = 1e-12) {
|
|
6
|
+
node_assert_1.strict.ok(Math.abs(actual - expected) <= eps, `actual ${actual} not within ${eps} of expected ${expected}`);
|
|
7
|
+
}
|
|
8
|
+
describe('ItemSelector', () => {
|
|
9
|
+
describe('normalize', () => {
|
|
10
|
+
it('returns correct norm for typical vector', () => {
|
|
11
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([3, 4]), 5);
|
|
12
|
+
});
|
|
13
|
+
it('handles negatives', () => {
|
|
14
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([-2, -3]), Math.sqrt(13));
|
|
15
|
+
});
|
|
16
|
+
it('returns 0 for zero vector', () => {
|
|
17
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([0, 0]), 0);
|
|
18
|
+
});
|
|
19
|
+
it('returns 0 for empty vector', () => {
|
|
20
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([]), 0);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe('cosineSimilarity', () => {
|
|
24
|
+
it('returns ~1 for identical vectors', () => {
|
|
25
|
+
const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 2], [1, 2]);
|
|
26
|
+
almostEqual(actual, 1);
|
|
27
|
+
});
|
|
28
|
+
it('returns ~0 for orthogonal vectors', () => {
|
|
29
|
+
const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 0], [0, 1]);
|
|
30
|
+
almostEqual(actual, 0);
|
|
31
|
+
});
|
|
32
|
+
it('returns ~-1 for opposite vectors', () => {
|
|
33
|
+
const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 0], [-1, 0]);
|
|
34
|
+
almostEqual(actual, -1);
|
|
35
|
+
});
|
|
36
|
+
it('returns NaN if one vector is zero', () => {
|
|
37
|
+
node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.cosineSimilarity([0, 0], [1, 2])));
|
|
38
|
+
});
|
|
39
|
+
it('returns NaN if both vectors are zero', () => {
|
|
40
|
+
node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.cosineSimilarity([0, 0], [0, 0])));
|
|
41
|
+
});
|
|
42
|
+
it('handles different lengths by ignoring extra elements (including in norms)', () => {
|
|
43
|
+
const v1 = [1, 2, 3];
|
|
44
|
+
const v2 = [4, 5];
|
|
45
|
+
const minLen = Math.min(v1.length, v2.length);
|
|
46
|
+
const dot = v1.slice(0, minLen).reduce((sum, val, i) => sum + val * v2[i], 0);
|
|
47
|
+
const norm1 = ItemSelector_1.ItemSelector.normalize(v1.slice(0, minLen));
|
|
48
|
+
const norm2 = ItemSelector_1.ItemSelector.normalize(v2.slice(0, minLen));
|
|
49
|
+
const expected = dot / (norm1 * norm2);
|
|
50
|
+
const result = ItemSelector_1.ItemSelector.cosineSimilarity(v1, v2);
|
|
51
|
+
almostEqual(result, expected);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
describe('normalizedCosineSimilarity', () => {
|
|
55
|
+
it('returns correct similarity with valid norms', () => {
|
|
56
|
+
const v1 = [1, 2];
|
|
57
|
+
const v2 = [2, 3];
|
|
58
|
+
const norm1 = ItemSelector_1.ItemSelector.normalize(v1);
|
|
59
|
+
const norm2 = ItemSelector_1.ItemSelector.normalize(v2);
|
|
60
|
+
const expected = (v1[0] * v2[0] + v1[1] * v2[1]) / (norm1 * norm2);
|
|
61
|
+
const actual = ItemSelector_1.ItemSelector.normalizedCosineSimilarity(v1, norm1, v2, norm2);
|
|
62
|
+
almostEqual(actual, expected);
|
|
63
|
+
});
|
|
64
|
+
it('returns NaN if norm1 is zero', () => {
|
|
65
|
+
node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.normalizedCosineSimilarity([1, 2], 0, [2, 3], 1)));
|
|
66
|
+
});
|
|
67
|
+
it('returns NaN if norm2 is zero', () => {
|
|
68
|
+
node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.normalizedCosineSimilarity([1, 2], 1, [2, 3], 0)));
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('select', () => {
|
|
72
|
+
it('returns true for empty filter object', () => {
|
|
73
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ a: 1 }, {}), true);
|
|
74
|
+
});
|
|
75
|
+
it('returns false if unknown key and metadata missing key', () => {
|
|
76
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { unknown: 'value' }), false);
|
|
77
|
+
});
|
|
78
|
+
it('returns true if unknown key and metadata has equal value', () => {
|
|
79
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ unknown: 'value' }, { unknown: 'value' }), true);
|
|
80
|
+
});
|
|
81
|
+
it('returns false if filter value is undefined or null', () => {
|
|
82
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ name: 'alice' }, { name: undefined }), false);
|
|
83
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ name: 'alice' }, { name: null }), false);
|
|
84
|
+
});
|
|
85
|
+
it('handles $and with all subfilters passing', () => {
|
|
86
|
+
const filter = { $and: [{ a: 1 }, { b: 2 }] };
|
|
87
|
+
const metadata = { a: 1, b: 2 };
|
|
88
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
|
|
89
|
+
});
|
|
90
|
+
it('handles $and with one subfilter failing', () => {
|
|
91
|
+
const filter = { $and: [{ a: 1 }, { b: 3 }] };
|
|
92
|
+
const metadata = { a: 1, b: 2 };
|
|
93
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), false);
|
|
94
|
+
});
|
|
95
|
+
it('handles empty $and array', () => {
|
|
96
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { $and: [] }), true);
|
|
97
|
+
});
|
|
98
|
+
it('handles nested $and/$or combinations', () => {
|
|
99
|
+
const filter = { $and: [{ $or: [{ a: 1 }, { b: 2 }] }, { c: 3 }] };
|
|
100
|
+
const metadata1 = { a: 1, c: 3 };
|
|
101
|
+
const metadata2 = { b: 2, c: 3 };
|
|
102
|
+
const metadata3 = { a: 1, c: 4 };
|
|
103
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata1, filter), true);
|
|
104
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata2, filter), true);
|
|
105
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata3, filter), false);
|
|
106
|
+
});
|
|
107
|
+
it('handles $or with at least one subfilter passing', () => {
|
|
108
|
+
const filter = { $or: [{ a: 1 }, { b: 2 }] };
|
|
109
|
+
const metadata = { a: 1, b: 3 };
|
|
110
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
|
|
111
|
+
});
|
|
112
|
+
it('handles $or with all subfilters failing', () => {
|
|
113
|
+
const filter = { $or: [{ a: 2 }, { b: 3 }] };
|
|
114
|
+
const metadata = { a: 1, b: 2 };
|
|
115
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), false);
|
|
116
|
+
});
|
|
117
|
+
it('handles empty $or array', () => {
|
|
118
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { $or: [] }), false);
|
|
119
|
+
});
|
|
120
|
+
it('handles metadataFilter numeric comparisons', () => {
|
|
121
|
+
const metadata = { num: 5, str: 'hello' };
|
|
122
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $eq: 5 } }), true);
|
|
123
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $eq: 4 } }), false);
|
|
124
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $ne: 4 } }), true);
|
|
125
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $ne: 5 } }), false);
|
|
126
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 4 } }), true);
|
|
127
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 5 } }), false);
|
|
128
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 4.9 } }), true);
|
|
129
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $gt: 'a' } }), false);
|
|
130
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gte: 5 } }), true);
|
|
131
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gte: 6 } }), false);
|
|
132
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $gte: 'a' } }), false);
|
|
133
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lt: 6 } }), true);
|
|
134
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lt: 5 } }), false);
|
|
135
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $lt: 'z' } }), false);
|
|
136
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lte: 5 } }), true);
|
|
137
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lte: 4 } }), false);
|
|
138
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $lte: 'z' } }), false);
|
|
139
|
+
});
|
|
140
|
+
it('$in behavior matches implementation (booleans false, exact match for strings, substring for strings, numbers via substring in array strings)', () => {
|
|
141
|
+
const metadataBool = { val: true };
|
|
142
|
+
const metadataStr = { val: 'foo' };
|
|
143
|
+
const metadataStr2 = { val: 'oo' };
|
|
144
|
+
const metadataNum = { val: 42 };
|
|
145
|
+
const arrStr = ['foo', 'bar'];
|
|
146
|
+
const arrMixedNo = ['foobar', 'baz'];
|
|
147
|
+
const arrMixedYes = ['x42y', 'baz'];
|
|
148
|
+
// boolean always false
|
|
149
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataBool, { val: { $in: ['foo'] } }), false);
|
|
150
|
+
// string exact includes
|
|
151
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr, { val: { $in: arrStr } }), true);
|
|
152
|
+
// string not included
|
|
153
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr2, { val: { $in: arrStr } }), false);
|
|
154
|
+
// number: true only if some array string includes the number as a substring
|
|
155
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $in: arrMixedNo } }), false);
|
|
156
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $in: arrMixedYes } }), true);
|
|
157
|
+
// array of numbers does not include string '42'
|
|
158
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ val: '42' }, { val: { $in: [1, 2] } }), false);
|
|
159
|
+
});
|
|
160
|
+
it('$nin behavior matches implementation (booleans false, blocks exact/substring for strings, numbers only blocked by substring in array strings)', () => {
|
|
161
|
+
const metadataBool = { val: true };
|
|
162
|
+
const metadataStr = { val: 'foo' };
|
|
163
|
+
const metadataStrSub = { val: 'oo' };
|
|
164
|
+
const metadataNum = { val: 42 };
|
|
165
|
+
const arrStr = ['foo', 'bar'];
|
|
166
|
+
const arrMixedNo = ['foobar', 'baz'];
|
|
167
|
+
const arrMixedYes = ['baz', 'z42z'];
|
|
168
|
+
const arrNum = [42];
|
|
169
|
+
// boolean always false
|
|
170
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataBool, { val: { $nin: ['foo'] } }), false);
|
|
171
|
+
// string exact match present -> false
|
|
172
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr, { val: { $nin: arrStr } }), false);
|
|
173
|
+
// string is a substring of an element -> false
|
|
174
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStrSub, { val: { $nin: arrMixedNo } }), false);
|
|
175
|
+
// number: true if no array string includes the number as substring
|
|
176
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrMixedNo } }), true);
|
|
177
|
+
// number: false if some array string includes the number as substring
|
|
178
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrMixedYes } }), false);
|
|
179
|
+
// array of numbers does not block number (implementation detail)
|
|
180
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrNum } }), true);
|
|
181
|
+
});
|
|
182
|
+
it('handles default operator fall-through (unknown operator compares equality to its value)', () => {
|
|
183
|
+
const metadata = { field: 'bar' };
|
|
184
|
+
// Unknown operator compares metadata value to the operator's value
|
|
185
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: { $foo: 'bar' } }), true);
|
|
186
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: { $foo: 'baz' } }), false);
|
|
187
|
+
// Direct scalar equality
|
|
188
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: 'bar' }), true);
|
|
189
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: 'baz' }), false);
|
|
190
|
+
});
|
|
191
|
+
it('returns false if metadata key missing in object filter', () => {
|
|
192
|
+
const metadata = {};
|
|
193
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { age: { $gt: 18 } }), false);
|
|
194
|
+
});
|
|
195
|
+
it('handles multi-field filter with mixed scalar and operator filters', () => {
|
|
196
|
+
const metadata = { a: 1, b: 2, c: 3 };
|
|
197
|
+
const filter = { a: 1, b: { $gt: 1 }, c: { $lt: 4 } };
|
|
198
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
|
|
199
|
+
const filterFail = { a: 1, b: { $gt: 2 }, c: { $lt: 4 } };
|
|
200
|
+
node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filterFail), false);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=ItemSelector.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemSelector.spec.js","sourceRoot":"","sources":["../src/ItemSelector.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { MetadataTypes } from './types';
|
|
2
|
+
import { LocalDocumentIndex } from './LocalDocumentIndex';
|
|
3
|
+
/**
|
|
4
|
+
* Represents an indexed document stored on disk.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LocalDocument {
|
|
7
|
+
private readonly _index;
|
|
8
|
+
private readonly _id;
|
|
9
|
+
private readonly _uri;
|
|
10
|
+
private _metadata;
|
|
11
|
+
private _text;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new `LocalDocument` instance.
|
|
14
|
+
* @param index Parent index that contains the document.
|
|
15
|
+
* @param id ID of the document.
|
|
16
|
+
* @param uri URI of the document.
|
|
17
|
+
*/
|
|
18
|
+
constructor(index: LocalDocumentIndex, id: string, uri: string);
|
|
19
|
+
/**
|
|
20
|
+
* Returns the folder path where the document is stored.
|
|
21
|
+
*/
|
|
22
|
+
get folderPath(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the ID of the document.
|
|
25
|
+
*/
|
|
26
|
+
get id(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the URI of the document.
|
|
29
|
+
*/
|
|
30
|
+
get uri(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the length of the document in tokens.
|
|
33
|
+
* @remarks
|
|
34
|
+
* This value will be estimated for documents longer then 40k bytes.
|
|
35
|
+
* @returns Length of the document in tokens.
|
|
36
|
+
*/
|
|
37
|
+
getLength(): Promise<number>;
|
|
38
|
+
/**
|
|
39
|
+
* Determines if the document has additional metadata stored on disk.
|
|
40
|
+
* @returns True if the document has metadata; otherwise, false.
|
|
41
|
+
*/
|
|
42
|
+
hasMetadata(): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Loads the metadata for the document from disk.
|
|
45
|
+
* @returns Metadata for the document.
|
|
46
|
+
*/
|
|
47
|
+
loadMetadata(): Promise<Record<string, MetadataTypes>>;
|
|
48
|
+
/**
|
|
49
|
+
* Loads the text for the document from disk.
|
|
50
|
+
* @returns Text for the document.
|
|
51
|
+
*/
|
|
52
|
+
loadText(): Promise<string>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=LocalDocument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDocument.d.ts","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocalDocument.d.ts","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,KAAK,CAAqB;IAElC;;;;;OAKG;gBACgB,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMrE;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAmBnE;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAWzC"}
|