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,114 @@
1
+ /**
2
+ * Base class for learning plugins providing common functionality
3
+ */
4
+ import { SQLiteVectorDB } from '../core/vector-db';
5
+ import { SearchResult } from '../types';
6
+ import { LearningPlugin, PluginConfig, Experience, Action, Context, TrainOptions, TrainingMetrics, PluginMetrics } from './learning-plugin.interface';
7
+ /**
8
+ * Abstract base class that provides common functionality for all learning plugins
9
+ */
10
+ export declare abstract class BasePlugin implements LearningPlugin {
11
+ /** Plugin name */
12
+ abstract name: string;
13
+ /** Plugin version */
14
+ abstract version: string;
15
+ /** Plugin configuration */
16
+ config: PluginConfig;
17
+ /** Vector database for experience storage */
18
+ protected vectorDB: SQLiteVectorDB;
19
+ /** Whether plugin is initialized */
20
+ protected initialized: boolean;
21
+ /** Experience counter */
22
+ protected experienceCount: number;
23
+ /** Episode counter */
24
+ protected episodeCount: number;
25
+ /** Success counter */
26
+ protected successCount: number;
27
+ /** Total reward accumulated */
28
+ protected totalReward: number;
29
+ /** Total duration accumulated */
30
+ protected totalDuration: number;
31
+ /**
32
+ * Initialize the plugin with configuration
33
+ */
34
+ initialize(config: PluginConfig): Promise<void>;
35
+ /**
36
+ * Destroy the plugin and cleanup resources
37
+ */
38
+ destroy(): Promise<void>;
39
+ /**
40
+ * Store a single experience
41
+ */
42
+ storeExperience(experience: Experience): Promise<void>;
43
+ /**
44
+ * Store a batch of experiences
45
+ */
46
+ storeBatch(experiences: Experience[]): Promise<void>;
47
+ /**
48
+ * Retrieve similar experiences from storage
49
+ */
50
+ retrieveSimilar(state: number[], k: number): Promise<SearchResult<Experience>[]>;
51
+ /**
52
+ * Get current plugin metrics
53
+ */
54
+ getMetrics(): Promise<PluginMetrics>;
55
+ /**
56
+ * Get plugin configuration
57
+ */
58
+ getConfig(): PluginConfig;
59
+ /**
60
+ * Save plugin state to disk
61
+ */
62
+ save(path: string): Promise<void>;
63
+ /**
64
+ * Load plugin state from disk
65
+ */
66
+ load(path: string): Promise<void>;
67
+ /**
68
+ * Abstract method: Select action given state
69
+ * Must be implemented by concrete plugins
70
+ */
71
+ abstract selectAction(state: number[], context?: Context): Promise<Action>;
72
+ /**
73
+ * Abstract method: Train the plugin
74
+ * Must be implemented by concrete plugins
75
+ */
76
+ abstract train(options?: TrainOptions): Promise<TrainingMetrics>;
77
+ /**
78
+ * Called after initialize() completes
79
+ */
80
+ protected onInitialize(): Promise<void>;
81
+ /**
82
+ * Called before destroy() completes
83
+ */
84
+ protected onDestroy(): Promise<void>;
85
+ /**
86
+ * Called after each experience is stored
87
+ */
88
+ protected onStoreExperience(experience: Experience): Promise<void>;
89
+ /**
90
+ * Called during save()
91
+ */
92
+ protected onSave(path: string): Promise<void>;
93
+ /**
94
+ * Called during load()
95
+ */
96
+ protected onLoad(path: string): Promise<void>;
97
+ /**
98
+ * Check if plugin is initialized
99
+ */
100
+ protected checkInitialized(): void;
101
+ /**
102
+ * Generate unique ID
103
+ */
104
+ protected generateId(): string;
105
+ /**
106
+ * Compute discounted returns for an episode
107
+ */
108
+ protected computeReturns(rewards: number[], gamma: number): number[];
109
+ /**
110
+ * Compute custom reward based on configuration
111
+ */
112
+ protected computeReward(experience: Experience): number;
113
+ }
114
+ //# sourceMappingURL=base-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/base-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+ /**
3
+ * Base class for learning plugins providing common functionality
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.BasePlugin = void 0;
40
+ const vector_db_1 = require("../core/vector-db");
41
+ /**
42
+ * Abstract base class that provides common functionality for all learning plugins
43
+ */
44
+ class BasePlugin {
45
+ constructor() {
46
+ /** Whether plugin is initialized */
47
+ this.initialized = false;
48
+ /** Experience counter */
49
+ this.experienceCount = 0;
50
+ /** Episode counter */
51
+ this.episodeCount = 0;
52
+ /** Success counter */
53
+ this.successCount = 0;
54
+ /** Total reward accumulated */
55
+ this.totalReward = 0;
56
+ /** Total duration accumulated */
57
+ this.totalDuration = 0;
58
+ }
59
+ /**
60
+ * Initialize the plugin with configuration
61
+ */
62
+ async initialize(config) {
63
+ this.config = config;
64
+ // Initialize vector database
65
+ const dbConfig = {
66
+ path: config.storage.path,
67
+ memoryMode: false,
68
+ queryCache: {
69
+ enabled: true,
70
+ maxSize: 1000,
71
+ },
72
+ };
73
+ // Add quantization if properly configured
74
+ if (config.storage.quantization?.enabled) {
75
+ dbConfig.quantization = {
76
+ enabled: true,
77
+ dimensions: config.algorithm.stateDim || 768,
78
+ subvectors: 8,
79
+ bits: config.storage.quantization.bits || 8,
80
+ };
81
+ }
82
+ this.vectorDB = new vector_db_1.SQLiteVectorDB(dbConfig);
83
+ // If using WASM backend, initialize async
84
+ if (this.vectorDB.getBackendType() === 'wasm') {
85
+ await this.vectorDB.initializeAsync();
86
+ }
87
+ this.initialized = true;
88
+ // Call custom initialization
89
+ await this.onInitialize();
90
+ }
91
+ /**
92
+ * Destroy the plugin and cleanup resources
93
+ */
94
+ async destroy() {
95
+ if (this.vectorDB) {
96
+ this.vectorDB.close();
97
+ }
98
+ this.initialized = false;
99
+ // Call custom cleanup
100
+ await this.onDestroy();
101
+ }
102
+ /**
103
+ * Store a single experience
104
+ */
105
+ async storeExperience(experience) {
106
+ this.checkInitialized();
107
+ // Generate ID if not provided
108
+ if (!experience.id) {
109
+ experience.id = this.generateId();
110
+ }
111
+ // Store in vector database
112
+ this.vectorDB.insert({
113
+ id: experience.id,
114
+ embedding: experience.state,
115
+ metadata: {
116
+ action: experience.action,
117
+ reward: experience.reward,
118
+ nextState: experience.nextState,
119
+ done: experience.done,
120
+ episodeId: experience.episodeId,
121
+ stepIndex: experience.stepIndex,
122
+ ...experience.metadata,
123
+ timestamp: experience.timestamp || Date.now(),
124
+ },
125
+ });
126
+ // Update counters
127
+ this.experienceCount++;
128
+ this.totalReward += experience.reward;
129
+ if (experience.metadata?.duration) {
130
+ this.totalDuration += experience.metadata.duration;
131
+ }
132
+ if (experience.metadata?.success) {
133
+ this.successCount++;
134
+ }
135
+ // Track unique episodes
136
+ if (experience.done && experience.episodeId) {
137
+ this.episodeCount++;
138
+ }
139
+ // Call custom hook
140
+ await this.onStoreExperience(experience);
141
+ }
142
+ /**
143
+ * Store a batch of experiences
144
+ */
145
+ async storeBatch(experiences) {
146
+ this.checkInitialized();
147
+ for (const experience of experiences) {
148
+ await this.storeExperience(experience);
149
+ }
150
+ }
151
+ /**
152
+ * Retrieve similar experiences from storage
153
+ */
154
+ async retrieveSimilar(state, k) {
155
+ this.checkInitialized();
156
+ const results = this.vectorDB.search(state, k, 'cosine');
157
+ return results.map(r => ({
158
+ id: r.id,
159
+ score: r.score,
160
+ embedding: r.embedding,
161
+ metadata: {
162
+ id: r.id,
163
+ state: r.embedding,
164
+ action: r.metadata.action,
165
+ reward: r.metadata.reward,
166
+ nextState: r.metadata.nextState,
167
+ done: r.metadata.done,
168
+ episodeId: r.metadata.episodeId,
169
+ stepIndex: r.metadata.stepIndex,
170
+ metadata: r.metadata,
171
+ timestamp: r.metadata.timestamp,
172
+ },
173
+ }));
174
+ }
175
+ /**
176
+ * Get current plugin metrics
177
+ */
178
+ async getMetrics() {
179
+ return {
180
+ totalExperiences: this.experienceCount,
181
+ totalEpisodes: this.episodeCount,
182
+ successRate: this.experienceCount > 0 ? this.successCount / this.experienceCount : 0,
183
+ avgReward: this.experienceCount > 0 ? this.totalReward / this.experienceCount : 0,
184
+ avgDuration: this.experienceCount > 0 ? this.totalDuration / this.experienceCount : 0,
185
+ };
186
+ }
187
+ /**
188
+ * Get plugin configuration
189
+ */
190
+ getConfig() {
191
+ return this.config;
192
+ }
193
+ /**
194
+ * Save plugin state to disk
195
+ */
196
+ async save(path) {
197
+ this.checkInitialized();
198
+ // Export database if WASM
199
+ if (this.vectorDB.getBackendType() === 'wasm') {
200
+ const data = this.vectorDB.export();
201
+ if (data) {
202
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
203
+ await fs.writeFile(path, data);
204
+ }
205
+ }
206
+ // Call custom save
207
+ await this.onSave(path);
208
+ }
209
+ /**
210
+ * Load plugin state from disk
211
+ */
212
+ async load(path) {
213
+ this.checkInitialized();
214
+ // Import database if WASM
215
+ if (this.vectorDB.getBackendType() === 'wasm') {
216
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
217
+ const data = await fs.readFile(path);
218
+ await this.vectorDB.importAsync(new Uint8Array(data));
219
+ }
220
+ // Call custom load
221
+ await this.onLoad(path);
222
+ }
223
+ // Lifecycle hooks (can be overridden by subclasses)
224
+ /**
225
+ * Called after initialize() completes
226
+ */
227
+ async onInitialize() {
228
+ // Override in subclass if needed
229
+ }
230
+ /**
231
+ * Called before destroy() completes
232
+ */
233
+ async onDestroy() {
234
+ // Override in subclass if needed
235
+ }
236
+ /**
237
+ * Called after each experience is stored
238
+ */
239
+ async onStoreExperience(experience) {
240
+ // Override in subclass if needed
241
+ }
242
+ /**
243
+ * Called during save()
244
+ */
245
+ async onSave(path) {
246
+ // Override in subclass if needed
247
+ }
248
+ /**
249
+ * Called during load()
250
+ */
251
+ async onLoad(path) {
252
+ // Override in subclass if needed
253
+ }
254
+ // Utility methods
255
+ /**
256
+ * Check if plugin is initialized
257
+ */
258
+ checkInitialized() {
259
+ if (!this.initialized) {
260
+ throw new Error(`Plugin ${this.name} not initialized. Call initialize() first.`);
261
+ }
262
+ }
263
+ /**
264
+ * Generate unique ID
265
+ */
266
+ generateId() {
267
+ return `${this.name}-${Date.now()}-${Math.random().toString(36).substring(7)}`;
268
+ }
269
+ /**
270
+ * Compute discounted returns for an episode
271
+ */
272
+ computeReturns(rewards, gamma) {
273
+ const returns = new Array(rewards.length);
274
+ let futureReturn = 0;
275
+ for (let i = rewards.length - 1; i >= 0; i--) {
276
+ futureReturn = rewards[i] + gamma * futureReturn;
277
+ returns[i] = futureReturn;
278
+ }
279
+ return returns;
280
+ }
281
+ /**
282
+ * Compute custom reward based on configuration
283
+ */
284
+ computeReward(experience) {
285
+ if (!this.config.reward) {
286
+ return experience.reward;
287
+ }
288
+ const { type } = this.config.reward;
289
+ const metadata = experience.metadata || {};
290
+ switch (type) {
291
+ case 'success_based':
292
+ return metadata.success ? 1.0 : -1.0;
293
+ case 'time_aware': {
294
+ const baseReward = metadata.success ? 1.0 : -1.0;
295
+ const timePenalty = -0.1 * ((metadata.duration || 0) / 1000);
296
+ return baseReward + timePenalty;
297
+ }
298
+ case 'token_aware': {
299
+ const baseReward = metadata.success ? 1.0 : -1.0;
300
+ const tokenPenalty = -0.01 * ((metadata.tokensUsed || 0) / 100);
301
+ return baseReward + tokenPenalty;
302
+ }
303
+ case 'custom':
304
+ // Custom reward function would be evaluated here
305
+ // For now, return the base reward
306
+ return experience.reward;
307
+ default:
308
+ return experience.reward;
309
+ }
310
+ }
311
+ }
312
+ exports.BasePlugin = BasePlugin;
313
+ //# sourceMappingURL=base-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-plugin.js","sourceRoot":"","sources":["../../src/plugins/base-plugin.ts"],"names":[],"mappings":"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"}