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":"vectra-cli.js","sourceRoot":"","sources":["../src/vectra-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=vectra-cli.spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectra-cli.spec.d.ts","sourceRoot":"","sources":["../src/vectra-cli.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectra-cli.spec.js","sourceRoot":"","sources":["../src/vectra-cli.spec.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vectra",
|
|
3
3
|
"author": "Steven Ickman",
|
|
4
|
-
"description": "A vector database
|
|
5
|
-
"version": "0.
|
|
4
|
+
"description": "A lightweight, file-backed vector database for Node.js and browsers with Pinecone-compatible filtering and hybrid BM25 search.",
|
|
5
|
+
"version": "0.14.0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
8
|
-
"
|
|
8
|
+
"vector-database",
|
|
9
|
+
"embeddings",
|
|
10
|
+
"semantic-search",
|
|
11
|
+
"rag",
|
|
12
|
+
"retrieval-augmented-generation",
|
|
13
|
+
"openai",
|
|
14
|
+
"azure-openai",
|
|
15
|
+
"transformers",
|
|
16
|
+
"local-embeddings",
|
|
17
|
+
"cosine-similarity",
|
|
18
|
+
"bm25",
|
|
19
|
+
"hybrid-search",
|
|
20
|
+
"local-database",
|
|
21
|
+
"llm",
|
|
22
|
+
"ai",
|
|
23
|
+
"browser",
|
|
24
|
+
"electron"
|
|
9
25
|
],
|
|
10
26
|
"bugs": {
|
|
11
27
|
"url": "https://github.com/Stevenic/vectra/issues"
|
|
@@ -14,13 +30,39 @@
|
|
|
14
30
|
"type": "git",
|
|
15
31
|
"url": "https://github.com/Stevenic/vectra.git"
|
|
16
32
|
},
|
|
33
|
+
"homepage": "https://github.com/Stevenic/vectra#readme",
|
|
17
34
|
"main": "./lib/index.js",
|
|
35
|
+
"module": "./lib/index.js",
|
|
36
|
+
"browser": "./lib/browser.js",
|
|
18
37
|
"types": "./lib/index.d.ts",
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"node": {
|
|
41
|
+
"types": "./lib/index.d.ts",
|
|
42
|
+
"import": "./lib/index.js",
|
|
43
|
+
"require": "./lib/index.js"
|
|
44
|
+
},
|
|
45
|
+
"browser": {
|
|
46
|
+
"types": "./lib/browser.d.ts",
|
|
47
|
+
"default": "./lib/browser.js"
|
|
48
|
+
},
|
|
49
|
+
"default": "./lib/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./browser": {
|
|
52
|
+
"types": "./lib/browser.d.ts",
|
|
53
|
+
"default": "./lib/browser.js"
|
|
54
|
+
},
|
|
55
|
+
"./node": {
|
|
56
|
+
"types": "./lib/index.d.ts",
|
|
57
|
+
"import": "./lib/index.js",
|
|
58
|
+
"require": "./lib/index.js"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
19
61
|
"bin": {
|
|
20
62
|
"vectra": "./bin/vectra.js"
|
|
21
63
|
},
|
|
22
64
|
"engines": {
|
|
23
|
-
"node": ">=
|
|
65
|
+
"node": ">=22.x"
|
|
24
66
|
},
|
|
25
67
|
"typesVersions": {
|
|
26
68
|
"<3.9": {
|
|
@@ -30,50 +72,83 @@
|
|
|
30
72
|
}
|
|
31
73
|
},
|
|
32
74
|
"dependencies": {
|
|
33
|
-
"
|
|
75
|
+
"@grpc/grpc-js": "^1.14.3",
|
|
76
|
+
"@grpc/proto-loader": "^0.8.0",
|
|
77
|
+
"buffer": "^6.0.3",
|
|
34
78
|
"cheerio": "^1.0.0",
|
|
35
79
|
"dotenv": "^16.5.0",
|
|
36
80
|
"gpt-tokenizer": "^3.4.0",
|
|
37
81
|
"json-colorizer": "^3.0.1",
|
|
38
|
-
"openai": "^4.
|
|
82
|
+
"openai": "^4.100.0",
|
|
39
83
|
"turndown": "^7.2.0",
|
|
40
84
|
"uuid": "^11.1.0",
|
|
41
85
|
"wink-bm25-text-search": "^3.1.2",
|
|
42
86
|
"wink-nlp": "^2.3.2",
|
|
43
87
|
"yargs": "^17.7.2"
|
|
44
88
|
},
|
|
45
|
-
"
|
|
89
|
+
"optionalDependencies": {
|
|
90
|
+
"protobufjs": "^7.4.0"
|
|
91
|
+
},
|
|
92
|
+
"resolutions": {
|
|
93
|
+
"undici": ">=6.24.0",
|
|
94
|
+
"form-data": ">=4.0.4"
|
|
95
|
+
},
|
|
46
96
|
"devDependencies": {
|
|
97
|
+
"@eslint/js": "^10.0.1",
|
|
98
|
+
"@huggingface/transformers": "^3.8.1",
|
|
47
99
|
"@types/assert": "^1.5.11",
|
|
48
100
|
"@types/mocha": "^10.0.10",
|
|
49
101
|
"@types/node": "^22.15.11",
|
|
102
|
+
"@types/sinon": "^21.0.0",
|
|
50
103
|
"@types/turndown": "^5.0.5",
|
|
51
104
|
"@types/uuid": "10.0.0",
|
|
52
105
|
"@types/yargs": "17.0.33",
|
|
106
|
+
"@typescript-eslint/eslint-plugin": "^8.58.0",
|
|
107
|
+
"@typescript-eslint/parser": "^8.58.0",
|
|
108
|
+
"eslint": "^10.1.0",
|
|
53
109
|
"mocha": "11.2.2",
|
|
54
|
-
"npm-run-all": "^4.1.5",
|
|
55
110
|
"nyc": "^17.1.0",
|
|
56
111
|
"rimraf": "^5.0.1",
|
|
57
112
|
"shx": "^0.4.0",
|
|
113
|
+
"sinon": "^21.0.1",
|
|
114
|
+
"ts-loader": "^9.5.4",
|
|
58
115
|
"ts-mocha": "11.1.0",
|
|
59
116
|
"ts-node": "^10.9.1",
|
|
60
117
|
"typescript": "^5.8.3",
|
|
118
|
+
"webpack": "^5.104.1",
|
|
119
|
+
"webpack-cli": "^6.0.1",
|
|
61
120
|
"wink-bm25-text-search": "^3.1.2"
|
|
62
121
|
},
|
|
122
|
+
"peerDependencies": {
|
|
123
|
+
"@huggingface/transformers": "^3.8.1"
|
|
124
|
+
},
|
|
125
|
+
"peerDependenciesMeta": {
|
|
126
|
+
"@huggingface/transformers": {
|
|
127
|
+
"optional": true
|
|
128
|
+
}
|
|
129
|
+
},
|
|
63
130
|
"scripts": {
|
|
64
|
-
"build": "tsc -b",
|
|
65
|
-
"build
|
|
66
|
-
"build:
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
131
|
+
"build": "tsc -b && shx mkdir -p lib/codecs/schemas && shx cp src/codecs/schemas/*.proto lib/codecs/schemas/ && shx cp -r src/templates lib/templates",
|
|
132
|
+
"build:browser": "webpack --config webpack.browser.js",
|
|
133
|
+
"build:all": "yarn build && yarn build:browser",
|
|
134
|
+
"build:watch": "tsc -b --watch",
|
|
135
|
+
"clean": "rimraf lib dist tsconfig.tsbuildinfo",
|
|
136
|
+
"clean:all": "rimraf _ts3.4 lib dist tsconfig.tsbuildinfo node_modules",
|
|
137
|
+
"clean:build": "rimraf lib tsconfig.tsbuildinfo",
|
|
138
|
+
"lint": "eslint src/",
|
|
139
|
+
"test": "yarn build && yarn test:mocha",
|
|
71
140
|
"test:mocha": "nyc ts-mocha src/**/*.spec.ts --timeout 10000",
|
|
72
|
-
"test:
|
|
141
|
+
"test:watch": "ts-mocha src/**/*.spec.ts --timeout 10000 --watch",
|
|
142
|
+
"test:coverage": "nyc --reporter=html --reporter=text ts-mocha src/**/*.spec.ts --timeout 10000",
|
|
143
|
+
"prepublishOnly": "yarn run clean && yarn run build && yarn test",
|
|
144
|
+
"publish:check": "yarn run clean:build && yarn run build && yarn test && yarn publish --dry-run"
|
|
73
145
|
},
|
|
74
146
|
"files": [
|
|
75
147
|
"_ts3.4",
|
|
76
148
|
"lib",
|
|
149
|
+
"dist",
|
|
150
|
+
"bin",
|
|
151
|
+
"proto",
|
|
77
152
|
"src"
|
|
78
153
|
],
|
|
79
154
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package vectra;
|
|
4
|
+
|
|
5
|
+
// ─── Shared Types ───────────────────────────────────────
|
|
6
|
+
|
|
7
|
+
message MetadataValue {
|
|
8
|
+
oneof value {
|
|
9
|
+
string string_value = 1;
|
|
10
|
+
double number_value = 2;
|
|
11
|
+
bool bool_value = 3;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
message MetadataFilter {
|
|
16
|
+
// JSON-encoded Pinecone-style filter, e.g.:
|
|
17
|
+
// {"category": {"$eq": "news"}, "score": {"$gte": 0.5}}
|
|
18
|
+
// Kept as JSON string for simplicity — filter DSL is complex
|
|
19
|
+
// and already implemented in JS. Avoids duplicating the AST in proto.
|
|
20
|
+
string filter_json = 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
message ItemResult {
|
|
24
|
+
string id = 1;
|
|
25
|
+
map<string, MetadataValue> metadata = 2;
|
|
26
|
+
repeated float vector = 3;
|
|
27
|
+
double norm = 4;
|
|
28
|
+
double score = 5; // only populated in query responses
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// ─── Index Management ───────────────────────────────────
|
|
32
|
+
|
|
33
|
+
message CreateIndexRequest {
|
|
34
|
+
string index_name = 1;
|
|
35
|
+
// "json" or "protobuf" — maps to CreateIndexConfig.codec
|
|
36
|
+
string format = 2;
|
|
37
|
+
// For LocalDocumentIndex: version, tokenizer, chunking config
|
|
38
|
+
bool is_document_index = 3;
|
|
39
|
+
DocumentIndexConfig document_config = 4;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
message DocumentIndexConfig {
|
|
43
|
+
uint32 version = 1;
|
|
44
|
+
string embeddings_model = 2; // e.g. "text-embedding-3-small"
|
|
45
|
+
uint32 chunk_size = 3; // default 512
|
|
46
|
+
uint32 chunk_overlap = 4; // default 0
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
message CreateIndexResponse {}
|
|
50
|
+
|
|
51
|
+
message DeleteIndexRequest {
|
|
52
|
+
string index_name = 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
message DeleteIndexResponse {}
|
|
56
|
+
|
|
57
|
+
message ListIndexesRequest {}
|
|
58
|
+
|
|
59
|
+
message ListIndexesResponse {
|
|
60
|
+
repeated IndexInfo indexes = 1;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
message IndexInfo {
|
|
64
|
+
string name = 1;
|
|
65
|
+
string format = 2; // "json" or "protobuf"
|
|
66
|
+
bool is_document_index = 3;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// ─── Item Operations ────────────────────────────────────
|
|
70
|
+
|
|
71
|
+
message InsertItemRequest {
|
|
72
|
+
string index_name = 1;
|
|
73
|
+
// Text to embed (server computes the vector)
|
|
74
|
+
string text = 2;
|
|
75
|
+
// OR: raw vector (for LocalIndex users who bring their own vectors)
|
|
76
|
+
repeated float vector = 3;
|
|
77
|
+
map<string, MetadataValue> metadata = 4;
|
|
78
|
+
// Optional: caller-provided ID (server generates UUID if omitted)
|
|
79
|
+
string id = 5;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
message InsertItemResponse {
|
|
83
|
+
string id = 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
message UpsertItemRequest {
|
|
87
|
+
string index_name = 1;
|
|
88
|
+
string id = 2;
|
|
89
|
+
string text = 3;
|
|
90
|
+
repeated float vector = 4;
|
|
91
|
+
map<string, MetadataValue> metadata = 5;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
message UpsertItemResponse {
|
|
95
|
+
string id = 1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
message BatchInsertItemsRequest {
|
|
99
|
+
string index_name = 1;
|
|
100
|
+
repeated InsertItemRequest items = 2;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
message BatchInsertItemsResponse {
|
|
104
|
+
repeated string ids = 1;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
message GetItemRequest {
|
|
108
|
+
string index_name = 1;
|
|
109
|
+
string id = 2;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
message GetItemResponse {
|
|
113
|
+
ItemResult item = 1;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
message DeleteItemRequest {
|
|
117
|
+
string index_name = 1;
|
|
118
|
+
string id = 2;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
message DeleteItemResponse {}
|
|
122
|
+
|
|
123
|
+
message ListItemsRequest {
|
|
124
|
+
string index_name = 1;
|
|
125
|
+
MetadataFilter filter = 2; // optional
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
message ListItemsResponse {
|
|
129
|
+
repeated ItemResult items = 1;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// ─── Query ──────────────────────────────────────────────
|
|
133
|
+
|
|
134
|
+
message QueryItemsRequest {
|
|
135
|
+
string index_name = 1;
|
|
136
|
+
string text = 2; // server computes embedding
|
|
137
|
+
repeated float vector = 3; // OR: raw vector
|
|
138
|
+
uint32 top_k = 4; // default 10
|
|
139
|
+
MetadataFilter filter = 5;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
message QueryItemsResponse {
|
|
143
|
+
repeated ItemResult results = 1;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
message QueryDocumentsRequest {
|
|
147
|
+
string index_name = 1;
|
|
148
|
+
string query = 2;
|
|
149
|
+
uint32 max_documents = 3; // default 10
|
|
150
|
+
uint32 max_chunks = 4; // default 50
|
|
151
|
+
MetadataFilter filter = 5;
|
|
152
|
+
bool use_bm25 = 6; // hybrid search
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
message DocumentResult {
|
|
156
|
+
string uri = 1;
|
|
157
|
+
string document_id = 2;
|
|
158
|
+
repeated DocumentChunk chunks = 3;
|
|
159
|
+
double score = 4;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
message DocumentChunk {
|
|
163
|
+
string text = 1;
|
|
164
|
+
double score = 2;
|
|
165
|
+
uint32 token_count = 3;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
message QueryDocumentsResponse {
|
|
169
|
+
repeated DocumentResult results = 1;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// ─── Document Operations ────────────────────────────────
|
|
173
|
+
|
|
174
|
+
message UpsertDocumentRequest {
|
|
175
|
+
string index_name = 1;
|
|
176
|
+
string uri = 2;
|
|
177
|
+
string text = 3;
|
|
178
|
+
string doc_type = 4; // optional
|
|
179
|
+
map<string, MetadataValue> metadata = 5;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
message UpsertDocumentResponse {
|
|
183
|
+
string document_id = 1;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
message DeleteDocumentRequest {
|
|
187
|
+
string index_name = 1;
|
|
188
|
+
string uri = 2;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
message DeleteDocumentResponse {}
|
|
192
|
+
|
|
193
|
+
message ListDocumentsRequest {
|
|
194
|
+
string index_name = 1;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
message ListDocumentsResponse {
|
|
198
|
+
repeated DocumentInfo documents = 1;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
message DocumentInfo {
|
|
202
|
+
string uri = 1;
|
|
203
|
+
string document_id = 2;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// ─── Stats ──────────────────────────────────────────────
|
|
207
|
+
|
|
208
|
+
message GetIndexStatsRequest {
|
|
209
|
+
string index_name = 1;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
message GetIndexStatsResponse {
|
|
213
|
+
uint32 version = 1;
|
|
214
|
+
string format = 2;
|
|
215
|
+
uint32 item_count = 3;
|
|
216
|
+
uint32 metadata_config_count = 4;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
message GetCatalogStatsRequest {
|
|
220
|
+
string index_name = 1;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
message GetCatalogStatsResponse {
|
|
224
|
+
uint32 version = 1;
|
|
225
|
+
uint32 document_count = 2;
|
|
226
|
+
uint32 chunk_count = 3;
|
|
227
|
+
map<string, uint32> metadata_counts = 4;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// ─── Lifecycle ──────────────────────────────────────────
|
|
231
|
+
|
|
232
|
+
message HealthcheckRequest {}
|
|
233
|
+
|
|
234
|
+
message HealthcheckResponse {
|
|
235
|
+
string status = 1; // "ok"
|
|
236
|
+
uint32 uptime_seconds = 2;
|
|
237
|
+
uint32 loaded_indexes = 3;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
message ShutdownRequest {}
|
|
241
|
+
|
|
242
|
+
message ShutdownResponse {}
|
|
243
|
+
|
|
244
|
+
// ─── Service ────────────────────────────────────────────
|
|
245
|
+
|
|
246
|
+
service VectraService {
|
|
247
|
+
// Index Management
|
|
248
|
+
rpc CreateIndex(CreateIndexRequest) returns (CreateIndexResponse);
|
|
249
|
+
rpc DeleteIndex(DeleteIndexRequest) returns (DeleteIndexResponse);
|
|
250
|
+
rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse);
|
|
251
|
+
|
|
252
|
+
// Item Operations
|
|
253
|
+
rpc InsertItem(InsertItemRequest) returns (InsertItemResponse);
|
|
254
|
+
rpc UpsertItem(UpsertItemRequest) returns (UpsertItemResponse);
|
|
255
|
+
rpc BatchInsertItems(BatchInsertItemsRequest) returns (BatchInsertItemsResponse);
|
|
256
|
+
rpc GetItem(GetItemRequest) returns (GetItemResponse);
|
|
257
|
+
rpc DeleteItem(DeleteItemRequest) returns (DeleteItemResponse);
|
|
258
|
+
rpc ListItems(ListItemsRequest) returns (ListItemsResponse);
|
|
259
|
+
|
|
260
|
+
// Query
|
|
261
|
+
rpc QueryItems(QueryItemsRequest) returns (QueryItemsResponse);
|
|
262
|
+
rpc QueryDocuments(QueryDocumentsRequest) returns (QueryDocumentsResponse);
|
|
263
|
+
|
|
264
|
+
// Document Operations
|
|
265
|
+
rpc UpsertDocument(UpsertDocumentRequest) returns (UpsertDocumentResponse);
|
|
266
|
+
rpc DeleteDocument(DeleteDocumentRequest) returns (DeleteDocumentResponse);
|
|
267
|
+
rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse);
|
|
268
|
+
|
|
269
|
+
// Stats
|
|
270
|
+
rpc GetIndexStats(GetIndexStatsRequest) returns (GetIndexStatsResponse);
|
|
271
|
+
rpc GetCatalogStats(GetCatalogStatsRequest) returns (GetCatalogStatsResponse);
|
|
272
|
+
|
|
273
|
+
// Lifecycle
|
|
274
|
+
rpc Healthcheck(HealthcheckRequest) returns (HealthcheckResponse);
|
|
275
|
+
rpc Shutdown(ShutdownRequest) returns (ShutdownResponse);
|
|
276
|
+
}
|