vectra 0.12.3 → 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/README.md +92 -100
- 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.map +1 -1
- package/lib/FileFetcher.js +25 -15
- package/lib/FileFetcher.js.map +1 -1
- 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.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.map +1 -1
- package/lib/ItemSelector.js +19 -8
- package/lib/ItemSelector.js.map +1 -1
- 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 +1 -1
- package/lib/LocalDocument.d.ts.map +1 -1
- package/lib/LocalDocument.js +5 -45
- package/lib/LocalDocument.js.map +1 -1
- 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 +20 -0
- package/lib/LocalDocumentIndex.d.ts.map +1 -1
- package/lib/LocalDocumentIndex.js +16 -52
- package/lib/LocalDocumentIndex.js.map +1 -1
- 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 +32 -11
- package/lib/LocalDocumentResult.d.ts.map +1 -1
- package/lib/LocalDocumentResult.js +305 -257
- package/lib/LocalDocumentResult.js.map +1 -1
- 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 +27 -18
- package/lib/LocalIndex.d.ts.map +1 -1
- package/lib/LocalIndex.js +109 -105
- package/lib/LocalIndex.js.map +1 -1
- package/lib/LocalIndex.spec.js +434 -43
- package/lib/LocalIndex.spec.js.map +1 -1
- package/lib/OpenAIEmbeddings.d.ts +4 -6
- package/lib/OpenAIEmbeddings.d.ts.map +1 -1
- package/lib/OpenAIEmbeddings.js +16 -24
- package/lib/OpenAIEmbeddings.js.map +1 -1
- 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 +2 -0
- package/lib/TextSplitter.d.ts.map +1 -1
- package/lib/TextSplitter.js +154 -111
- package/lib/TextSplitter.js.map +1 -1
- package/lib/TextSplitter.spec.js +289 -61
- package/lib/TextSplitter.spec.js.map +1 -1
- 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 +1 -2
- package/lib/WebFetcher.d.ts.map +1 -1
- package/lib/WebFetcher.js +58 -54
- package/lib/WebFetcher.js.map +1 -1
- 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 +9 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/internals/Colorize.d.ts.map +1 -1
- package/lib/internals/Colorize.js +20 -15
- package/lib/internals/Colorize.js.map +1 -1
- 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 +7 -0
- package/lib/types.d.ts.map +1 -1
- 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.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 +446 -9
- package/lib/vectra-cli.js.map +1 -1
- 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 +89 -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 -323
- package/src/LocalIndex.ts +479 -430
- package/src/OpenAIEmbeddings.spec.ts +354 -0
- package/src/OpenAIEmbeddings.ts +26 -27
- package/src/TextSplitter.spec.ts +320 -65
- package/src/TextSplitter.ts +172 -115
- 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
- package/README.draft.md +0 -499
- package/README.draft.outline.md +0 -160
- package/README.research.md +0 -2159
|
@@ -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"}
|
|
@@ -1 +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;
|
|
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"}
|
package/lib/ItemSelector.js
CHANGED
|
@@ -9,8 +9,16 @@ class ItemSelector {
|
|
|
9
9
|
* @returns Similarity between the two vectors
|
|
10
10
|
*/
|
|
11
11
|
static cosineSimilarity(vector1, vector2) {
|
|
12
|
-
//
|
|
13
|
-
|
|
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);
|
|
14
22
|
}
|
|
15
23
|
/**
|
|
16
24
|
* Normalizes a vector.
|
|
@@ -43,6 +51,10 @@ class ItemSelector {
|
|
|
43
51
|
* @returns Similarity between the two vectors
|
|
44
52
|
*/
|
|
45
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
|
+
}
|
|
46
58
|
// Return the quotient of the dot product and the product of the norms
|
|
47
59
|
return this.dotProduct(vector1, vector2) / (norm1 * norm2);
|
|
48
60
|
}
|
|
@@ -53,7 +65,8 @@ class ItemSelector {
|
|
|
53
65
|
* @returns True if the item matches the filter, false otherwise
|
|
54
66
|
*/
|
|
55
67
|
static select(metadata, filter) {
|
|
56
|
-
|
|
68
|
+
// Treat null/undefined and {} as "no filter"
|
|
69
|
+
if (filter == null || (typeof filter === 'object' && Object.keys(filter).length === 0)) {
|
|
57
70
|
return true;
|
|
58
71
|
}
|
|
59
72
|
for (const key in filter) {
|
|
@@ -89,14 +102,12 @@ class ItemSelector {
|
|
|
89
102
|
return true;
|
|
90
103
|
}
|
|
91
104
|
static dotProduct(arr1, arr2) {
|
|
92
|
-
//
|
|
105
|
+
// Use only overlapping indices to avoid NaN when lengths differ
|
|
106
|
+
const minLen = Math.min(arr1.length, arr2.length);
|
|
93
107
|
let sum = 0;
|
|
94
|
-
|
|
95
|
-
for (let i = 0; i < arr1.length; i++) {
|
|
96
|
-
// Multiply the corresponding elements and add them to the sum
|
|
108
|
+
for (let i = 0; i < minLen; i++) {
|
|
97
109
|
sum += arr1[i] * arr2[i];
|
|
98
110
|
}
|
|
99
|
-
// Return the sum
|
|
100
111
|
return sum;
|
|
101
112
|
}
|
|
102
113
|
static metadataFilter(value, filter) {
|
package/lib/ItemSelector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemSelector.js","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;
|
|
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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"}
|
package/lib/LocalDocument.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export declare class LocalDocument {
|
|
|
36
36
|
*/
|
|
37
37
|
getLength(): Promise<number>;
|
|
38
38
|
/**
|
|
39
|
-
* Determines if the document has additional metadata
|
|
39
|
+
* Determines if the document has additional metadata stored on disk.
|
|
40
40
|
* @returns True if the document has metadata; otherwise, false.
|
|
41
41
|
*/
|
|
42
42
|
hasMetadata(): Promise<boolean>;
|
|
@@ -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"}
|
package/lib/LocalDocument.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -43,8 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
43
10
|
};
|
|
44
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
12
|
exports.LocalDocument = void 0;
|
|
46
|
-
const
|
|
47
|
-
const path = __importStar(require("path"));
|
|
13
|
+
const pathUtils_1 = require("./utils/pathUtils");
|
|
48
14
|
/**
|
|
49
15
|
* Represents an indexed document stored on disk.
|
|
50
16
|
*/
|
|
@@ -96,18 +62,12 @@ class LocalDocument {
|
|
|
96
62
|
});
|
|
97
63
|
}
|
|
98
64
|
/**
|
|
99
|
-
* Determines if the document has additional metadata
|
|
65
|
+
* Determines if the document has additional metadata stored on disk.
|
|
100
66
|
* @returns True if the document has metadata; otherwise, false.
|
|
101
67
|
*/
|
|
102
68
|
hasMetadata() {
|
|
103
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
|
|
105
|
-
yield fs.access(path.join(this.folderPath, `${this.id}.json`));
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
70
|
+
return this._index.storage.pathExists(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.json`));
|
|
111
71
|
});
|
|
112
72
|
}
|
|
113
73
|
/**
|
|
@@ -119,7 +79,7 @@ class LocalDocument {
|
|
|
119
79
|
if (this._metadata == undefined) {
|
|
120
80
|
let json;
|
|
121
81
|
try {
|
|
122
|
-
json = (yield
|
|
82
|
+
json = (yield this._index.storage.readFile(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.json`))).toString('utf-8');
|
|
123
83
|
}
|
|
124
84
|
catch (err) {
|
|
125
85
|
throw new Error(`Error reading metadata for document "${this.uri}": ${err.toString()}`);
|
|
@@ -142,7 +102,7 @@ class LocalDocument {
|
|
|
142
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
143
103
|
if (this._text == undefined) {
|
|
144
104
|
try {
|
|
145
|
-
this._text = (yield
|
|
105
|
+
this._text = (yield this._index.storage.readFile(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.txt`))).toString('utf-8');
|
|
146
106
|
}
|
|
147
107
|
catch (err) {
|
|
148
108
|
throw new Error(`Error reading text file for document "${this.uri}": ${err.toString()}`);
|
package/lib/LocalDocument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDocument.js","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocalDocument.js","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalDocument.spec.d.ts","sourceRoot":"","sources":["../src/LocalDocument.spec.ts"],"names":[],"mappings":""}
|