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
package/src/types.ts
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
* An AI model that can be used to create embeddings.
|
|
5
5
|
*/
|
|
6
6
|
export interface EmbeddingsModel {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Maximum number of tokens
|
|
9
|
+
*/
|
|
10
|
+
readonly maxTokens: number;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates embeddings for the given inputs.
|
|
14
|
+
* @param inputs Text inputs to create embeddings for.
|
|
15
|
+
* @returns A `EmbeddingsResponse` with a status and the generated embeddings or a message when an error occurs.
|
|
16
|
+
*/
|
|
17
|
+
createEmbeddings(inputs: string | string[]): Promise<EmbeddingsResponse>;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -30,147 +30,155 @@ export type EmbeddingsResponseStatus = 'success' | 'error' | 'rate_limited' | 'c
|
|
|
30
30
|
* Response returned by a `EmbeddingsClient`.
|
|
31
31
|
*/
|
|
32
32
|
export interface EmbeddingsResponse {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Status of the embeddings response.
|
|
35
|
+
*/
|
|
36
|
+
status: EmbeddingsResponseStatus;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Optional. Embeddings for the given inputs.
|
|
40
|
+
*/
|
|
41
|
+
output?: number[][];
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Optional. Message when status is not equal to `success`.
|
|
45
|
+
*/
|
|
46
|
+
message?: string;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Optional. Model used to create the embeddings.
|
|
50
|
+
*/
|
|
51
|
+
model?: string;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Optional. Usage statistics for the request.
|
|
55
|
+
*/
|
|
56
|
+
usage?: Record<string, any>;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export interface TextChunk {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
text: string;
|
|
61
|
+
tokens: number[];
|
|
62
|
+
startPos: number;
|
|
63
|
+
endPos: number;
|
|
64
|
+
startOverlap: number[];
|
|
65
|
+
endOverlap: number[];
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export interface TextFetcher {
|
|
69
|
-
|
|
69
|
+
fetch(uri: string, onDocument: (uri: string, text: string, docType?: string) => Promise<boolean>): Promise<boolean>;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
export interface IndexStats {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
version: number;
|
|
74
|
+
metadata_config: {
|
|
75
|
+
indexed?: string[];
|
|
76
|
+
};
|
|
77
|
+
items: number;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
export interface IndexItem<TMetadata = Record<string,MetadataTypes>> {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
export interface IndexItem<TMetadata = Record<string, MetadataTypes>> {
|
|
81
|
+
id: string;
|
|
82
|
+
metadata: TMetadata;
|
|
83
|
+
vector: number[];
|
|
84
|
+
norm: number;
|
|
85
|
+
metadataFile?: string;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
export interface MetadataFilter {
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Equal to (number, string, boolean)
|
|
92
|
+
*/
|
|
93
|
+
'$eq'?: number | string | boolean;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Not equal to (number, string, boolean)
|
|
97
|
+
*/
|
|
98
|
+
'$ne'?: number | string | boolean;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Greater than (number)
|
|
102
|
+
*/
|
|
103
|
+
'$gt'?: number;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Greater than or equal to (number)
|
|
107
|
+
*/
|
|
108
|
+
'$gte'?: number;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Less than (number)
|
|
112
|
+
*/
|
|
113
|
+
'$lt'?: number;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Less than or equal to (number)
|
|
117
|
+
*/
|
|
118
|
+
'$lte'?: number;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* In array (string or number)
|
|
122
|
+
*/
|
|
123
|
+
'$in'?: (number | string)[];
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Not in array (string or number)
|
|
127
|
+
*/
|
|
128
|
+
'$nin'?: (number | string)[];
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* AND (MetadataFilter[])
|
|
132
|
+
*/
|
|
133
|
+
'$and'?: MetadataFilter[];
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* OR (MetadataFilter[])
|
|
137
|
+
*/
|
|
138
|
+
'$or'?: MetadataFilter[];
|
|
139
|
+
|
|
140
|
+
[key: string]: unknown;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
export type MetadataTypes = number|string|boolean;
|
|
143
|
+
export type MetadataTypes = number | string | boolean;
|
|
144
144
|
|
|
145
|
-
export interface QueryResult<TMetadata = Record<string,MetadataTypes>> {
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
export interface QueryResult<TMetadata = Record<string, MetadataTypes>> {
|
|
146
|
+
item: IndexItem<TMetadata>;
|
|
147
|
+
score: number;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
export interface Tokenizer {
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
decode(tokens: number[]): string;
|
|
152
|
+
encode(text: string): number[];
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
export interface DocumentChunkMetadata {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
documentId: string;
|
|
157
|
+
startPos: number;
|
|
158
|
+
endPos: number;
|
|
159
|
+
[key: string]: MetadataTypes;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
export interface DocumentCatalogStats {
|
|
163
|
+
version: number;
|
|
164
|
+
documents: number;
|
|
165
|
+
chunks: number;
|
|
166
|
+
metadata_config: {
|
|
167
|
+
indexed?: string[];
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export interface DocumentTextSection {
|
|
172
|
+
text: string;
|
|
173
|
+
tokenCount: number;
|
|
174
|
+
score: number;
|
|
175
|
+
isBm25: boolean;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface IndexData {
|
|
163
179
|
version: number;
|
|
164
|
-
documents: number;
|
|
165
|
-
chunks: number;
|
|
166
180
|
metadata_config: {
|
|
167
181
|
indexed?: string[];
|
|
168
182
|
};
|
|
183
|
+
items: IndexItem[];
|
|
169
184
|
}
|
|
170
|
-
|
|
171
|
-
export interface DocumentTextSection {
|
|
172
|
-
text: string;
|
|
173
|
-
tokenCount: number;
|
|
174
|
-
score: number;
|
|
175
|
-
isBm25: boolean;
|
|
176
|
-
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pathUtils';
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal path utilities that work in Node, Browser, and Electron.
|
|
3
|
+
* Replaces Node's 'path' module for cross-platform compatibility.
|
|
4
|
+
*/
|
|
5
|
+
export const pathUtils = {
|
|
6
|
+
/**
|
|
7
|
+
* Path separator. Always '/' for consistency across platforms.
|
|
8
|
+
*/
|
|
9
|
+
sep: '/' as const,
|
|
10
|
+
/**
|
|
11
|
+
* Join path segments together.
|
|
12
|
+
*/
|
|
13
|
+
join(...parts: string[]): string {
|
|
14
|
+
return parts
|
|
15
|
+
.map((part, i) => {
|
|
16
|
+
if (i === 0) return part.replace(/[/\\]+$/, '');
|
|
17
|
+
return part.replace(/^[/\\]+|[/\\]+$/g, '');
|
|
18
|
+
})
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.join('/');
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get the last portion of a path.
|
|
25
|
+
*/
|
|
26
|
+
basename(filePath: string, ext?: string): string {
|
|
27
|
+
const base = filePath.split(/[/\\]/).pop() || '';
|
|
28
|
+
if (ext && base.endsWith(ext)) {
|
|
29
|
+
return base.slice(0, -ext.length);
|
|
30
|
+
}
|
|
31
|
+
return base;
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get the directory name of a path.
|
|
36
|
+
*/
|
|
37
|
+
dirname(filePath: string): string {
|
|
38
|
+
const parts = filePath.split(/[/\\]/);
|
|
39
|
+
parts.pop();
|
|
40
|
+
return parts.join('/') || '.';
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Get the extension of the path.
|
|
45
|
+
*/
|
|
46
|
+
extname(filePath: string): string {
|
|
47
|
+
const base = pathUtils.basename(filePath);
|
|
48
|
+
const dotIndex = base.lastIndexOf('.');
|
|
49
|
+
return dotIndex > 0 ? base.slice(dotIndex) : '';
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Normalize a path, resolving '..' and '.' segments.
|
|
54
|
+
*/
|
|
55
|
+
normalize(filePath: string): string {
|
|
56
|
+
const isAbsolute = filePath.startsWith('/') || /^[a-zA-Z]:/.test(filePath);
|
|
57
|
+
const parts = filePath.split(/[/\\]/);
|
|
58
|
+
const result: string[] = [];
|
|
59
|
+
|
|
60
|
+
for (const part of parts) {
|
|
61
|
+
if (part === '..') {
|
|
62
|
+
result.pop();
|
|
63
|
+
} else if (part !== '.' && part !== '') {
|
|
64
|
+
result.push(part);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return (isAbsolute && !(/^[a-zA-Z]:/.test(filePath)) ? '/' : '') + result.join('/');
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Determine if a path is absolute.
|
|
73
|
+
*/
|
|
74
|
+
isAbsolute(filePath: string): boolean {
|
|
75
|
+
return filePath.startsWith('/') || /^[a-zA-Z]:[/\\]/.test(filePath);
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Get the relative path from one path to another.
|
|
80
|
+
*/
|
|
81
|
+
relative(from: string, to: string): string {
|
|
82
|
+
const fromParts = pathUtils.normalize(from).split('/').filter(Boolean);
|
|
83
|
+
const toParts = pathUtils.normalize(to).split('/').filter(Boolean);
|
|
84
|
+
|
|
85
|
+
// Find common prefix
|
|
86
|
+
let commonLength = 0;
|
|
87
|
+
while (
|
|
88
|
+
commonLength < fromParts.length &&
|
|
89
|
+
commonLength < toParts.length &&
|
|
90
|
+
fromParts[commonLength] === toParts[commonLength]
|
|
91
|
+
) {
|
|
92
|
+
commonLength++;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Build relative path
|
|
96
|
+
const upCount = fromParts.length - commonLength;
|
|
97
|
+
const relativeParts = [
|
|
98
|
+
...Array(upCount).fill('..'),
|
|
99
|
+
...toParts.slice(commonLength)
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
return relativeParts.join('/') || '.';
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export default pathUtils;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as assert from 'assert';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as os from 'os';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
6
|
+
|
|
7
|
+
describe('vectra generate', () => {
|
|
8
|
+
let tmpDir: string;
|
|
9
|
+
const projectRoot = process.cwd();
|
|
10
|
+
|
|
11
|
+
beforeEach(async () => {
|
|
12
|
+
tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), 'vectra-gen-'));
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
afterEach(async () => {
|
|
16
|
+
await fs.rm(tmpDir, { recursive: true, force: true });
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const languages = ['python', 'csharp', 'rust', 'go', 'java', 'typescript'] as const;
|
|
20
|
+
|
|
21
|
+
for (const lang of languages) {
|
|
22
|
+
it(`should generate ${lang} bindings`, async () => {
|
|
23
|
+
const outputDir = path.join(tmpDir, lang);
|
|
24
|
+
const binPath = path.join(projectRoot, 'bin', 'vectra.js');
|
|
25
|
+
execSync(`node "${binPath}" generate --language ${lang} --output "${outputDir}"`, {
|
|
26
|
+
cwd: projectRoot,
|
|
27
|
+
timeout: 15000,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Verify proto file was copied
|
|
31
|
+
const protoPath = path.join(outputDir, 'vectra_service.proto');
|
|
32
|
+
const protoStat = await fs.stat(protoPath);
|
|
33
|
+
assert.ok(protoStat.isFile(), 'vectra_service.proto should exist');
|
|
34
|
+
|
|
35
|
+
// Verify README was copied
|
|
36
|
+
const readmePath = path.join(outputDir, 'README.md');
|
|
37
|
+
const readmeStat = await fs.stat(readmePath);
|
|
38
|
+
assert.ok(readmeStat.isFile(), 'README.md should exist');
|
|
39
|
+
|
|
40
|
+
// Language-specific checks
|
|
41
|
+
const files = await fs.readdir(outputDir);
|
|
42
|
+
if (lang === 'python') {
|
|
43
|
+
assert.ok(files.includes('vectra_client.py'), 'should have vectra_client.py');
|
|
44
|
+
} else if (lang === 'csharp') {
|
|
45
|
+
assert.ok(files.includes('VectraClient.cs'), 'should have VectraClient.cs');
|
|
46
|
+
} else if (lang === 'rust') {
|
|
47
|
+
assert.ok(files.includes('lib.rs'), 'should have lib.rs');
|
|
48
|
+
assert.ok(files.includes('Cargo.toml'), 'should have Cargo.toml');
|
|
49
|
+
assert.ok(files.includes('build.rs'), 'should have build.rs');
|
|
50
|
+
} else if (lang === 'go') {
|
|
51
|
+
assert.ok(files.includes('vectra_client.go'), 'should have vectra_client.go');
|
|
52
|
+
} else if (lang === 'java') {
|
|
53
|
+
assert.ok(files.includes('VectraClient.java'), 'should have VectraClient.java');
|
|
54
|
+
} else if (lang === 'typescript') {
|
|
55
|
+
assert.ok(files.includes('VectraClient.ts'), 'should have VectraClient.ts');
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
it('should create output directory if it does not exist', async () => {
|
|
61
|
+
const outputDir = path.join(tmpDir, 'nested', 'deep', 'dir');
|
|
62
|
+
const binPath = path.join(projectRoot, 'bin', 'vectra.js');
|
|
63
|
+
execSync(`node "${binPath}" generate --language python --output "${outputDir}"`, {
|
|
64
|
+
cwd: projectRoot,
|
|
65
|
+
timeout: 15000,
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const files = await fs.readdir(outputDir);
|
|
69
|
+
assert.ok(files.includes('vectra_service.proto'));
|
|
70
|
+
assert.ok(files.includes('vectra_client.py'));
|
|
71
|
+
});
|
|
72
|
+
});
|
|
File without changes
|