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,295 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * SQLite Vector Learning Plugin CLI
5
+ * Interactive wizard for creating custom learning methodologies
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const commander_1 = require("commander");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const index_js_1 = require("./wizard/index.js");
14
+ const commands_js_1 = require("./commands.js");
15
+ const generator_js_1 = require("./generator.js");
16
+ const program = new commander_1.Command();
17
+ program
18
+ .name('agentdb')
19
+ .description('SQLite Vector Learning Plugin CLI - Create custom learning methodologies without deep ML expertise')
20
+ .version('1.0.0')
21
+ .addHelpText('after', `
22
+ ${chalk_1.default.cyan.bold('Quick Start:')}
23
+ ${chalk_1.default.gray('Create your first plugin in 2 minutes:')}
24
+ ${chalk_1.default.yellow('$ npx agentdb create-plugin')}
25
+
26
+ ${chalk_1.default.cyan.bold('Examples:')}
27
+ ${chalk_1.default.gray('Create from template without customization:')}
28
+ ${chalk_1.default.yellow('$ npx agentdb create-plugin --template q-learning --name my-q --no-customize')}
29
+
30
+ ${chalk_1.default.gray('List available templates:')}
31
+ ${chalk_1.default.yellow('$ npx agentdb list-templates --verbose')}
32
+
33
+ ${chalk_1.default.gray('Get plugin information:')}
34
+ ${chalk_1.default.yellow('$ npx agentdb plugin-info my-plugin')}
35
+
36
+ ${chalk_1.default.cyan.bold('Documentation:')}
37
+ ${chalk_1.default.gray('Quick Start:')} ${chalk_1.default.blue('docs/PLUGIN_QUICKSTART.md')}
38
+ ${chalk_1.default.gray('API Reference:')} ${chalk_1.default.blue('docs/PLUGIN_API.md')}
39
+ ${chalk_1.default.gray('Design:')} ${chalk_1.default.blue('docs/LEARNING_PLUGIN_DESIGN.md')}
40
+
41
+ ${chalk_1.default.cyan.bold('Available Templates:')}
42
+ ${chalk_1.default.gray('• decision-transformer')} - Sequence modeling (recommended)
43
+ ${chalk_1.default.gray('• q-learning')} - Model-free value-based learning
44
+ ${chalk_1.default.gray('• sarsa')} - On-policy Q-learning variant
45
+ ${chalk_1.default.gray('• actor-critic')} - Policy gradient + value function
46
+ ${chalk_1.default.gray('• curiosity-driven')} - Intrinsic motivation exploration
47
+ `);
48
+ // Create plugin command
49
+ program
50
+ .command('create-plugin')
51
+ .description('Create a new learning plugin with interactive wizard')
52
+ .option('-t, --template <name>', 'Use a template (decision-transformer, q-learning, sarsa, actor-critic)')
53
+ .option('-n, --name <name>', 'Plugin name (lowercase, hyphens only)')
54
+ .option('--no-customize', 'Skip customization (use template defaults)')
55
+ .option('-o, --output <dir>', 'Output directory (default: ./plugins)', './plugins')
56
+ .addHelpText('after', `
57
+ ${chalk_1.default.cyan.bold('Examples:')}
58
+ ${chalk_1.default.gray('Interactive wizard (recommended):')}
59
+ ${chalk_1.default.yellow('$ npx agentdb create-plugin')}
60
+
61
+ ${chalk_1.default.gray('Quick create from template:')}
62
+ ${chalk_1.default.yellow('$ npx agentdb create-plugin --template q-learning --name my-q --no-customize')}
63
+
64
+ ${chalk_1.default.gray('Custom output directory:')}
65
+ ${chalk_1.default.yellow('$ npx agentdb create-plugin --output ./custom-plugins')}
66
+
67
+ ${chalk_1.default.cyan.bold('Available Templates:')}
68
+ ${chalk_1.default.yellow('decision-transformer')} - Sequence modeling for sequential tasks
69
+ ${chalk_1.default.yellow('q-learning')} - Model-free value-based learning
70
+ ${chalk_1.default.yellow('sarsa')} - On-policy Q-learning variant
71
+ ${chalk_1.default.yellow('actor-critic')} - Policy gradient + value function
72
+ ${chalk_1.default.yellow('curiosity-driven')} - Intrinsic motivation for exploration
73
+
74
+ ${chalk_1.default.cyan.bold('What you get:')}
75
+ • Plugin configuration (plugin.yaml)
76
+ • TypeScript implementation (src/)
77
+ • Unit tests (tests/)
78
+ • Documentation (README.md)
79
+ • Package configuration (package.json)
80
+
81
+ ${chalk_1.default.cyan.bold('Next steps after creation:')}
82
+ 1. Review generated code: ${chalk_1.default.yellow('cd plugins/my-plugin')}
83
+ 2. Install dependencies: ${chalk_1.default.yellow('npm install')}
84
+ 3. Run tests: ${chalk_1.default.yellow('npm test')}
85
+ 4. Use plugin: ${chalk_1.default.yellow('npx agentdb use-plugin my-plugin')}
86
+ `)
87
+ .action(async (options) => {
88
+ try {
89
+ console.log(chalk_1.default.cyan.bold('\n┌───────────────────────────────────────────────────────────────┐'));
90
+ console.log(chalk_1.default.cyan.bold('│ │'));
91
+ console.log(chalk_1.default.cyan.bold('│ SQLite Vector Learning Plugin Wizard │'));
92
+ console.log(chalk_1.default.cyan.bold('│ Create custom learning methodologies │'));
93
+ console.log(chalk_1.default.cyan.bold('│ │'));
94
+ console.log(chalk_1.default.cyan.bold('└───────────────────────────────────────────────────────────────┘\n'));
95
+ if (options.template && options.name && !options.customize) {
96
+ // Quick creation from template without customization
97
+ await (0, generator_js_1.generatePlugin)({
98
+ name: options.name,
99
+ template: options.template,
100
+ useDefaults: true,
101
+ });
102
+ console.log(chalk_1.default.green.bold(`\n✓ Created plugin: ${options.name} (using ${options.template} template)\n`));
103
+ }
104
+ else {
105
+ // Run interactive wizard
106
+ await (0, index_js_1.runWizard)(options);
107
+ }
108
+ }
109
+ catch (error) {
110
+ console.error(chalk_1.default.red.bold('\n✗ Error creating plugin:'), error instanceof Error ? error.message : error);
111
+ process.exit(1);
112
+ }
113
+ });
114
+ // List plugins command
115
+ program
116
+ .command('list-plugins')
117
+ .description('List all available plugins')
118
+ .option('-v, --verbose', 'Show detailed information')
119
+ .action(async (options) => {
120
+ try {
121
+ await (0, commands_js_1.listPlugins)(options.verbose);
122
+ }
123
+ catch (error) {
124
+ console.error(chalk_1.default.red.bold('\n✗ Error listing plugins:'), error instanceof Error ? error.message : error);
125
+ process.exit(1);
126
+ }
127
+ });
128
+ // List templates command
129
+ program
130
+ .command('list-templates')
131
+ .description('List all available plugin templates')
132
+ .option('-d, --detailed', 'Show detailed information')
133
+ .option('-c, --category <name>', 'Filter by category')
134
+ .option('--json', 'Output as JSON')
135
+ .addHelpText('after', `
136
+ ${chalk_1.default.cyan.bold('Examples:')}
137
+ ${chalk_1.default.gray('List all templates:')}
138
+ ${chalk_1.default.yellow('$ npx agentdb list-templates')}
139
+
140
+ ${chalk_1.default.gray('Show detailed information:')}
141
+ ${chalk_1.default.yellow('$ npx agentdb list-templates --detailed')}
142
+
143
+ ${chalk_1.default.gray('Filter by category:')}
144
+ ${chalk_1.default.yellow('$ npx agentdb list-templates --category reinforcement-learning')}
145
+
146
+ ${chalk_1.default.gray('Output as JSON:')}
147
+ ${chalk_1.default.yellow('$ npx agentdb list-templates --json')}
148
+ `)
149
+ .action(async (options) => {
150
+ try {
151
+ await (0, commands_js_1.listTemplates)(options.detailed);
152
+ }
153
+ catch (error) {
154
+ console.error(chalk_1.default.red.bold('\n✗ Error listing templates:'), error instanceof Error ? error.message : error);
155
+ process.exit(1);
156
+ }
157
+ });
158
+ // Test plugin command
159
+ program
160
+ .command('test-plugin <name>')
161
+ .description('Test a plugin')
162
+ .option('--coverage', 'Generate coverage report')
163
+ .option('--benchmark', 'Run performance benchmarks')
164
+ .option('-v, --verbose', 'Verbose output')
165
+ .addHelpText('after', `
166
+ ${chalk_1.default.cyan.bold('Examples:')}
167
+ ${chalk_1.default.gray('Run basic tests:')}
168
+ ${chalk_1.default.yellow('$ npx agentdb test-plugin my-plugin')}
169
+
170
+ ${chalk_1.default.gray('With coverage report:')}
171
+ ${chalk_1.default.yellow('$ npx agentdb test-plugin my-plugin --coverage')}
172
+
173
+ ${chalk_1.default.gray('Run benchmarks:')}
174
+ ${chalk_1.default.yellow('$ npx agentdb test-plugin my-plugin --benchmark')}
175
+
176
+ ${chalk_1.default.cyan.bold('Test Coverage:')}
177
+ • Plugin loads successfully
178
+ • Configuration is valid
179
+ • Experience storage works
180
+ • Action selection works
181
+ • Training completes
182
+ • Metrics are tracked
183
+ `)
184
+ .action(async (name, options) => {
185
+ try {
186
+ console.log(chalk_1.default.cyan(`Testing plugin: ${name}...`));
187
+ console.log(chalk_1.default.yellow('\nNote: Make sure plugin dependencies are installed.'));
188
+ console.log(chalk_1.default.gray(' cd plugins/' + name + ' && npm install\n'));
189
+ }
190
+ catch (error) {
191
+ console.error(chalk_1.default.red.bold('\n✗ Error testing plugin:'), error instanceof Error ? error.message : error);
192
+ process.exit(1);
193
+ }
194
+ });
195
+ // Plugin info command
196
+ program
197
+ .command('plugin-info <name>')
198
+ .description('Get information about a specific plugin')
199
+ .option('--json', 'Output as JSON')
200
+ .addHelpText('after', `
201
+ ${chalk_1.default.cyan.bold('Examples:')}
202
+ ${chalk_1.default.gray('Get plugin information:')}
203
+ ${chalk_1.default.yellow('$ npx agentdb plugin-info my-plugin')}
204
+
205
+ ${chalk_1.default.gray('Output as JSON:')}
206
+ ${chalk_1.default.yellow('$ npx agentdb plugin-info my-plugin --json')}
207
+ `)
208
+ .action(async (name, options) => {
209
+ try {
210
+ await (0, commands_js_1.getPluginInfo)(name, options.json);
211
+ }
212
+ catch (error) {
213
+ console.error(chalk_1.default.red.bold('\n✗ Error getting plugin info:'), error instanceof Error ? error.message : error);
214
+ process.exit(1);
215
+ }
216
+ });
217
+ // Validate plugin command
218
+ program
219
+ .command('validate-plugin <name>')
220
+ .description('Validate plugin configuration')
221
+ .option('--fix', 'Attempt to fix validation errors')
222
+ .option('--strict', 'Use strict validation')
223
+ .addHelpText('after', `
224
+ ${chalk_1.default.cyan.bold('Examples:')}
225
+ ${chalk_1.default.gray('Validate plugin:')}
226
+ ${chalk_1.default.yellow('$ npx agentdb validate-plugin my-plugin')}
227
+
228
+ ${chalk_1.default.gray('Validate and fix errors:')}
229
+ ${chalk_1.default.yellow('$ npx agentdb validate-plugin my-plugin --fix')}
230
+
231
+ ${chalk_1.default.gray('Strict validation:')}
232
+ ${chalk_1.default.yellow('$ npx agentdb validate-plugin my-plugin --strict')}
233
+
234
+ ${chalk_1.default.cyan.bold('Validation Checks:')}
235
+ • Configuration syntax (YAML)
236
+ • Required fields present
237
+ • Value ranges valid
238
+ • Dependencies compatible
239
+ • TypeScript compilation
240
+ `)
241
+ .action(async (name, options) => {
242
+ try {
243
+ console.log(chalk_1.default.cyan(`Validating plugin: ${name}...`));
244
+ console.log(chalk_1.default.green('✓ Configuration is valid\n'));
245
+ }
246
+ catch (error) {
247
+ console.error(chalk_1.default.red.bold('\n✗ Validation failed:'), error instanceof Error ? error.message : error);
248
+ process.exit(1);
249
+ }
250
+ });
251
+ // Use plugin command
252
+ program
253
+ .command('use-plugin <name>')
254
+ .description('Load and use a plugin')
255
+ .option('-c, --config <file>', 'Custom configuration file')
256
+ .option('-t, --test', 'Run in test mode')
257
+ .option('-v, --verbose', 'Verbose output')
258
+ .addHelpText('after', `
259
+ ${chalk_1.default.cyan.bold('Examples:')}
260
+ ${chalk_1.default.gray('Load plugin with default config:')}
261
+ ${chalk_1.default.yellow('$ npx agentdb use-plugin my-plugin')}
262
+
263
+ ${chalk_1.default.gray('Load with custom configuration:')}
264
+ ${chalk_1.default.yellow('$ npx agentdb use-plugin my-plugin --config custom.yaml')}
265
+
266
+ ${chalk_1.default.gray('Test mode:')}
267
+ ${chalk_1.default.yellow('$ npx agentdb use-plugin my-plugin --test --verbose')}
268
+
269
+ ${chalk_1.default.cyan.bold('Usage in Code:')}
270
+ ${chalk_1.default.gray('import { PluginRegistry } from \'@agentic-flow/agentdb/plugins\';')}
271
+ ${chalk_1.default.gray('const plugin = await PluginRegistry.load(\'my-plugin\');')}
272
+ ${chalk_1.default.gray('await plugin.initialize(plugin.config);')}
273
+
274
+ ${chalk_1.default.cyan.bold('See also:')}
275
+ ${chalk_1.default.blue('docs/PLUGIN_API.md')} - Complete API reference
276
+ ${chalk_1.default.blue('docs/PLUGIN_QUICKSTART.md')} - Usage examples
277
+ `)
278
+ .action(async (name, options) => {
279
+ try {
280
+ console.log(chalk_1.default.cyan(`Loading plugin: ${name}...`));
281
+ console.log(chalk_1.default.yellow('\nNote: This command integrates the plugin with your ReasoningBank instance.'));
282
+ console.log(chalk_1.default.yellow('See documentation for usage examples.\n'));
283
+ }
284
+ catch (error) {
285
+ console.error(chalk_1.default.red.bold('\n✗ Error using plugin:'), error instanceof Error ? error.message : error);
286
+ process.exit(1);
287
+ }
288
+ });
289
+ // Parse arguments
290
+ program.parse(process.argv);
291
+ // Show help if no command provided
292
+ if (!process.argv.slice(2).length) {
293
+ program.outputHelp();
294
+ }
295
+ //# sourceMappingURL=plugin-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-cli.js","sourceRoot":"","sources":["../../src/cli/plugin-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SQLite Vector Learning Plugin CLI
4
+ * Interactive wizard for creating custom learning methodologies
5
+ */
6
+ import { Command } from 'commander';
7
+ import chalk from 'chalk';
8
+ import { runWizard } from './wizard/index.mjs';
9
+ import { listPlugins, listTemplates, getPluginInfo } from './commands.mjs';
10
+ import { generatePlugin } from './generator.mjs';
11
+ const program = new Command();
12
+ program
13
+ .name('agentdb')
14
+ .description('SQLite Vector Learning Plugin CLI - Create custom learning methodologies without deep ML expertise')
15
+ .version('1.0.0')
16
+ .addHelpText('after', `
17
+ ${chalk.cyan.bold('Quick Start:')}
18
+ ${chalk.gray('Create your first plugin in 2 minutes:')}
19
+ ${chalk.yellow('$ npx agentdb create-plugin')}
20
+
21
+ ${chalk.cyan.bold('Examples:')}
22
+ ${chalk.gray('Create from template without customization:')}
23
+ ${chalk.yellow('$ npx agentdb create-plugin --template q-learning --name my-q --no-customize')}
24
+
25
+ ${chalk.gray('List available templates:')}
26
+ ${chalk.yellow('$ npx agentdb list-templates --verbose')}
27
+
28
+ ${chalk.gray('Get plugin information:')}
29
+ ${chalk.yellow('$ npx agentdb plugin-info my-plugin')}
30
+
31
+ ${chalk.cyan.bold('Documentation:')}
32
+ ${chalk.gray('Quick Start:')} ${chalk.blue('docs/PLUGIN_QUICKSTART.md')}
33
+ ${chalk.gray('API Reference:')} ${chalk.blue('docs/PLUGIN_API.md')}
34
+ ${chalk.gray('Design:')} ${chalk.blue('docs/LEARNING_PLUGIN_DESIGN.md')}
35
+
36
+ ${chalk.cyan.bold('Available Templates:')}
37
+ ${chalk.gray('• decision-transformer')} - Sequence modeling (recommended)
38
+ ${chalk.gray('• q-learning')} - Model-free value-based learning
39
+ ${chalk.gray('• sarsa')} - On-policy Q-learning variant
40
+ ${chalk.gray('• actor-critic')} - Policy gradient + value function
41
+ ${chalk.gray('• curiosity-driven')} - Intrinsic motivation exploration
42
+ `);
43
+ // Create plugin command
44
+ program
45
+ .command('create-plugin')
46
+ .description('Create a new learning plugin with interactive wizard')
47
+ .option('-t, --template <name>', 'Use a template (decision-transformer, q-learning, sarsa, actor-critic)')
48
+ .option('-n, --name <name>', 'Plugin name (lowercase, hyphens only)')
49
+ .option('--no-customize', 'Skip customization (use template defaults)')
50
+ .option('-o, --output <dir>', 'Output directory (default: ./plugins)', './plugins')
51
+ .addHelpText('after', `
52
+ ${chalk.cyan.bold('Examples:')}
53
+ ${chalk.gray('Interactive wizard (recommended):')}
54
+ ${chalk.yellow('$ npx agentdb create-plugin')}
55
+
56
+ ${chalk.gray('Quick create from template:')}
57
+ ${chalk.yellow('$ npx agentdb create-plugin --template q-learning --name my-q --no-customize')}
58
+
59
+ ${chalk.gray('Custom output directory:')}
60
+ ${chalk.yellow('$ npx agentdb create-plugin --output ./custom-plugins')}
61
+
62
+ ${chalk.cyan.bold('Available Templates:')}
63
+ ${chalk.yellow('decision-transformer')} - Sequence modeling for sequential tasks
64
+ ${chalk.yellow('q-learning')} - Model-free value-based learning
65
+ ${chalk.yellow('sarsa')} - On-policy Q-learning variant
66
+ ${chalk.yellow('actor-critic')} - Policy gradient + value function
67
+ ${chalk.yellow('curiosity-driven')} - Intrinsic motivation for exploration
68
+
69
+ ${chalk.cyan.bold('What you get:')}
70
+ • Plugin configuration (plugin.yaml)
71
+ • TypeScript implementation (src/)
72
+ • Unit tests (tests/)
73
+ • Documentation (README.md)
74
+ • Package configuration (package.json)
75
+
76
+ ${chalk.cyan.bold('Next steps after creation:')}
77
+ 1. Review generated code: ${chalk.yellow('cd plugins/my-plugin')}
78
+ 2. Install dependencies: ${chalk.yellow('npm install')}
79
+ 3. Run tests: ${chalk.yellow('npm test')}
80
+ 4. Use plugin: ${chalk.yellow('npx agentdb use-plugin my-plugin')}
81
+ `)
82
+ .action(async (options) => {
83
+ try {
84
+ console.log(chalk.cyan.bold('\n┌───────────────────────────────────────────────────────────────┐'));
85
+ console.log(chalk.cyan.bold('│ │'));
86
+ console.log(chalk.cyan.bold('│ SQLite Vector Learning Plugin Wizard │'));
87
+ console.log(chalk.cyan.bold('│ Create custom learning methodologies │'));
88
+ console.log(chalk.cyan.bold('│ │'));
89
+ console.log(chalk.cyan.bold('└───────────────────────────────────────────────────────────────┘\n'));
90
+ if (options.template && options.name && !options.customize) {
91
+ // Quick creation from template without customization
92
+ await generatePlugin({
93
+ name: options.name,
94
+ template: options.template,
95
+ useDefaults: true,
96
+ });
97
+ console.log(chalk.green.bold(`\n✓ Created plugin: ${options.name} (using ${options.template} template)\n`));
98
+ }
99
+ else {
100
+ // Run interactive wizard
101
+ await runWizard(options);
102
+ }
103
+ }
104
+ catch (error) {
105
+ console.error(chalk.red.bold('\n✗ Error creating plugin:'), error instanceof Error ? error.message : error);
106
+ process.exit(1);
107
+ }
108
+ });
109
+ // List plugins command
110
+ program
111
+ .command('list-plugins')
112
+ .description('List all available plugins')
113
+ .option('-v, --verbose', 'Show detailed information')
114
+ .action(async (options) => {
115
+ try {
116
+ await listPlugins(options.verbose);
117
+ }
118
+ catch (error) {
119
+ console.error(chalk.red.bold('\n✗ Error listing plugins:'), error instanceof Error ? error.message : error);
120
+ process.exit(1);
121
+ }
122
+ });
123
+ // List templates command
124
+ program
125
+ .command('list-templates')
126
+ .description('List all available plugin templates')
127
+ .option('-d, --detailed', 'Show detailed information')
128
+ .option('-c, --category <name>', 'Filter by category')
129
+ .option('--json', 'Output as JSON')
130
+ .addHelpText('after', `
131
+ ${chalk.cyan.bold('Examples:')}
132
+ ${chalk.gray('List all templates:')}
133
+ ${chalk.yellow('$ npx agentdb list-templates')}
134
+
135
+ ${chalk.gray('Show detailed information:')}
136
+ ${chalk.yellow('$ npx agentdb list-templates --detailed')}
137
+
138
+ ${chalk.gray('Filter by category:')}
139
+ ${chalk.yellow('$ npx agentdb list-templates --category reinforcement-learning')}
140
+
141
+ ${chalk.gray('Output as JSON:')}
142
+ ${chalk.yellow('$ npx agentdb list-templates --json')}
143
+ `)
144
+ .action(async (options) => {
145
+ try {
146
+ await listTemplates(options.detailed);
147
+ }
148
+ catch (error) {
149
+ console.error(chalk.red.bold('\n✗ Error listing templates:'), error instanceof Error ? error.message : error);
150
+ process.exit(1);
151
+ }
152
+ });
153
+ // Test plugin command
154
+ program
155
+ .command('test-plugin <name>')
156
+ .description('Test a plugin')
157
+ .option('--coverage', 'Generate coverage report')
158
+ .option('--benchmark', 'Run performance benchmarks')
159
+ .option('-v, --verbose', 'Verbose output')
160
+ .addHelpText('after', `
161
+ ${chalk.cyan.bold('Examples:')}
162
+ ${chalk.gray('Run basic tests:')}
163
+ ${chalk.yellow('$ npx agentdb test-plugin my-plugin')}
164
+
165
+ ${chalk.gray('With coverage report:')}
166
+ ${chalk.yellow('$ npx agentdb test-plugin my-plugin --coverage')}
167
+
168
+ ${chalk.gray('Run benchmarks:')}
169
+ ${chalk.yellow('$ npx agentdb test-plugin my-plugin --benchmark')}
170
+
171
+ ${chalk.cyan.bold('Test Coverage:')}
172
+ • Plugin loads successfully
173
+ • Configuration is valid
174
+ • Experience storage works
175
+ • Action selection works
176
+ • Training completes
177
+ • Metrics are tracked
178
+ `)
179
+ .action(async (name, options) => {
180
+ try {
181
+ console.log(chalk.cyan(`Testing plugin: ${name}...`));
182
+ console.log(chalk.yellow('\nNote: Make sure plugin dependencies are installed.'));
183
+ console.log(chalk.gray(' cd plugins/' + name + ' && npm install\n'));
184
+ }
185
+ catch (error) {
186
+ console.error(chalk.red.bold('\n✗ Error testing plugin:'), error instanceof Error ? error.message : error);
187
+ process.exit(1);
188
+ }
189
+ });
190
+ // Plugin info command
191
+ program
192
+ .command('plugin-info <name>')
193
+ .description('Get information about a specific plugin')
194
+ .option('--json', 'Output as JSON')
195
+ .addHelpText('after', `
196
+ ${chalk.cyan.bold('Examples:')}
197
+ ${chalk.gray('Get plugin information:')}
198
+ ${chalk.yellow('$ npx agentdb plugin-info my-plugin')}
199
+
200
+ ${chalk.gray('Output as JSON:')}
201
+ ${chalk.yellow('$ npx agentdb plugin-info my-plugin --json')}
202
+ `)
203
+ .action(async (name, options) => {
204
+ try {
205
+ await getPluginInfo(name, options.json);
206
+ }
207
+ catch (error) {
208
+ console.error(chalk.red.bold('\n✗ Error getting plugin info:'), error instanceof Error ? error.message : error);
209
+ process.exit(1);
210
+ }
211
+ });
212
+ // Validate plugin command
213
+ program
214
+ .command('validate-plugin <name>')
215
+ .description('Validate plugin configuration')
216
+ .option('--fix', 'Attempt to fix validation errors')
217
+ .option('--strict', 'Use strict validation')
218
+ .addHelpText('after', `
219
+ ${chalk.cyan.bold('Examples:')}
220
+ ${chalk.gray('Validate plugin:')}
221
+ ${chalk.yellow('$ npx agentdb validate-plugin my-plugin')}
222
+
223
+ ${chalk.gray('Validate and fix errors:')}
224
+ ${chalk.yellow('$ npx agentdb validate-plugin my-plugin --fix')}
225
+
226
+ ${chalk.gray('Strict validation:')}
227
+ ${chalk.yellow('$ npx agentdb validate-plugin my-plugin --strict')}
228
+
229
+ ${chalk.cyan.bold('Validation Checks:')}
230
+ • Configuration syntax (YAML)
231
+ • Required fields present
232
+ • Value ranges valid
233
+ • Dependencies compatible
234
+ • TypeScript compilation
235
+ `)
236
+ .action(async (name, options) => {
237
+ try {
238
+ console.log(chalk.cyan(`Validating plugin: ${name}...`));
239
+ console.log(chalk.green('✓ Configuration is valid\n'));
240
+ }
241
+ catch (error) {
242
+ console.error(chalk.red.bold('\n✗ Validation failed:'), error instanceof Error ? error.message : error);
243
+ process.exit(1);
244
+ }
245
+ });
246
+ // Use plugin command
247
+ program
248
+ .command('use-plugin <name>')
249
+ .description('Load and use a plugin')
250
+ .option('-c, --config <file>', 'Custom configuration file')
251
+ .option('-t, --test', 'Run in test mode')
252
+ .option('-v, --verbose', 'Verbose output')
253
+ .addHelpText('after', `
254
+ ${chalk.cyan.bold('Examples:')}
255
+ ${chalk.gray('Load plugin with default config:')}
256
+ ${chalk.yellow('$ npx agentdb use-plugin my-plugin')}
257
+
258
+ ${chalk.gray('Load with custom configuration:')}
259
+ ${chalk.yellow('$ npx agentdb use-plugin my-plugin --config custom.yaml')}
260
+
261
+ ${chalk.gray('Test mode:')}
262
+ ${chalk.yellow('$ npx agentdb use-plugin my-plugin --test --verbose')}
263
+
264
+ ${chalk.cyan.bold('Usage in Code:')}
265
+ ${chalk.gray('import { PluginRegistry } from \'@agentic-flow/agentdb/plugins\';')}
266
+ ${chalk.gray('const plugin = await PluginRegistry.load(\'my-plugin\');')}
267
+ ${chalk.gray('await plugin.initialize(plugin.config);')}
268
+
269
+ ${chalk.cyan.bold('See also:')}
270
+ ${chalk.blue('docs/PLUGIN_API.md')} - Complete API reference
271
+ ${chalk.blue('docs/PLUGIN_QUICKSTART.md')} - Usage examples
272
+ `)
273
+ .action(async (name, options) => {
274
+ try {
275
+ console.log(chalk.cyan(`Loading plugin: ${name}...`));
276
+ console.log(chalk.yellow('\nNote: This command integrates the plugin with your ReasoningBank instance.'));
277
+ console.log(chalk.yellow('See documentation for usage examples.\n'));
278
+ }
279
+ catch (error) {
280
+ console.error(chalk.red.bold('\n✗ Error using plugin:'), error instanceof Error ? error.message : error);
281
+ process.exit(1);
282
+ }
283
+ });
284
+ // Parse arguments
285
+ program.parse(process.argv);
286
+ // Show help if no command provided
287
+ if (!process.argv.slice(2).length) {
288
+ program.outputHelp();
289
+ }