vectra 0.12.3 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +92 -100
  2. package/lib/BrowserWebFetcher.d.ts +75 -0
  3. package/lib/BrowserWebFetcher.d.ts.map +1 -0
  4. package/lib/BrowserWebFetcher.js +290 -0
  5. package/lib/BrowserWebFetcher.js.map +1 -0
  6. package/lib/FileFetcher.d.ts.map +1 -1
  7. package/lib/FileFetcher.js +25 -15
  8. package/lib/FileFetcher.js.map +1 -1
  9. package/lib/FileFetcher.spec.d.ts +2 -0
  10. package/lib/FileFetcher.spec.d.ts.map +1 -0
  11. package/lib/FileFetcher.spec.js +244 -0
  12. package/lib/FileFetcher.spec.js.map +1 -0
  13. package/lib/FolderWatcher.d.ts +91 -0
  14. package/lib/FolderWatcher.d.ts.map +1 -0
  15. package/lib/FolderWatcher.js +304 -0
  16. package/lib/FolderWatcher.js.map +1 -0
  17. package/lib/FolderWatcher.spec.d.ts +2 -0
  18. package/lib/FolderWatcher.spec.d.ts.map +1 -0
  19. package/lib/FolderWatcher.spec.js +308 -0
  20. package/lib/FolderWatcher.spec.js.map +1 -0
  21. package/lib/GPT3Tokenizer.spec.d.ts +2 -0
  22. package/lib/GPT3Tokenizer.spec.d.ts.map +1 -0
  23. package/lib/GPT3Tokenizer.spec.js +45 -0
  24. package/lib/GPT3Tokenizer.spec.js.map +1 -0
  25. package/lib/ItemSelector.d.ts.map +1 -1
  26. package/lib/ItemSelector.js +19 -8
  27. package/lib/ItemSelector.js.map +1 -1
  28. package/lib/ItemSelector.spec.d.ts +2 -0
  29. package/lib/ItemSelector.spec.d.ts.map +1 -0
  30. package/lib/ItemSelector.spec.js +204 -0
  31. package/lib/ItemSelector.spec.js.map +1 -0
  32. package/lib/LocalDocument.d.ts +1 -1
  33. package/lib/LocalDocument.d.ts.map +1 -1
  34. package/lib/LocalDocument.js +5 -45
  35. package/lib/LocalDocument.js.map +1 -1
  36. package/lib/LocalDocument.spec.d.ts +2 -0
  37. package/lib/LocalDocument.spec.d.ts.map +1 -0
  38. package/lib/LocalDocument.spec.js +214 -0
  39. package/lib/LocalDocument.spec.js.map +1 -0
  40. package/lib/LocalDocumentIndex.d.ts +20 -0
  41. package/lib/LocalDocumentIndex.d.ts.map +1 -1
  42. package/lib/LocalDocumentIndex.js +16 -52
  43. package/lib/LocalDocumentIndex.js.map +1 -1
  44. package/lib/LocalDocumentIndex.spec.d.ts +2 -0
  45. package/lib/LocalDocumentIndex.spec.d.ts.map +1 -0
  46. package/lib/LocalDocumentIndex.spec.js +494 -0
  47. package/lib/LocalDocumentIndex.spec.js.map +1 -0
  48. package/lib/LocalDocumentResult.d.ts +32 -11
  49. package/lib/LocalDocumentResult.d.ts.map +1 -1
  50. package/lib/LocalDocumentResult.js +305 -257
  51. package/lib/LocalDocumentResult.js.map +1 -1
  52. package/lib/LocalDocumentResult.spec.d.ts +2 -0
  53. package/lib/LocalDocumentResult.spec.d.ts.map +1 -0
  54. package/lib/LocalDocumentResult.spec.js +373 -0
  55. package/lib/LocalDocumentResult.spec.js.map +1 -0
  56. package/lib/LocalEmbeddings.d.ts +59 -0
  57. package/lib/LocalEmbeddings.d.ts.map +1 -0
  58. package/lib/LocalEmbeddings.js +101 -0
  59. package/lib/LocalEmbeddings.js.map +1 -0
  60. package/lib/LocalEmbeddings.spec.d.ts +2 -0
  61. package/lib/LocalEmbeddings.spec.d.ts.map +1 -0
  62. package/lib/LocalEmbeddings.spec.js +155 -0
  63. package/lib/LocalEmbeddings.spec.js.map +1 -0
  64. package/lib/LocalIndex.d.ts +27 -18
  65. package/lib/LocalIndex.d.ts.map +1 -1
  66. package/lib/LocalIndex.js +109 -105
  67. package/lib/LocalIndex.js.map +1 -1
  68. package/lib/LocalIndex.spec.js +434 -43
  69. package/lib/LocalIndex.spec.js.map +1 -1
  70. package/lib/OpenAIEmbeddings.d.ts +4 -6
  71. package/lib/OpenAIEmbeddings.d.ts.map +1 -1
  72. package/lib/OpenAIEmbeddings.js +16 -24
  73. package/lib/OpenAIEmbeddings.js.map +1 -1
  74. package/lib/OpenAIEmbeddings.spec.d.ts +2 -0
  75. package/lib/OpenAIEmbeddings.spec.d.ts.map +1 -0
  76. package/lib/OpenAIEmbeddings.spec.js +298 -0
  77. package/lib/OpenAIEmbeddings.spec.js.map +1 -0
  78. package/lib/TextSplitter.d.ts +2 -0
  79. package/lib/TextSplitter.d.ts.map +1 -1
  80. package/lib/TextSplitter.js +154 -111
  81. package/lib/TextSplitter.js.map +1 -1
  82. package/lib/TextSplitter.spec.js +289 -61
  83. package/lib/TextSplitter.spec.js.map +1 -1
  84. package/lib/TransformersEmbeddings.d.ts +121 -0
  85. package/lib/TransformersEmbeddings.d.ts.map +1 -0
  86. package/lib/TransformersEmbeddings.js +176 -0
  87. package/lib/TransformersEmbeddings.js.map +1 -0
  88. package/lib/TransformersEmbeddings.spec.d.ts +2 -0
  89. package/lib/TransformersEmbeddings.spec.d.ts.map +1 -0
  90. package/lib/TransformersEmbeddings.spec.js +198 -0
  91. package/lib/TransformersEmbeddings.spec.js.map +1 -0
  92. package/lib/TransformersTokenizer.d.ts +33 -0
  93. package/lib/TransformersTokenizer.d.ts.map +1 -0
  94. package/lib/TransformersTokenizer.js +44 -0
  95. package/lib/TransformersTokenizer.js.map +1 -0
  96. package/lib/TransformersTokenizer.spec.d.ts +2 -0
  97. package/lib/TransformersTokenizer.spec.d.ts.map +1 -0
  98. package/lib/TransformersTokenizer.spec.js +112 -0
  99. package/lib/TransformersTokenizer.spec.js.map +1 -0
  100. package/lib/WebFetcher.d.ts +1 -2
  101. package/lib/WebFetcher.d.ts.map +1 -1
  102. package/lib/WebFetcher.js +58 -54
  103. package/lib/WebFetcher.js.map +1 -1
  104. package/lib/WebFetcher.spec.d.ts +2 -0
  105. package/lib/WebFetcher.spec.d.ts.map +1 -0
  106. package/lib/WebFetcher.spec.js +263 -0
  107. package/lib/WebFetcher.spec.js.map +1 -0
  108. package/lib/browser.d.ts +30 -0
  109. package/lib/browser.d.ts.map +1 -0
  110. package/lib/browser.js +52 -0
  111. package/lib/browser.js.map +1 -0
  112. package/lib/codecs/IndexCodec.d.ts +37 -0
  113. package/lib/codecs/IndexCodec.d.ts.map +1 -0
  114. package/lib/codecs/IndexCodec.js +3 -0
  115. package/lib/codecs/IndexCodec.js.map +1 -0
  116. package/lib/codecs/JsonCodec.d.ts +19 -0
  117. package/lib/codecs/JsonCodec.d.ts.map +1 -0
  118. package/lib/codecs/JsonCodec.js +35 -0
  119. package/lib/codecs/JsonCodec.js.map +1 -0
  120. package/lib/codecs/JsonCodec.spec.d.ts +2 -0
  121. package/lib/codecs/JsonCodec.spec.d.ts.map +1 -0
  122. package/lib/codecs/JsonCodec.spec.js +66 -0
  123. package/lib/codecs/JsonCodec.spec.js.map +1 -0
  124. package/lib/codecs/LocalIndex.protobuf.spec.d.ts +2 -0
  125. package/lib/codecs/LocalIndex.protobuf.spec.d.ts.map +1 -0
  126. package/lib/codecs/LocalIndex.protobuf.spec.js +108 -0
  127. package/lib/codecs/LocalIndex.protobuf.spec.js.map +1 -0
  128. package/lib/codecs/ProtobufCodec.d.ts +20 -0
  129. package/lib/codecs/ProtobufCodec.d.ts.map +1 -0
  130. package/lib/codecs/ProtobufCodec.js +225 -0
  131. package/lib/codecs/ProtobufCodec.js.map +1 -0
  132. package/lib/codecs/ProtobufCodec.spec.d.ts +2 -0
  133. package/lib/codecs/ProtobufCodec.spec.d.ts.map +1 -0
  134. package/lib/codecs/ProtobufCodec.spec.js +155 -0
  135. package/lib/codecs/ProtobufCodec.spec.js.map +1 -0
  136. package/lib/codecs/index.d.ts +5 -0
  137. package/lib/codecs/index.d.ts.map +1 -0
  138. package/lib/codecs/index.js +21 -0
  139. package/lib/codecs/index.js.map +1 -0
  140. package/lib/codecs/migrateIndex.d.ts +24 -0
  141. package/lib/codecs/migrateIndex.d.ts.map +1 -0
  142. package/lib/codecs/migrateIndex.js +119 -0
  143. package/lib/codecs/migrateIndex.js.map +1 -0
  144. package/lib/codecs/migrateIndex.spec.d.ts +2 -0
  145. package/lib/codecs/migrateIndex.spec.d.ts.map +1 -0
  146. package/lib/codecs/migrateIndex.spec.js +151 -0
  147. package/lib/codecs/migrateIndex.spec.js.map +1 -0
  148. package/lib/codecs/schemas/index.proto +34 -0
  149. package/lib/index.d.ts +9 -1
  150. package/lib/index.d.ts.map +1 -1
  151. package/lib/index.js +9 -1
  152. package/lib/index.js.map +1 -1
  153. package/lib/internals/Colorize.d.ts.map +1 -1
  154. package/lib/internals/Colorize.js +20 -15
  155. package/lib/internals/Colorize.js.map +1 -1
  156. package/lib/server/IndexManager.d.ts +78 -0
  157. package/lib/server/IndexManager.d.ts.map +1 -0
  158. package/lib/server/IndexManager.js +259 -0
  159. package/lib/server/IndexManager.js.map +1 -0
  160. package/lib/server/VectraServer.d.ts +40 -0
  161. package/lib/server/VectraServer.d.ts.map +1 -0
  162. package/lib/server/VectraServer.js +151 -0
  163. package/lib/server/VectraServer.js.map +1 -0
  164. package/lib/server/VectraServer.spec.d.ts +2 -0
  165. package/lib/server/VectraServer.spec.d.ts.map +1 -0
  166. package/lib/server/VectraServer.spec.js +322 -0
  167. package/lib/server/VectraServer.spec.js.map +1 -0
  168. package/lib/server/handlers/documentHandlers.d.ts +15 -0
  169. package/lib/server/handlers/documentHandlers.d.ts.map +1 -0
  170. package/lib/server/handlers/documentHandlers.js +95 -0
  171. package/lib/server/handlers/documentHandlers.js.map +1 -0
  172. package/lib/server/handlers/helpers.d.ts +23 -0
  173. package/lib/server/handlers/helpers.d.ts.map +1 -0
  174. package/lib/server/handlers/helpers.js +138 -0
  175. package/lib/server/handlers/helpers.js.map +1 -0
  176. package/lib/server/handlers/index.d.ts +8 -0
  177. package/lib/server/handlers/index.d.ts.map +1 -0
  178. package/lib/server/handlers/index.js +22 -0
  179. package/lib/server/handlers/index.js.map +1 -0
  180. package/lib/server/handlers/indexHandlers.d.ts +14 -0
  181. package/lib/server/handlers/indexHandlers.d.ts.map +1 -0
  182. package/lib/server/handlers/indexHandlers.js +85 -0
  183. package/lib/server/handlers/indexHandlers.js.map +1 -0
  184. package/lib/server/handlers/itemHandlers.d.ts +34 -0
  185. package/lib/server/handlers/itemHandlers.d.ts.map +1 -0
  186. package/lib/server/handlers/itemHandlers.js +166 -0
  187. package/lib/server/handlers/itemHandlers.js.map +1 -0
  188. package/lib/server/handlers/lifecycleHandlers.d.ts +11 -0
  189. package/lib/server/handlers/lifecycleHandlers.d.ts.map +1 -0
  190. package/lib/server/handlers/lifecycleHandlers.js +31 -0
  191. package/lib/server/handlers/lifecycleHandlers.js.map +1 -0
  192. package/lib/server/handlers/queryHandlers.d.ts +27 -0
  193. package/lib/server/handlers/queryHandlers.d.ts.map +1 -0
  194. package/lib/server/handlers/queryHandlers.js +135 -0
  195. package/lib/server/handlers/queryHandlers.js.map +1 -0
  196. package/lib/server/handlers/statsHandlers.d.ts +17 -0
  197. package/lib/server/handlers/statsHandlers.d.ts.map +1 -0
  198. package/lib/server/handlers/statsHandlers.js +81 -0
  199. package/lib/server/handlers/statsHandlers.js.map +1 -0
  200. package/lib/server/index.d.ts +4 -0
  201. package/lib/server/index.d.ts.map +1 -0
  202. package/lib/server/index.js +23 -0
  203. package/lib/server/index.js.map +1 -0
  204. package/lib/storage/FileStorage.d.ts +92 -0
  205. package/lib/storage/FileStorage.d.ts.map +1 -0
  206. package/lib/storage/FileStorage.js +3 -0
  207. package/lib/storage/FileStorage.js.map +1 -0
  208. package/lib/storage/FileStorageUtilities.d.ts +36 -0
  209. package/lib/storage/FileStorageUtilities.d.ts.map +1 -0
  210. package/lib/storage/FileStorageUtilities.js +91 -0
  211. package/lib/storage/FileStorageUtilities.js.map +1 -0
  212. package/lib/storage/FileStorageUtilities.spec.d.ts +2 -0
  213. package/lib/storage/FileStorageUtilities.spec.d.ts.map +1 -0
  214. package/lib/storage/FileStorageUtilities.spec.js +98 -0
  215. package/lib/storage/FileStorageUtilities.spec.js.map +1 -0
  216. package/lib/storage/FileType.d.ts +29 -0
  217. package/lib/storage/FileType.d.ts.map +1 -0
  218. package/lib/storage/FileType.js +38 -0
  219. package/lib/storage/FileType.js.map +1 -0
  220. package/lib/storage/IndexedDBStorage.d.ts +47 -0
  221. package/lib/storage/IndexedDBStorage.d.ts.map +1 -0
  222. package/lib/storage/IndexedDBStorage.js +347 -0
  223. package/lib/storage/IndexedDBStorage.js.map +1 -0
  224. package/lib/storage/LocalFileStorage.browser.d.ts +19 -0
  225. package/lib/storage/LocalFileStorage.browser.d.ts.map +1 -0
  226. package/lib/storage/LocalFileStorage.browser.js +43 -0
  227. package/lib/storage/LocalFileStorage.browser.js.map +1 -0
  228. package/lib/storage/LocalFileStorage.d.ts +23 -0
  229. package/lib/storage/LocalFileStorage.d.ts.map +1 -0
  230. package/lib/storage/LocalFileStorage.js +152 -0
  231. package/lib/storage/LocalFileStorage.js.map +1 -0
  232. package/lib/storage/LocalFileStorage.spec.d.ts +2 -0
  233. package/lib/storage/LocalFileStorage.spec.d.ts.map +1 -0
  234. package/lib/storage/LocalFileStorage.spec.js +249 -0
  235. package/lib/storage/LocalFileStorage.spec.js.map +1 -0
  236. package/lib/storage/VirtualFileStorage.d.ts +18 -0
  237. package/lib/storage/VirtualFileStorage.d.ts.map +1 -0
  238. package/lib/storage/VirtualFileStorage.js +178 -0
  239. package/lib/storage/VirtualFileStorage.js.map +1 -0
  240. package/lib/storage/VirtualFileStorage.spec.d.ts +2 -0
  241. package/lib/storage/VirtualFileStorage.spec.d.ts.map +1 -0
  242. package/lib/storage/VirtualFileStorage.spec.js +302 -0
  243. package/lib/storage/VirtualFileStorage.spec.js.map +1 -0
  244. package/lib/storage/index.d.ts +6 -0
  245. package/lib/storage/index.d.ts.map +1 -0
  246. package/lib/storage/index.js +22 -0
  247. package/lib/storage/index.js.map +1 -0
  248. package/lib/templates/templates/csharp/README.md +48 -0
  249. package/lib/templates/templates/csharp/VectraClient.cs +234 -0
  250. package/lib/templates/templates/go/README.md +71 -0
  251. package/lib/templates/templates/go/vectra_client.go +322 -0
  252. package/lib/templates/templates/java/README.md +81 -0
  253. package/lib/templates/templates/java/VectraClient.java +232 -0
  254. package/lib/templates/templates/python/README.md +37 -0
  255. package/lib/templates/templates/python/vectra_client.py +279 -0
  256. package/lib/templates/templates/rust/Cargo.toml +14 -0
  257. package/lib/templates/templates/rust/README.md +39 -0
  258. package/lib/templates/templates/rust/build.rs +4 -0
  259. package/lib/templates/templates/rust/lib.rs +284 -0
  260. package/lib/templates/templates/typescript/README.md +96 -0
  261. package/lib/templates/templates/typescript/VectraClient.ts +374 -0
  262. package/lib/templates/typescript/VectraClient.d.ts +114 -0
  263. package/lib/templates/typescript/VectraClient.d.ts.map +1 -0
  264. package/lib/templates/typescript/VectraClient.js +328 -0
  265. package/lib/templates/typescript/VectraClient.js.map +1 -0
  266. package/lib/types.d.ts +7 -0
  267. package/lib/types.d.ts.map +1 -1
  268. package/lib/utils/index.d.ts +2 -0
  269. package/lib/utils/index.d.ts.map +1 -0
  270. package/lib/utils/index.js +18 -0
  271. package/lib/utils/index.js.map +1 -0
  272. package/lib/utils/pathUtils.d.ts +40 -0
  273. package/lib/utils/pathUtils.d.ts.map +1 -0
  274. package/lib/utils/pathUtils.js +98 -0
  275. package/lib/utils/pathUtils.js.map +1 -0
  276. package/lib/vectra-cli.d.ts.map +1 -1
  277. package/lib/vectra-cli.generate.spec.d.ts +2 -0
  278. package/lib/vectra-cli.generate.spec.d.ts.map +1 -0
  279. package/lib/vectra-cli.generate.spec.js +112 -0
  280. package/lib/vectra-cli.generate.spec.js.map +1 -0
  281. package/lib/vectra-cli.js +446 -9
  282. package/lib/vectra-cli.js.map +1 -1
  283. package/lib/vectra-cli.spec.d.ts +1 -0
  284. package/lib/vectra-cli.spec.d.ts.map +1 -0
  285. package/lib/vectra-cli.spec.js +2 -0
  286. package/lib/vectra-cli.spec.js.map +1 -0
  287. package/package.json +89 -16
  288. package/proto/vectra_service.proto +276 -0
  289. package/src/BrowserWebFetcher.ts +345 -0
  290. package/src/FileFetcher.spec.ts +234 -0
  291. package/src/FileFetcher.ts +37 -25
  292. package/src/FolderWatcher.spec.ts +288 -0
  293. package/src/FolderWatcher.ts +304 -0
  294. package/src/GPT3Tokenizer.spec.ts +50 -0
  295. package/src/ItemSelector.spec.ts +252 -0
  296. package/src/ItemSelector.ts +163 -150
  297. package/src/LocalDocument.spec.ts +211 -0
  298. package/src/LocalDocument.ts +88 -94
  299. package/src/LocalDocumentIndex.spec.ts +481 -0
  300. package/src/LocalDocumentIndex.ts +39 -40
  301. package/src/LocalDocumentResult.spec.ts +373 -0
  302. package/src/LocalDocumentResult.ts +489 -319
  303. package/src/LocalEmbeddings.spec.ts +138 -0
  304. package/src/LocalEmbeddings.ts +120 -0
  305. package/src/LocalIndex.spec.ts +808 -323
  306. package/src/LocalIndex.ts +479 -430
  307. package/src/OpenAIEmbeddings.spec.ts +354 -0
  308. package/src/OpenAIEmbeddings.ts +26 -27
  309. package/src/TextSplitter.spec.ts +320 -65
  310. package/src/TextSplitter.ts +172 -115
  311. package/src/TransformersEmbeddings.spec.ts +188 -0
  312. package/src/TransformersEmbeddings.ts +232 -0
  313. package/src/TransformersTokenizer.spec.ts +143 -0
  314. package/src/TransformersTokenizer.ts +45 -0
  315. package/src/WebFetcher.spec.ts +288 -0
  316. package/src/WebFetcher.ts +184 -186
  317. package/src/browser.ts +69 -0
  318. package/src/codecs/IndexCodec.ts +40 -0
  319. package/src/codecs/JsonCodec.spec.ts +70 -0
  320. package/src/codecs/JsonCodec.ts +37 -0
  321. package/src/codecs/LocalIndex.protobuf.spec.ts +115 -0
  322. package/src/codecs/ProtobufCodec.spec.ts +166 -0
  323. package/src/codecs/ProtobufCodec.ts +193 -0
  324. package/src/codecs/index.ts +4 -0
  325. package/src/codecs/migrateIndex.spec.ts +176 -0
  326. package/src/codecs/migrateIndex.ts +125 -0
  327. package/src/codecs/schemas/index.proto +34 -0
  328. package/src/index.ts +9 -1
  329. package/src/internals/Colorize.ts +19 -16
  330. package/src/server/IndexManager.ts +243 -0
  331. package/src/server/VectraServer.spec.ts +303 -0
  332. package/src/server/VectraServer.ts +156 -0
  333. package/src/server/handlers/documentHandlers.ts +59 -0
  334. package/src/server/handlers/helpers.ts +93 -0
  335. package/src/server/handlers/index.ts +7 -0
  336. package/src/server/handlers/indexHandlers.ts +44 -0
  337. package/src/server/handlers/itemHandlers.ts +140 -0
  338. package/src/server/handlers/lifecycleHandlers.ts +26 -0
  339. package/src/server/handlers/queryHandlers.ts +96 -0
  340. package/src/server/handlers/statsHandlers.ts +38 -0
  341. package/src/server/index.ts +3 -0
  342. package/src/storage/FileStorage.ts +105 -0
  343. package/src/storage/FileStorageUtilities.spec.ts +106 -0
  344. package/src/storage/FileStorageUtilities.ts +77 -0
  345. package/src/storage/FileType.ts +61 -0
  346. package/src/storage/IndexedDBStorage.ts +365 -0
  347. package/src/storage/LocalFileStorage.browser.ts +52 -0
  348. package/src/storage/LocalFileStorage.spec.ts +292 -0
  349. package/src/storage/LocalFileStorage.ts +98 -0
  350. package/src/storage/VirtualFileStorage.spec.ts +307 -0
  351. package/src/storage/VirtualFileStorage.ts +169 -0
  352. package/src/storage/index.ts +5 -0
  353. package/src/templates/csharp/README.md +48 -0
  354. package/src/templates/csharp/VectraClient.cs +234 -0
  355. package/src/templates/go/README.md +71 -0
  356. package/src/templates/go/vectra_client.go +322 -0
  357. package/src/templates/java/README.md +81 -0
  358. package/src/templates/java/VectraClient.java +232 -0
  359. package/src/templates/python/README.md +37 -0
  360. package/src/templates/python/vectra_client.py +279 -0
  361. package/src/templates/rust/Cargo.toml +14 -0
  362. package/src/templates/rust/README.md +39 -0
  363. package/src/templates/rust/build.rs +4 -0
  364. package/src/templates/rust/lib.rs +284 -0
  365. package/src/templates/typescript/README.md +96 -0
  366. package/src/templates/typescript/VectraClient.ts +374 -0
  367. package/src/types.ts +131 -123
  368. package/src/utils/index.ts +1 -0
  369. package/src/utils/pathUtils.ts +106 -0
  370. package/src/vectra-cli.generate.spec.ts +72 -0
  371. package/src/vectra-cli.spec.ts +0 -0
  372. package/src/vectra-cli.ts +687 -246
  373. package/README.draft.md +0 -499
  374. package/README.draft.outline.md +0 -160
  375. package/README.research.md +0 -2159
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_assert_1 = require("node:assert");
4
+ const mocha_1 = require("mocha");
5
+ const GPT3Tokenizer_1 = require("../src/GPT3Tokenizer");
6
+ (0, mocha_1.describe)('GPT3Tokenizer', () => {
7
+ const tokenizer = new GPT3Tokenizer_1.GPT3Tokenizer();
8
+ (0, mocha_1.it)('encodes empty string to [] and decodes [] to empty string', () => {
9
+ const tokens = tokenizer.encode('');
10
+ node_assert_1.strict.deepEqual(tokens, [], 'encode("") should return []');
11
+ const text = tokenizer.decode([]);
12
+ node_assert_1.strict.equal(text, '', 'decode([]) should return empty string');
13
+ });
14
+ (0, mocha_1.it)('round-trips various strings including unicode and punctuation', () => {
15
+ const samples = [
16
+ 'Hello, world!',
17
+ 'Café 😊 こんにちは 𠜎𠜱𠝹𠱓',
18
+ 'Newlines\nand\ttabs with multiple spaces.',
19
+ '--- *** ===='
20
+ ];
21
+ for (const s of samples) {
22
+ const tokens = tokenizer.encode(s);
23
+ const decoded = tokenizer.decode(tokens);
24
+ node_assert_1.strict.equal(decoded, s, `decode(encode(s)) should equal s for: ${JSON.stringify(s)}`);
25
+ // Validate token array shape: array of non-negative integers
26
+ node_assert_1.strict.ok(Array.isArray(tokens), 'encode should return an array');
27
+ for (const t of tokens) {
28
+ node_assert_1.strict.equal(typeof t, 'number', 'each token should be a number');
29
+ node_assert_1.strict.ok(Number.isInteger(t), 'each token should be an integer');
30
+ node_assert_1.strict.ok(t >= 0, 'each token should be non-negative');
31
+ }
32
+ // Encoding should be stable across calls for the same input
33
+ const tokens2 = tokenizer.encode(s);
34
+ node_assert_1.strict.deepEqual(tokens2, tokens, 'encode should be deterministic for the same input');
35
+ }
36
+ });
37
+ (0, mocha_1.it)('produces non-empty tokens for typical non-empty input', () => {
38
+ const s = 'This is a simple test.';
39
+ const tokens = tokenizer.encode(s);
40
+ node_assert_1.strict.ok(tokens.length > 0, 'expected some tokens for non-empty input');
41
+ const decoded = tokenizer.decode(tokens);
42
+ node_assert_1.strict.equal(decoded, s, 'decoded text should match original input');
43
+ });
44
+ });
45
+ //# sourceMappingURL=GPT3Tokenizer.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GPT3Tokenizer.spec.js","sourceRoot":"","sources":["../src/GPT3Tokenizer.spec.ts"],"names":[],"mappings":";;AAAA,6CAA+C;AAC/C,iCAAqC;AACrC,wDAAqD;AAErD,IAAA,gBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,IAAI,6BAAa,EAAE,CAAC;IAEtC,IAAA,UAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,oBAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,oBAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,uCAAuC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,OAAO,GAAG;YACd,eAAe;YACf,wBAAwB;YACxB,+CAA+C;YAC/C,cAAc;SACf,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,oBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,yCAAyC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEvF,6DAA6D;YAC7D,oBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAClE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,oBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBAClE,oBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAC;gBAClE,oBAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,4DAA4D;YAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,oBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,mDAAmD,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,wBAAwB,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,oBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,oBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemSelector.d.ts","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,YAAY;IACrB;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAKnE;;;;;;;OAOG;WACW,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAYxC;;;;;;;;;;OAUG;WACW,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;IAK3G;;;;;OAKG;WACW,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IAoC9F,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB,OAAO,CAAC,MAAM,CAAC,cAAc;CA+DhC"}
1
+ {"version":3,"file":"ItemSelector.d.ts","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,YAAY;IACvB;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAenE;;;;;;;OAOG;WACW,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAYxC;;;;;;;;;;OAUG;WACW,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;IAS3G;;;;;OAKG;WACW,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IAqC9F,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB,OAAO,CAAC,MAAM,CAAC,cAAc;CA+D9B"}
@@ -9,8 +9,16 @@ class ItemSelector {
9
9
  * @returns Similarity between the two vectors
10
10
  */
11
11
  static cosineSimilarity(vector1, vector2) {
12
- // Return the quotient of the dot product and the product of the norms
13
- return this.dotProduct(vector1, vector2) / (this.normalize(vector1) * this.normalize(vector2));
12
+ // Use only the overlapping portion of both vectors (dot and norms)
13
+ const minLen = Math.min(vector1.length, vector2.length);
14
+ const v1 = vector1.slice(0, minLen);
15
+ const v2 = vector2.slice(0, minLen);
16
+ const norm1 = this.normalize(v1);
17
+ const norm2 = this.normalize(v2);
18
+ if (norm1 === 0 || norm2 === 0) {
19
+ return NaN;
20
+ }
21
+ return this.dotProduct(v1, v2) / (norm1 * norm2);
14
22
  }
15
23
  /**
16
24
  * Normalizes a vector.
@@ -43,6 +51,10 @@ class ItemSelector {
43
51
  * @returns Similarity between the two vectors
44
52
  */
45
53
  static normalizedCosineSimilarity(vector1, norm1, vector2, norm2) {
54
+ // Explicitly return NaN if either norm is zero
55
+ if (norm1 === 0 || norm2 === 0) {
56
+ return NaN;
57
+ }
46
58
  // Return the quotient of the dot product and the product of the norms
47
59
  return this.dotProduct(vector1, vector2) / (norm1 * norm2);
48
60
  }
@@ -53,7 +65,8 @@ class ItemSelector {
53
65
  * @returns True if the item matches the filter, false otherwise
54
66
  */
55
67
  static select(metadata, filter) {
56
- if (filter === undefined || filter === null) {
68
+ // Treat null/undefined and {} as "no filter"
69
+ if (filter == null || (typeof filter === 'object' && Object.keys(filter).length === 0)) {
57
70
  return true;
58
71
  }
59
72
  for (const key in filter) {
@@ -89,14 +102,12 @@ class ItemSelector {
89
102
  return true;
90
103
  }
91
104
  static dotProduct(arr1, arr2) {
92
- // Initialize a variable to store the sum of the products
105
+ // Use only overlapping indices to avoid NaN when lengths differ
106
+ const minLen = Math.min(arr1.length, arr2.length);
93
107
  let sum = 0;
94
- // Loop through the elements of the arrays
95
- for (let i = 0; i < arr1.length; i++) {
96
- // Multiply the corresponding elements and add them to the sum
108
+ for (let i = 0; i < minLen; i++) {
97
109
  sum += arr1[i] * arr2[i];
98
110
  }
99
- // Return the sum
100
111
  return sum;
101
112
  }
102
113
  static metadataFilter(value, filter) {
@@ -1 +1 @@
1
- {"version":3,"file":"ItemSelector.js","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemSelector.js","sourceRoot":"","sources":["../src/ItemSelector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ItemSelector.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemSelector.spec.d.ts","sourceRoot":"","sources":["../src/ItemSelector.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_assert_1 = require("node:assert");
4
+ const ItemSelector_1 = require("./ItemSelector");
5
+ function almostEqual(actual, expected, eps = 1e-12) {
6
+ node_assert_1.strict.ok(Math.abs(actual - expected) <= eps, `actual ${actual} not within ${eps} of expected ${expected}`);
7
+ }
8
+ describe('ItemSelector', () => {
9
+ describe('normalize', () => {
10
+ it('returns correct norm for typical vector', () => {
11
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([3, 4]), 5);
12
+ });
13
+ it('handles negatives', () => {
14
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([-2, -3]), Math.sqrt(13));
15
+ });
16
+ it('returns 0 for zero vector', () => {
17
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([0, 0]), 0);
18
+ });
19
+ it('returns 0 for empty vector', () => {
20
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.normalize([]), 0);
21
+ });
22
+ });
23
+ describe('cosineSimilarity', () => {
24
+ it('returns ~1 for identical vectors', () => {
25
+ const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 2], [1, 2]);
26
+ almostEqual(actual, 1);
27
+ });
28
+ it('returns ~0 for orthogonal vectors', () => {
29
+ const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 0], [0, 1]);
30
+ almostEqual(actual, 0);
31
+ });
32
+ it('returns ~-1 for opposite vectors', () => {
33
+ const actual = ItemSelector_1.ItemSelector.cosineSimilarity([1, 0], [-1, 0]);
34
+ almostEqual(actual, -1);
35
+ });
36
+ it('returns NaN if one vector is zero', () => {
37
+ node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.cosineSimilarity([0, 0], [1, 2])));
38
+ });
39
+ it('returns NaN if both vectors are zero', () => {
40
+ node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.cosineSimilarity([0, 0], [0, 0])));
41
+ });
42
+ it('handles different lengths by ignoring extra elements (including in norms)', () => {
43
+ const v1 = [1, 2, 3];
44
+ const v2 = [4, 5];
45
+ const minLen = Math.min(v1.length, v2.length);
46
+ const dot = v1.slice(0, minLen).reduce((sum, val, i) => sum + val * v2[i], 0);
47
+ const norm1 = ItemSelector_1.ItemSelector.normalize(v1.slice(0, minLen));
48
+ const norm2 = ItemSelector_1.ItemSelector.normalize(v2.slice(0, minLen));
49
+ const expected = dot / (norm1 * norm2);
50
+ const result = ItemSelector_1.ItemSelector.cosineSimilarity(v1, v2);
51
+ almostEqual(result, expected);
52
+ });
53
+ });
54
+ describe('normalizedCosineSimilarity', () => {
55
+ it('returns correct similarity with valid norms', () => {
56
+ const v1 = [1, 2];
57
+ const v2 = [2, 3];
58
+ const norm1 = ItemSelector_1.ItemSelector.normalize(v1);
59
+ const norm2 = ItemSelector_1.ItemSelector.normalize(v2);
60
+ const expected = (v1[0] * v2[0] + v1[1] * v2[1]) / (norm1 * norm2);
61
+ const actual = ItemSelector_1.ItemSelector.normalizedCosineSimilarity(v1, norm1, v2, norm2);
62
+ almostEqual(actual, expected);
63
+ });
64
+ it('returns NaN if norm1 is zero', () => {
65
+ node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.normalizedCosineSimilarity([1, 2], 0, [2, 3], 1)));
66
+ });
67
+ it('returns NaN if norm2 is zero', () => {
68
+ node_assert_1.strict.ok(Number.isNaN(ItemSelector_1.ItemSelector.normalizedCosineSimilarity([1, 2], 1, [2, 3], 0)));
69
+ });
70
+ });
71
+ describe('select', () => {
72
+ it('returns true for empty filter object', () => {
73
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ a: 1 }, {}), true);
74
+ });
75
+ it('returns false if unknown key and metadata missing key', () => {
76
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { unknown: 'value' }), false);
77
+ });
78
+ it('returns true if unknown key and metadata has equal value', () => {
79
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ unknown: 'value' }, { unknown: 'value' }), true);
80
+ });
81
+ it('returns false if filter value is undefined or null', () => {
82
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ name: 'alice' }, { name: undefined }), false);
83
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ name: 'alice' }, { name: null }), false);
84
+ });
85
+ it('handles $and with all subfilters passing', () => {
86
+ const filter = { $and: [{ a: 1 }, { b: 2 }] };
87
+ const metadata = { a: 1, b: 2 };
88
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
89
+ });
90
+ it('handles $and with one subfilter failing', () => {
91
+ const filter = { $and: [{ a: 1 }, { b: 3 }] };
92
+ const metadata = { a: 1, b: 2 };
93
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), false);
94
+ });
95
+ it('handles empty $and array', () => {
96
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { $and: [] }), true);
97
+ });
98
+ it('handles nested $and/$or combinations', () => {
99
+ const filter = { $and: [{ $or: [{ a: 1 }, { b: 2 }] }, { c: 3 }] };
100
+ const metadata1 = { a: 1, c: 3 };
101
+ const metadata2 = { b: 2, c: 3 };
102
+ const metadata3 = { a: 1, c: 4 };
103
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata1, filter), true);
104
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata2, filter), true);
105
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata3, filter), false);
106
+ });
107
+ it('handles $or with at least one subfilter passing', () => {
108
+ const filter = { $or: [{ a: 1 }, { b: 2 }] };
109
+ const metadata = { a: 1, b: 3 };
110
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
111
+ });
112
+ it('handles $or with all subfilters failing', () => {
113
+ const filter = { $or: [{ a: 2 }, { b: 3 }] };
114
+ const metadata = { a: 1, b: 2 };
115
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), false);
116
+ });
117
+ it('handles empty $or array', () => {
118
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({}, { $or: [] }), false);
119
+ });
120
+ it('handles metadataFilter numeric comparisons', () => {
121
+ const metadata = { num: 5, str: 'hello' };
122
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $eq: 5 } }), true);
123
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $eq: 4 } }), false);
124
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $ne: 4 } }), true);
125
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $ne: 5 } }), false);
126
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 4 } }), true);
127
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 5 } }), false);
128
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gt: 4.9 } }), true);
129
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $gt: 'a' } }), false);
130
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gte: 5 } }), true);
131
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $gte: 6 } }), false);
132
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $gte: 'a' } }), false);
133
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lt: 6 } }), true);
134
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lt: 5 } }), false);
135
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $lt: 'z' } }), false);
136
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lte: 5 } }), true);
137
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { num: { $lte: 4 } }), false);
138
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { str: { $lte: 'z' } }), false);
139
+ });
140
+ it('$in behavior matches implementation (booleans false, exact match for strings, substring for strings, numbers via substring in array strings)', () => {
141
+ const metadataBool = { val: true };
142
+ const metadataStr = { val: 'foo' };
143
+ const metadataStr2 = { val: 'oo' };
144
+ const metadataNum = { val: 42 };
145
+ const arrStr = ['foo', 'bar'];
146
+ const arrMixedNo = ['foobar', 'baz'];
147
+ const arrMixedYes = ['x42y', 'baz'];
148
+ // boolean always false
149
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataBool, { val: { $in: ['foo'] } }), false);
150
+ // string exact includes
151
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr, { val: { $in: arrStr } }), true);
152
+ // string not included
153
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr2, { val: { $in: arrStr } }), false);
154
+ // number: true only if some array string includes the number as a substring
155
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $in: arrMixedNo } }), false);
156
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $in: arrMixedYes } }), true);
157
+ // array of numbers does not include string '42'
158
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select({ val: '42' }, { val: { $in: [1, 2] } }), false);
159
+ });
160
+ it('$nin behavior matches implementation (booleans false, blocks exact/substring for strings, numbers only blocked by substring in array strings)', () => {
161
+ const metadataBool = { val: true };
162
+ const metadataStr = { val: 'foo' };
163
+ const metadataStrSub = { val: 'oo' };
164
+ const metadataNum = { val: 42 };
165
+ const arrStr = ['foo', 'bar'];
166
+ const arrMixedNo = ['foobar', 'baz'];
167
+ const arrMixedYes = ['baz', 'z42z'];
168
+ const arrNum = [42];
169
+ // boolean always false
170
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataBool, { val: { $nin: ['foo'] } }), false);
171
+ // string exact match present -> false
172
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStr, { val: { $nin: arrStr } }), false);
173
+ // string is a substring of an element -> false
174
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataStrSub, { val: { $nin: arrMixedNo } }), false);
175
+ // number: true if no array string includes the number as substring
176
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrMixedNo } }), true);
177
+ // number: false if some array string includes the number as substring
178
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrMixedYes } }), false);
179
+ // array of numbers does not block number (implementation detail)
180
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadataNum, { val: { $nin: arrNum } }), true);
181
+ });
182
+ it('handles default operator fall-through (unknown operator compares equality to its value)', () => {
183
+ const metadata = { field: 'bar' };
184
+ // Unknown operator compares metadata value to the operator's value
185
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: { $foo: 'bar' } }), true);
186
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: { $foo: 'baz' } }), false);
187
+ // Direct scalar equality
188
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: 'bar' }), true);
189
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { field: 'baz' }), false);
190
+ });
191
+ it('returns false if metadata key missing in object filter', () => {
192
+ const metadata = {};
193
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, { age: { $gt: 18 } }), false);
194
+ });
195
+ it('handles multi-field filter with mixed scalar and operator filters', () => {
196
+ const metadata = { a: 1, b: 2, c: 3 };
197
+ const filter = { a: 1, b: { $gt: 1 }, c: { $lt: 4 } };
198
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filter), true);
199
+ const filterFail = { a: 1, b: { $gt: 2 }, c: { $lt: 4 } };
200
+ node_assert_1.strict.equal(ItemSelector_1.ItemSelector.select(metadata, filterFail), false);
201
+ });
202
+ });
203
+ });
204
+ //# sourceMappingURL=ItemSelector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemSelector.spec.js","sourceRoot":"","sources":["../src/ItemSelector.spec.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export declare class LocalDocument {
36
36
  */
37
37
  getLength(): Promise<number>;
38
38
  /**
39
- * Determines if the document has additional metadata storred on disk.
39
+ * Determines if the document has additional metadata stored on disk.
40
40
  * @returns True if the document has metadata; otherwise, false.
41
41
  */
42
42
  hasMetadata(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDocument.d.ts","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,KAAK,CAAmB;IAEhC;;;;;OAKG;gBACgB,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMrE;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC;IAmBlE;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAW3C"}
1
+ {"version":3,"file":"LocalDocument.d.ts","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,KAAK,CAAqB;IAElC;;;;;OAKG;gBACgB,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMrE;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAmBnE;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAWzC"}
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -43,8 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
43
10
  };
44
11
  Object.defineProperty(exports, "__esModule", { value: true });
45
12
  exports.LocalDocument = void 0;
46
- const fs = __importStar(require("fs/promises"));
47
- const path = __importStar(require("path"));
13
+ const pathUtils_1 = require("./utils/pathUtils");
48
14
  /**
49
15
  * Represents an indexed document stored on disk.
50
16
  */
@@ -96,18 +62,12 @@ class LocalDocument {
96
62
  });
97
63
  }
98
64
  /**
99
- * Determines if the document has additional metadata storred on disk.
65
+ * Determines if the document has additional metadata stored on disk.
100
66
  * @returns True if the document has metadata; otherwise, false.
101
67
  */
102
68
  hasMetadata() {
103
69
  return __awaiter(this, void 0, void 0, function* () {
104
- try {
105
- yield fs.access(path.join(this.folderPath, `${this.id}.json`));
106
- return true;
107
- }
108
- catch (err) {
109
- return false;
110
- }
70
+ return this._index.storage.pathExists(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.json`));
111
71
  });
112
72
  }
113
73
  /**
@@ -119,7 +79,7 @@ class LocalDocument {
119
79
  if (this._metadata == undefined) {
120
80
  let json;
121
81
  try {
122
- json = (yield fs.readFile(path.join(this.folderPath, `${this.id}.json`))).toString();
82
+ json = (yield this._index.storage.readFile(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.json`))).toString('utf-8');
123
83
  }
124
84
  catch (err) {
125
85
  throw new Error(`Error reading metadata for document "${this.uri}": ${err.toString()}`);
@@ -142,7 +102,7 @@ class LocalDocument {
142
102
  return __awaiter(this, void 0, void 0, function* () {
143
103
  if (this._text == undefined) {
144
104
  try {
145
- this._text = (yield fs.readFile(path.join(this.folderPath, `${this.id}.txt`))).toString();
105
+ this._text = (yield this._index.storage.readFile(pathUtils_1.pathUtils.join(this.folderPath, `${this.id}.txt`))).toString('utf-8');
146
106
  }
147
107
  catch (err) {
148
108
  throw new Error(`Error reading text file for document "${this.uri}": ${err.toString()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDocument.js","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalDocument.js","sourceRoot":"","sources":["../src/LocalDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LocalDocument.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalDocument.spec.d.ts","sourceRoot":"","sources":["../src/LocalDocument.spec.ts"],"names":[],"mappings":""}