agentdb 1.0.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 (361) hide show
  1. package/LICENSE +38 -0
  2. package/LICENSE-APACHE +190 -0
  3. package/LICENSE-MIT +21 -0
  4. package/README.md +953 -0
  5. package/bin/agentdb.js +485 -0
  6. package/bin/plugin-cli-wrapper.mjs +21 -0
  7. package/dist/cache/query-cache.d.ts +105 -0
  8. package/dist/cache/query-cache.d.ts.map +1 -0
  9. package/dist/cache/query-cache.js +224 -0
  10. package/dist/cache/query-cache.js.map +1 -0
  11. package/dist/cache/query-cache.mjs +219 -0
  12. package/dist/cli/cache/query-cache.d.ts +104 -0
  13. package/dist/cli/cache/query-cache.js +244 -0
  14. package/dist/cli/cli/db-commands.d.ts +48 -0
  15. package/dist/cli/cli/db-commands.js +613 -0
  16. package/dist/cli/commands.d.ts +7 -0
  17. package/dist/cli/commands.d.ts.map +1 -0
  18. package/dist/cli/commands.js +113 -0
  19. package/dist/cli/commands.js.map +1 -0
  20. package/dist/cli/commands.mjs +104 -0
  21. package/dist/cli/core/backend-interface.d.ts +70 -0
  22. package/dist/cli/core/backend-interface.js +15 -0
  23. package/dist/cli/core/native-backend.d.ts +140 -0
  24. package/dist/cli/core/native-backend.js +432 -0
  25. package/dist/cli/core/vector-db.d.ts +126 -0
  26. package/dist/cli/core/vector-db.js +338 -0
  27. package/dist/cli/core/wasm-backend.d.ts +95 -0
  28. package/dist/cli/core/wasm-backend.js +418 -0
  29. package/dist/cli/db-commands.d.ts +49 -0
  30. package/dist/cli/db-commands.d.ts.map +1 -0
  31. package/dist/cli/db-commands.js +533 -0
  32. package/dist/cli/db-commands.js.map +1 -0
  33. package/dist/cli/db-commands.mjs +522 -0
  34. package/dist/cli/generator.d.ts +11 -0
  35. package/dist/cli/generator.d.ts.map +1 -0
  36. package/dist/cli/generator.js +567 -0
  37. package/dist/cli/generator.js.map +1 -0
  38. package/dist/cli/generator.mjs +527 -0
  39. package/dist/cli/help.d.ts +18 -0
  40. package/dist/cli/help.d.ts.map +1 -0
  41. package/dist/cli/help.js +676 -0
  42. package/dist/cli/help.js.map +1 -0
  43. package/dist/cli/help.mjs +667 -0
  44. package/dist/cli/index/hnsw.d.ts +164 -0
  45. package/dist/cli/index/hnsw.js +558 -0
  46. package/dist/cli/plugin-cli.d.ts +7 -0
  47. package/dist/cli/plugin-cli.d.ts.map +1 -0
  48. package/dist/cli/plugin-cli.js +295 -0
  49. package/dist/cli/plugin-cli.js.map +1 -0
  50. package/dist/cli/plugin-cli.mjs +289 -0
  51. package/dist/cli/quantization/product-quantization.d.ts +108 -0
  52. package/dist/cli/quantization/product-quantization.js +350 -0
  53. package/dist/cli/query/query-builder.d.ts +322 -0
  54. package/dist/cli/query/query-builder.js +600 -0
  55. package/dist/cli/templates.d.ts +14 -0
  56. package/dist/cli/templates.d.ts.map +1 -0
  57. package/dist/cli/templates.js +182 -0
  58. package/dist/cli/templates.js.map +1 -0
  59. package/dist/cli/templates.mjs +176 -0
  60. package/dist/cli/types/index.d.ts +116 -0
  61. package/dist/cli/types/index.js +5 -0
  62. package/dist/cli/types.d.ts +91 -0
  63. package/dist/cli/types.d.ts.map +1 -0
  64. package/dist/cli/types.js +6 -0
  65. package/dist/cli/types.js.map +1 -0
  66. package/dist/cli/types.mjs +4 -0
  67. package/dist/cli/wizard/index.d.ts +6 -0
  68. package/dist/cli/wizard/index.d.ts.map +1 -0
  69. package/dist/cli/wizard/index.js +138 -0
  70. package/dist/cli/wizard/index.js.map +1 -0
  71. package/dist/cli/wizard/index.mjs +131 -0
  72. package/dist/cli/wizard/prompts.d.ts +11 -0
  73. package/dist/cli/wizard/prompts.d.ts.map +1 -0
  74. package/dist/cli/wizard/prompts.js +482 -0
  75. package/dist/cli/wizard/prompts.js.map +1 -0
  76. package/dist/cli/wizard/prompts.mjs +470 -0
  77. package/dist/cli/wizard/validator.d.ts +13 -0
  78. package/dist/cli/wizard/validator.d.ts.map +1 -0
  79. package/dist/cli/wizard/validator.js +234 -0
  80. package/dist/cli/wizard/validator.js.map +1 -0
  81. package/dist/cli/wizard/validator.mjs +224 -0
  82. package/dist/core/backend-interface.d.ts +71 -0
  83. package/dist/core/backend-interface.d.ts.map +1 -0
  84. package/dist/core/backend-interface.js +16 -0
  85. package/dist/core/backend-interface.js.map +1 -0
  86. package/dist/core/backend-interface.mjs +12 -0
  87. package/dist/core/native-backend.d.ts +141 -0
  88. package/dist/core/native-backend.d.ts.map +1 -0
  89. package/dist/core/native-backend.js +457 -0
  90. package/dist/core/native-backend.js.map +1 -0
  91. package/dist/core/native-backend.mjs +449 -0
  92. package/dist/core/vector-db.d.ts +127 -0
  93. package/dist/core/vector-db.d.ts.map +1 -0
  94. package/dist/core/vector-db.js +266 -0
  95. package/dist/core/vector-db.js.map +1 -0
  96. package/dist/core/vector-db.mjs +261 -0
  97. package/dist/core/wasm-backend.d.ts +96 -0
  98. package/dist/core/wasm-backend.d.ts.map +1 -0
  99. package/dist/core/wasm-backend.js +393 -0
  100. package/dist/core/wasm-backend.js.map +1 -0
  101. package/dist/core/wasm-backend.mjs +385 -0
  102. package/dist/index/hnsw-optimized.d.ts +75 -0
  103. package/dist/index/hnsw-optimized.d.ts.map +1 -0
  104. package/dist/index/hnsw-optimized.js +412 -0
  105. package/dist/index/hnsw-optimized.js.map +1 -0
  106. package/dist/index/hnsw-optimized.mjs +407 -0
  107. package/dist/index/hnsw.d.ts +165 -0
  108. package/dist/index/hnsw.d.ts.map +1 -0
  109. package/dist/index/hnsw.js +521 -0
  110. package/dist/index/hnsw.js.map +1 -0
  111. package/dist/index/hnsw.mjs +516 -0
  112. package/dist/index.d.ts +57 -0
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +82 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/index.mjs +63 -0
  117. package/dist/mcp-server.d.ts +27 -0
  118. package/dist/mcp-server.d.ts.map +1 -0
  119. package/dist/mcp-server.js +789 -0
  120. package/dist/mcp-server.js.map +1 -0
  121. package/dist/mcp-server.mjs +784 -0
  122. package/dist/plugins/base-plugin.d.ts +114 -0
  123. package/dist/plugins/base-plugin.d.ts.map +1 -0
  124. package/dist/plugins/base-plugin.js +313 -0
  125. package/dist/plugins/base-plugin.js.map +1 -0
  126. package/dist/plugins/base-plugin.mjs +275 -0
  127. package/dist/plugins/implementations/active-learning.d.ts +135 -0
  128. package/dist/plugins/implementations/active-learning.d.ts.map +1 -0
  129. package/dist/plugins/implementations/active-learning.js +372 -0
  130. package/dist/plugins/implementations/active-learning.js.map +1 -0
  131. package/dist/plugins/implementations/active-learning.mjs +367 -0
  132. package/dist/plugins/implementations/actor-critic.d.ts +64 -0
  133. package/dist/plugins/implementations/actor-critic.d.ts.map +1 -0
  134. package/dist/plugins/implementations/actor-critic.js +363 -0
  135. package/dist/plugins/implementations/actor-critic.js.map +1 -0
  136. package/dist/plugins/implementations/actor-critic.mjs +358 -0
  137. package/dist/plugins/implementations/adversarial-training.d.ts +133 -0
  138. package/dist/plugins/implementations/adversarial-training.d.ts.map +1 -0
  139. package/dist/plugins/implementations/adversarial-training.js +409 -0
  140. package/dist/plugins/implementations/adversarial-training.js.map +1 -0
  141. package/dist/plugins/implementations/adversarial-training.mjs +404 -0
  142. package/dist/plugins/implementations/curriculum-learning.d.ts +132 -0
  143. package/dist/plugins/implementations/curriculum-learning.d.ts.map +1 -0
  144. package/dist/plugins/implementations/curriculum-learning.js +354 -0
  145. package/dist/plugins/implementations/curriculum-learning.js.map +1 -0
  146. package/dist/plugins/implementations/curriculum-learning.mjs +349 -0
  147. package/dist/plugins/implementations/decision-transformer.d.ts +77 -0
  148. package/dist/plugins/implementations/decision-transformer.d.ts.map +1 -0
  149. package/dist/plugins/implementations/decision-transformer.js +422 -0
  150. package/dist/plugins/implementations/decision-transformer.js.map +1 -0
  151. package/dist/plugins/implementations/decision-transformer.mjs +417 -0
  152. package/dist/plugins/implementations/federated-learning.d.ts +126 -0
  153. package/dist/plugins/implementations/federated-learning.d.ts.map +1 -0
  154. package/dist/plugins/implementations/federated-learning.js +436 -0
  155. package/dist/plugins/implementations/federated-learning.js.map +1 -0
  156. package/dist/plugins/implementations/federated-learning.mjs +431 -0
  157. package/dist/plugins/implementations/index.d.ts +30 -0
  158. package/dist/plugins/implementations/index.d.ts.map +1 -0
  159. package/dist/plugins/implementations/index.js +45 -0
  160. package/dist/plugins/implementations/index.js.map +1 -0
  161. package/dist/plugins/implementations/index.mjs +31 -0
  162. package/dist/plugins/implementations/multi-task-learning.d.ts +115 -0
  163. package/dist/plugins/implementations/multi-task-learning.d.ts.map +1 -0
  164. package/dist/plugins/implementations/multi-task-learning.js +369 -0
  165. package/dist/plugins/implementations/multi-task-learning.js.map +1 -0
  166. package/dist/plugins/implementations/multi-task-learning.mjs +364 -0
  167. package/dist/plugins/implementations/neural-architecture-search.d.ts +148 -0
  168. package/dist/plugins/implementations/neural-architecture-search.d.ts.map +1 -0
  169. package/dist/plugins/implementations/neural-architecture-search.js +379 -0
  170. package/dist/plugins/implementations/neural-architecture-search.js.map +1 -0
  171. package/dist/plugins/implementations/neural-architecture-search.mjs +374 -0
  172. package/dist/plugins/implementations/q-learning.d.ts +98 -0
  173. package/dist/plugins/implementations/q-learning.d.ts.map +1 -0
  174. package/dist/plugins/implementations/q-learning.js +435 -0
  175. package/dist/plugins/implementations/q-learning.js.map +1 -0
  176. package/dist/plugins/implementations/q-learning.mjs +430 -0
  177. package/dist/plugins/implementations/sarsa.d.ts +103 -0
  178. package/dist/plugins/implementations/sarsa.d.ts.map +1 -0
  179. package/dist/plugins/implementations/sarsa.js +347 -0
  180. package/dist/plugins/implementations/sarsa.js.map +1 -0
  181. package/dist/plugins/implementations/sarsa.mjs +342 -0
  182. package/dist/plugins/index.d.ts +107 -0
  183. package/dist/plugins/index.d.ts.map +1 -0
  184. package/dist/plugins/index.js +179 -0
  185. package/dist/plugins/index.js.map +1 -0
  186. package/dist/plugins/index.mjs +168 -0
  187. package/dist/plugins/interface.d.ts +439 -0
  188. package/dist/plugins/interface.d.ts.map +1 -0
  189. package/dist/plugins/interface.js +12 -0
  190. package/dist/plugins/interface.js.map +1 -0
  191. package/dist/plugins/interface.mjs +10 -0
  192. package/dist/plugins/learning-plugin.interface.d.ts +257 -0
  193. package/dist/plugins/learning-plugin.interface.d.ts.map +1 -0
  194. package/dist/plugins/learning-plugin.interface.js +7 -0
  195. package/dist/plugins/learning-plugin.interface.js.map +1 -0
  196. package/dist/plugins/learning-plugin.interface.mjs +5 -0
  197. package/dist/plugins/plugin-exports.d.ts +71 -0
  198. package/dist/plugins/plugin-exports.d.ts.map +1 -0
  199. package/dist/plugins/plugin-exports.js +78 -0
  200. package/dist/plugins/plugin-exports.js.map +1 -0
  201. package/dist/plugins/plugin-exports.mjs +69 -0
  202. package/dist/plugins/registry.d.ts +206 -0
  203. package/dist/plugins/registry.d.ts.map +1 -0
  204. package/dist/plugins/registry.js +365 -0
  205. package/dist/plugins/registry.js.map +1 -0
  206. package/dist/plugins/registry.mjs +356 -0
  207. package/dist/plugins/validator.d.ts +63 -0
  208. package/dist/plugins/validator.d.ts.map +1 -0
  209. package/dist/plugins/validator.js +464 -0
  210. package/dist/plugins/validator.js.map +1 -0
  211. package/dist/plugins/validator.mjs +458 -0
  212. package/dist/quantization/binary-quantization.d.ts +104 -0
  213. package/dist/quantization/binary-quantization.d.ts.map +1 -0
  214. package/dist/quantization/binary-quantization.js +246 -0
  215. package/dist/quantization/binary-quantization.js.map +1 -0
  216. package/dist/quantization/binary-quantization.mjs +240 -0
  217. package/dist/quantization/optimized-pq.d.ts +138 -0
  218. package/dist/quantization/optimized-pq.d.ts.map +1 -0
  219. package/dist/quantization/optimized-pq.js +320 -0
  220. package/dist/quantization/optimized-pq.js.map +1 -0
  221. package/dist/quantization/optimized-pq.mjs +313 -0
  222. package/dist/quantization/product-quantization.d.ts +109 -0
  223. package/dist/quantization/product-quantization.d.ts.map +1 -0
  224. package/dist/quantization/product-quantization.js +287 -0
  225. package/dist/quantization/product-quantization.js.map +1 -0
  226. package/dist/quantization/product-quantization.mjs +282 -0
  227. package/dist/quantization/scalar-quantization.d.ts +100 -0
  228. package/dist/quantization/scalar-quantization.d.ts.map +1 -0
  229. package/dist/quantization/scalar-quantization.js +324 -0
  230. package/dist/quantization/scalar-quantization.js.map +1 -0
  231. package/dist/quantization/scalar-quantization.mjs +319 -0
  232. package/dist/query/index.d.ts +6 -0
  233. package/dist/query/index.d.ts.map +1 -0
  234. package/dist/query/index.js +9 -0
  235. package/dist/query/index.js.map +1 -0
  236. package/dist/query/index.mjs +4 -0
  237. package/dist/query/query-builder.d.ts +323 -0
  238. package/dist/query/query-builder.d.ts.map +1 -0
  239. package/dist/query/query-builder.js +524 -0
  240. package/dist/query/query-builder.js.map +1 -0
  241. package/dist/query/query-builder.mjs +519 -0
  242. package/dist/reasoning/context-synthesizer.d.ts +57 -0
  243. package/dist/reasoning/context-synthesizer.d.ts.map +1 -0
  244. package/dist/reasoning/context-synthesizer.js +224 -0
  245. package/dist/reasoning/context-synthesizer.js.map +1 -0
  246. package/dist/reasoning/context-synthesizer.mjs +219 -0
  247. package/dist/reasoning/experience-curator.d.ts +66 -0
  248. package/dist/reasoning/experience-curator.d.ts.map +1 -0
  249. package/dist/reasoning/experience-curator.js +288 -0
  250. package/dist/reasoning/experience-curator.js.map +1 -0
  251. package/dist/reasoning/experience-curator.mjs +283 -0
  252. package/dist/reasoning/memory-optimizer.d.ts +69 -0
  253. package/dist/reasoning/memory-optimizer.d.ts.map +1 -0
  254. package/dist/reasoning/memory-optimizer.js +331 -0
  255. package/dist/reasoning/memory-optimizer.js.map +1 -0
  256. package/dist/reasoning/memory-optimizer.mjs +326 -0
  257. package/dist/reasoning/pattern-matcher.d.ts +59 -0
  258. package/dist/reasoning/pattern-matcher.d.ts.map +1 -0
  259. package/dist/reasoning/pattern-matcher.js +229 -0
  260. package/dist/reasoning/pattern-matcher.js.map +1 -0
  261. package/dist/reasoning/pattern-matcher.mjs +224 -0
  262. package/dist/reasoningbank/adapter/agentdb-adapter.d.ts +118 -0
  263. package/dist/reasoningbank/adapter/agentdb-adapter.d.ts.map +1 -0
  264. package/dist/reasoningbank/adapter/agentdb-adapter.js +477 -0
  265. package/dist/reasoningbank/adapter/agentdb-adapter.js.map +1 -0
  266. package/dist/reasoningbank/adapter/types.d.ts +113 -0
  267. package/dist/reasoningbank/adapter/types.d.ts.map +1 -0
  268. package/dist/reasoningbank/adapter/types.js +9 -0
  269. package/dist/reasoningbank/adapter/types.js.map +1 -0
  270. package/dist/reasoningbank/cli/commands.d.ts +16 -0
  271. package/dist/reasoningbank/cli/commands.d.ts.map +1 -0
  272. package/dist/reasoningbank/cli/commands.js +272 -0
  273. package/dist/reasoningbank/cli/commands.js.map +1 -0
  274. package/dist/reasoningbank/mcp/agentdb-tools.d.ts +319 -0
  275. package/dist/reasoningbank/mcp/agentdb-tools.d.ts.map +1 -0
  276. package/dist/reasoningbank/mcp/agentdb-tools.js +301 -0
  277. package/dist/reasoningbank/mcp/agentdb-tools.js.map +1 -0
  278. package/dist/reasoningbank/migration/migrate.d.ts +25 -0
  279. package/dist/reasoningbank/migration/migrate.d.ts.map +1 -0
  280. package/dist/reasoningbank/migration/migrate.js +178 -0
  281. package/dist/reasoningbank/migration/migrate.js.map +1 -0
  282. package/dist/reasoningbank/reasoning/context-synthesizer.d.ts +37 -0
  283. package/dist/reasoningbank/reasoning/context-synthesizer.d.ts.map +1 -0
  284. package/dist/reasoningbank/reasoning/context-synthesizer.js +114 -0
  285. package/dist/reasoningbank/reasoning/context-synthesizer.js.map +1 -0
  286. package/dist/reasoningbank/reasoning/experience-curator.d.ts +39 -0
  287. package/dist/reasoningbank/reasoning/experience-curator.d.ts.map +1 -0
  288. package/dist/reasoningbank/reasoning/experience-curator.js +98 -0
  289. package/dist/reasoningbank/reasoning/experience-curator.js.map +1 -0
  290. package/dist/reasoningbank/reasoning/memory-optimizer.d.ts +44 -0
  291. package/dist/reasoningbank/reasoning/memory-optimizer.d.ts.map +1 -0
  292. package/dist/reasoningbank/reasoning/memory-optimizer.js +184 -0
  293. package/dist/reasoningbank/reasoning/memory-optimizer.js.map +1 -0
  294. package/dist/reasoningbank/reasoning/pattern-matcher.d.ts +40 -0
  295. package/dist/reasoningbank/reasoning/pattern-matcher.d.ts.map +1 -0
  296. package/dist/reasoningbank/reasoning/pattern-matcher.js +87 -0
  297. package/dist/reasoningbank/reasoning/pattern-matcher.js.map +1 -0
  298. package/dist/reasoningbank/sync/quic-sync.d.ts +77 -0
  299. package/dist/reasoningbank/sync/quic-sync.d.ts.map +1 -0
  300. package/dist/reasoningbank/sync/quic-sync.js +165 -0
  301. package/dist/reasoningbank/sync/quic-sync.js.map +1 -0
  302. package/dist/sync/conflict.d.ts +78 -0
  303. package/dist/sync/conflict.d.ts.map +1 -0
  304. package/dist/sync/conflict.js +202 -0
  305. package/dist/sync/conflict.js.map +1 -0
  306. package/dist/sync/conflict.mjs +196 -0
  307. package/dist/sync/coordinator.d.ts +111 -0
  308. package/dist/sync/coordinator.d.ts.map +1 -0
  309. package/dist/sync/coordinator.js +256 -0
  310. package/dist/sync/coordinator.js.map +1 -0
  311. package/dist/sync/coordinator.mjs +250 -0
  312. package/dist/sync/delta.d.ts +81 -0
  313. package/dist/sync/delta.d.ts.map +1 -0
  314. package/dist/sync/delta.js +245 -0
  315. package/dist/sync/delta.js.map +1 -0
  316. package/dist/sync/delta.mjs +238 -0
  317. package/dist/sync/index.d.ts +11 -0
  318. package/dist/sync/index.d.ts.map +1 -0
  319. package/dist/sync/index.js +22 -0
  320. package/dist/sync/index.js.map +1 -0
  321. package/dist/sync/index.mjs +9 -0
  322. package/dist/sync/quic-sync.d.ts +81 -0
  323. package/dist/sync/quic-sync.d.ts.map +1 -0
  324. package/dist/sync/quic-sync.js +329 -0
  325. package/dist/sync/quic-sync.js.map +1 -0
  326. package/dist/sync/quic-sync.mjs +323 -0
  327. package/dist/sync/types.d.ts +168 -0
  328. package/dist/sync/types.d.ts.map +1 -0
  329. package/dist/sync/types.js +8 -0
  330. package/dist/sync/types.js.map +1 -0
  331. package/dist/sync/types.mjs +6 -0
  332. package/dist/types/index.d.ts +117 -0
  333. package/dist/types/index.d.ts.map +1 -0
  334. package/dist/types/index.js +6 -0
  335. package/dist/types/index.js.map +1 -0
  336. package/dist/types/index.mjs +4 -0
  337. package/dist/wasm-loader.d.ts +32 -0
  338. package/dist/wasm-loader.d.ts.map +1 -0
  339. package/dist/wasm-loader.js +75 -0
  340. package/dist/wasm-loader.js.map +1 -0
  341. package/dist/wasm-loader.mjs +64 -0
  342. package/examples/adaptive-learning.ts +284 -0
  343. package/examples/browser/README.md +732 -0
  344. package/examples/browser/adaptive-recommendations/index.html +427 -0
  345. package/examples/browser/collaborative-filtering/index.html +310 -0
  346. package/examples/browser/continual-learning/index.html +736 -0
  347. package/examples/browser/experience-replay/index.html +616 -0
  348. package/examples/browser/index.html +369 -0
  349. package/examples/browser/meta-learning/index.html +789 -0
  350. package/examples/browser/neuro-symbolic/index.html +692 -0
  351. package/examples/browser/pattern-learning/index.html +620 -0
  352. package/examples/browser/quantum-inspired/index.html +728 -0
  353. package/examples/browser/rag/index.html +624 -0
  354. package/examples/browser/swarm-intelligence/index.html +811 -0
  355. package/examples/browser-basic.html +170 -0
  356. package/examples/hnsw-example.ts +148 -0
  357. package/examples/node-basic.js +70 -0
  358. package/examples/quic-sync-example.ts +310 -0
  359. package/examples/quick-start.js +68 -0
  360. package/examples/wasm-example.ts +222 -0
  361. package/package.json +118 -0
@@ -0,0 +1,600 @@
1
+ "use strict";
2
+ /**
3
+ * VectorQueryBuilder - Fluent API for building complex vector search queries
4
+ * Provides type-safe filtering, sorting, and pagination with SQL injection protection
5
+ */
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ var __generator = (this && this.__generator) || function (thisArg, body) {
16
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
17
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18
+ function verb(n) { return function (v) { return step([n, v]); }; }
19
+ function step(op) {
20
+ if (f) throw new TypeError("Generator is already executing.");
21
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
22
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
23
+ if (y = 0, t) op = [op[0] & 2, t.value];
24
+ switch (op[0]) {
25
+ case 0: case 1: t = op; break;
26
+ case 4: _.label++; return { value: op[1], done: false };
27
+ case 5: _.label++; y = op[1]; op = [0]; continue;
28
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
29
+ default:
30
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
31
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
33
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
34
+ if (t[2]) _.ops.pop();
35
+ _.trys.pop(); continue;
36
+ }
37
+ op = body.call(thisArg, _);
38
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
39
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
+ }
41
+ };
42
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
43
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
44
+ if (ar || !(i in from)) {
45
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
46
+ ar[i] = from[i];
47
+ }
48
+ }
49
+ return to.concat(ar || Array.prototype.slice.call(from));
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.VectorQueryBuilder = void 0;
53
+ /**
54
+ * VectorQueryBuilder - Fluent API for complex vector queries
55
+ *
56
+ * @template T - Type of metadata object
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const results = await db.query()
61
+ * .similarTo(queryVector)
62
+ * .where('metadata.category', '=', 'tech')
63
+ * .whereBetween('metadata.year', 2020, 2024)
64
+ * .orderBySimilarity('asc')
65
+ * .limit(10)
66
+ * .execute();
67
+ * ```
68
+ */
69
+ var VectorQueryBuilder = /** @class */ (function () {
70
+ function VectorQueryBuilder(db) {
71
+ this.k = 10;
72
+ this.filters = [];
73
+ this.orders = [];
74
+ this.offsetValue = 0;
75
+ this.metric = 'cosine';
76
+ this.threshold = 0.0;
77
+ this.db = db;
78
+ }
79
+ /**
80
+ * Search for vectors similar to the given vector
81
+ *
82
+ * @param vector - Query vector
83
+ * @param k - Number of results to retrieve (default: 10)
84
+ * @returns this for chaining
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * db.query().similarTo([0.1, 0.2, 0.3], 5)
89
+ * ```
90
+ */
91
+ VectorQueryBuilder.prototype.similarTo = function (vector, k) {
92
+ this.queryVector = vector;
93
+ if (k !== undefined) {
94
+ this.k = k;
95
+ }
96
+ return this;
97
+ };
98
+ /**
99
+ * Search for vectors similar to a vector already in the database
100
+ *
101
+ * @param id - ID of the reference vector
102
+ * @param k - Number of results to retrieve (default: 10)
103
+ * @returns this for chaining
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * db.query().similarToId('vector-123', 5)
108
+ * ```
109
+ */
110
+ VectorQueryBuilder.prototype.similarToId = function (id, k) {
111
+ this.queryId = id;
112
+ if (k !== undefined) {
113
+ this.k = k;
114
+ }
115
+ return this;
116
+ };
117
+ /**
118
+ * Add a filter condition
119
+ *
120
+ * @param field - Field name (use 'metadata.field' for metadata)
121
+ * @param op - Comparison operator
122
+ * @param value - Value to compare against
123
+ * @returns this for chaining
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * db.query()
128
+ * .similarTo(vector)
129
+ * .where('metadata.category', '=', 'tech')
130
+ * .where('metadata.year', '>', 2020)
131
+ * ```
132
+ */
133
+ VectorQueryBuilder.prototype.where = function (field, op, value) {
134
+ var isMetadata = field.startsWith('metadata.');
135
+ this.filters.push({
136
+ field: isMetadata ? field.substring(9) : field, // Remove 'metadata.' prefix
137
+ operator: op,
138
+ value: value,
139
+ isMetadata: isMetadata
140
+ });
141
+ return this;
142
+ };
143
+ /**
144
+ * Filter where field is IN a set of values
145
+ *
146
+ * @param field - Field name
147
+ * @param values - Array of values
148
+ * @returns this for chaining
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * db.query()
153
+ * .similarTo(vector)
154
+ * .whereIn('metadata.tags', ['typescript', 'javascript'])
155
+ * ```
156
+ */
157
+ VectorQueryBuilder.prototype.whereIn = function (field, values) {
158
+ return this.where(field, 'IN', values);
159
+ };
160
+ /**
161
+ * Filter where field is between min and max (inclusive)
162
+ *
163
+ * @param field - Field name
164
+ * @param min - Minimum value
165
+ * @param max - Maximum value
166
+ * @returns this for chaining
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * db.query()
171
+ * .similarTo(vector)
172
+ * .whereBetween('metadata.year', 2020, 2024)
173
+ * ```
174
+ */
175
+ VectorQueryBuilder.prototype.whereBetween = function (field, min, max) {
176
+ this.where(field, '>=', min);
177
+ this.where(field, '<=', max);
178
+ return this;
179
+ };
180
+ /**
181
+ * Filter metadata field (alias for where with 'metadata.' prefix)
182
+ *
183
+ * @param path - Metadata field path
184
+ * @param op - Comparison operator
185
+ * @param value - Value to compare against
186
+ * @returns this for chaining
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * db.query()
191
+ * .similarTo(vector)
192
+ * .whereMetadata('author.verified', '=', true)
193
+ * ```
194
+ */
195
+ VectorQueryBuilder.prototype.whereMetadata = function (path, op, value) {
196
+ return this.where("metadata.".concat(path), op, value);
197
+ };
198
+ /**
199
+ * Set similarity metric
200
+ *
201
+ * @param metric - Similarity metric ('cosine', 'euclidean', 'dot')
202
+ * @returns this for chaining
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * db.query().similarTo(vector).useSimilarityMetric('euclidean')
207
+ * ```
208
+ */
209
+ VectorQueryBuilder.prototype.useSimilarityMetric = function (metric) {
210
+ this.metric = metric;
211
+ return this;
212
+ };
213
+ /**
214
+ * Set minimum similarity threshold
215
+ *
216
+ * @param threshold - Minimum score threshold
217
+ * @returns this for chaining
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * db.query().similarTo(vector).withThreshold(0.7)
222
+ * ```
223
+ */
224
+ VectorQueryBuilder.prototype.withThreshold = function (threshold) {
225
+ this.threshold = threshold;
226
+ return this;
227
+ };
228
+ /**
229
+ * Order results by a field
230
+ *
231
+ * @param field - Field name
232
+ * @param direction - Sort direction ('asc' or 'desc')
233
+ * @returns this for chaining
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * db.query()
238
+ * .similarTo(vector)
239
+ * .orderBy('metadata.timestamp', 'desc')
240
+ * ```
241
+ */
242
+ VectorQueryBuilder.prototype.orderBy = function (field, direction) {
243
+ if (direction === void 0) { direction = 'asc'; }
244
+ this.orders.push({
245
+ field: field,
246
+ direction: direction,
247
+ bySimilarity: false
248
+ });
249
+ return this;
250
+ };
251
+ /**
252
+ * Order results by similarity score
253
+ *
254
+ * @param direction - Sort direction ('asc' or 'desc', default: 'desc')
255
+ * @returns this for chaining
256
+ *
257
+ * @example
258
+ * ```typescript
259
+ * db.query()
260
+ * .similarTo(vector)
261
+ * .orderBySimilarity('asc') // Least similar first
262
+ * ```
263
+ */
264
+ VectorQueryBuilder.prototype.orderBySimilarity = function (direction) {
265
+ if (direction === void 0) { direction = 'desc'; }
266
+ this.orders.push({
267
+ field: 'score',
268
+ direction: direction,
269
+ bySimilarity: true
270
+ });
271
+ return this;
272
+ };
273
+ /**
274
+ * Limit number of results
275
+ *
276
+ * @param n - Maximum number of results
277
+ * @returns this for chaining
278
+ *
279
+ * @example
280
+ * ```typescript
281
+ * db.query().similarTo(vector).limit(10)
282
+ * ```
283
+ */
284
+ VectorQueryBuilder.prototype.limit = function (n) {
285
+ if (n < 0) {
286
+ throw new Error('Limit must be non-negative');
287
+ }
288
+ this.limitValue = n;
289
+ return this;
290
+ };
291
+ /**
292
+ * Skip first n results
293
+ *
294
+ * @param n - Number of results to skip
295
+ * @returns this for chaining
296
+ *
297
+ * @example
298
+ * ```typescript
299
+ * db.query().similarTo(vector).offset(20).limit(10) // Get results 21-30
300
+ * ```
301
+ */
302
+ VectorQueryBuilder.prototype.offset = function (n) {
303
+ if (n < 0) {
304
+ throw new Error('Offset must be non-negative');
305
+ }
306
+ this.offsetValue = n;
307
+ return this;
308
+ };
309
+ /**
310
+ * Alias for offset
311
+ */
312
+ VectorQueryBuilder.prototype.skip = function (n) {
313
+ return this.offset(n);
314
+ };
315
+ /**
316
+ * Alias for limit
317
+ */
318
+ VectorQueryBuilder.prototype.take = function (n) {
319
+ return this.limit(n);
320
+ };
321
+ /**
322
+ * Execute raw SQL query (advanced usage)
323
+ *
324
+ * @param sql - Raw SQL query
325
+ * @param params - Query parameters
326
+ * @returns this for chaining
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * db.query()
331
+ * .raw('SELECT * FROM vectors WHERE metadata->>"$.category" = ?', ['tech'])
332
+ * .execute()
333
+ * ```
334
+ */
335
+ VectorQueryBuilder.prototype.raw = function (sql, params) {
336
+ this.rawSQL = sql;
337
+ this.rawParams = params;
338
+ return this;
339
+ };
340
+ /**
341
+ * Type-safe metadata wrapper
342
+ *
343
+ * @returns QueryBuilder with typed metadata
344
+ *
345
+ * @example
346
+ * ```typescript
347
+ * interface BlogPost {
348
+ * title: string;
349
+ * author: string;
350
+ * }
351
+ *
352
+ * const posts = await db.query()
353
+ * .withMetadata<BlogPost>()
354
+ * .similarTo(vector)
355
+ * .execute();
356
+ *
357
+ * // posts[0].metadata.title is typed as string
358
+ * ```
359
+ */
360
+ VectorQueryBuilder.prototype.withMetadata = function () {
361
+ return this;
362
+ };
363
+ /**
364
+ * Execute the query and return all results
365
+ *
366
+ * @returns Promise resolving to array of search results
367
+ *
368
+ * @example
369
+ * ```typescript
370
+ * const results = await db.query()
371
+ * .similarTo(vector)
372
+ * .where('metadata.category', '=', 'tech')
373
+ * .limit(10)
374
+ * .execute();
375
+ * ```
376
+ */
377
+ VectorQueryBuilder.prototype.execute = function () {
378
+ return __awaiter(this, void 0, void 0, function () {
379
+ var vector, refVector, results;
380
+ return __generator(this, function (_a) {
381
+ // If raw SQL is provided, use it (advanced usage)
382
+ if (this.rawSQL) {
383
+ return [2 /*return*/, this.executeRaw()];
384
+ }
385
+ vector = this.queryVector;
386
+ if (this.queryId) {
387
+ refVector = this.db.get(this.queryId);
388
+ if (!refVector) {
389
+ throw new Error("Vector with ID ".concat(this.queryId, " not found"));
390
+ }
391
+ vector = refVector.embedding;
392
+ }
393
+ if (!vector) {
394
+ throw new Error('Must specify query vector using similarTo() or similarToId()');
395
+ }
396
+ results = this.db.search(vector, this.k, this.metric, this.threshold);
397
+ // Apply filters
398
+ results = this.applyFilters(results);
399
+ // Apply sorting
400
+ results = this.applySorting(results);
401
+ // Apply pagination
402
+ results = this.applyPagination(results);
403
+ return [2 /*return*/, results];
404
+ });
405
+ });
406
+ };
407
+ /**
408
+ * Execute query and return first result
409
+ *
410
+ * @returns Promise resolving to first result or null
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * const best = await db.query()
415
+ * .similarTo(vector)
416
+ * .first();
417
+ * ```
418
+ */
419
+ VectorQueryBuilder.prototype.first = function () {
420
+ return __awaiter(this, void 0, void 0, function () {
421
+ var results;
422
+ return __generator(this, function (_a) {
423
+ switch (_a.label) {
424
+ case 0: return [4 /*yield*/, this.limit(1).execute()];
425
+ case 1:
426
+ results = _a.sent();
427
+ return [2 /*return*/, results.length > 0 ? results[0] : null];
428
+ }
429
+ });
430
+ });
431
+ };
432
+ /**
433
+ * Count results without retrieving them
434
+ *
435
+ * @returns Promise resolving to count
436
+ *
437
+ * @example
438
+ * ```typescript
439
+ * const count = await db.query()
440
+ * .similarTo(vector)
441
+ * .where('metadata.category', '=', 'tech')
442
+ * .count();
443
+ * ```
444
+ */
445
+ VectorQueryBuilder.prototype.count = function () {
446
+ return __awaiter(this, void 0, void 0, function () {
447
+ var results;
448
+ return __generator(this, function (_a) {
449
+ switch (_a.label) {
450
+ case 0: return [4 /*yield*/, this.execute()];
451
+ case 1:
452
+ results = _a.sent();
453
+ return [2 /*return*/, results.length];
454
+ }
455
+ });
456
+ });
457
+ };
458
+ /**
459
+ * Apply filters to results
460
+ */
461
+ VectorQueryBuilder.prototype.applyFilters = function (results) {
462
+ var _this = this;
463
+ if (this.filters.length === 0) {
464
+ return results;
465
+ }
466
+ return results.filter(function (result) {
467
+ return _this.filters.every(function (filter) {
468
+ var value = filter.isMetadata
469
+ ? _this.getNestedValue(result.metadata, filter.field)
470
+ : result[filter.field];
471
+ return _this.matchesCondition(value, filter.operator, filter.value);
472
+ });
473
+ });
474
+ };
475
+ /**
476
+ * Get nested object value by path
477
+ */
478
+ VectorQueryBuilder.prototype.getNestedValue = function (obj, path) {
479
+ if (!obj)
480
+ return undefined;
481
+ var parts = path.split('.');
482
+ var current = obj;
483
+ for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
484
+ var part = parts_1[_i];
485
+ if (current === undefined || current === null) {
486
+ return undefined;
487
+ }
488
+ current = current[part];
489
+ }
490
+ return current;
491
+ };
492
+ /**
493
+ * Check if value matches condition
494
+ */
495
+ VectorQueryBuilder.prototype.matchesCondition = function (value, operator, target) {
496
+ if (value === undefined || value === null) {
497
+ return operator === '!=' && target !== undefined && target !== null;
498
+ }
499
+ switch (operator) {
500
+ case '=':
501
+ return value === target;
502
+ case '!=':
503
+ return value !== target;
504
+ case '>':
505
+ return value > target;
506
+ case '>=':
507
+ return value >= target;
508
+ case '<':
509
+ return value < target;
510
+ case '<=':
511
+ return value <= target;
512
+ case 'LIKE':
513
+ if (typeof value !== 'string' || typeof target !== 'string') {
514
+ return false;
515
+ }
516
+ var pattern = target.replace(/%/g, '.*').replace(/_/g, '.');
517
+ return new RegExp("^".concat(pattern, "$"), 'i').test(value);
518
+ case 'IN':
519
+ if (!Array.isArray(target)) {
520
+ throw new Error('IN operator requires array value');
521
+ }
522
+ return target.includes(value);
523
+ default:
524
+ return false;
525
+ }
526
+ };
527
+ /**
528
+ * Apply sorting to results
529
+ */
530
+ VectorQueryBuilder.prototype.applySorting = function (results) {
531
+ var _this = this;
532
+ if (this.orders.length === 0) {
533
+ return results;
534
+ }
535
+ return __spreadArray([], results, true).sort(function (a, b) {
536
+ for (var _i = 0, _a = _this.orders; _i < _a.length; _i++) {
537
+ var order = _a[_i];
538
+ var aVal = void 0;
539
+ var bVal = void 0;
540
+ if (order.bySimilarity) {
541
+ aVal = a.score;
542
+ bVal = b.score;
543
+ }
544
+ else if (order.field.startsWith('metadata.')) {
545
+ var field = order.field.substring(9);
546
+ aVal = _this.getNestedValue(a.metadata, field);
547
+ bVal = _this.getNestedValue(b.metadata, field);
548
+ }
549
+ else {
550
+ aVal = a[order.field];
551
+ bVal = b[order.field];
552
+ }
553
+ // Handle null/undefined
554
+ if (aVal === undefined || aVal === null) {
555
+ return order.direction === 'asc' ? 1 : -1;
556
+ }
557
+ if (bVal === undefined || bVal === null) {
558
+ return order.direction === 'asc' ? -1 : 1;
559
+ }
560
+ // Compare values
561
+ var comparison = 0;
562
+ if (aVal < bVal)
563
+ comparison = -1;
564
+ else if (aVal > bVal)
565
+ comparison = 1;
566
+ if (comparison !== 0) {
567
+ return order.direction === 'asc' ? comparison : -comparison;
568
+ }
569
+ }
570
+ return 0;
571
+ });
572
+ };
573
+ /**
574
+ * Apply pagination to results
575
+ */
576
+ VectorQueryBuilder.prototype.applyPagination = function (results) {
577
+ var paginated = results;
578
+ if (this.offsetValue > 0) {
579
+ paginated = paginated.slice(this.offsetValue);
580
+ }
581
+ if (this.limitValue !== undefined) {
582
+ paginated = paginated.slice(0, this.limitValue);
583
+ }
584
+ return paginated;
585
+ };
586
+ /**
587
+ * Execute raw SQL query (advanced)
588
+ */
589
+ VectorQueryBuilder.prototype.executeRaw = function () {
590
+ return __awaiter(this, void 0, void 0, function () {
591
+ return __generator(this, function (_a) {
592
+ // This would require direct database access
593
+ // For now, throw an error - can be implemented later with backend support
594
+ throw new Error('Raw SQL queries not yet implemented. Use standard query methods.');
595
+ });
596
+ });
597
+ };
598
+ return VectorQueryBuilder;
599
+ }());
600
+ exports.VectorQueryBuilder = VectorQueryBuilder;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Template library for common learning algorithms
3
+ */
4
+ export interface Template {
5
+ name: string;
6
+ description: string;
7
+ algorithm: string;
8
+ useCase: string;
9
+ config: any;
10
+ }
11
+ export declare function getAvailableTemplates(): Promise<Template[]>;
12
+ export declare function getTemplateConfig(name: string): Promise<any>;
13
+ export declare function getTemplate(name: string): Promise<Template | undefined>;
14
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;AAmKD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEjE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAMlE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAE7E"}