agentdb 1.0.12 → 1.1.1

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 (503) hide show
  1. package/README.md +196 -838
  2. package/dist/benchmarks/comprehensive-benchmark.js +664 -0
  3. package/dist/benchmarks/frontier-benchmark.js +419 -0
  4. package/dist/benchmarks/reflexion-benchmark.js +370 -0
  5. package/dist/cli/agentdb-cli.d.ts +117 -0
  6. package/dist/cli/agentdb-cli.d.ts.map +1 -0
  7. package/dist/cli/agentdb-cli.js +724 -0
  8. package/dist/cli/agentdb-cli.js.map +1 -0
  9. package/dist/controllers/CausalMemoryGraph.d.ts +125 -0
  10. package/dist/controllers/CausalMemoryGraph.d.ts.map +1 -0
  11. package/dist/controllers/CausalMemoryGraph.js +323 -0
  12. package/dist/controllers/CausalMemoryGraph.js.map +1 -0
  13. package/dist/controllers/CausalRecall.d.ts +111 -0
  14. package/dist/controllers/CausalRecall.d.ts.map +1 -0
  15. package/dist/controllers/CausalRecall.js +282 -0
  16. package/dist/controllers/CausalRecall.js.map +1 -0
  17. package/dist/controllers/EmbeddingService.d.ts +37 -0
  18. package/dist/controllers/EmbeddingService.d.ts.map +1 -0
  19. package/dist/controllers/EmbeddingService.js +119 -0
  20. package/dist/controllers/EmbeddingService.js.map +1 -0
  21. package/dist/controllers/ExplainableRecall.d.ts +138 -0
  22. package/dist/controllers/ExplainableRecall.d.ts.map +1 -0
  23. package/dist/controllers/ExplainableRecall.js +388 -0
  24. package/dist/controllers/ExplainableRecall.js.map +1 -0
  25. package/dist/controllers/NightlyLearner.d.ts +113 -0
  26. package/dist/controllers/NightlyLearner.d.ts.map +1 -0
  27. package/dist/controllers/NightlyLearner.js +383 -0
  28. package/dist/controllers/NightlyLearner.js.map +1 -0
  29. package/dist/controllers/ReflexionMemory.d.ts +84 -0
  30. package/dist/controllers/ReflexionMemory.d.ts.map +1 -0
  31. package/dist/controllers/ReflexionMemory.js +240 -0
  32. package/dist/controllers/ReflexionMemory.js.map +1 -0
  33. package/dist/controllers/SkillLibrary.d.ts +96 -0
  34. package/dist/controllers/SkillLibrary.d.ts.map +1 -0
  35. package/dist/controllers/SkillLibrary.js +277 -0
  36. package/dist/controllers/SkillLibrary.js.map +1 -0
  37. package/dist/controllers/frontier-index.d.ts +14 -0
  38. package/dist/controllers/frontier-index.d.ts.map +1 -0
  39. package/dist/controllers/frontier-index.js +10 -0
  40. package/dist/controllers/frontier-index.js.map +1 -0
  41. package/dist/controllers/index.d.ts +12 -0
  42. package/dist/controllers/index.d.ts.map +1 -0
  43. package/dist/controllers/index.js +9 -0
  44. package/dist/controllers/index.js.map +1 -0
  45. package/dist/optimizations/BatchOperations.d.ts +61 -0
  46. package/dist/optimizations/BatchOperations.d.ts.map +1 -0
  47. package/dist/optimizations/BatchOperations.js +199 -0
  48. package/dist/optimizations/BatchOperations.js.map +1 -0
  49. package/dist/optimizations/QueryOptimizer.d.ts +82 -0
  50. package/dist/optimizations/QueryOptimizer.d.ts.map +1 -0
  51. package/dist/optimizations/QueryOptimizer.js +226 -0
  52. package/dist/optimizations/QueryOptimizer.js.map +1 -0
  53. package/dist/optimizations/index.d.ts +10 -0
  54. package/dist/optimizations/index.d.ts.map +1 -0
  55. package/dist/optimizations/index.js +8 -0
  56. package/dist/optimizations/index.js.map +1 -0
  57. package/dist/schemas/frontier-schema.sql +341 -0
  58. package/dist/schemas/schema.sql +382 -0
  59. package/dist/tests/frontier-features.test.js +665 -0
  60. package/package.json +54 -117
  61. package/src/cli/agentdb-cli.ts +861 -0
  62. package/src/cli/examples.sh +83 -0
  63. package/src/controllers/CausalMemoryGraph.ts +504 -0
  64. package/src/controllers/CausalRecall.ts +395 -0
  65. package/src/controllers/EmbeddingService.ts +141 -0
  66. package/src/controllers/ExplainableRecall.ts +577 -0
  67. package/src/controllers/NightlyLearner.ts +475 -0
  68. package/src/controllers/ReflexionMemory.ts +349 -0
  69. package/src/controllers/SkillLibrary.ts +391 -0
  70. package/src/controllers/frontier-index.ts +35 -0
  71. package/src/controllers/index.ts +13 -0
  72. package/src/optimizations/BatchOperations.ts +292 -0
  73. package/src/optimizations/QueryOptimizer.ts +294 -0
  74. package/src/optimizations/index.ts +11 -0
  75. package/src/schemas/frontier-schema.sql +341 -0
  76. package/src/schemas/schema.sql +382 -0
  77. package/CHANGELOG.md +0 -166
  78. package/LICENSE +0 -38
  79. package/LICENSE-APACHE +0 -190
  80. package/LICENSE-MIT +0 -21
  81. package/bin/agentdb.js +0 -733
  82. package/bin/benchmark.js +0 -165
  83. package/bin/plugin-cli-wrapper.mjs +0 -21
  84. package/dist/agentdb.js +0 -5352
  85. package/dist/agentdb.js.map +0 -7
  86. package/dist/agentdb.min.js +0 -143
  87. package/dist/agentdb.min.js.map +0 -7
  88. package/dist/cache/query-cache.d.ts +0 -105
  89. package/dist/cache/query-cache.d.ts.map +0 -1
  90. package/dist/cache/query-cache.js +0 -224
  91. package/dist/cache/query-cache.js.map +0 -1
  92. package/dist/cache/query-cache.mjs +0 -219
  93. package/dist/cli/cache/query-cache.d.ts +0 -104
  94. package/dist/cli/cache/query-cache.js +0 -244
  95. package/dist/cli/cli/db-commands.d.ts +0 -48
  96. package/dist/cli/cli/db-commands.js +0 -613
  97. package/dist/cli/commands.d.ts +0 -7
  98. package/dist/cli/commands.d.ts.map +0 -1
  99. package/dist/cli/commands.js +0 -113
  100. package/dist/cli/commands.js.map +0 -1
  101. package/dist/cli/commands.mjs +0 -104
  102. package/dist/cli/core/backend-interface.d.ts +0 -70
  103. package/dist/cli/core/backend-interface.js +0 -15
  104. package/dist/cli/core/native-backend.d.ts +0 -140
  105. package/dist/cli/core/native-backend.js +0 -432
  106. package/dist/cli/core/vector-db.d.ts +0 -126
  107. package/dist/cli/core/vector-db.js +0 -338
  108. package/dist/cli/core/wasm-backend.d.ts +0 -95
  109. package/dist/cli/core/wasm-backend.js +0 -418
  110. package/dist/cli/db-commands.d.ts +0 -49
  111. package/dist/cli/db-commands.d.ts.map +0 -1
  112. package/dist/cli/db-commands.js +0 -533
  113. package/dist/cli/db-commands.js.map +0 -1
  114. package/dist/cli/db-commands.mjs +0 -522
  115. package/dist/cli/generator.d.ts +0 -11
  116. package/dist/cli/generator.d.ts.map +0 -1
  117. package/dist/cli/generator.js +0 -567
  118. package/dist/cli/generator.js.map +0 -1
  119. package/dist/cli/generator.mjs +0 -527
  120. package/dist/cli/help.d.ts +0 -18
  121. package/dist/cli/help.d.ts.map +0 -1
  122. package/dist/cli/help.js +0 -676
  123. package/dist/cli/help.js.map +0 -1
  124. package/dist/cli/help.mjs +0 -667
  125. package/dist/cli/index/hnsw.d.ts +0 -164
  126. package/dist/cli/index/hnsw.js +0 -558
  127. package/dist/cli/plugin-cli.d.ts +0 -7
  128. package/dist/cli/plugin-cli.d.ts.map +0 -1
  129. package/dist/cli/plugin-cli.js +0 -295
  130. package/dist/cli/plugin-cli.js.map +0 -1
  131. package/dist/cli/plugin-cli.mjs +0 -289
  132. package/dist/cli/quantization/product-quantization.d.ts +0 -108
  133. package/dist/cli/quantization/product-quantization.js +0 -350
  134. package/dist/cli/query/query-builder.d.ts +0 -322
  135. package/dist/cli/query/query-builder.js +0 -600
  136. package/dist/cli/templates.d.ts +0 -14
  137. package/dist/cli/templates.d.ts.map +0 -1
  138. package/dist/cli/templates.js +0 -182
  139. package/dist/cli/templates.js.map +0 -1
  140. package/dist/cli/templates.mjs +0 -176
  141. package/dist/cli/types/index.d.ts +0 -116
  142. package/dist/cli/types/index.js +0 -5
  143. package/dist/cli/types.d.ts +0 -91
  144. package/dist/cli/types.d.ts.map +0 -1
  145. package/dist/cli/types.js +0 -6
  146. package/dist/cli/types.js.map +0 -1
  147. package/dist/cli/types.mjs +0 -4
  148. package/dist/cli/wizard/index.d.ts +0 -6
  149. package/dist/cli/wizard/index.d.ts.map +0 -1
  150. package/dist/cli/wizard/index.js +0 -138
  151. package/dist/cli/wizard/index.js.map +0 -1
  152. package/dist/cli/wizard/index.mjs +0 -131
  153. package/dist/cli/wizard/prompts.d.ts +0 -11
  154. package/dist/cli/wizard/prompts.d.ts.map +0 -1
  155. package/dist/cli/wizard/prompts.js +0 -482
  156. package/dist/cli/wizard/prompts.js.map +0 -1
  157. package/dist/cli/wizard/prompts.mjs +0 -470
  158. package/dist/cli/wizard/validator.d.ts +0 -13
  159. package/dist/cli/wizard/validator.d.ts.map +0 -1
  160. package/dist/cli/wizard/validator.js +0 -234
  161. package/dist/cli/wizard/validator.js.map +0 -1
  162. package/dist/cli/wizard/validator.mjs +0 -224
  163. package/dist/core/backend-interface.d.ts +0 -71
  164. package/dist/core/backend-interface.d.ts.map +0 -1
  165. package/dist/core/backend-interface.js +0 -16
  166. package/dist/core/backend-interface.js.map +0 -1
  167. package/dist/core/backend-interface.mjs +0 -12
  168. package/dist/core/native-backend.d.ts +0 -141
  169. package/dist/core/native-backend.d.ts.map +0 -1
  170. package/dist/core/native-backend.js +0 -457
  171. package/dist/core/native-backend.js.map +0 -1
  172. package/dist/core/native-backend.mjs +0 -449
  173. package/dist/core/vector-db.d.ts +0 -127
  174. package/dist/core/vector-db.d.ts.map +0 -1
  175. package/dist/core/vector-db.js +0 -270
  176. package/dist/core/vector-db.js.map +0 -1
  177. package/dist/core/vector-db.mjs +0 -265
  178. package/dist/core/wasm-backend.d.ts +0 -96
  179. package/dist/core/wasm-backend.d.ts.map +0 -1
  180. package/dist/core/wasm-backend.js +0 -393
  181. package/dist/core/wasm-backend.js.map +0 -1
  182. package/dist/core/wasm-backend.mjs +0 -385
  183. package/dist/index/hnsw-optimized.d.ts +0 -75
  184. package/dist/index/hnsw-optimized.d.ts.map +0 -1
  185. package/dist/index/hnsw-optimized.js +0 -412
  186. package/dist/index/hnsw-optimized.js.map +0 -1
  187. package/dist/index/hnsw-optimized.mjs +0 -407
  188. package/dist/index/hnsw.d.ts +0 -165
  189. package/dist/index/hnsw.d.ts.map +0 -1
  190. package/dist/index/hnsw.js +0 -521
  191. package/dist/index/hnsw.js.map +0 -1
  192. package/dist/index/hnsw.mjs +0 -516
  193. package/dist/index.browser.d.ts +0 -47
  194. package/dist/index.browser.d.ts.map +0 -1
  195. package/dist/index.browser.js +0 -72
  196. package/dist/index.browser.js.map +0 -1
  197. package/dist/index.browser.mjs +0 -54
  198. package/dist/index.d.ts +0 -59
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/index.js +0 -84
  201. package/dist/index.js.map +0 -1
  202. package/dist/index.mjs +0 -65
  203. package/dist/mcp/learning/core/experience-buffer.d.ts +0 -61
  204. package/dist/mcp/learning/core/experience-buffer.d.ts.map +0 -1
  205. package/dist/mcp/learning/core/experience-buffer.js +0 -175
  206. package/dist/mcp/learning/core/experience-buffer.js.map +0 -1
  207. package/dist/mcp/learning/core/experience-buffer.mjs +0 -170
  208. package/dist/mcp/learning/core/experience-recorder.d.ts +0 -40
  209. package/dist/mcp/learning/core/experience-recorder.d.ts.map +0 -1
  210. package/dist/mcp/learning/core/experience-recorder.js +0 -200
  211. package/dist/mcp/learning/core/experience-recorder.js.map +0 -1
  212. package/dist/mcp/learning/core/experience-recorder.mjs +0 -195
  213. package/dist/mcp/learning/core/learning-manager.d.ts +0 -66
  214. package/dist/mcp/learning/core/learning-manager.d.ts.map +0 -1
  215. package/dist/mcp/learning/core/learning-manager.js +0 -252
  216. package/dist/mcp/learning/core/learning-manager.js.map +0 -1
  217. package/dist/mcp/learning/core/learning-manager.mjs +0 -247
  218. package/dist/mcp/learning/core/policy-optimizer.d.ts +0 -53
  219. package/dist/mcp/learning/core/policy-optimizer.d.ts.map +0 -1
  220. package/dist/mcp/learning/core/policy-optimizer.js +0 -251
  221. package/dist/mcp/learning/core/policy-optimizer.js.map +0 -1
  222. package/dist/mcp/learning/core/policy-optimizer.mjs +0 -246
  223. package/dist/mcp/learning/core/reward-estimator.d.ts +0 -44
  224. package/dist/mcp/learning/core/reward-estimator.d.ts.map +0 -1
  225. package/dist/mcp/learning/core/reward-estimator.js +0 -158
  226. package/dist/mcp/learning/core/reward-estimator.js.map +0 -1
  227. package/dist/mcp/learning/core/reward-estimator.mjs +0 -153
  228. package/dist/mcp/learning/core/session-manager.d.ts +0 -63
  229. package/dist/mcp/learning/core/session-manager.d.ts.map +0 -1
  230. package/dist/mcp/learning/core/session-manager.js +0 -202
  231. package/dist/mcp/learning/core/session-manager.js.map +0 -1
  232. package/dist/mcp/learning/core/session-manager.mjs +0 -197
  233. package/dist/mcp/learning/index.d.ts +0 -19
  234. package/dist/mcp/learning/index.d.ts.map +0 -1
  235. package/dist/mcp/learning/index.js +0 -30
  236. package/dist/mcp/learning/index.js.map +0 -1
  237. package/dist/mcp/learning/index.mjs +0 -19
  238. package/dist/mcp/learning/tools/mcp-learning-tools.d.ts +0 -369
  239. package/dist/mcp/learning/tools/mcp-learning-tools.d.ts.map +0 -1
  240. package/dist/mcp/learning/tools/mcp-learning-tools.js +0 -361
  241. package/dist/mcp/learning/tools/mcp-learning-tools.js.map +0 -1
  242. package/dist/mcp/learning/tools/mcp-learning-tools.mjs +0 -356
  243. package/dist/mcp/learning/types/index.d.ts +0 -138
  244. package/dist/mcp/learning/types/index.d.ts.map +0 -1
  245. package/dist/mcp/learning/types/index.js +0 -6
  246. package/dist/mcp/learning/types/index.js.map +0 -1
  247. package/dist/mcp/learning/types/index.mjs +0 -4
  248. package/dist/mcp-server.d.ts +0 -29
  249. package/dist/mcp-server.d.ts.map +0 -1
  250. package/dist/mcp-server.js +0 -862
  251. package/dist/mcp-server.js.map +0 -1
  252. package/dist/mcp-server.mjs +0 -857
  253. package/dist/plugins/base-plugin.d.ts +0 -114
  254. package/dist/plugins/base-plugin.d.ts.map +0 -1
  255. package/dist/plugins/base-plugin.js +0 -313
  256. package/dist/plugins/base-plugin.js.map +0 -1
  257. package/dist/plugins/base-plugin.mjs +0 -275
  258. package/dist/plugins/implementations/active-learning.d.ts +0 -135
  259. package/dist/plugins/implementations/active-learning.d.ts.map +0 -1
  260. package/dist/plugins/implementations/active-learning.js +0 -372
  261. package/dist/plugins/implementations/active-learning.js.map +0 -1
  262. package/dist/plugins/implementations/active-learning.mjs +0 -367
  263. package/dist/plugins/implementations/actor-critic.d.ts +0 -64
  264. package/dist/plugins/implementations/actor-critic.d.ts.map +0 -1
  265. package/dist/plugins/implementations/actor-critic.js +0 -363
  266. package/dist/plugins/implementations/actor-critic.js.map +0 -1
  267. package/dist/plugins/implementations/actor-critic.mjs +0 -358
  268. package/dist/plugins/implementations/adversarial-training.d.ts +0 -133
  269. package/dist/plugins/implementations/adversarial-training.d.ts.map +0 -1
  270. package/dist/plugins/implementations/adversarial-training.js +0 -409
  271. package/dist/plugins/implementations/adversarial-training.js.map +0 -1
  272. package/dist/plugins/implementations/adversarial-training.mjs +0 -404
  273. package/dist/plugins/implementations/curriculum-learning.d.ts +0 -132
  274. package/dist/plugins/implementations/curriculum-learning.d.ts.map +0 -1
  275. package/dist/plugins/implementations/curriculum-learning.js +0 -354
  276. package/dist/plugins/implementations/curriculum-learning.js.map +0 -1
  277. package/dist/plugins/implementations/curriculum-learning.mjs +0 -349
  278. package/dist/plugins/implementations/decision-transformer.d.ts +0 -77
  279. package/dist/plugins/implementations/decision-transformer.d.ts.map +0 -1
  280. package/dist/plugins/implementations/decision-transformer.js +0 -422
  281. package/dist/plugins/implementations/decision-transformer.js.map +0 -1
  282. package/dist/plugins/implementations/decision-transformer.mjs +0 -417
  283. package/dist/plugins/implementations/federated-learning.d.ts +0 -126
  284. package/dist/plugins/implementations/federated-learning.d.ts.map +0 -1
  285. package/dist/plugins/implementations/federated-learning.js +0 -436
  286. package/dist/plugins/implementations/federated-learning.js.map +0 -1
  287. package/dist/plugins/implementations/federated-learning.mjs +0 -431
  288. package/dist/plugins/implementations/index.d.ts +0 -30
  289. package/dist/plugins/implementations/index.d.ts.map +0 -1
  290. package/dist/plugins/implementations/index.js +0 -45
  291. package/dist/plugins/implementations/index.js.map +0 -1
  292. package/dist/plugins/implementations/index.mjs +0 -31
  293. package/dist/plugins/implementations/multi-task-learning.d.ts +0 -115
  294. package/dist/plugins/implementations/multi-task-learning.d.ts.map +0 -1
  295. package/dist/plugins/implementations/multi-task-learning.js +0 -369
  296. package/dist/plugins/implementations/multi-task-learning.js.map +0 -1
  297. package/dist/plugins/implementations/multi-task-learning.mjs +0 -364
  298. package/dist/plugins/implementations/neural-architecture-search.d.ts +0 -148
  299. package/dist/plugins/implementations/neural-architecture-search.d.ts.map +0 -1
  300. package/dist/plugins/implementations/neural-architecture-search.js +0 -379
  301. package/dist/plugins/implementations/neural-architecture-search.js.map +0 -1
  302. package/dist/plugins/implementations/neural-architecture-search.mjs +0 -374
  303. package/dist/plugins/implementations/q-learning.d.ts +0 -98
  304. package/dist/plugins/implementations/q-learning.d.ts.map +0 -1
  305. package/dist/plugins/implementations/q-learning.js +0 -435
  306. package/dist/plugins/implementations/q-learning.js.map +0 -1
  307. package/dist/plugins/implementations/q-learning.mjs +0 -430
  308. package/dist/plugins/implementations/sarsa.d.ts +0 -103
  309. package/dist/plugins/implementations/sarsa.d.ts.map +0 -1
  310. package/dist/plugins/implementations/sarsa.js +0 -347
  311. package/dist/plugins/implementations/sarsa.js.map +0 -1
  312. package/dist/plugins/implementations/sarsa.mjs +0 -342
  313. package/dist/plugins/index.d.ts +0 -107
  314. package/dist/plugins/index.d.ts.map +0 -1
  315. package/dist/plugins/index.js +0 -179
  316. package/dist/plugins/index.js.map +0 -1
  317. package/dist/plugins/index.mjs +0 -168
  318. package/dist/plugins/interface.d.ts +0 -439
  319. package/dist/plugins/interface.d.ts.map +0 -1
  320. package/dist/plugins/interface.js +0 -12
  321. package/dist/plugins/interface.js.map +0 -1
  322. package/dist/plugins/interface.mjs +0 -10
  323. package/dist/plugins/learning-plugin.interface.d.ts +0 -257
  324. package/dist/plugins/learning-plugin.interface.d.ts.map +0 -1
  325. package/dist/plugins/learning-plugin.interface.js +0 -7
  326. package/dist/plugins/learning-plugin.interface.js.map +0 -1
  327. package/dist/plugins/learning-plugin.interface.mjs +0 -5
  328. package/dist/plugins/plugin-exports.d.ts +0 -71
  329. package/dist/plugins/plugin-exports.d.ts.map +0 -1
  330. package/dist/plugins/plugin-exports.js +0 -78
  331. package/dist/plugins/plugin-exports.js.map +0 -1
  332. package/dist/plugins/plugin-exports.mjs +0 -69
  333. package/dist/plugins/registry.d.ts +0 -206
  334. package/dist/plugins/registry.d.ts.map +0 -1
  335. package/dist/plugins/registry.js +0 -365
  336. package/dist/plugins/registry.js.map +0 -1
  337. package/dist/plugins/registry.mjs +0 -356
  338. package/dist/plugins/validator.d.ts +0 -63
  339. package/dist/plugins/validator.d.ts.map +0 -1
  340. package/dist/plugins/validator.js +0 -464
  341. package/dist/plugins/validator.js.map +0 -1
  342. package/dist/plugins/validator.mjs +0 -458
  343. package/dist/presets.d.ts +0 -65
  344. package/dist/presets.d.ts.map +0 -1
  345. package/dist/presets.js +0 -145
  346. package/dist/presets.js.map +0 -1
  347. package/dist/presets.mjs +0 -140
  348. package/dist/quantization/binary-quantization.d.ts +0 -104
  349. package/dist/quantization/binary-quantization.d.ts.map +0 -1
  350. package/dist/quantization/binary-quantization.js +0 -246
  351. package/dist/quantization/binary-quantization.js.map +0 -1
  352. package/dist/quantization/binary-quantization.mjs +0 -240
  353. package/dist/quantization/optimized-pq.d.ts +0 -138
  354. package/dist/quantization/optimized-pq.d.ts.map +0 -1
  355. package/dist/quantization/optimized-pq.js +0 -320
  356. package/dist/quantization/optimized-pq.js.map +0 -1
  357. package/dist/quantization/optimized-pq.mjs +0 -313
  358. package/dist/quantization/product-quantization.d.ts +0 -109
  359. package/dist/quantization/product-quantization.d.ts.map +0 -1
  360. package/dist/quantization/product-quantization.js +0 -287
  361. package/dist/quantization/product-quantization.js.map +0 -1
  362. package/dist/quantization/product-quantization.mjs +0 -282
  363. package/dist/quantization/scalar-quantization.d.ts +0 -100
  364. package/dist/quantization/scalar-quantization.d.ts.map +0 -1
  365. package/dist/quantization/scalar-quantization.js +0 -324
  366. package/dist/quantization/scalar-quantization.js.map +0 -1
  367. package/dist/quantization/scalar-quantization.mjs +0 -319
  368. package/dist/query/index.d.ts +0 -6
  369. package/dist/query/index.d.ts.map +0 -1
  370. package/dist/query/index.js +0 -9
  371. package/dist/query/index.js.map +0 -1
  372. package/dist/query/index.mjs +0 -4
  373. package/dist/query/query-builder.d.ts +0 -323
  374. package/dist/query/query-builder.d.ts.map +0 -1
  375. package/dist/query/query-builder.js +0 -524
  376. package/dist/query/query-builder.js.map +0 -1
  377. package/dist/query/query-builder.mjs +0 -519
  378. package/dist/reasoning/context-synthesizer.d.ts +0 -57
  379. package/dist/reasoning/context-synthesizer.d.ts.map +0 -1
  380. package/dist/reasoning/context-synthesizer.js +0 -224
  381. package/dist/reasoning/context-synthesizer.js.map +0 -1
  382. package/dist/reasoning/context-synthesizer.mjs +0 -219
  383. package/dist/reasoning/experience-curator.d.ts +0 -66
  384. package/dist/reasoning/experience-curator.d.ts.map +0 -1
  385. package/dist/reasoning/experience-curator.js +0 -288
  386. package/dist/reasoning/experience-curator.js.map +0 -1
  387. package/dist/reasoning/experience-curator.mjs +0 -283
  388. package/dist/reasoning/memory-optimizer.d.ts +0 -69
  389. package/dist/reasoning/memory-optimizer.d.ts.map +0 -1
  390. package/dist/reasoning/memory-optimizer.js +0 -331
  391. package/dist/reasoning/memory-optimizer.js.map +0 -1
  392. package/dist/reasoning/memory-optimizer.mjs +0 -326
  393. package/dist/reasoning/pattern-matcher.d.ts +0 -59
  394. package/dist/reasoning/pattern-matcher.d.ts.map +0 -1
  395. package/dist/reasoning/pattern-matcher.js +0 -229
  396. package/dist/reasoning/pattern-matcher.js.map +0 -1
  397. package/dist/reasoning/pattern-matcher.mjs +0 -224
  398. package/dist/reasoningbank/adapter/agentdb-adapter.d.ts +0 -118
  399. package/dist/reasoningbank/adapter/agentdb-adapter.d.ts.map +0 -1
  400. package/dist/reasoningbank/adapter/agentdb-adapter.js +0 -477
  401. package/dist/reasoningbank/adapter/agentdb-adapter.js.map +0 -1
  402. package/dist/reasoningbank/adapter/types.d.ts +0 -113
  403. package/dist/reasoningbank/adapter/types.d.ts.map +0 -1
  404. package/dist/reasoningbank/adapter/types.js +0 -9
  405. package/dist/reasoningbank/adapter/types.js.map +0 -1
  406. package/dist/reasoningbank/cli/commands.d.ts +0 -16
  407. package/dist/reasoningbank/cli/commands.d.ts.map +0 -1
  408. package/dist/reasoningbank/cli/commands.js +0 -272
  409. package/dist/reasoningbank/cli/commands.js.map +0 -1
  410. package/dist/reasoningbank/mcp/agentdb-tools.d.ts +0 -319
  411. package/dist/reasoningbank/mcp/agentdb-tools.d.ts.map +0 -1
  412. package/dist/reasoningbank/mcp/agentdb-tools.js +0 -301
  413. package/dist/reasoningbank/mcp/agentdb-tools.js.map +0 -1
  414. package/dist/reasoningbank/migration/migrate.d.ts +0 -25
  415. package/dist/reasoningbank/migration/migrate.d.ts.map +0 -1
  416. package/dist/reasoningbank/migration/migrate.js +0 -178
  417. package/dist/reasoningbank/migration/migrate.js.map +0 -1
  418. package/dist/reasoningbank/reasoning/context-synthesizer.d.ts +0 -37
  419. package/dist/reasoningbank/reasoning/context-synthesizer.d.ts.map +0 -1
  420. package/dist/reasoningbank/reasoning/context-synthesizer.js +0 -114
  421. package/dist/reasoningbank/reasoning/context-synthesizer.js.map +0 -1
  422. package/dist/reasoningbank/reasoning/experience-curator.d.ts +0 -39
  423. package/dist/reasoningbank/reasoning/experience-curator.d.ts.map +0 -1
  424. package/dist/reasoningbank/reasoning/experience-curator.js +0 -98
  425. package/dist/reasoningbank/reasoning/experience-curator.js.map +0 -1
  426. package/dist/reasoningbank/reasoning/memory-optimizer.d.ts +0 -44
  427. package/dist/reasoningbank/reasoning/memory-optimizer.d.ts.map +0 -1
  428. package/dist/reasoningbank/reasoning/memory-optimizer.js +0 -184
  429. package/dist/reasoningbank/reasoning/memory-optimizer.js.map +0 -1
  430. package/dist/reasoningbank/reasoning/pattern-matcher.d.ts +0 -40
  431. package/dist/reasoningbank/reasoning/pattern-matcher.d.ts.map +0 -1
  432. package/dist/reasoningbank/reasoning/pattern-matcher.js +0 -87
  433. package/dist/reasoningbank/reasoning/pattern-matcher.js.map +0 -1
  434. package/dist/reasoningbank/sync/quic-sync.d.ts +0 -77
  435. package/dist/reasoningbank/sync/quic-sync.d.ts.map +0 -1
  436. package/dist/reasoningbank/sync/quic-sync.js +0 -165
  437. package/dist/reasoningbank/sync/quic-sync.js.map +0 -1
  438. package/dist/sync/conflict.d.ts +0 -78
  439. package/dist/sync/conflict.d.ts.map +0 -1
  440. package/dist/sync/conflict.js +0 -202
  441. package/dist/sync/conflict.js.map +0 -1
  442. package/dist/sync/conflict.mjs +0 -196
  443. package/dist/sync/coordinator.d.ts +0 -111
  444. package/dist/sync/coordinator.d.ts.map +0 -1
  445. package/dist/sync/coordinator.js +0 -256
  446. package/dist/sync/coordinator.js.map +0 -1
  447. package/dist/sync/coordinator.mjs +0 -250
  448. package/dist/sync/delta.d.ts +0 -81
  449. package/dist/sync/delta.d.ts.map +0 -1
  450. package/dist/sync/delta.js +0 -245
  451. package/dist/sync/delta.js.map +0 -1
  452. package/dist/sync/delta.mjs +0 -238
  453. package/dist/sync/index.d.ts +0 -11
  454. package/dist/sync/index.d.ts.map +0 -1
  455. package/dist/sync/index.js +0 -22
  456. package/dist/sync/index.js.map +0 -1
  457. package/dist/sync/index.mjs +0 -9
  458. package/dist/sync/quic-sync.d.ts +0 -81
  459. package/dist/sync/quic-sync.d.ts.map +0 -1
  460. package/dist/sync/quic-sync.js +0 -329
  461. package/dist/sync/quic-sync.js.map +0 -1
  462. package/dist/sync/quic-sync.mjs +0 -323
  463. package/dist/sync/types.d.ts +0 -168
  464. package/dist/sync/types.d.ts.map +0 -1
  465. package/dist/sync/types.js +0 -8
  466. package/dist/sync/types.js.map +0 -1
  467. package/dist/sync/types.mjs +0 -6
  468. package/dist/types/index.d.ts +0 -117
  469. package/dist/types/index.d.ts.map +0 -1
  470. package/dist/types/index.js +0 -6
  471. package/dist/types/index.js.map +0 -1
  472. package/dist/types/index.mjs +0 -4
  473. package/dist/wasm/sql-wasm-debug.js +0 -6989
  474. package/dist/wasm/sql-wasm-debug.wasm +0 -0
  475. package/dist/wasm/sql-wasm.js +0 -188
  476. package/dist/wasm/sql-wasm.wasm +0 -0
  477. package/dist/wasm-loader.d.ts +0 -32
  478. package/dist/wasm-loader.d.ts.map +0 -1
  479. package/dist/wasm-loader.js +0 -78
  480. package/dist/wasm-loader.js.map +0 -1
  481. package/dist/wasm-loader.mjs +0 -67
  482. package/examples/adaptive-learning.ts +0 -284
  483. package/examples/browser/README.md +0 -732
  484. package/examples/browser/adaptive-recommendations/index.html +0 -427
  485. package/examples/browser/collaborative-filtering/index.html +0 -310
  486. package/examples/browser/continual-learning/index.html +0 -736
  487. package/examples/browser/experience-replay/index.html +0 -616
  488. package/examples/browser/index.html +0 -369
  489. package/examples/browser/meta-learning/index.html +0 -789
  490. package/examples/browser/neuro-symbolic/index.html +0 -692
  491. package/examples/browser/pattern-learning/index.html +0 -620
  492. package/examples/browser/quantum-inspired/index.html +0 -728
  493. package/examples/browser/rag/index.html +0 -624
  494. package/examples/browser/swarm-intelligence/index.html +0 -811
  495. package/examples/browser-basic.html +0 -170
  496. package/examples/browser-wasm-real.html +0 -231
  497. package/examples/hnsw-example.ts +0 -148
  498. package/examples/mcp-learning-example.ts +0 -220
  499. package/examples/node-basic.js +0 -70
  500. package/examples/quic-sync-example.ts +0 -310
  501. package/examples/quick-start.js +0 -68
  502. package/examples/test-v1.0.7-cdn.html +0 -190
  503. package/examples/wasm-example.ts +0 -222
@@ -1,270 +0,0 @@
1
- "use strict";
2
- /**
3
- * Core SQLiteVector database implementation with backend abstraction
4
- * Supports both native (better-sqlite3) and WASM (sql.js) backends
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SQLiteVectorDB = void 0;
8
- const backend_interface_1 = require("./backend-interface");
9
- const wasm_backend_1 = require("./wasm-backend");
10
- const query_cache_1 = require("../cache/query-cache");
11
- const product_quantization_1 = require("../quantization/product-quantization");
12
- const query_builder_1 = require("../query/query-builder");
13
- // Dynamic import for NativeBackend to avoid bundling better-sqlite3 in browser builds
14
- let NativeBackend = null;
15
- class SQLiteVectorDB {
16
- constructor(config = {}) {
17
- // If path is provided but memoryMode not specified, default to file mode
18
- if (config.path && config.memoryMode === undefined) {
19
- config.memoryMode = false;
20
- }
21
- // Determine backend type
22
- this.backendType = this.detectBackend(config);
23
- // Create appropriate backend
24
- this.backend = this.createBackend(this.backendType);
25
- // Initialize query cache if enabled
26
- if (config.queryCache?.enabled !== false) {
27
- this.queryCache = new query_cache_1.QueryCache(config.queryCache);
28
- }
29
- // Initialize quantizer if enabled
30
- if (config.quantization?.enabled) {
31
- this.quantizer = new product_quantization_1.ProductQuantizer(config.quantization);
32
- }
33
- // Initialize backend
34
- if (this.backendType === backend_interface_1.BackendType.WASM) {
35
- // WASM backend requires async initialization
36
- // Store config for later async init
37
- this.backend._pendingConfig = config;
38
- }
39
- else {
40
- // Native backend can initialize synchronously
41
- this.backend.initialize(config);
42
- }
43
- }
44
- /**
45
- * Detect appropriate backend based on environment and configuration
46
- */
47
- detectBackend(config) {
48
- // Explicit backend selection
49
- if (config.backend) {
50
- return config.backend;
51
- }
52
- // Auto-detect based on environment
53
- if (typeof window !== 'undefined' || typeof process === 'undefined') {
54
- // Browser environment
55
- return backend_interface_1.BackendType.WASM;
56
- }
57
- // Node.js environment - default to NATIVE, will fallback to WASM if not available
58
- return backend_interface_1.BackendType.NATIVE;
59
- }
60
- /**
61
- * Create backend instance
62
- */
63
- createBackend(type) {
64
- switch (type) {
65
- case backend_interface_1.BackendType.NATIVE:
66
- // Lazy load NativeBackend only when needed (Node.js environment)
67
- if (!NativeBackend) {
68
- try {
69
- NativeBackend = require('./native-backend').NativeBackend;
70
- }
71
- catch (error) {
72
- throw new Error('NativeBackend not available. Install better-sqlite3 or use WASM backend.');
73
- }
74
- }
75
- return new NativeBackend();
76
- case backend_interface_1.BackendType.WASM:
77
- return new wasm_backend_1.WasmBackend();
78
- default:
79
- throw new Error(`Unsupported backend type: ${type}`);
80
- }
81
- }
82
- /**
83
- * Async initialization for WASM backend
84
- * Must be called after constructor if using WASM backend
85
- */
86
- async initializeAsync(config) {
87
- if (this.backendType === backend_interface_1.BackendType.WASM) {
88
- const wasmBackend = this.backend;
89
- const finalConfig = config || wasmBackend._pendingConfig || {};
90
- await wasmBackend.initializeAsync(finalConfig);
91
- delete wasmBackend._pendingConfig;
92
- }
93
- }
94
- /**
95
- * Get backend type
96
- */
97
- getBackendType() {
98
- return this.backendType;
99
- }
100
- /**
101
- * Check if backend is initialized
102
- */
103
- isInitialized() {
104
- if (this.backendType === backend_interface_1.BackendType.WASM) {
105
- return this.backend.isInitialized();
106
- }
107
- return this.backend.isInitialized();
108
- }
109
- /**
110
- * Insert a single vector
111
- */
112
- insert(vector) {
113
- return this.backend.insert(vector);
114
- }
115
- /**
116
- * Insert multiple vectors in a transaction
117
- */
118
- insertBatch(vectors) {
119
- return this.backend.insertBatch(vectors);
120
- }
121
- /**
122
- * Search for k-nearest neighbors with optional caching
123
- */
124
- search(queryEmbedding, k = 5, metric = 'cosine', threshold = 0.0) {
125
- // Check cache if enabled
126
- if (this.queryCache) {
127
- const cacheKey = query_cache_1.QueryCache.generateKey(queryEmbedding, k, metric, threshold);
128
- const cached = this.queryCache.get(cacheKey);
129
- if (cached) {
130
- return cached;
131
- }
132
- // Cache miss - perform search and cache result
133
- const results = this.backend.search(queryEmbedding, k, metric, threshold);
134
- this.queryCache.set(cacheKey, results);
135
- return results;
136
- }
137
- // No cache - perform search directly
138
- return this.backend.search(queryEmbedding, k, metric, threshold);
139
- }
140
- /**
141
- * Get vector by ID
142
- */
143
- get(id) {
144
- return this.backend.get(id);
145
- }
146
- /**
147
- * Delete vector by ID
148
- */
149
- delete(id) {
150
- return this.backend.delete(id);
151
- }
152
- /**
153
- * Get database statistics
154
- */
155
- stats() {
156
- return this.backend.stats();
157
- }
158
- /**
159
- * Close database connection
160
- */
161
- close() {
162
- this.backend.close();
163
- }
164
- /**
165
- * Export database to binary format (WASM only)
166
- */
167
- export() {
168
- if (this.backend.export) {
169
- return this.backend.export();
170
- }
171
- throw new Error('Export not supported by current backend');
172
- }
173
- /**
174
- * Import database from binary format (WASM only)
175
- */
176
- async importAsync(data) {
177
- if (this.backendType === backend_interface_1.BackendType.WASM) {
178
- await this.backend.importAsync(data);
179
- }
180
- else {
181
- throw new Error('Import not supported by native backend');
182
- }
183
- }
184
- /**
185
- * Get raw backend instance (for advanced usage)
186
- */
187
- getBackend() {
188
- return this.backend;
189
- }
190
- /**
191
- * Get raw database instance (for advanced usage with native backend)
192
- * @deprecated Use getBackend() instead for cross-backend compatibility
193
- */
194
- getDatabase() {
195
- if (this.backendType === backend_interface_1.BackendType.NATIVE) {
196
- return this.backend.getDatabase();
197
- }
198
- throw new Error('getDatabase() only supported on native backend. Use getBackend() instead.');
199
- }
200
- /**
201
- * Get query cache instance
202
- */
203
- getQueryCache() {
204
- return this.queryCache;
205
- }
206
- /**
207
- * Get query cache statistics
208
- */
209
- getCacheStats() {
210
- return this.queryCache?.getStats();
211
- }
212
- /**
213
- * Clear query cache
214
- */
215
- clearCache() {
216
- this.queryCache?.clear();
217
- }
218
- /**
219
- * Get quantizer instance
220
- */
221
- getQuantizer() {
222
- return this.quantizer;
223
- }
224
- /**
225
- * Train quantizer with existing vectors
226
- */
227
- async trainQuantizer() {
228
- if (!this.quantizer) {
229
- throw new Error('Quantization not enabled');
230
- }
231
- // Get all vectors from database
232
- const allStats = this.stats();
233
- if (allStats.count === 0) {
234
- throw new Error('No vectors to train quantizer');
235
- }
236
- // Fetch all embeddings (simplified - in production, batch this)
237
- const vectors = [];
238
- // Note: This would need backend support to efficiently fetch all embeddings
239
- console.log('Training quantizer with existing vectors...');
240
- await this.quantizer.train(vectors);
241
- console.log('Quantizer training complete');
242
- }
243
- /**
244
- * Get compression statistics (if quantization enabled)
245
- */
246
- getCompressionStats() {
247
- return this.quantizer?.getStats();
248
- }
249
- /**
250
- * Create a fluent query builder for complex queries
251
- *
252
- * @returns VectorQueryBuilder instance
253
- *
254
- * @example
255
- * ```typescript
256
- * const results = await db.query()
257
- * .similarTo(queryVector)
258
- * .where('metadata.category', '=', 'tech')
259
- * .whereBetween('metadata.year', 2020, 2024)
260
- * .orderBySimilarity('desc')
261
- * .limit(10)
262
- * .execute();
263
- * ```
264
- */
265
- query() {
266
- return new query_builder_1.VectorQueryBuilder(this);
267
- }
268
- }
269
- exports.SQLiteVectorDB = SQLiteVectorDB;
270
- //# sourceMappingURL=vector-db.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-db.js","sourceRoot":"","sources":["../../src/core/vector-db.ts"],"names":[],"mappings":"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"}
@@ -1,265 +0,0 @@
1
- /**
2
- * Core SQLiteVector database implementation with backend abstraction
3
- * Supports both native (better-sqlite3) and WASM (sql.js) backends
4
- */
5
- import { BackendType } from './backend-interface.mjs';
6
- import { WasmBackend } from './wasm-backend.mjs';
7
- import { QueryCache } from '../cache/query-cache.mjs';
8
- import { ProductQuantizer } from '../quantization/product-quantization.mjs';
9
- import { VectorQueryBuilder } from '../query/query-builder.mjs';
10
- // Dynamic import for NativeBackend to avoid bundling better-sqlite3 in browser builds
11
- let NativeBackend = null;
12
- export class SQLiteVectorDB {
13
- constructor(config = {}) {
14
- // If path is provided but memoryMode not specified, default to file mode
15
- if (config.path && config.memoryMode === undefined) {
16
- config.memoryMode = false;
17
- }
18
- // Determine backend type
19
- this.backendType = this.detectBackend(config);
20
- // Create appropriate backend
21
- this.backend = this.createBackend(this.backendType);
22
- // Initialize query cache if enabled
23
- if (config.queryCache?.enabled !== false) {
24
- this.queryCache = new QueryCache(config.queryCache);
25
- }
26
- // Initialize quantizer if enabled
27
- if (config.quantization?.enabled) {
28
- this.quantizer = new ProductQuantizer(config.quantization);
29
- }
30
- // Initialize backend
31
- if (this.backendType === BackendType.WASM) {
32
- // WASM backend requires async initialization
33
- // Store config for later async init
34
- this.backend._pendingConfig = config;
35
- }
36
- else {
37
- // Native backend can initialize synchronously
38
- this.backend.initialize(config);
39
- }
40
- }
41
- /**
42
- * Detect appropriate backend based on environment and configuration
43
- */
44
- detectBackend(config) {
45
- // Explicit backend selection
46
- if (config.backend) {
47
- return config.backend;
48
- }
49
- // Auto-detect based on environment
50
- if (typeof window !== 'undefined' || typeof process === 'undefined') {
51
- // Browser environment
52
- return BackendType.WASM;
53
- }
54
- // Node.js environment - default to NATIVE, will fallback to WASM if not available
55
- return BackendType.NATIVE;
56
- }
57
- /**
58
- * Create backend instance
59
- */
60
- createBackend(type) {
61
- switch (type) {
62
- case BackendType.NATIVE:
63
- // Lazy load NativeBackend only when needed (Node.js environment)
64
- if (!NativeBackend) {
65
- try {
66
- NativeBackend = require('./native-backend').NativeBackend;
67
- }
68
- catch (error) {
69
- throw new Error('NativeBackend not available. Install better-sqlite3 or use WASM backend.');
70
- }
71
- }
72
- return new NativeBackend();
73
- case BackendType.WASM:
74
- return new WasmBackend();
75
- default:
76
- throw new Error(`Unsupported backend type: ${type}`);
77
- }
78
- }
79
- /**
80
- * Async initialization for WASM backend
81
- * Must be called after constructor if using WASM backend
82
- */
83
- async initializeAsync(config) {
84
- if (this.backendType === BackendType.WASM) {
85
- const wasmBackend = this.backend;
86
- const finalConfig = config || wasmBackend._pendingConfig || {};
87
- await wasmBackend.initializeAsync(finalConfig);
88
- delete wasmBackend._pendingConfig;
89
- }
90
- }
91
- /**
92
- * Get backend type
93
- */
94
- getBackendType() {
95
- return this.backendType;
96
- }
97
- /**
98
- * Check if backend is initialized
99
- */
100
- isInitialized() {
101
- if (this.backendType === BackendType.WASM) {
102
- return this.backend.isInitialized();
103
- }
104
- return this.backend.isInitialized();
105
- }
106
- /**
107
- * Insert a single vector
108
- */
109
- insert(vector) {
110
- return this.backend.insert(vector);
111
- }
112
- /**
113
- * Insert multiple vectors in a transaction
114
- */
115
- insertBatch(vectors) {
116
- return this.backend.insertBatch(vectors);
117
- }
118
- /**
119
- * Search for k-nearest neighbors with optional caching
120
- */
121
- search(queryEmbedding, k = 5, metric = 'cosine', threshold = 0.0) {
122
- // Check cache if enabled
123
- if (this.queryCache) {
124
- const cacheKey = QueryCache.generateKey(queryEmbedding, k, metric, threshold);
125
- const cached = this.queryCache.get(cacheKey);
126
- if (cached) {
127
- return cached;
128
- }
129
- // Cache miss - perform search and cache result
130
- const results = this.backend.search(queryEmbedding, k, metric, threshold);
131
- this.queryCache.set(cacheKey, results);
132
- return results;
133
- }
134
- // No cache - perform search directly
135
- return this.backend.search(queryEmbedding, k, metric, threshold);
136
- }
137
- /**
138
- * Get vector by ID
139
- */
140
- get(id) {
141
- return this.backend.get(id);
142
- }
143
- /**
144
- * Delete vector by ID
145
- */
146
- delete(id) {
147
- return this.backend.delete(id);
148
- }
149
- /**
150
- * Get database statistics
151
- */
152
- stats() {
153
- return this.backend.stats();
154
- }
155
- /**
156
- * Close database connection
157
- */
158
- close() {
159
- this.backend.close();
160
- }
161
- /**
162
- * Export database to binary format (WASM only)
163
- */
164
- export() {
165
- if (this.backend.export) {
166
- return this.backend.export();
167
- }
168
- throw new Error('Export not supported by current backend');
169
- }
170
- /**
171
- * Import database from binary format (WASM only)
172
- */
173
- async importAsync(data) {
174
- if (this.backendType === BackendType.WASM) {
175
- await this.backend.importAsync(data);
176
- }
177
- else {
178
- throw new Error('Import not supported by native backend');
179
- }
180
- }
181
- /**
182
- * Get raw backend instance (for advanced usage)
183
- */
184
- getBackend() {
185
- return this.backend;
186
- }
187
- /**
188
- * Get raw database instance (for advanced usage with native backend)
189
- * @deprecated Use getBackend() instead for cross-backend compatibility
190
- */
191
- getDatabase() {
192
- if (this.backendType === BackendType.NATIVE) {
193
- return this.backend.getDatabase();
194
- }
195
- throw new Error('getDatabase() only supported on native backend. Use getBackend() instead.');
196
- }
197
- /**
198
- * Get query cache instance
199
- */
200
- getQueryCache() {
201
- return this.queryCache;
202
- }
203
- /**
204
- * Get query cache statistics
205
- */
206
- getCacheStats() {
207
- return this.queryCache?.getStats();
208
- }
209
- /**
210
- * Clear query cache
211
- */
212
- clearCache() {
213
- this.queryCache?.clear();
214
- }
215
- /**
216
- * Get quantizer instance
217
- */
218
- getQuantizer() {
219
- return this.quantizer;
220
- }
221
- /**
222
- * Train quantizer with existing vectors
223
- */
224
- async trainQuantizer() {
225
- if (!this.quantizer) {
226
- throw new Error('Quantization not enabled');
227
- }
228
- // Get all vectors from database
229
- const allStats = this.stats();
230
- if (allStats.count === 0) {
231
- throw new Error('No vectors to train quantizer');
232
- }
233
- // Fetch all embeddings (simplified - in production, batch this)
234
- const vectors = [];
235
- // Note: This would need backend support to efficiently fetch all embeddings
236
- console.log('Training quantizer with existing vectors...');
237
- await this.quantizer.train(vectors);
238
- console.log('Quantizer training complete');
239
- }
240
- /**
241
- * Get compression statistics (if quantization enabled)
242
- */
243
- getCompressionStats() {
244
- return this.quantizer?.getStats();
245
- }
246
- /**
247
- * Create a fluent query builder for complex queries
248
- *
249
- * @returns VectorQueryBuilder instance
250
- *
251
- * @example
252
- * ```typescript
253
- * const results = await db.query()
254
- * .similarTo(queryVector)
255
- * .where('metadata.category', '=', 'tech')
256
- * .whereBetween('metadata.year', 2020, 2024)
257
- * .orderBySimilarity('desc')
258
- * .limit(10)
259
- * .execute();
260
- * ```
261
- */
262
- query() {
263
- return new VectorQueryBuilder(this);
264
- }
265
- }
@@ -1,96 +0,0 @@
1
- /**
2
- * WASM backend implementation using sql.js
3
- * Provides browser-compatible vector database operations
4
- */
5
- import { Vector, SearchResult, SimilarityMetric, DatabaseConfig } from '../types';
6
- import { VectorBackend } from './backend-interface';
7
- /**
8
- * WASM backend using sql.js
9
- * Runs in both Node.js and browser environments
10
- */
11
- export declare class WasmBackend implements VectorBackend {
12
- private SQL;
13
- private db;
14
- private initialized;
15
- /**
16
- * Initialize the WASM backend
17
- */
18
- initializeAsync(config?: DatabaseConfig): Promise<void>;
19
- /**
20
- * Synchronous initialization (throws if not already initialized)
21
- */
22
- initialize(config?: DatabaseConfig): void;
23
- /**
24
- * Initialize database schema
25
- */
26
- private initializeSchema;
27
- /**
28
- * Register custom SQL functions for similarity calculations
29
- */
30
- private registerCustomFunctions;
31
- /**
32
- * Calculate L2 norm of a vector
33
- */
34
- private calculateNorm;
35
- /**
36
- * Serialize embedding to Uint8Array (binary format)
37
- */
38
- private serializeEmbedding;
39
- /**
40
- * Deserialize embedding from Uint8Array
41
- */
42
- private deserializeEmbedding;
43
- /**
44
- * Generate unique ID
45
- */
46
- private generateId;
47
- /**
48
- * Insert a single vector
49
- */
50
- insert(vector: Vector): string;
51
- /**
52
- * Insert multiple vectors in a transaction with optimized batch processing
53
- * Performance improvements:
54
- * - Single transaction for all inserts
55
- * - Prepared statement created once and reused
56
- * - No wrapper function overhead
57
- * - Chunked processing for large batches
58
- */
59
- insertBatch(vectors: Vector[]): string[];
60
- /**
61
- * Search for k-nearest neighbors
62
- */
63
- search(queryEmbedding: number[], k?: number, metric?: SimilarityMetric, threshold?: number): SearchResult[];
64
- /**
65
- * Get vector by ID
66
- */
67
- get(id: string): Vector | null;
68
- /**
69
- * Delete vector by ID
70
- */
71
- delete(id: string): boolean;
72
- /**
73
- * Get database statistics
74
- */
75
- stats(): {
76
- count: number;
77
- size: number;
78
- };
79
- /**
80
- * Export database to binary format (for persistence)
81
- */
82
- export(): Uint8Array;
83
- /**
84
- * Import database from binary format
85
- */
86
- importAsync(data: Uint8Array): Promise<void>;
87
- /**
88
- * Close database and cleanup resources
89
- */
90
- close(): void;
91
- /**
92
- * Check if backend is initialized
93
- */
94
- isInitialized(): boolean;
95
- }
96
- //# sourceMappingURL=wasm-backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm-backend.d.ts","sourceRoot":"","sources":["../../src/core/wasm-backend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,WAAY,YAAW,aAAa;IAC/C,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;IACG,eAAe,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjE;;OAEG;IACH,UAAU,CAAC,MAAM,GAAE,cAAmB,GAAG,IAAI;IAM7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+C/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAiB9B;;;;;;;OAOG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA2DxC;;OAEG;IACH,MAAM,CACJ,cAAc,EAAE,MAAM,EAAE,EACxB,CAAC,GAAE,MAAU,EACb,MAAM,GAAE,gBAA2B,EACnC,SAAS,GAAE,MAAY,GACtB,YAAY,EAAE;IA6EjB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuB9B;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAY3B;;OAEG;IACH,KAAK,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAiBxC;;OAEG;IACH,MAAM,IAAI,UAAU;IAKpB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,aAAa,IAAI,OAAO;CAGzB"}