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.
Files changed (392) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +92 -100
  3. package/bin/vectra.js +3 -0
  4. package/lib/BrowserWebFetcher.d.ts +75 -0
  5. package/lib/BrowserWebFetcher.d.ts.map +1 -0
  6. package/lib/BrowserWebFetcher.js +290 -0
  7. package/lib/BrowserWebFetcher.js.map +1 -0
  8. package/lib/FileFetcher.d.ts +5 -0
  9. package/lib/FileFetcher.d.ts.map +1 -0
  10. package/lib/FileFetcher.js +89 -0
  11. package/lib/FileFetcher.js.map +1 -0
  12. package/lib/FileFetcher.spec.d.ts +2 -0
  13. package/lib/FileFetcher.spec.d.ts.map +1 -0
  14. package/lib/FileFetcher.spec.js +244 -0
  15. package/lib/FileFetcher.spec.js.map +1 -0
  16. package/lib/FolderWatcher.d.ts +91 -0
  17. package/lib/FolderWatcher.d.ts.map +1 -0
  18. package/lib/FolderWatcher.js +304 -0
  19. package/lib/FolderWatcher.js.map +1 -0
  20. package/lib/FolderWatcher.spec.d.ts +2 -0
  21. package/lib/FolderWatcher.spec.d.ts.map +1 -0
  22. package/lib/FolderWatcher.spec.js +308 -0
  23. package/lib/FolderWatcher.spec.js.map +1 -0
  24. package/lib/GPT3Tokenizer.d.ts +9 -0
  25. package/lib/GPT3Tokenizer.spec.d.ts +2 -0
  26. package/lib/GPT3Tokenizer.spec.d.ts.map +1 -0
  27. package/lib/GPT3Tokenizer.spec.js +45 -0
  28. package/lib/GPT3Tokenizer.spec.js.map +1 -0
  29. package/lib/ItemSelector.d.ts +41 -0
  30. package/lib/ItemSelector.d.ts.map +1 -0
  31. package/lib/ItemSelector.js +179 -0
  32. package/lib/ItemSelector.js.map +1 -0
  33. package/lib/ItemSelector.spec.d.ts +2 -0
  34. package/lib/ItemSelector.spec.d.ts.map +1 -0
  35. package/lib/ItemSelector.spec.js +204 -0
  36. package/lib/ItemSelector.spec.js.map +1 -0
  37. package/lib/LocalDocument.d.ts +54 -0
  38. package/lib/LocalDocument.d.ts.map +1 -1
  39. package/lib/LocalDocument.js +116 -0
  40. package/lib/LocalDocument.js.map +1 -0
  41. package/lib/LocalDocument.spec.d.ts +2 -0
  42. package/lib/LocalDocument.spec.d.ts.map +1 -0
  43. package/lib/LocalDocument.spec.js +214 -0
  44. package/lib/LocalDocument.spec.js.map +1 -0
  45. package/lib/LocalDocumentIndex.d.ts +152 -0
  46. package/lib/LocalDocumentIndex.d.ts.map +1 -1
  47. package/lib/LocalDocumentIndex.js +420 -0
  48. package/lib/LocalDocumentIndex.js.map +1 -0
  49. package/lib/LocalDocumentIndex.spec.d.ts +2 -0
  50. package/lib/LocalDocumentIndex.spec.d.ts.map +1 -0
  51. package/lib/LocalDocumentIndex.spec.js +494 -0
  52. package/lib/LocalDocumentIndex.spec.js.map +1 -0
  53. package/lib/LocalDocumentResult.d.ts +66 -0
  54. package/lib/LocalDocumentResult.d.ts.map +1 -1
  55. package/lib/LocalDocumentResult.js +376 -0
  56. package/lib/LocalDocumentResult.js.map +1 -0
  57. package/lib/LocalDocumentResult.spec.d.ts +2 -0
  58. package/lib/LocalDocumentResult.spec.d.ts.map +1 -0
  59. package/lib/LocalDocumentResult.spec.js +373 -0
  60. package/lib/LocalDocumentResult.spec.js.map +1 -0
  61. package/lib/LocalEmbeddings.d.ts +59 -0
  62. package/lib/LocalEmbeddings.d.ts.map +1 -0
  63. package/lib/LocalEmbeddings.js +101 -0
  64. package/lib/LocalEmbeddings.js.map +1 -0
  65. package/lib/LocalEmbeddings.spec.d.ts +2 -0
  66. package/lib/LocalEmbeddings.spec.d.ts.map +1 -0
  67. package/lib/LocalEmbeddings.spec.js +155 -0
  68. package/lib/LocalEmbeddings.spec.js.map +1 -0
  69. package/lib/LocalIndex.d.ts +159 -0
  70. package/lib/LocalIndex.d.ts.map +1 -1
  71. package/lib/LocalIndex.js +519 -0
  72. package/lib/LocalIndex.js.map +1 -0
  73. package/lib/LocalIndex.spec.d.ts +2 -0
  74. package/lib/LocalIndex.spec.js +611 -9
  75. package/lib/LocalIndex.spec.js.map +1 -1
  76. package/lib/OpenAIEmbeddings.d.ts +124 -0
  77. package/lib/OpenAIEmbeddings.d.ts.map +1 -0
  78. package/lib/OpenAIEmbeddings.js +166 -0
  79. package/lib/OpenAIEmbeddings.js.map +1 -0
  80. package/lib/OpenAIEmbeddings.spec.d.ts +2 -0
  81. package/lib/OpenAIEmbeddings.spec.d.ts.map +1 -0
  82. package/lib/OpenAIEmbeddings.spec.js +298 -0
  83. package/lib/OpenAIEmbeddings.spec.js.map +1 -0
  84. package/lib/TextSplitter.d.ts +21 -0
  85. package/lib/TextSplitter.d.ts.map +1 -1
  86. package/lib/TextSplitter.js +500 -0
  87. package/lib/TextSplitter.js.map +1 -0
  88. package/lib/TextSplitter.spec.d.ts +2 -0
  89. package/lib/TextSplitter.spec.d.ts.map +1 -0
  90. package/lib/TextSplitter.spec.js +337 -0
  91. package/lib/TextSplitter.spec.js.map +1 -0
  92. package/lib/TransformersEmbeddings.d.ts +121 -0
  93. package/lib/TransformersEmbeddings.d.ts.map +1 -0
  94. package/lib/TransformersEmbeddings.js +176 -0
  95. package/lib/TransformersEmbeddings.js.map +1 -0
  96. package/lib/TransformersEmbeddings.spec.d.ts +2 -0
  97. package/lib/TransformersEmbeddings.spec.d.ts.map +1 -0
  98. package/lib/TransformersEmbeddings.spec.js +198 -0
  99. package/lib/TransformersEmbeddings.spec.js.map +1 -0
  100. package/lib/TransformersTokenizer.d.ts +33 -0
  101. package/lib/TransformersTokenizer.d.ts.map +1 -0
  102. package/lib/TransformersTokenizer.js +44 -0
  103. package/lib/TransformersTokenizer.js.map +1 -0
  104. package/lib/TransformersTokenizer.spec.d.ts +2 -0
  105. package/lib/TransformersTokenizer.spec.d.ts.map +1 -0
  106. package/lib/TransformersTokenizer.spec.js +112 -0
  107. package/lib/TransformersTokenizer.spec.js.map +1 -0
  108. package/lib/WebFetcher.d.ts +14 -0
  109. package/lib/WebFetcher.d.ts.map +1 -0
  110. package/lib/WebFetcher.js +238 -0
  111. package/lib/WebFetcher.js.map +1 -0
  112. package/lib/WebFetcher.spec.d.ts +2 -0
  113. package/lib/WebFetcher.spec.d.ts.map +1 -0
  114. package/lib/WebFetcher.spec.js +263 -0
  115. package/lib/WebFetcher.spec.js.map +1 -0
  116. package/lib/browser.d.ts +30 -0
  117. package/lib/browser.d.ts.map +1 -0
  118. package/lib/browser.js +52 -0
  119. package/lib/browser.js.map +1 -0
  120. package/lib/codecs/IndexCodec.d.ts +37 -0
  121. package/lib/codecs/IndexCodec.d.ts.map +1 -0
  122. package/lib/codecs/IndexCodec.js +3 -0
  123. package/lib/codecs/IndexCodec.js.map +1 -0
  124. package/lib/codecs/JsonCodec.d.ts +19 -0
  125. package/lib/codecs/JsonCodec.d.ts.map +1 -0
  126. package/lib/codecs/JsonCodec.js +35 -0
  127. package/lib/codecs/JsonCodec.js.map +1 -0
  128. package/lib/codecs/JsonCodec.spec.d.ts +2 -0
  129. package/lib/codecs/JsonCodec.spec.d.ts.map +1 -0
  130. package/lib/codecs/JsonCodec.spec.js +66 -0
  131. package/lib/codecs/JsonCodec.spec.js.map +1 -0
  132. package/lib/codecs/LocalIndex.protobuf.spec.d.ts +2 -0
  133. package/lib/codecs/LocalIndex.protobuf.spec.d.ts.map +1 -0
  134. package/lib/codecs/LocalIndex.protobuf.spec.js +108 -0
  135. package/lib/codecs/LocalIndex.protobuf.spec.js.map +1 -0
  136. package/lib/codecs/ProtobufCodec.d.ts +20 -0
  137. package/lib/codecs/ProtobufCodec.d.ts.map +1 -0
  138. package/lib/codecs/ProtobufCodec.js +225 -0
  139. package/lib/codecs/ProtobufCodec.js.map +1 -0
  140. package/lib/codecs/ProtobufCodec.spec.d.ts +2 -0
  141. package/lib/codecs/ProtobufCodec.spec.d.ts.map +1 -0
  142. package/lib/codecs/ProtobufCodec.spec.js +155 -0
  143. package/lib/codecs/ProtobufCodec.spec.js.map +1 -0
  144. package/lib/codecs/index.d.ts +5 -0
  145. package/lib/codecs/index.d.ts.map +1 -0
  146. package/lib/codecs/index.js +21 -0
  147. package/lib/codecs/index.js.map +1 -0
  148. package/lib/codecs/migrateIndex.d.ts +24 -0
  149. package/lib/codecs/migrateIndex.d.ts.map +1 -0
  150. package/lib/codecs/migrateIndex.js +119 -0
  151. package/lib/codecs/migrateIndex.js.map +1 -0
  152. package/lib/codecs/migrateIndex.spec.d.ts +2 -0
  153. package/lib/codecs/migrateIndex.spec.d.ts.map +1 -0
  154. package/lib/codecs/migrateIndex.spec.js +151 -0
  155. package/lib/codecs/migrateIndex.spec.js.map +1 -0
  156. package/lib/codecs/schemas/index.proto +34 -0
  157. package/lib/index.d.ts +20 -0
  158. package/lib/index.d.ts.map +1 -1
  159. package/lib/index.js +36 -0
  160. package/lib/index.js.map +1 -0
  161. package/lib/internals/Colorize.d.ts +14 -0
  162. package/lib/internals/Colorize.d.ts.map +1 -0
  163. package/lib/internals/Colorize.js +69 -0
  164. package/lib/internals/Colorize.js.map +1 -0
  165. package/lib/internals/index.d.ts +3 -0
  166. package/lib/internals/index.d.ts.map +1 -0
  167. package/lib/internals/index.js +19 -0
  168. package/lib/internals/index.js.map +1 -0
  169. package/lib/internals/types.d.ts +43 -0
  170. package/lib/internals/types.d.ts.map +1 -0
  171. package/lib/internals/types.js +3 -0
  172. package/lib/internals/types.js.map +1 -0
  173. package/lib/server/IndexManager.d.ts +78 -0
  174. package/lib/server/IndexManager.d.ts.map +1 -0
  175. package/lib/server/IndexManager.js +259 -0
  176. package/lib/server/IndexManager.js.map +1 -0
  177. package/lib/server/VectraServer.d.ts +40 -0
  178. package/lib/server/VectraServer.d.ts.map +1 -0
  179. package/lib/server/VectraServer.js +151 -0
  180. package/lib/server/VectraServer.js.map +1 -0
  181. package/lib/server/VectraServer.spec.d.ts +2 -0
  182. package/lib/server/VectraServer.spec.d.ts.map +1 -0
  183. package/lib/server/VectraServer.spec.js +322 -0
  184. package/lib/server/VectraServer.spec.js.map +1 -0
  185. package/lib/server/handlers/documentHandlers.d.ts +15 -0
  186. package/lib/server/handlers/documentHandlers.d.ts.map +1 -0
  187. package/lib/server/handlers/documentHandlers.js +95 -0
  188. package/lib/server/handlers/documentHandlers.js.map +1 -0
  189. package/lib/server/handlers/helpers.d.ts +23 -0
  190. package/lib/server/handlers/helpers.d.ts.map +1 -0
  191. package/lib/server/handlers/helpers.js +138 -0
  192. package/lib/server/handlers/helpers.js.map +1 -0
  193. package/lib/server/handlers/index.d.ts +8 -0
  194. package/lib/server/handlers/index.d.ts.map +1 -0
  195. package/lib/server/handlers/index.js +22 -0
  196. package/lib/server/handlers/index.js.map +1 -0
  197. package/lib/server/handlers/indexHandlers.d.ts +14 -0
  198. package/lib/server/handlers/indexHandlers.d.ts.map +1 -0
  199. package/lib/server/handlers/indexHandlers.js +85 -0
  200. package/lib/server/handlers/indexHandlers.js.map +1 -0
  201. package/lib/server/handlers/itemHandlers.d.ts +34 -0
  202. package/lib/server/handlers/itemHandlers.d.ts.map +1 -0
  203. package/lib/server/handlers/itemHandlers.js +166 -0
  204. package/lib/server/handlers/itemHandlers.js.map +1 -0
  205. package/lib/server/handlers/lifecycleHandlers.d.ts +11 -0
  206. package/lib/server/handlers/lifecycleHandlers.d.ts.map +1 -0
  207. package/lib/server/handlers/lifecycleHandlers.js +31 -0
  208. package/lib/server/handlers/lifecycleHandlers.js.map +1 -0
  209. package/lib/server/handlers/queryHandlers.d.ts +27 -0
  210. package/lib/server/handlers/queryHandlers.d.ts.map +1 -0
  211. package/lib/server/handlers/queryHandlers.js +135 -0
  212. package/lib/server/handlers/queryHandlers.js.map +1 -0
  213. package/lib/server/handlers/statsHandlers.d.ts +17 -0
  214. package/lib/server/handlers/statsHandlers.d.ts.map +1 -0
  215. package/lib/server/handlers/statsHandlers.js +81 -0
  216. package/lib/server/handlers/statsHandlers.js.map +1 -0
  217. package/lib/server/index.d.ts +4 -0
  218. package/lib/server/index.d.ts.map +1 -0
  219. package/lib/server/index.js +23 -0
  220. package/lib/server/index.js.map +1 -0
  221. package/lib/storage/FileStorage.d.ts +92 -0
  222. package/lib/storage/FileStorage.d.ts.map +1 -0
  223. package/lib/storage/FileStorage.js +3 -0
  224. package/lib/storage/FileStorage.js.map +1 -0
  225. package/lib/storage/FileStorageUtilities.d.ts +36 -0
  226. package/lib/storage/FileStorageUtilities.d.ts.map +1 -0
  227. package/lib/storage/FileStorageUtilities.js +91 -0
  228. package/lib/storage/FileStorageUtilities.js.map +1 -0
  229. package/lib/storage/FileStorageUtilities.spec.d.ts +2 -0
  230. package/lib/storage/FileStorageUtilities.spec.d.ts.map +1 -0
  231. package/lib/storage/FileStorageUtilities.spec.js +98 -0
  232. package/lib/storage/FileStorageUtilities.spec.js.map +1 -0
  233. package/lib/storage/FileType.d.ts +29 -0
  234. package/lib/storage/FileType.d.ts.map +1 -0
  235. package/lib/storage/FileType.js +38 -0
  236. package/lib/storage/FileType.js.map +1 -0
  237. package/lib/storage/IndexedDBStorage.d.ts +47 -0
  238. package/lib/storage/IndexedDBStorage.d.ts.map +1 -0
  239. package/lib/storage/IndexedDBStorage.js +347 -0
  240. package/lib/storage/IndexedDBStorage.js.map +1 -0
  241. package/lib/storage/LocalFileStorage.browser.d.ts +19 -0
  242. package/lib/storage/LocalFileStorage.browser.d.ts.map +1 -0
  243. package/lib/storage/LocalFileStorage.browser.js +43 -0
  244. package/lib/storage/LocalFileStorage.browser.js.map +1 -0
  245. package/lib/storage/LocalFileStorage.d.ts +23 -0
  246. package/lib/storage/LocalFileStorage.d.ts.map +1 -0
  247. package/lib/storage/LocalFileStorage.js +152 -0
  248. package/lib/storage/LocalFileStorage.js.map +1 -0
  249. package/lib/storage/LocalFileStorage.spec.d.ts +2 -0
  250. package/lib/storage/LocalFileStorage.spec.d.ts.map +1 -0
  251. package/lib/storage/LocalFileStorage.spec.js +249 -0
  252. package/lib/storage/LocalFileStorage.spec.js.map +1 -0
  253. package/lib/storage/VirtualFileStorage.d.ts +18 -0
  254. package/lib/storage/VirtualFileStorage.d.ts.map +1 -0
  255. package/lib/storage/VirtualFileStorage.js +178 -0
  256. package/lib/storage/VirtualFileStorage.js.map +1 -0
  257. package/lib/storage/VirtualFileStorage.spec.d.ts +2 -0
  258. package/lib/storage/VirtualFileStorage.spec.d.ts.map +1 -0
  259. package/lib/storage/VirtualFileStorage.spec.js +302 -0
  260. package/lib/storage/VirtualFileStorage.spec.js.map +1 -0
  261. package/lib/storage/index.d.ts +6 -0
  262. package/lib/storage/index.d.ts.map +1 -0
  263. package/lib/storage/index.js +22 -0
  264. package/lib/storage/index.js.map +1 -0
  265. package/lib/templates/templates/csharp/README.md +48 -0
  266. package/lib/templates/templates/csharp/VectraClient.cs +234 -0
  267. package/lib/templates/templates/go/README.md +71 -0
  268. package/lib/templates/templates/go/vectra_client.go +322 -0
  269. package/lib/templates/templates/java/README.md +81 -0
  270. package/lib/templates/templates/java/VectraClient.java +232 -0
  271. package/lib/templates/templates/python/README.md +37 -0
  272. package/lib/templates/templates/python/vectra_client.py +279 -0
  273. package/lib/templates/templates/rust/Cargo.toml +14 -0
  274. package/lib/templates/templates/rust/README.md +39 -0
  275. package/lib/templates/templates/rust/build.rs +4 -0
  276. package/lib/templates/templates/rust/lib.rs +284 -0
  277. package/lib/templates/templates/typescript/README.md +96 -0
  278. package/lib/templates/templates/typescript/VectraClient.ts +374 -0
  279. package/lib/templates/typescript/VectraClient.d.ts +114 -0
  280. package/lib/templates/typescript/VectraClient.d.ts.map +1 -0
  281. package/lib/templates/typescript/VectraClient.js +328 -0
  282. package/lib/templates/typescript/VectraClient.js.map +1 -0
  283. package/lib/types.d.ts +153 -0
  284. package/lib/types.d.ts.map +1 -0
  285. package/lib/types.js +3 -0
  286. package/lib/types.js.map +1 -0
  287. package/lib/utils/index.d.ts +2 -0
  288. package/lib/utils/index.d.ts.map +1 -0
  289. package/lib/utils/index.js +18 -0
  290. package/lib/utils/index.js.map +1 -0
  291. package/lib/utils/pathUtils.d.ts +40 -0
  292. package/lib/utils/pathUtils.d.ts.map +1 -0
  293. package/lib/utils/pathUtils.js +98 -0
  294. package/lib/utils/pathUtils.js.map +1 -0
  295. package/lib/vectra-cli.d.ts +2 -0
  296. package/lib/vectra-cli.d.ts.map +1 -1
  297. package/lib/vectra-cli.generate.spec.d.ts +2 -0
  298. package/lib/vectra-cli.generate.spec.d.ts.map +1 -0
  299. package/lib/vectra-cli.generate.spec.js +112 -0
  300. package/lib/vectra-cli.generate.spec.js.map +1 -0
  301. package/lib/vectra-cli.js +760 -0
  302. package/lib/vectra-cli.js.map +1 -0
  303. package/lib/vectra-cli.spec.d.ts +1 -0
  304. package/lib/vectra-cli.spec.d.ts.map +1 -0
  305. package/lib/vectra-cli.spec.js +2 -0
  306. package/lib/vectra-cli.spec.js.map +1 -0
  307. package/package.json +91 -16
  308. package/proto/vectra_service.proto +276 -0
  309. package/src/BrowserWebFetcher.ts +345 -0
  310. package/src/FileFetcher.spec.ts +234 -0
  311. package/src/FileFetcher.ts +37 -25
  312. package/src/FolderWatcher.spec.ts +288 -0
  313. package/src/FolderWatcher.ts +304 -0
  314. package/src/GPT3Tokenizer.spec.ts +50 -0
  315. package/src/ItemSelector.spec.ts +252 -0
  316. package/src/ItemSelector.ts +163 -150
  317. package/src/LocalDocument.spec.ts +211 -0
  318. package/src/LocalDocument.ts +88 -94
  319. package/src/LocalDocumentIndex.spec.ts +481 -0
  320. package/src/LocalDocumentIndex.ts +39 -40
  321. package/src/LocalDocumentResult.spec.ts +373 -0
  322. package/src/LocalDocumentResult.ts +489 -319
  323. package/src/LocalEmbeddings.spec.ts +138 -0
  324. package/src/LocalEmbeddings.ts +120 -0
  325. package/src/LocalIndex.spec.ts +808 -66
  326. package/src/LocalIndex.ts +479 -429
  327. package/src/OpenAIEmbeddings.spec.ts +354 -0
  328. package/src/OpenAIEmbeddings.ts +26 -27
  329. package/src/TextSplitter.spec.ts +342 -0
  330. package/src/TextSplitter.ts +517 -532
  331. package/src/TransformersEmbeddings.spec.ts +188 -0
  332. package/src/TransformersEmbeddings.ts +232 -0
  333. package/src/TransformersTokenizer.spec.ts +143 -0
  334. package/src/TransformersTokenizer.ts +45 -0
  335. package/src/WebFetcher.spec.ts +288 -0
  336. package/src/WebFetcher.ts +184 -186
  337. package/src/browser.ts +69 -0
  338. package/src/codecs/IndexCodec.ts +40 -0
  339. package/src/codecs/JsonCodec.spec.ts +70 -0
  340. package/src/codecs/JsonCodec.ts +37 -0
  341. package/src/codecs/LocalIndex.protobuf.spec.ts +115 -0
  342. package/src/codecs/ProtobufCodec.spec.ts +166 -0
  343. package/src/codecs/ProtobufCodec.ts +193 -0
  344. package/src/codecs/index.ts +4 -0
  345. package/src/codecs/migrateIndex.spec.ts +176 -0
  346. package/src/codecs/migrateIndex.ts +125 -0
  347. package/src/codecs/schemas/index.proto +34 -0
  348. package/src/index.ts +9 -1
  349. package/src/internals/Colorize.ts +19 -16
  350. package/src/server/IndexManager.ts +243 -0
  351. package/src/server/VectraServer.spec.ts +303 -0
  352. package/src/server/VectraServer.ts +156 -0
  353. package/src/server/handlers/documentHandlers.ts +59 -0
  354. package/src/server/handlers/helpers.ts +93 -0
  355. package/src/server/handlers/index.ts +7 -0
  356. package/src/server/handlers/indexHandlers.ts +44 -0
  357. package/src/server/handlers/itemHandlers.ts +140 -0
  358. package/src/server/handlers/lifecycleHandlers.ts +26 -0
  359. package/src/server/handlers/queryHandlers.ts +96 -0
  360. package/src/server/handlers/statsHandlers.ts +38 -0
  361. package/src/server/index.ts +3 -0
  362. package/src/storage/FileStorage.ts +105 -0
  363. package/src/storage/FileStorageUtilities.spec.ts +106 -0
  364. package/src/storage/FileStorageUtilities.ts +77 -0
  365. package/src/storage/FileType.ts +61 -0
  366. package/src/storage/IndexedDBStorage.ts +365 -0
  367. package/src/storage/LocalFileStorage.browser.ts +52 -0
  368. package/src/storage/LocalFileStorage.spec.ts +292 -0
  369. package/src/storage/LocalFileStorage.ts +98 -0
  370. package/src/storage/VirtualFileStorage.spec.ts +307 -0
  371. package/src/storage/VirtualFileStorage.ts +169 -0
  372. package/src/storage/index.ts +5 -0
  373. package/src/templates/csharp/README.md +48 -0
  374. package/src/templates/csharp/VectraClient.cs +234 -0
  375. package/src/templates/go/README.md +71 -0
  376. package/src/templates/go/vectra_client.go +322 -0
  377. package/src/templates/java/README.md +81 -0
  378. package/src/templates/java/VectraClient.java +232 -0
  379. package/src/templates/python/README.md +37 -0
  380. package/src/templates/python/vectra_client.py +279 -0
  381. package/src/templates/rust/Cargo.toml +14 -0
  382. package/src/templates/rust/README.md +39 -0
  383. package/src/templates/rust/build.rs +4 -0
  384. package/src/templates/rust/lib.rs +284 -0
  385. package/src/templates/typescript/README.md +96 -0
  386. package/src/templates/typescript/VectraClient.ts +374 -0
  387. package/src/types.ts +131 -123
  388. package/src/utils/index.ts +1 -0
  389. package/src/utils/pathUtils.ts +106 -0
  390. package/src/vectra-cli.generate.spec.ts +72 -0
  391. package/src/vectra-cli.spec.ts +0 -0
  392. 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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=vectra-cli.spec.js.map
@@ -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 that uses the local file system for storage.",
5
- "version": "0.12.2",
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
- "gpt"
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": ">=20.x"
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
- "axios": "^1.9.0",
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.97.0",
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
- "resolutions": {},
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-docs": "typedoc --theme markdown --entryPoint botbuilder-m365 --excludePrivate --includeDeclarations --ignoreCompilerErrors --module amd --out ..\\..\\doc\\botbuilder-ai .\\lib\\index.d.ts --hideGenerator --name \"Bot Builder SDK - AI\" --readme none",
66
- "build:rollup": "yarn clean && yarn build && api-extractor run --verbose --local",
67
- "clean": "rimraf _ts3.4 lib tsconfig.tsbuildinfo node_modules",
68
- "depcheck": "depcheck --config ../../.depcheckrc",
69
- "lint": "eslint **/src/**/*.{j,t}s{,x} --fix --no-error-on-unmatched-pattern",
70
- "test": "npm-run-all build test:mocha",
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:compat": "api-extractor run --verbose"
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
+ }