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,372 @@
1
+ "use strict";
2
+ /**
3
+ * Active Learning Plugin
4
+ *
5
+ * Implements query-based learning where the agent actively selects
6
+ * the most informative samples to learn from, maximizing data efficiency.
7
+ *
8
+ * Key features:
9
+ * - Uncertainty sampling
10
+ * - Query-by-committee
11
+ * - Expected model change
12
+ * - Diversity-based sampling
13
+ * - Budget-aware querying
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ActiveLearningPlugin = void 0;
17
+ const base_plugin_1 = require("../base-plugin");
18
+ /**
19
+ * Active Learning Plugin Implementation
20
+ */
21
+ class ActiveLearningPlugin extends base_plugin_1.BasePlugin {
22
+ constructor(config) {
23
+ super();
24
+ this.name = 'active-learning';
25
+ this.version = '1.0.0';
26
+ this.experiences = [];
27
+ this.queryStrategy = 'uncertainty';
28
+ this.labelingBudget = 1000;
29
+ this.queriedSamples = new Set();
30
+ this.unlabeledPool = [];
31
+ // Committee for query-by-committee
32
+ this.committee = [];
33
+ this.committeeSize = 5;
34
+ // Diversity tracking
35
+ this.diversityThreshold = 0.3;
36
+ if (config) {
37
+ this.queryStrategy = config.queryStrategy || 'uncertainty';
38
+ this.labelingBudget = config.labelingBudget !== undefined ? config.labelingBudget : 1000;
39
+ this.committeeSize = config.committeeSize || 5;
40
+ }
41
+ if (this.queryStrategy === 'committee') {
42
+ this.initializeCommittee();
43
+ }
44
+ // Mark as initialized for in-memory operation
45
+ this.initialized = true;
46
+ }
47
+ /**
48
+ * Override to skip initialization check for in-memory operation
49
+ */
50
+ checkInitialized() {
51
+ // No-op for active learning - operates in-memory
52
+ }
53
+ /**
54
+ * Override selectAction to provide base implementation
55
+ */
56
+ async selectAction(state, context) {
57
+ // Simple default action selection for active learning
58
+ return {
59
+ id: '0',
60
+ embedding: Array.isArray(state) ? state : [],
61
+ confidence: 0.5,
62
+ };
63
+ }
64
+ /**
65
+ * Override to store experiences in-memory without vectorDB
66
+ */
67
+ async storeExperience(experience) {
68
+ this.experiences.push(experience);
69
+ }
70
+ /**
71
+ * Override to retrieve from local experiences
72
+ */
73
+ async retrieveSimilar(state, k) {
74
+ return this.experiences.slice(0, k).map((exp, idx) => ({
75
+ id: exp.id || `exp-${idx}`,
76
+ embedding: exp.state,
77
+ metadata: exp,
78
+ score: 1.0 - (idx * 0.1), // Mock similarity score
79
+ }));
80
+ }
81
+ /**
82
+ * Initialize committee for query-by-committee
83
+ */
84
+ initializeCommittee() {
85
+ for (let i = 0; i < this.committeeSize; i++) {
86
+ const weights = new Array(256).fill(0).map(() => Math.random() * 0.1 - 0.05);
87
+ this.committee.push({
88
+ id: `member_${i}`,
89
+ weights,
90
+ predictions: new Map(),
91
+ });
92
+ }
93
+ }
94
+ /**
95
+ * Add unlabeled sample to pool
96
+ */
97
+ async addUnlabeledSample(state, metadata) {
98
+ this.unlabeledPool.push({
99
+ state,
100
+ uncertainty: 0,
101
+ queryValue: 0,
102
+ metadata,
103
+ });
104
+ }
105
+ /**
106
+ * Calculate uncertainty for a sample
107
+ */
108
+ async calculateUncertainty(sample) {
109
+ switch (this.queryStrategy) {
110
+ case 'uncertainty':
111
+ return this.uncertaintySampling(sample);
112
+ case 'margin':
113
+ return this.marginSampling(sample);
114
+ case 'entropy':
115
+ return this.entropySampling(sample);
116
+ case 'committee':
117
+ return this.queryByCommittee(sample);
118
+ case 'expected_model_change':
119
+ return this.expectedModelChange(sample);
120
+ case 'diverse':
121
+ return this.diversitySampling(sample);
122
+ default:
123
+ return this.uncertaintySampling(sample);
124
+ }
125
+ }
126
+ /**
127
+ * Uncertainty sampling: Select samples with highest prediction uncertainty
128
+ */
129
+ async uncertaintySampling(sample) {
130
+ const action = await this.selectAction(sample.state);
131
+ const confidence = action.confidence || 0;
132
+ // Uncertainty is 1 - confidence
133
+ return 1 - confidence;
134
+ }
135
+ /**
136
+ * Margin sampling: Select samples where top two predictions are close
137
+ */
138
+ async marginSampling(sample) {
139
+ // Get top K predictions
140
+ const predictions = await this.getTopPredictions(sample.state, 2);
141
+ if (predictions.length < 2) {
142
+ return 1.0;
143
+ }
144
+ // Margin is the difference between top two
145
+ const margin = Math.abs(predictions[0] - predictions[1]);
146
+ return 1 - margin; // Smaller margin = higher query value
147
+ }
148
+ /**
149
+ * Entropy sampling: Select samples with highest prediction entropy
150
+ */
151
+ async entropySampling(sample) {
152
+ const predictions = await this.getTopPredictions(sample.state, 10);
153
+ // Calculate Shannon entropy
154
+ let entropy = 0;
155
+ const sum = predictions.reduce((a, b) => a + b, 0);
156
+ for (const pred of predictions) {
157
+ const prob = pred / sum;
158
+ if (prob > 0) {
159
+ entropy -= prob * Math.log2(prob);
160
+ }
161
+ }
162
+ return entropy;
163
+ }
164
+ /**
165
+ * Query-by-committee: Select samples where committee disagrees most
166
+ */
167
+ async queryByCommittee(sample) {
168
+ const predictions = [];
169
+ // Get prediction from each committee member
170
+ for (const member of this.committee) {
171
+ const pred = this.predictWithWeights(sample.state, member.weights);
172
+ predictions.push(pred);
173
+ }
174
+ // Calculate variance (disagreement)
175
+ const mean = predictions.reduce((a, b) => a + b, 0) / predictions.length;
176
+ const variance = predictions.reduce((sum, p) => sum + Math.pow(p - mean, 2), 0) / predictions.length;
177
+ return Math.sqrt(variance); // Standard deviation
178
+ }
179
+ /**
180
+ * Expected model change: Select samples that would change model most
181
+ */
182
+ async expectedModelChange(sample) {
183
+ // Approximate gradient magnitude
184
+ const epsilon = 0.01;
185
+ const baseline = await this.selectAction(sample.state);
186
+ // Perturb state slightly
187
+ const perturbedState = sample.state.map((x) => x + epsilon);
188
+ const perturbed = await this.selectAction(perturbedState);
189
+ // Gradient magnitude
190
+ const gradMag = Math.abs((perturbed.confidence - baseline.confidence) / epsilon);
191
+ return gradMag;
192
+ }
193
+ /**
194
+ * Diversity sampling: Select diverse batch of samples
195
+ */
196
+ async diversitySampling(sample) {
197
+ if (this.queriedSamples.size === 0) {
198
+ return 1.0;
199
+ }
200
+ // Calculate distance to already queried samples
201
+ const queriedStates = Array.from(this.queriedSamples).map(id => {
202
+ const s = this.unlabeledPool.find(u => this.hashState(u.state) === id);
203
+ return s?.state || sample.state;
204
+ });
205
+ let minDistance = Infinity;
206
+ for (const qState of queriedStates) {
207
+ const dist = this.euclideanDistance(sample.state, qState);
208
+ minDistance = Math.min(minDistance, dist);
209
+ }
210
+ // Higher diversity value for samples far from queried ones
211
+ return minDistance;
212
+ }
213
+ /**
214
+ * Get top K predictions for a state
215
+ */
216
+ async getTopPredictions(state, k) {
217
+ // Simplified: return random predictions
218
+ const predictions = [];
219
+ for (let i = 0; i < k; i++) {
220
+ predictions.push(Math.random());
221
+ }
222
+ return predictions.sort((a, b) => b - a);
223
+ }
224
+ /**
225
+ * Predict using specific weights
226
+ */
227
+ predictWithWeights(state, weights) {
228
+ let activation = 0;
229
+ for (let i = 0; i < Math.min(state.length, weights.length); i++) {
230
+ activation += state[i] * weights[i];
231
+ }
232
+ return Math.tanh(activation);
233
+ }
234
+ /**
235
+ * Hash state for tracking
236
+ */
237
+ hashState(state) {
238
+ return state.slice(0, 10).join(',');
239
+ }
240
+ /**
241
+ * Euclidean distance between states
242
+ */
243
+ euclideanDistance(a, b) {
244
+ let sum = 0;
245
+ for (let i = 0; i < Math.min(a.length, b.length); i++) {
246
+ sum += Math.pow(a[i] - b[i], 2);
247
+ }
248
+ return Math.sqrt(sum);
249
+ }
250
+ /**
251
+ * Select next batch of samples to query (label)
252
+ */
253
+ async selectQueryBatch(batchSize) {
254
+ if (this.unlabeledPool.length === 0 || this.labelingBudget <= 0) {
255
+ return [];
256
+ }
257
+ // Calculate query value for each sample
258
+ for (const sample of this.unlabeledPool) {
259
+ sample.uncertainty = await this.calculateUncertainty(sample);
260
+ sample.queryValue = sample.uncertainty;
261
+ }
262
+ // Sort by query value
263
+ const sorted = [...this.unlabeledPool].sort((a, b) => b.queryValue - a.queryValue);
264
+ // Select top samples
265
+ const selected = sorted.slice(0, Math.min(batchSize, this.labelingBudget));
266
+ // Mark as queried
267
+ selected.forEach(s => {
268
+ this.queriedSamples.add(this.hashState(s.state));
269
+ });
270
+ // Update budget
271
+ this.labelingBudget -= selected.length;
272
+ // Remove from unlabeled pool
273
+ this.unlabeledPool = this.unlabeledPool.filter(s => !selected.includes(s));
274
+ return selected;
275
+ }
276
+ /**
277
+ * Train with active learning
278
+ */
279
+ async train(options) {
280
+ const startTime = Date.now();
281
+ const epochs = options?.epochs || 10;
282
+ const batchSize = options?.batchSize || 16;
283
+ let totalLoss = 0;
284
+ let experiencesProcessed = 0;
285
+ for (let epoch = 0; epoch < epochs; epoch++) {
286
+ // Select informative batch
287
+ const batch = await this.selectQueryBatch(batchSize);
288
+ if (batch.length === 0) {
289
+ break;
290
+ }
291
+ // Simulate labeling and training on queried samples
292
+ for (const sample of batch) {
293
+ // In real scenario, would query oracle for label
294
+ const simulatedLabel = Math.random();
295
+ const exp = {
296
+ state: sample.state,
297
+ action: { id: '0', embedding: sample.state },
298
+ reward: simulatedLabel,
299
+ nextState: sample.state,
300
+ done: false,
301
+ };
302
+ await this.storeExperience(exp);
303
+ // Compute loss
304
+ const prediction = await this.selectAction(sample.state);
305
+ const loss = Math.pow(prediction.confidence - simulatedLabel, 2);
306
+ totalLoss += loss;
307
+ experiencesProcessed++;
308
+ }
309
+ // Update committee if using query-by-committee
310
+ if (this.queryStrategy === 'committee') {
311
+ await this.updateCommittee(batch);
312
+ }
313
+ }
314
+ const duration = Date.now() - startTime;
315
+ return {
316
+ loss: totalLoss / Math.max(1, experiencesProcessed),
317
+ experiencesProcessed,
318
+ duration,
319
+ samplesQueried: this.queriedSamples.size,
320
+ remainingBudget: this.labelingBudget,
321
+ unlabeledPoolSize: this.unlabeledPool.length,
322
+ };
323
+ }
324
+ /**
325
+ * Update committee members
326
+ */
327
+ async updateCommittee(batch) {
328
+ for (const member of this.committee) {
329
+ // Random subset for diversity
330
+ const subset = batch
331
+ .filter(() => Math.random() > 0.5)
332
+ .map(s => ({
333
+ state: s.state,
334
+ action: { id: '0', embedding: s.state },
335
+ reward: Math.random(),
336
+ nextState: s.state,
337
+ done: false,
338
+ }));
339
+ // Update weights (simplified SGD)
340
+ for (const exp of subset) {
341
+ const pred = this.predictWithWeights(exp.state, member.weights);
342
+ const error = pred - exp.reward;
343
+ for (let i = 0; i < member.weights.length; i++) {
344
+ member.weights[i] -= 0.01 * error * exp.state[i % exp.state.length];
345
+ }
346
+ }
347
+ }
348
+ }
349
+ /**
350
+ * Get active learning statistics
351
+ */
352
+ getStats() {
353
+ const avgUncertainty = this.unlabeledPool.length > 0
354
+ ? this.unlabeledPool.reduce((sum, s) => sum + s.uncertainty, 0) / this.unlabeledPool.length
355
+ : 0;
356
+ return {
357
+ queriedCount: this.queriedSamples.size,
358
+ remainingBudget: this.labelingBudget,
359
+ unlabeledCount: this.unlabeledPool.length,
360
+ averageUncertainty: avgUncertainty,
361
+ };
362
+ }
363
+ /**
364
+ * Reset querying state
365
+ */
366
+ resetQuery() {
367
+ this.queriedSamples.clear();
368
+ this.unlabeledPool = [];
369
+ }
370
+ }
371
+ exports.ActiveLearningPlugin = ActiveLearningPlugin;
372
+ //# sourceMappingURL=active-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-learning.js","sourceRoot":"","sources":["../../../src/plugins/implementations/active-learning.ts"],"names":[],"mappings":"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"}