@claude-flow/cli 3.32.3 → 3.32.4

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 (683) hide show
  1. package/.claude/helpers/helpers.manifest.json +2 -2
  2. package/catalog-manifest.json +2 -2
  3. package/dist/src/agenticow/speculative-exploration.d.ts +148 -0
  4. package/dist/src/agenticow/speculative-exploration.js +218 -0
  5. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  6. package/dist/src/appliance/gguf-engine.js +425 -0
  7. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  8. package/dist/src/appliance/ruvllm-bridge.js +292 -0
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.js +329 -0
  11. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  12. package/dist/src/appliance/rvfa-distribution.js +370 -0
  13. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  14. package/dist/src/appliance/rvfa-format.js +393 -0
  15. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  16. package/dist/src/appliance/rvfa-runner.js +237 -0
  17. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  18. package/dist/src/appliance/rvfa-signing.js +347 -0
  19. package/dist/src/auth/client.d.ts +89 -0
  20. package/dist/src/auth/client.js +242 -0
  21. package/dist/src/auth/constants.d.ts +7 -0
  22. package/dist/src/auth/constants.js +7 -0
  23. package/dist/src/auth/scopes.d.ts +14 -0
  24. package/dist/src/auth/scopes.js +21 -0
  25. package/dist/src/auth/security-bridge.d.ts +36 -0
  26. package/dist/src/auth/security-bridge.js +42 -0
  27. package/dist/src/auth/session.d.ts +20 -0
  28. package/dist/src/auth/session.js +32 -0
  29. package/dist/src/auth/state.d.ts +19 -0
  30. package/dist/src/auth/state.js +53 -0
  31. package/dist/src/auth/types.d.ts +27 -0
  32. package/dist/src/auth/types.js +11 -0
  33. package/dist/src/autopilot-state.d.ts +77 -0
  34. package/dist/src/autopilot-state.js +271 -0
  35. package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +18 -0
  36. package/dist/src/benchmarks/gaia-agent-planning.smoke.js +253 -0
  37. package/dist/src/benchmarks/gaia-agent.d.ts +198 -0
  38. package/dist/src/benchmarks/gaia-agent.js +651 -0
  39. package/dist/src/benchmarks/gaia-causal-memory.d.ts +133 -0
  40. package/dist/src/benchmarks/gaia-causal-memory.js +281 -0
  41. package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +22 -0
  42. package/dist/src/benchmarks/gaia-causal-memory.smoke.js +300 -0
  43. package/dist/src/benchmarks/gaia-convergence.d.ts +138 -0
  44. package/dist/src/benchmarks/gaia-convergence.js +260 -0
  45. package/dist/src/benchmarks/gaia-convergence.smoke.d.ts +19 -0
  46. package/dist/src/benchmarks/gaia-convergence.smoke.js +246 -0
  47. package/dist/src/benchmarks/gaia-critic.d.ts +123 -0
  48. package/dist/src/benchmarks/gaia-critic.js +312 -0
  49. package/dist/src/benchmarks/gaia-critic.smoke.d.ts +21 -0
  50. package/dist/src/benchmarks/gaia-critic.smoke.js +327 -0
  51. package/dist/src/benchmarks/gaia-decomposer.d.ts +125 -0
  52. package/dist/src/benchmarks/gaia-decomposer.js +350 -0
  53. package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +21 -0
  54. package/dist/src/benchmarks/gaia-decomposer.smoke.js +228 -0
  55. package/dist/src/benchmarks/gaia-e2e-smoke.d.ts +27 -0
  56. package/dist/src/benchmarks/gaia-e2e-smoke.js +136 -0
  57. package/dist/src/benchmarks/gaia-extract.smoke.d.ts +45 -0
  58. package/dist/src/benchmarks/gaia-extract.smoke.js +242 -0
  59. package/dist/src/benchmarks/gaia-hardness/features.d.ts +46 -0
  60. package/dist/src/benchmarks/gaia-hardness/features.js +170 -0
  61. package/dist/src/benchmarks/gaia-hardness/predictor.d.ts +105 -0
  62. package/dist/src/benchmarks/gaia-hardness/predictor.js +260 -0
  63. package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +20 -0
  64. package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +235 -0
  65. package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +51 -0
  66. package/dist/src/benchmarks/gaia-hardness/train-data-loader.js +179 -0
  67. package/dist/src/benchmarks/gaia-judge.d.ts +88 -0
  68. package/dist/src/benchmarks/gaia-judge.js +437 -0
  69. package/dist/src/benchmarks/gaia-loader.d.ts +87 -0
  70. package/dist/src/benchmarks/gaia-loader.js +326 -0
  71. package/dist/src/benchmarks/gaia-tools/file_read.d.ts +35 -0
  72. package/dist/src/benchmarks/gaia-tools/file_read.js +403 -0
  73. package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +126 -0
  74. package/dist/src/benchmarks/gaia-tools/grounded_query.js +225 -0
  75. package/dist/src/benchmarks/gaia-tools/index.d.ts +32 -0
  76. package/dist/src/benchmarks/gaia-tools/index.js +36 -0
  77. package/dist/src/benchmarks/gaia-tools/types.d.ts +62 -0
  78. package/dist/src/benchmarks/gaia-tools/types.js +12 -0
  79. package/dist/src/benchmarks/gaia-tools/web_search.d.ts +30 -0
  80. package/dist/src/benchmarks/gaia-tools/web_search.js +210 -0
  81. package/dist/src/benchmarks/gaia-voting.d.ts +88 -0
  82. package/dist/src/benchmarks/gaia-voting.js +297 -0
  83. package/dist/src/benchmarks/gaia-voting.smoke.d.ts +20 -0
  84. package/dist/src/benchmarks/gaia-voting.smoke.js +332 -0
  85. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  86. package/dist/src/benchmarks/pretrain/index.js +404 -0
  87. package/dist/src/business-pods/bbs-budget-tracker.d.ts +139 -0
  88. package/dist/src/business-pods/bbs-budget-tracker.js +358 -0
  89. package/dist/src/business-pods/domain-affinity-policy.d.ts +47 -0
  90. package/dist/src/business-pods/domain-affinity-policy.js +65 -0
  91. package/dist/src/business-pods/pod-schema.d.ts +96 -0
  92. package/dist/src/business-pods/pod-schema.js +225 -0
  93. package/dist/src/commands/advisor.d.ts +15 -0
  94. package/dist/src/commands/advisor.js +94 -0
  95. package/dist/src/commands/agent-wasm.d.ts +14 -0
  96. package/dist/src/commands/agent-wasm.js +333 -0
  97. package/dist/src/commands/agent.d.ts +8 -0
  98. package/dist/src/commands/agent.js +927 -0
  99. package/dist/src/commands/analyze.d.ts +19 -0
  100. package/dist/src/commands/analyze.js +2047 -0
  101. package/dist/src/commands/announcements.d.ts +17 -0
  102. package/dist/src/commands/announcements.js +0 -0
  103. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  104. package/dist/src/commands/appliance-advanced.js +215 -0
  105. package/dist/src/commands/appliance.d.ts +8 -0
  106. package/dist/src/commands/appliance.js +404 -0
  107. package/dist/src/commands/auth.d.ts +15 -0
  108. package/dist/src/commands/auth.js +244 -0
  109. package/dist/src/commands/autopilot.d.ts +15 -0
  110. package/dist/src/commands/autopilot.js +407 -0
  111. package/dist/src/commands/benchmark.d.ts +10 -0
  112. package/dist/src/commands/benchmark.js +460 -0
  113. package/dist/src/commands/claims.d.ts +10 -0
  114. package/dist/src/commands/claims.js +620 -0
  115. package/dist/src/commands/cleanup.d.ts +13 -0
  116. package/dist/src/commands/cleanup.js +250 -0
  117. package/dist/src/commands/completions.d.ts +10 -0
  118. package/dist/src/commands/completions.js +539 -0
  119. package/dist/src/commands/config.d.ts +8 -0
  120. package/dist/src/commands/config.js +428 -0
  121. package/dist/src/commands/daemon.d.ts +59 -0
  122. package/dist/src/commands/daemon.js +1733 -0
  123. package/dist/src/commands/deployment.d.ts +10 -0
  124. package/dist/src/commands/deployment.js +672 -0
  125. package/dist/src/commands/doctor.d.ts +10 -0
  126. package/dist/src/commands/doctor.js +1902 -0
  127. package/dist/src/commands/eject.d.ts +33 -0
  128. package/dist/src/commands/eject.js +195 -0
  129. package/dist/src/commands/embeddings.d.ts +18 -0
  130. package/dist/src/commands/embeddings.js +1623 -0
  131. package/dist/src/commands/funnel.d.ts +18 -0
  132. package/dist/src/commands/funnel.js +302 -0
  133. package/dist/src/commands/gaia-bench.d.ts +40 -0
  134. package/dist/src/commands/gaia-bench.js +597 -0
  135. package/dist/src/commands/guidance.d.ts +8 -0
  136. package/dist/src/commands/guidance.js +556 -0
  137. package/dist/src/commands/hive-mind.d.ts +11 -0
  138. package/dist/src/commands/hive-mind.js +1319 -0
  139. package/dist/src/commands/hooks.d.ts +8 -0
  140. package/dist/src/commands/hooks.js +4606 -0
  141. package/dist/src/commands/index.d.ts +118 -0
  142. package/dist/src/commands/index.js +366 -0
  143. package/dist/src/commands/init.d.ts +13 -0
  144. package/dist/src/commands/init.js +1297 -0
  145. package/dist/src/commands/issues.d.ts +21 -0
  146. package/dist/src/commands/issues.js +567 -0
  147. package/dist/src/commands/mcp.d.ts +11 -0
  148. package/dist/src/commands/mcp.js +732 -0
  149. package/dist/src/commands/memory-backup.d.ts +11 -0
  150. package/dist/src/commands/memory-backup.js +46 -0
  151. package/dist/src/commands/memory-distill.d.ts +27 -0
  152. package/dist/src/commands/memory-distill.js +374 -0
  153. package/dist/src/commands/memory.d.ts +8 -0
  154. package/dist/src/commands/memory.js +1596 -0
  155. package/dist/src/commands/metaharness.d.ts +39 -0
  156. package/dist/src/commands/metaharness.js +215 -0
  157. package/dist/src/commands/migrate.d.ts +8 -0
  158. package/dist/src/commands/migrate.js +742 -0
  159. package/dist/src/commands/neural.d.ts +10 -0
  160. package/dist/src/commands/neural.js +4331 -0
  161. package/dist/src/commands/performance.d.ts +10 -0
  162. package/dist/src/commands/performance.js +583 -0
  163. package/dist/src/commands/plugins.d.ts +11 -0
  164. package/dist/src/commands/plugins.js +826 -0
  165. package/dist/src/commands/process.d.ts +10 -0
  166. package/dist/src/commands/process.js +694 -0
  167. package/dist/src/commands/progress.d.ts +11 -0
  168. package/dist/src/commands/progress.js +259 -0
  169. package/dist/src/commands/providers.d.ts +10 -0
  170. package/dist/src/commands/providers.js +502 -0
  171. package/dist/src/commands/proxy-lifecycle.d.ts +12 -0
  172. package/dist/src/commands/proxy-lifecycle.js +232 -0
  173. package/dist/src/commands/proxy.d.ts +21 -0
  174. package/dist/src/commands/proxy.js +398 -0
  175. package/dist/src/commands/route.d.ts +16 -0
  176. package/dist/src/commands/route.js +822 -0
  177. package/dist/src/commands/ruvector/backup.d.ts +11 -0
  178. package/dist/src/commands/ruvector/backup.js +747 -0
  179. package/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  180. package/dist/src/commands/ruvector/benchmark.js +490 -0
  181. package/dist/src/commands/ruvector/import.d.ts +18 -0
  182. package/dist/src/commands/ruvector/import.js +373 -0
  183. package/dist/src/commands/ruvector/index.d.ts +29 -0
  184. package/dist/src/commands/ruvector/index.js +129 -0
  185. package/dist/src/commands/ruvector/init.d.ts +11 -0
  186. package/dist/src/commands/ruvector/init.js +467 -0
  187. package/dist/src/commands/ruvector/migrate.d.ts +11 -0
  188. package/dist/src/commands/ruvector/migrate.js +498 -0
  189. package/dist/src/commands/ruvector/optimize.d.ts +11 -0
  190. package/dist/src/commands/ruvector/optimize.js +505 -0
  191. package/dist/src/commands/ruvector/pg-utils.d.ts +14 -0
  192. package/dist/src/commands/ruvector/pg-utils.js +41 -0
  193. package/dist/src/commands/ruvector/setup.d.ts +18 -0
  194. package/dist/src/commands/ruvector/setup.js +765 -0
  195. package/dist/src/commands/ruvector/status.d.ts +11 -0
  196. package/dist/src/commands/ruvector/status.js +479 -0
  197. package/dist/src/commands/security.d.ts +10 -0
  198. package/dist/src/commands/security.js +1012 -0
  199. package/dist/src/commands/session.d.ts +8 -0
  200. package/dist/src/commands/session.js +757 -0
  201. package/dist/src/commands/settings.d.ts +19 -0
  202. package/dist/src/commands/settings.js +180 -0
  203. package/dist/src/commands/spinner.d.ts +16 -0
  204. package/dist/src/commands/spinner.js +329 -0
  205. package/dist/src/commands/start.d.ts +8 -0
  206. package/dist/src/commands/start.js +418 -0
  207. package/dist/src/commands/status.d.ts +8 -0
  208. package/dist/src/commands/status.js +608 -0
  209. package/dist/src/commands/swarm.d.ts +8 -0
  210. package/dist/src/commands/swarm.js +891 -0
  211. package/dist/src/commands/task.d.ts +8 -0
  212. package/dist/src/commands/task.js +675 -0
  213. package/dist/src/commands/transfer-store.d.ts +13 -0
  214. package/dist/src/commands/transfer-store.js +428 -0
  215. package/dist/src/commands/update.d.ts +8 -0
  216. package/dist/src/commands/update.js +276 -0
  217. package/dist/src/commands/verify.d.ts +19 -0
  218. package/dist/src/commands/verify.js +261 -0
  219. package/dist/src/commands/version.d.ts +42 -0
  220. package/dist/src/commands/version.js +106 -0
  221. package/dist/src/commands/workflow.d.ts +8 -0
  222. package/dist/src/commands/workflow.js +617 -0
  223. package/dist/src/config/harness-feedback-applier.d.ts +50 -0
  224. package/dist/src/config/harness-feedback-applier.js +122 -0
  225. package/dist/src/config/proven-config-refresh.d.ts +39 -0
  226. package/dist/src/config/proven-config-refresh.js +154 -0
  227. package/dist/src/config/proven-config-rvfa.d.ts +23 -0
  228. package/dist/src/config/proven-config-rvfa.js +73 -0
  229. package/dist/src/config/proven-config.d.ts +86 -0
  230. package/dist/src/config/proven-config.js +176 -0
  231. package/dist/src/config-adapter.d.ts +15 -0
  232. package/dist/src/config-adapter.js +186 -0
  233. package/dist/src/encryption/vault.d.ts +94 -0
  234. package/dist/src/encryption/vault.js +172 -0
  235. package/dist/src/fs-secure.d.ts +86 -0
  236. package/dist/src/fs-secure.js +133 -0
  237. package/dist/src/funnel/advisor-tip.d.ts +58 -0
  238. package/dist/src/funnel/advisor-tip.js +92 -0
  239. package/dist/src/funnel/attribution.d.ts +37 -0
  240. package/dist/src/funnel/attribution.js +101 -0
  241. package/dist/src/funnel/consent.d.ts +22 -0
  242. package/dist/src/funnel/consent.js +58 -0
  243. package/dist/src/funnel/credit-errors.d.ts +31 -0
  244. package/dist/src/funnel/credit-errors.js +88 -0
  245. package/dist/src/funnel/credit-notifier.d.ts +44 -0
  246. package/dist/src/funnel/credit-notifier.js +74 -0
  247. package/dist/src/funnel/disclosure.d.ts +47 -0
  248. package/dist/src/funnel/disclosure.js +109 -0
  249. package/dist/src/funnel/enrollment.d.ts +36 -0
  250. package/dist/src/funnel/enrollment.js +64 -0
  251. package/dist/src/funnel/environment.d.ts +17 -0
  252. package/dist/src/funnel/environment.js +39 -0
  253. package/dist/src/funnel/event-transport.d.ts +51 -0
  254. package/dist/src/funnel/event-transport.js +199 -0
  255. package/dist/src/funnel/events.d.ts +42 -0
  256. package/dist/src/funnel/events.js +150 -0
  257. package/dist/src/funnel/index.d.ts +21 -0
  258. package/dist/src/funnel/index.js +21 -0
  259. package/dist/src/funnel/insights.d.ts +50 -0
  260. package/dist/src/funnel/insights.js +120 -0
  261. package/dist/src/funnel/local-signals.d.ts +20 -0
  262. package/dist/src/funnel/local-signals.js +77 -0
  263. package/dist/src/funnel/message-transport.d.ts +51 -0
  264. package/dist/src/funnel/message-transport.js +149 -0
  265. package/dist/src/funnel/messages.d.ts +55 -0
  266. package/dist/src/funnel/messages.js +160 -0
  267. package/dist/src/funnel/payout.d.ts +40 -0
  268. package/dist/src/funnel/payout.js +60 -0
  269. package/dist/src/funnel/power-saver-notifier.d.ts +44 -0
  270. package/dist/src/funnel/power-saver-notifier.js +92 -0
  271. package/dist/src/funnel/precedence.d.ts +16 -0
  272. package/dist/src/funnel/precedence.js +85 -0
  273. package/dist/src/funnel/promo.d.ts +41 -0
  274. package/dist/src/funnel/promo.js +144 -0
  275. package/dist/src/funnel/rate-limit-notifier.d.ts +55 -0
  276. package/dist/src/funnel/rate-limit-notifier.js +102 -0
  277. package/dist/src/funnel/rotation.d.ts +19 -0
  278. package/dist/src/funnel/rotation.js +70 -0
  279. package/dist/src/funnel/state.d.ts +13 -0
  280. package/dist/src/funnel/state.js +52 -0
  281. package/dist/src/funnel/toggle-cooldown.d.ts +17 -0
  282. package/dist/src/funnel/toggle-cooldown.js +32 -0
  283. package/dist/src/funnel/types.d.ts +98 -0
  284. package/dist/src/funnel/types.js +26 -0
  285. package/dist/src/index.d.ts +81 -0
  286. package/dist/src/index.js +609 -0
  287. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  288. package/dist/src/infrastructure/in-memory-repositories.js +264 -0
  289. package/dist/src/init/claudemd-generator.d.ts +16 -0
  290. package/dist/src/init/claudemd-generator.js +368 -0
  291. package/dist/src/init/executor.d.ts +41 -0
  292. package/dist/src/init/executor.js +2142 -0
  293. package/dist/src/init/helper-refresh.d.ts +79 -0
  294. package/dist/src/init/helper-refresh.js +347 -0
  295. package/dist/src/init/helper-signing.d.ts +37 -0
  296. package/dist/src/init/helper-signing.js +67 -0
  297. package/dist/src/init/helpers-generator.d.ts +87 -0
  298. package/dist/src/init/helpers-generator.js +1456 -0
  299. package/dist/src/init/index.d.ts +13 -0
  300. package/dist/src/init/index.js +15 -0
  301. package/dist/src/init/mcp-generator.d.ts +26 -0
  302. package/dist/src/init/mcp-generator.js +126 -0
  303. package/dist/src/init/memory-package-resolver.d.ts +53 -0
  304. package/dist/src/init/memory-package-resolver.js +118 -0
  305. package/dist/src/init/settings-generator.d.ts +14 -0
  306. package/dist/src/init/settings-generator.js +462 -0
  307. package/dist/src/init/statusline-generator.d.ts +28 -0
  308. package/dist/src/init/statusline-generator.js +177 -0
  309. package/dist/src/init/types.d.ts +331 -0
  310. package/dist/src/init/types.js +276 -0
  311. package/dist/src/log-filters.d.ts +46 -0
  312. package/dist/src/log-filters.js +107 -0
  313. package/dist/src/mcp-client.d.ts +92 -0
  314. package/dist/src/mcp-client.js +397 -0
  315. package/dist/src/mcp-server.d.ts +163 -0
  316. package/dist/src/mcp-server.js +751 -0
  317. package/dist/src/mcp-tools/agent-execute-core.d.ts +115 -0
  318. package/dist/src/mcp-tools/agent-execute-core.js +587 -0
  319. package/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  320. package/dist/src/mcp-tools/agent-tools.js +837 -0
  321. package/dist/src/mcp-tools/agentbbs-tools.d.ts +28 -0
  322. package/dist/src/mcp-tools/agentbbs-tools.js +394 -0
  323. package/dist/src/mcp-tools/agentdb-tools.d.ts +35 -0
  324. package/dist/src/mcp-tools/agentdb-tools.js +1473 -0
  325. package/dist/src/mcp-tools/agenticow-loader.d.ts +59 -0
  326. package/dist/src/mcp-tools/agenticow-loader.js +105 -0
  327. package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts +24 -0
  328. package/dist/src/mcp-tools/agenticow-speculate-tools.js +209 -0
  329. package/dist/src/mcp-tools/agenticow-tools.d.ts +36 -0
  330. package/dist/src/mcp-tools/agenticow-tools.js +360 -0
  331. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  332. package/dist/src/mcp-tools/analyze-tools.js +346 -0
  333. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  334. package/dist/src/mcp-tools/auto-install.js +131 -0
  335. package/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
  336. package/dist/src/mcp-tools/autopilot-tools.js +231 -0
  337. package/dist/src/mcp-tools/browser-intent-tools.d.ts +162 -0
  338. package/dist/src/mcp-tools/browser-intent-tools.js +548 -0
  339. package/dist/src/mcp-tools/browser-session-tools.d.ts +27 -0
  340. package/dist/src/mcp-tools/browser-session-tools.js +398 -0
  341. package/dist/src/mcp-tools/browser-tools.d.ts +21 -0
  342. package/dist/src/mcp-tools/browser-tools.js +760 -0
  343. package/dist/src/mcp-tools/business-pod-tools.d.ts +20 -0
  344. package/dist/src/mcp-tools/business-pod-tools.js +169 -0
  345. package/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  346. package/dist/src/mcp-tools/claims-tools.js +863 -0
  347. package/dist/src/mcp-tools/config-tools.d.ts +8 -0
  348. package/dist/src/mcp-tools/config-tools.js +411 -0
  349. package/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  350. package/dist/src/mcp-tools/coordination-tools.js +729 -0
  351. package/dist/src/mcp-tools/daa-tools.d.ts +13 -0
  352. package/dist/src/mcp-tools/daa-tools.js +534 -0
  353. package/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  354. package/dist/src/mcp-tools/embeddings-tools.js +904 -0
  355. package/dist/src/mcp-tools/github-tools.d.ts +9 -0
  356. package/dist/src/mcp-tools/github-tools.js +659 -0
  357. package/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
  358. package/dist/src/mcp-tools/guidance-tools.js +639 -0
  359. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  360. package/dist/src/mcp-tools/hive-mind-tools.js +953 -0
  361. package/dist/src/mcp-tools/hooks-tools.d.ts +65 -0
  362. package/dist/src/mcp-tools/hooks-tools.js +4836 -0
  363. package/dist/src/mcp-tools/http-fetch-tools.d.ts +55 -0
  364. package/dist/src/mcp-tools/http-fetch-tools.js +329 -0
  365. package/dist/src/mcp-tools/index.d.ts +34 -0
  366. package/dist/src/mcp-tools/index.js +40 -0
  367. package/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
  368. package/dist/src/mcp-tools/managed-agent-tools.js +357 -0
  369. package/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  370. package/dist/src/mcp-tools/memory-tools.js +1330 -0
  371. package/dist/src/mcp-tools/metaharness-tools.d.ts +51 -0
  372. package/dist/src/mcp-tools/metaharness-tools.js +684 -0
  373. package/dist/src/mcp-tools/neural-tools.d.ts +54 -0
  374. package/dist/src/mcp-tools/neural-tools.js +1168 -0
  375. package/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  376. package/dist/src/mcp-tools/performance-tools.js +675 -0
  377. package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  378. package/dist/src/mcp-tools/progress-tools.js +348 -0
  379. package/dist/src/mcp-tools/request-tracker.d.ts +17 -0
  380. package/dist/src/mcp-tools/request-tracker.js +27 -0
  381. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  382. package/dist/src/mcp-tools/ruvllm-tools.js +355 -0
  383. package/dist/src/mcp-tools/security-tools.d.ts +18 -0
  384. package/dist/src/mcp-tools/security-tools.js +556 -0
  385. package/dist/src/mcp-tools/session-tools.d.ts +8 -0
  386. package/dist/src/mcp-tools/session-tools.js +517 -0
  387. package/dist/src/mcp-tools/swarm-tools.d.ts +37 -0
  388. package/dist/src/mcp-tools/swarm-tools.js +390 -0
  389. package/dist/src/mcp-tools/system-tools.d.ts +13 -0
  390. package/dist/src/mcp-tools/system-tools.js +688 -0
  391. package/dist/src/mcp-tools/task-tools.d.ts +8 -0
  392. package/dist/src/mcp-tools/task-tools.js +487 -0
  393. package/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
  394. package/dist/src/mcp-tools/terminal-tools.js +306 -0
  395. package/dist/src/mcp-tools/testgen-tools.d.ts +26 -0
  396. package/dist/src/mcp-tools/testgen-tools.js +168 -0
  397. package/dist/src/mcp-tools/tool-loop-guardrail.d.ts +31 -0
  398. package/dist/src/mcp-tools/tool-loop-guardrail.js +71 -0
  399. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  400. package/dist/src/mcp-tools/transfer-tools.js +447 -0
  401. package/dist/src/mcp-tools/types.d.ts +8 -0
  402. package/dist/src/mcp-tools/types.js +8 -0
  403. package/dist/src/mcp-tools/validate-input.d.ts +9 -0
  404. package/dist/src/mcp-tools/validate-input.js +9 -0
  405. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +13 -0
  406. package/dist/src/mcp-tools/wasm-agent-tools.js +840 -0
  407. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  408. package/dist/src/mcp-tools/workflow-tools.js +884 -0
  409. package/dist/src/memory/bge-embedder.d.ts +25 -0
  410. package/dist/src/memory/bge-embedder.js +121 -0
  411. package/dist/src/memory/cross-encoder-rerank.d.ts +33 -0
  412. package/dist/src/memory/cross-encoder-rerank.js +123 -0
  413. package/dist/src/memory/embedding-policy.d.ts +21 -0
  414. package/dist/src/memory/embedding-policy.js +30 -0
  415. package/dist/src/memory/embedding-quantization.d.ts +62 -0
  416. package/dist/src/memory/embedding-quantization.js +156 -0
  417. package/dist/src/memory/ewc-consolidation.d.ts +305 -0
  418. package/dist/src/memory/ewc-consolidation.js +611 -0
  419. package/dist/src/memory/graph-edge-writer.d.ts +95 -0
  420. package/dist/src/memory/graph-edge-writer.js +217 -0
  421. package/dist/src/memory/hybrid-retrieval.d.ts +77 -0
  422. package/dist/src/memory/hybrid-retrieval.js +192 -0
  423. package/dist/src/memory/intelligence.d.ts +405 -0
  424. package/dist/src/memory/intelligence.js +1316 -0
  425. package/dist/src/memory/lucene-bm25.d.ts +19 -0
  426. package/dist/src/memory/lucene-bm25.js +308 -0
  427. package/dist/src/memory/memory-bridge.d.ts +537 -0
  428. package/dist/src/memory/memory-bridge.js +2460 -0
  429. package/dist/src/memory/memory-initializer.d.ts +556 -0
  430. package/dist/src/memory/memory-initializer.js +3021 -0
  431. package/dist/src/memory/neural-package-bridge.d.ts +48 -0
  432. package/dist/src/memory/neural-package-bridge.js +87 -0
  433. package/dist/src/memory/rabitq-index.d.ts +60 -0
  434. package/dist/src/memory/rabitq-index.js +242 -0
  435. package/dist/src/memory/sona-optimizer.d.ts +267 -0
  436. package/dist/src/memory/sona-optimizer.js +779 -0
  437. package/dist/src/memory/structured-distill.d.ts +48 -0
  438. package/dist/src/memory/structured-distill.js +125 -0
  439. package/dist/src/output.d.ts +9 -0
  440. package/dist/src/output.js +9 -0
  441. package/dist/src/parser.d.ts +89 -0
  442. package/dist/src/parser.js +516 -0
  443. package/dist/src/plugins/manager.d.ts +133 -0
  444. package/dist/src/plugins/manager.js +415 -0
  445. package/dist/src/plugins/store/discovery.d.ts +99 -0
  446. package/dist/src/plugins/store/discovery.js +1224 -0
  447. package/dist/src/plugins/store/index.d.ts +76 -0
  448. package/dist/src/plugins/store/index.js +141 -0
  449. package/dist/src/plugins/store/search.d.ts +46 -0
  450. package/dist/src/plugins/store/search.js +230 -0
  451. package/dist/src/plugins/store/types.d.ts +279 -0
  452. package/dist/src/plugins/store/types.js +7 -0
  453. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  454. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  455. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  456. package/dist/src/plugins/tests/standalone-test.js +188 -0
  457. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  458. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  459. package/dist/src/production/circuit-breaker.d.ts +101 -0
  460. package/dist/src/production/circuit-breaker.js +241 -0
  461. package/dist/src/production/error-handler.d.ts +92 -0
  462. package/dist/src/production/error-handler.js +299 -0
  463. package/dist/src/production/index.d.ts +23 -0
  464. package/dist/src/production/index.js +18 -0
  465. package/dist/src/production/monitoring.d.ts +161 -0
  466. package/dist/src/production/monitoring.js +356 -0
  467. package/dist/src/production/rate-limiter.d.ts +80 -0
  468. package/dist/src/production/rate-limiter.js +201 -0
  469. package/dist/src/production/retry.d.ts +48 -0
  470. package/dist/src/production/retry.js +179 -0
  471. package/dist/src/prompt.d.ts +44 -0
  472. package/dist/src/prompt.js +501 -0
  473. package/dist/src/proxy/install.d.ts +29 -0
  474. package/dist/src/proxy/install.js +135 -0
  475. package/dist/src/proxy/lifecycle.d.ts +61 -0
  476. package/dist/src/proxy/lifecycle.js +249 -0
  477. package/dist/src/proxy/paths.d.ts +34 -0
  478. package/dist/src/proxy/paths.js +70 -0
  479. package/dist/src/proxy/release.d.ts +47 -0
  480. package/dist/src/proxy/release.js +138 -0
  481. package/dist/src/proxy/token-bridge.d.ts +5 -0
  482. package/dist/src/proxy/token-bridge.js +61 -0
  483. package/dist/src/proxy/verify.d.ts +44 -0
  484. package/dist/src/proxy/verify.js +68 -0
  485. package/dist/src/runtime/headless.d.ts +60 -0
  486. package/dist/src/runtime/headless.js +284 -0
  487. package/dist/src/runtime/parent-death-watchdog.d.ts +42 -0
  488. package/dist/src/runtime/parent-death-watchdog.js +70 -0
  489. package/dist/src/ruvector/agent-wasm.d.ts +228 -0
  490. package/dist/src/ruvector/agent-wasm.js +463 -0
  491. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  492. package/dist/src/ruvector/ast-analyzer.js +277 -0
  493. package/dist/src/ruvector/codemods/engine.d.ts +45 -0
  494. package/dist/src/ruvector/codemods/engine.js +291 -0
  495. package/dist/src/ruvector/codemods/scope-analysis.d.ts +29 -0
  496. package/dist/src/ruvector/codemods/scope-analysis.js +162 -0
  497. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  498. package/dist/src/ruvector/coverage-router.js +531 -0
  499. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  500. package/dist/src/ruvector/coverage-tools.js +157 -0
  501. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  502. package/dist/src/ruvector/diff-classifier.js +699 -0
  503. package/dist/src/ruvector/diskann-backend.d.ts +78 -0
  504. package/dist/src/ruvector/diskann-backend.js +310 -0
  505. package/dist/src/ruvector/enhanced-model-router.d.ts +172 -0
  506. package/dist/src/ruvector/enhanced-model-router.js +577 -0
  507. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  508. package/dist/src/ruvector/graph-analyzer.js +929 -0
  509. package/dist/src/ruvector/graph-backend.d.ts +79 -0
  510. package/dist/src/ruvector/graph-backend.js +220 -0
  511. package/dist/src/ruvector/index.d.ts +38 -0
  512. package/dist/src/ruvector/index.js +86 -0
  513. package/dist/src/ruvector/lora-adapter.d.ts +292 -0
  514. package/dist/src/ruvector/lora-adapter.js +710 -0
  515. package/dist/src/ruvector/model-prices.d.ts +50 -0
  516. package/dist/src/ruvector/model-prices.js +72 -0
  517. package/dist/src/ruvector/model-router.d.ts +408 -0
  518. package/dist/src/ruvector/model-router.js +1162 -0
  519. package/dist/src/ruvector/neural-router.d.ts +182 -0
  520. package/dist/src/ruvector/neural-router.js +825 -0
  521. package/dist/src/ruvector/output-verifier.d.ts +83 -0
  522. package/dist/src/ruvector/output-verifier.js +277 -0
  523. package/dist/src/ruvector/q-learning-router.d.ts +227 -0
  524. package/dist/src/ruvector/q-learning-router.js +721 -0
  525. package/dist/src/ruvector/router-calibrator.d.ts +65 -0
  526. package/dist/src/ruvector/router-calibrator.js +120 -0
  527. package/dist/src/ruvector/router-parallel-recorder.d.ts +127 -0
  528. package/dist/src/ruvector/router-parallel-recorder.js +183 -0
  529. package/dist/src/ruvector/router-trajectory.d.ts +194 -0
  530. package/dist/src/ruvector/router-trajectory.js +281 -0
  531. package/dist/src/ruvector/run-transcript-recorder.d.ts +154 -0
  532. package/dist/src/ruvector/run-transcript-recorder.js +209 -0
  533. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  534. package/dist/src/ruvector/ruvllm-wasm.js +379 -0
  535. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  536. package/dist/src/ruvector/semantic-router.js +178 -0
  537. package/dist/src/ruvector/task-embedder.d.ts +56 -0
  538. package/dist/src/ruvector/task-embedder.js +237 -0
  539. package/dist/src/ruvector/trajectory-tree.d.ts +113 -0
  540. package/dist/src/ruvector/trajectory-tree.js +237 -0
  541. package/dist/src/ruvector/vector-db.d.ts +73 -0
  542. package/dist/src/ruvector/vector-db.js +301 -0
  543. package/dist/src/ruvector/wasm-embedder.d.ts +13 -0
  544. package/dist/src/ruvector/wasm-embedder.js +143 -0
  545. package/dist/src/security/builtin-aidefence.d.ts +34 -0
  546. package/dist/src/security/builtin-aidefence.js +86 -0
  547. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  548. package/dist/src/services/agentic-flow-bridge.js +95 -0
  549. package/dist/src/services/ai-job-dedup.d.ts +61 -0
  550. package/dist/src/services/ai-job-dedup.js +136 -0
  551. package/dist/src/services/checkpoint-gate.d.ts +140 -0
  552. package/dist/src/services/checkpoint-gate.js +223 -0
  553. package/dist/src/services/claim-service.d.ts +204 -0
  554. package/dist/src/services/claim-service.js +818 -0
  555. package/dist/src/services/config-file-manager.d.ts +37 -0
  556. package/dist/src/services/config-file-manager.js +224 -0
  557. package/dist/src/services/container-worker-pool.d.ts +204 -0
  558. package/dist/src/services/container-worker-pool.js +589 -0
  559. package/dist/src/services/daemon-autostart.d.ts +17 -0
  560. package/dist/src/services/daemon-autostart.js +102 -0
  561. package/dist/src/services/distill-oracle.d.ts +190 -0
  562. package/dist/src/services/distill-oracle.js +349 -0
  563. package/dist/src/services/distill-tuning.d.ts +111 -0
  564. package/dist/src/services/distill-tuning.js +510 -0
  565. package/dist/src/services/evolve-proof.d.ts +253 -0
  566. package/dist/src/services/evolve-proof.js +343 -0
  567. package/dist/src/services/fable-harness.d.ts +208 -0
  568. package/dist/src/services/fable-harness.js +388 -0
  569. package/dist/src/services/git-workspace-identity.d.ts +42 -0
  570. package/dist/src/services/git-workspace-identity.js +99 -0
  571. package/dist/src/services/global-ai-budget.d.ts +135 -0
  572. package/dist/src/services/global-ai-budget.js +415 -0
  573. package/dist/src/services/harness-benchmark.d.ts +68 -0
  574. package/dist/src/services/harness-benchmark.js +94 -0
  575. package/dist/src/services/harness-canary.d.ts +60 -0
  576. package/dist/src/services/harness-canary.js +69 -0
  577. package/dist/src/services/harness-corpus-harvester.d.ts +51 -0
  578. package/dist/src/services/harness-corpus-harvester.js +74 -0
  579. package/dist/src/services/harness-flywheel-generations.d.ts +115 -0
  580. package/dist/src/services/harness-flywheel-generations.js +360 -0
  581. package/dist/src/services/harness-flywheel-runtime.d.ts +25 -0
  582. package/dist/src/services/harness-flywheel-runtime.js +92 -0
  583. package/dist/src/services/harness-flywheel.d.ts +48 -0
  584. package/dist/src/services/harness-flywheel.js +207 -0
  585. package/dist/src/services/harness-frozen-eval.d.ts +22 -0
  586. package/dist/src/services/harness-frozen-eval.js +66 -0
  587. package/dist/src/services/harness-hosts.d.ts +40 -0
  588. package/dist/src/services/harness-hosts.js +88 -0
  589. package/dist/src/services/harness-improvement-ledger.d.ts +63 -0
  590. package/dist/src/services/harness-improvement-ledger.js +101 -0
  591. package/dist/src/services/harness-loop.d.ts +53 -0
  592. package/dist/src/services/harness-loop.js +85 -0
  593. package/dist/src/services/harness-qualification.d.ts +66 -0
  594. package/dist/src/services/harness-qualification.js +143 -0
  595. package/dist/src/services/harness-replay.d.ts +37 -0
  596. package/dist/src/services/harness-replay.js +92 -0
  597. package/dist/src/services/harness-verify.d.ts +33 -0
  598. package/dist/src/services/harness-verify.js +26 -0
  599. package/dist/src/services/harness-worker.d.ts +23 -0
  600. package/dist/src/services/harness-worker.js +66 -0
  601. package/dist/src/services/headless-worker-executor.d.ts +358 -0
  602. package/dist/src/services/headless-worker-executor.js +1269 -0
  603. package/dist/src/services/index.d.ts +13 -0
  604. package/dist/src/services/index.js +11 -0
  605. package/dist/src/services/memory-backup.d.ts +53 -0
  606. package/dist/src/services/memory-backup.js +198 -0
  607. package/dist/src/services/memory-distillation.d.ts +41 -0
  608. package/dist/src/services/memory-distillation.js +277 -0
  609. package/dist/src/services/native-training.d.ts +68 -0
  610. package/dist/src/services/native-training.js +141 -0
  611. package/dist/src/services/registry-api.d.ts +58 -0
  612. package/dist/src/services/registry-api.js +146 -0
  613. package/dist/src/services/repo-supervisor.d.ts +70 -0
  614. package/dist/src/services/repo-supervisor.js +228 -0
  615. package/dist/src/services/ruvector-training.d.ts +222 -0
  616. package/dist/src/services/ruvector-training.js +693 -0
  617. package/dist/src/services/swarm-memory-branches.d.ts +135 -0
  618. package/dist/src/services/swarm-memory-branches.js +213 -0
  619. package/dist/src/services/weight-eft.d.ts +305 -0
  620. package/dist/src/services/weight-eft.js +296 -0
  621. package/dist/src/services/worker-daemon.d.ts +439 -0
  622. package/dist/src/services/worker-daemon.js +1865 -0
  623. package/dist/src/services/worker-queue.d.ts +194 -0
  624. package/dist/src/services/worker-queue.js +513 -0
  625. package/dist/src/services/workspace-lease.d.ts +55 -0
  626. package/dist/src/services/workspace-lease.js +191 -0
  627. package/dist/src/suggest.d.ts +53 -0
  628. package/dist/src/suggest.js +200 -0
  629. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  630. package/dist/src/transfer/anonymization/index.js +175 -0
  631. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  632. package/dist/src/transfer/deploy-seraphine.js +205 -0
  633. package/dist/src/transfer/export.d.ts +25 -0
  634. package/dist/src/transfer/export.js +113 -0
  635. package/dist/src/transfer/index.d.ts +12 -0
  636. package/dist/src/transfer/index.js +31 -0
  637. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  638. package/dist/src/transfer/ipfs/client.js +307 -0
  639. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  640. package/dist/src/transfer/ipfs/upload.js +413 -0
  641. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  642. package/dist/src/transfer/models/seraphine.js +373 -0
  643. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  644. package/dist/src/transfer/serialization/cfp.js +183 -0
  645. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  646. package/dist/src/transfer/storage/gcs.js +272 -0
  647. package/dist/src/transfer/storage/index.d.ts +6 -0
  648. package/dist/src/transfer/storage/index.js +6 -0
  649. package/dist/src/transfer/store/discovery.d.ts +84 -0
  650. package/dist/src/transfer/store/discovery.js +382 -0
  651. package/dist/src/transfer/store/download.d.ts +70 -0
  652. package/dist/src/transfer/store/download.js +334 -0
  653. package/dist/src/transfer/store/index.d.ts +84 -0
  654. package/dist/src/transfer/store/index.js +153 -0
  655. package/dist/src/transfer/store/publish.d.ts +76 -0
  656. package/dist/src/transfer/store/publish.js +294 -0
  657. package/dist/src/transfer/store/registry.d.ts +58 -0
  658. package/dist/src/transfer/store/registry.js +285 -0
  659. package/dist/src/transfer/store/search.d.ts +54 -0
  660. package/dist/src/transfer/store/search.js +232 -0
  661. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  662. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  663. package/dist/src/transfer/store/types.d.ts +193 -0
  664. package/dist/src/transfer/store/types.js +6 -0
  665. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  666. package/dist/src/transfer/test-seraphine.js +105 -0
  667. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  668. package/dist/src/transfer/tests/test-store.js +214 -0
  669. package/dist/src/transfer/types.d.ts +245 -0
  670. package/dist/src/transfer/types.js +6 -0
  671. package/dist/src/types.d.ts +13 -0
  672. package/dist/src/types.js +13 -0
  673. package/dist/src/update/checker.d.ts +34 -0
  674. package/dist/src/update/checker.js +191 -0
  675. package/dist/src/update/executor.d.ts +33 -0
  676. package/dist/src/update/executor.js +217 -0
  677. package/dist/src/update/index.d.ts +33 -0
  678. package/dist/src/update/index.js +64 -0
  679. package/dist/src/update/rate-limiter.d.ts +20 -0
  680. package/dist/src/update/rate-limiter.js +96 -0
  681. package/dist/src/update/validator.d.ts +17 -0
  682. package/dist/src/update/validator.js +123 -0
  683. package/package.json +1 -1
@@ -0,0 +1,710 @@
1
+ /**
2
+ * LoRA (Low-Rank Adaptation) Implementation
3
+ *
4
+ * Enables efficient fine-tuning by decomposing weight updates into low-rank matrices.
5
+ * Dramatically reduces memory requirements while maintaining adaptation quality.
6
+ *
7
+ * Features:
8
+ * - Rank decomposition (r << d) for memory efficiency
9
+ * - Additive weight updates: W' = W + BA (where B ∈ R^{d×r}, A ∈ R^{r×k})
10
+ * - Support for multiple adaptation heads
11
+ * - Persistence to .swarm/lora-weights.json
12
+ *
13
+ * Memory savings:
14
+ * - Original: d × k parameters
15
+ * - LoRA: r × (d + k) parameters
16
+ * - For d=384, k=384, r=8: 786,432 → 6,144 (128x reduction)
17
+ *
18
+ * @module lora-adapter
19
+ */
20
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
21
+ import { dirname, join } from 'path';
22
+ import { createRequire } from 'module';
23
+ // ============================================================================
24
+ // Types & Constants
25
+ // ============================================================================
26
+ /**
27
+ * Default LoRA rank (determines memory/quality tradeoff)
28
+ */
29
+ export const DEFAULT_RANK = 8;
30
+ /**
31
+ * Input dimension (384 from ONNX MiniLM-L6-v2)
32
+ */
33
+ export const INPUT_DIM = 384;
34
+ /**
35
+ * Default output dimension (same as input for adapter)
36
+ */
37
+ export const OUTPUT_DIM = 384;
38
+ /**
39
+ * Default alpha scaling factor
40
+ */
41
+ export const DEFAULT_ALPHA = 16;
42
+ // ============================================================================
43
+ // Default Configuration
44
+ // ============================================================================
45
+ const DEFAULT_CONFIG = {
46
+ rank: DEFAULT_RANK,
47
+ alpha: DEFAULT_ALPHA,
48
+ inputDim: INPUT_DIM,
49
+ outputDim: OUTPUT_DIM,
50
+ learningRate: 0.001,
51
+ weightsPath: join(process.cwd(), '.swarm', 'lora-weights.json'),
52
+ enableDropout: true,
53
+ dropoutProb: 0.1,
54
+ autoSaveInterval: 50,
55
+ };
56
+ // ============================================================================
57
+ // @ruvector/ruvllm TrainingPipeline (lazy-loaded)
58
+ // ============================================================================
59
+ let ruvllmPipeline = null;
60
+ let pipelineLoaded = false;
61
+ /**
62
+ * Which training backend a train call would use — WITHOUT loading the
63
+ * pipeline (#2549). Before this existed, status surfaces read module state
64
+ * that only a prior in-process train populates, so a fresh read-only
65
+ * process always reported 'js-fallback'/'unavailable' even with
66
+ * @ruvector/ruvllm installed. The pipeline stays lazy: this only probes
67
+ * module resolution.
68
+ */
69
+ export function resolveTrainingBackend() {
70
+ if (pipelineLoaded)
71
+ return ruvllmPipeline ? 'ruvllm' : 'js-fallback';
72
+ try {
73
+ createRequire(import.meta.url).resolve('@ruvector/ruvllm');
74
+ return 'ruvllm';
75
+ }
76
+ catch {
77
+ return 'js-fallback';
78
+ }
79
+ }
80
+ /**
81
+ * Whether the resolved @ruvector/ruvllm persists checkpoints to disk.
82
+ * saveCheckpoint(path) was a silent no-op (private, void, wrote 0 bytes)
83
+ * before 2.5.7 — status surfaces must not advertise checkpoints against
84
+ * older versions. Reads the resolved package's version; the package does
85
+ * not export ./package.json, so walk up from the resolved entry instead.
86
+ */
87
+ export function nativeCheckpointsSupported() {
88
+ try {
89
+ const req = createRequire(import.meta.url);
90
+ let dir = dirname(req.resolve('@ruvector/ruvllm'));
91
+ for (let i = 0; i < 5; i++) {
92
+ const pkgPath = join(dir, 'package.json');
93
+ if (existsSync(pkgPath)) {
94
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
95
+ if (pkg.name !== '@ruvector/ruvllm') {
96
+ dir = dirname(dir);
97
+ continue;
98
+ }
99
+ const [maj, min, pat] = String(pkg.version).split('.').map(Number);
100
+ return maj > 2 || (maj === 2 && (min > 5 || (min === 5 && pat >= 7)));
101
+ }
102
+ dir = dirname(dir);
103
+ }
104
+ }
105
+ catch { /* unresolved — no native checkpoints */ }
106
+ return false;
107
+ }
108
+ async function loadTrainingPipeline(adapter) {
109
+ if (pipelineLoaded)
110
+ return ruvllmPipeline;
111
+ pipelineLoaded = true;
112
+ try {
113
+ const { createRequire } = await import('module');
114
+ const requireCjs = createRequire(import.meta.url);
115
+ const ruvllm = requireCjs('@ruvector/ruvllm');
116
+ const config = adapter.getConfig();
117
+ // Create a ruvllm LoraAdapter that mirrors our JS adapter's config
118
+ const nativeAdapter = new ruvllm.LoraAdapter(config.inputDim, config.outputDim, config.rank);
119
+ ruvllmPipeline = new ruvllm.TrainingPipeline({
120
+ adapter: nativeAdapter,
121
+ learningRate: 0.001,
122
+ batchSize: 8,
123
+ });
124
+ return ruvllmPipeline;
125
+ }
126
+ catch {
127
+ return null;
128
+ }
129
+ }
130
+ // ============================================================================
131
+ // LoRA Adapter Class
132
+ // ============================================================================
133
+ /**
134
+ * Low-Rank Adaptation module for efficient embedding fine-tuning
135
+ */
136
+ export class LoRAAdapter {
137
+ config;
138
+ weights;
139
+ totalAdaptations = 0;
140
+ totalUpdates = 0;
141
+ adaptationNormSum = 0;
142
+ lastUpdate = null;
143
+ updatesSinceLastSave = 0;
144
+ constructor(config) {
145
+ this.config = { ...DEFAULT_CONFIG, ...config };
146
+ this.weights = this.initializeWeights();
147
+ }
148
+ /**
149
+ * Eagerly load the ruvllm TrainingPipeline backend.
150
+ * Called automatically during first checkpoint operation,
151
+ * or call explicitly to make getStats() report backend status.
152
+ */
153
+ async initBackend() {
154
+ await loadTrainingPipeline(this);
155
+ }
156
+ /**
157
+ * Get a readonly copy of the adapter configuration
158
+ */
159
+ getConfig() {
160
+ return this.config;
161
+ }
162
+ /**
163
+ * Initialize weights with Kaiming/He initialization
164
+ */
165
+ initializeWeights() {
166
+ const { rank, inputDim, outputDim, alpha } = this.config;
167
+ // A: rank × inputDim, initialized with Kaiming normal
168
+ const A = new Float32Array(rank * inputDim);
169
+ const stdA = Math.sqrt(2.0 / inputDim);
170
+ for (let i = 0; i < A.length; i++) {
171
+ A[i] = this.gaussianRandom() * stdA;
172
+ }
173
+ // B: outputDim × rank, initialized to zero (standard LoRA init)
174
+ const B = new Float32Array(outputDim * rank);
175
+ // B starts at zero so initial adaptation is zero
176
+ return {
177
+ A,
178
+ B,
179
+ scaling: alpha / rank,
180
+ };
181
+ }
182
+ /**
183
+ * Box-Muller transform for Gaussian random numbers
184
+ */
185
+ gaussianRandom() {
186
+ let u = 0, v = 0;
187
+ while (u === 0)
188
+ u = Math.random();
189
+ while (v === 0)
190
+ v = Math.random();
191
+ return Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
192
+ }
193
+ /**
194
+ * Initialize adapter and load persisted weights
195
+ */
196
+ async initialize() {
197
+ const loaded = this.loadWeights();
198
+ return { success: true, weightsLoaded: loaded };
199
+ }
200
+ /**
201
+ * Apply LoRA adaptation to an embedding
202
+ * output = input + scaling * (B @ A @ input)
203
+ */
204
+ adapt(input) {
205
+ const startTime = performance.now();
206
+ const { rank, inputDim, outputDim } = this.config;
207
+ const { A, B, scaling } = this.weights;
208
+ // Step 1: Compute A @ input (rank-dimensional)
209
+ const hidden = new Float32Array(rank);
210
+ for (let r = 0; r < rank; r++) {
211
+ let sum = 0;
212
+ const rowOffset = r * inputDim;
213
+ // Unroll by 4 for SIMD-friendly access
214
+ let i = 0;
215
+ for (; i + 3 < inputDim; i += 4) {
216
+ sum += A[rowOffset + i] * input[i];
217
+ sum += A[rowOffset + i + 1] * input[i + 1];
218
+ sum += A[rowOffset + i + 2] * input[i + 2];
219
+ sum += A[rowOffset + i + 3] * input[i + 3];
220
+ }
221
+ for (; i < inputDim; i++) {
222
+ sum += A[rowOffset + i] * input[i];
223
+ }
224
+ hidden[r] = sum;
225
+ }
226
+ // Optional dropout (during training inference, skip)
227
+ // In LoRA inference, we don't apply dropout
228
+ // Step 2: Compute B @ hidden (outputDim-dimensional)
229
+ const delta = new Float32Array(outputDim);
230
+ for (let o = 0; o < outputDim; o++) {
231
+ let sum = 0;
232
+ const rowOffset = o * rank;
233
+ for (let r = 0; r < rank; r++) {
234
+ sum += B[rowOffset + r] * hidden[r];
235
+ }
236
+ delta[o] = sum * scaling;
237
+ }
238
+ // Step 3: Add adaptation to input
239
+ const adapted = new Float32Array(outputDim);
240
+ let adaptationNorm = 0;
241
+ for (let i = 0; i < outputDim; i++) {
242
+ adapted[i] = input[i] + delta[i];
243
+ adaptationNorm += delta[i] * delta[i];
244
+ }
245
+ adaptationNorm = Math.sqrt(adaptationNorm);
246
+ // Update stats
247
+ this.totalAdaptations++;
248
+ this.adaptationNormSum += adaptationNorm;
249
+ const timeMs = performance.now() - startTime;
250
+ return { adapted, adaptationNorm, timeMs };
251
+ }
252
+ /**
253
+ * Train the adapter with a gradient signal
254
+ * Uses simplified update: A += lr * hidden^T @ grad, B += lr * grad @ hidden^T
255
+ */
256
+ train(input, gradOutput, reward = 1.0) {
257
+ const { rank, inputDim, outputDim, learningRate } = this.config;
258
+ const { A, B, scaling } = this.weights;
259
+ // Forward pass to get hidden states
260
+ const hidden = new Float32Array(rank);
261
+ for (let r = 0; r < rank; r++) {
262
+ let sum = 0;
263
+ const rowOffset = r * inputDim;
264
+ for (let i = 0; i < inputDim; i++) {
265
+ sum += A[rowOffset + i] * input[i];
266
+ }
267
+ hidden[r] = sum;
268
+ }
269
+ // Compute gradient for B: grad_B = gradOutput @ hidden^T
270
+ const scaledLr = learningRate * reward * scaling;
271
+ for (let o = 0; o < outputDim; o++) {
272
+ const rowOffset = o * rank;
273
+ for (let r = 0; r < rank; r++) {
274
+ B[rowOffset + r] += scaledLr * gradOutput[o] * hidden[r];
275
+ }
276
+ }
277
+ // Compute gradient for hidden: grad_hidden = B^T @ gradOutput
278
+ const gradHidden = new Float32Array(rank);
279
+ for (let r = 0; r < rank; r++) {
280
+ let sum = 0;
281
+ for (let o = 0; o < outputDim; o++) {
282
+ sum += B[o * rank + r] * gradOutput[o];
283
+ }
284
+ gradHidden[r] = sum;
285
+ }
286
+ // Compute gradient for A: grad_A = gradHidden @ input^T
287
+ for (let r = 0; r < rank; r++) {
288
+ const rowOffset = r * inputDim;
289
+ for (let i = 0; i < inputDim; i++) {
290
+ A[rowOffset + i] += scaledLr * gradHidden[r] * input[i];
291
+ }
292
+ }
293
+ // Compute loss (L2 norm of gradient)
294
+ let loss = 0;
295
+ for (let i = 0; i < gradOutput.length; i++) {
296
+ loss += gradOutput[i] * gradOutput[i];
297
+ }
298
+ loss = Math.sqrt(loss);
299
+ // Update counters
300
+ this.totalUpdates++;
301
+ this.lastUpdate = Date.now();
302
+ this.updatesSinceLastSave++;
303
+ // Auto-save if needed
304
+ if (this.updatesSinceLastSave >= this.config.autoSaveInterval) {
305
+ this.saveWeights();
306
+ this.updatesSinceLastSave = 0;
307
+ }
308
+ return { updated: true, loss };
309
+ }
310
+ /**
311
+ * Merge LoRA weights into base weights (for deployment)
312
+ * Returns: W' = W + scaling * B @ A
313
+ */
314
+ merge(baseWeights) {
315
+ const { rank, inputDim, outputDim } = this.config;
316
+ const { A, B, scaling } = this.weights;
317
+ // Compute BA product
318
+ const merged = new Float32Array(baseWeights);
319
+ for (let o = 0; o < outputDim; o++) {
320
+ for (let i = 0; i < inputDim; i++) {
321
+ let sum = 0;
322
+ for (let r = 0; r < rank; r++) {
323
+ sum += B[o * rank + r] * A[r * inputDim + i];
324
+ }
325
+ merged[o * inputDim + i] += scaling * sum;
326
+ }
327
+ }
328
+ return merged;
329
+ }
330
+ /**
331
+ * Get current statistics
332
+ */
333
+ getStats() {
334
+ const { rank, inputDim, outputDim } = this.config;
335
+ const originalParams = inputDim * outputDim;
336
+ const loraParams = rank * (inputDim + outputDim);
337
+ return {
338
+ totalAdaptations: this.totalAdaptations,
339
+ totalUpdates: this.totalUpdates,
340
+ rank: this.config.rank,
341
+ compressionRatio: originalParams / loraParams,
342
+ avgAdaptationNorm: this.totalAdaptations > 0
343
+ ? this.adaptationNormSum / this.totalAdaptations
344
+ : 0,
345
+ lastUpdate: this.lastUpdate,
346
+ _trainingBackend: resolveTrainingBackend(),
347
+ };
348
+ }
349
+ /**
350
+ * Reset adapter to initial state
351
+ */
352
+ reset() {
353
+ this.weights = this.initializeWeights();
354
+ this.totalAdaptations = 0;
355
+ this.totalUpdates = 0;
356
+ this.adaptationNormSum = 0;
357
+ this.lastUpdate = null;
358
+ this.updatesSinceLastSave = 0;
359
+ }
360
+ /**
361
+ * Save weights to disk
362
+ */
363
+ saveWeights() {
364
+ try {
365
+ const dir = dirname(this.config.weightsPath);
366
+ if (!existsSync(dir)) {
367
+ mkdirSync(dir, { recursive: true });
368
+ }
369
+ const data = {
370
+ version: 1,
371
+ config: {
372
+ rank: this.config.rank,
373
+ alpha: this.config.alpha,
374
+ inputDim: this.config.inputDim,
375
+ outputDim: this.config.outputDim,
376
+ },
377
+ weights: {
378
+ A: Array.from(this.weights.A),
379
+ B: Array.from(this.weights.B),
380
+ scaling: this.weights.scaling,
381
+ },
382
+ stats: {
383
+ totalAdaptations: this.totalAdaptations,
384
+ totalUpdates: this.totalUpdates,
385
+ adaptationNormSum: this.adaptationNormSum,
386
+ lastUpdate: this.lastUpdate,
387
+ },
388
+ savedAt: new Date().toISOString(),
389
+ };
390
+ writeFileSync(this.config.weightsPath, JSON.stringify(data, null, 2));
391
+ return true;
392
+ }
393
+ catch {
394
+ return false;
395
+ }
396
+ }
397
+ /**
398
+ * Load weights from disk
399
+ */
400
+ loadWeights() {
401
+ try {
402
+ if (!existsSync(this.config.weightsPath)) {
403
+ return false;
404
+ }
405
+ const content = readFileSync(this.config.weightsPath, 'utf-8');
406
+ const data = JSON.parse(content);
407
+ if (data.version !== 1) {
408
+ return false;
409
+ }
410
+ // Verify dimensions match
411
+ const { rank, inputDim, outputDim } = data.config;
412
+ if (rank !== this.config.rank ||
413
+ inputDim !== this.config.inputDim ||
414
+ outputDim !== this.config.outputDim) {
415
+ return false;
416
+ }
417
+ // Load weights
418
+ this.weights = {
419
+ A: new Float32Array(data.weights.A),
420
+ B: new Float32Array(data.weights.B),
421
+ scaling: data.weights.scaling,
422
+ };
423
+ // Load stats
424
+ this.totalAdaptations = data.stats.totalAdaptations || 0;
425
+ this.totalUpdates = data.stats.totalUpdates || 0;
426
+ this.adaptationNormSum = data.stats.adaptationNormSum || 0;
427
+ this.lastUpdate = data.stats.lastUpdate || null;
428
+ return true;
429
+ }
430
+ catch {
431
+ return false;
432
+ }
433
+ }
434
+ /**
435
+ * Save a training checkpoint via ruvllm TrainingPipeline.
436
+ * Falls back to writing our own weight JSON if ruvllm is unavailable.
437
+ */
438
+ async saveCheckpoint(path) {
439
+ // Parent dir must exist for BOTH paths: ruvllm <2.5.7 never wrote a
440
+ // file at all, and the JS fallback's writeFileSync throws ENOENT on a
441
+ // missing dir — which the catch silently converted to `false` (#2549).
442
+ try {
443
+ mkdirSync(dirname(path), { recursive: true });
444
+ }
445
+ catch { /* fs errors surface on write below */ }
446
+ const pipeline = await loadTrainingPipeline(this);
447
+ if (pipeline) {
448
+ try {
449
+ pipeline.saveCheckpoint(path);
450
+ // Verify ruvllm actually wrote the file (<2.5.7 is a silent no-op)
451
+ const fs = await import('fs');
452
+ if (fs.existsSync(path))
453
+ return true;
454
+ }
455
+ catch { /* fall through to JS fallback */ }
456
+ }
457
+ // Fallback: save our own weights as JSON
458
+ try {
459
+ const fs = await import('fs');
460
+ const data = JSON.stringify(this.exportWeights());
461
+ fs.writeFileSync(path, data);
462
+ return true;
463
+ }
464
+ catch {
465
+ return false;
466
+ }
467
+ }
468
+ /**
469
+ * Load a training checkpoint via ruvllm TrainingPipeline.
470
+ * Falls back to reading our own weight JSON if ruvllm is unavailable.
471
+ */
472
+ async loadCheckpoint(path) {
473
+ const pipeline = await loadTrainingPipeline(this);
474
+ if (pipeline) {
475
+ try {
476
+ pipeline.loadCheckpoint(path);
477
+ return true;
478
+ }
479
+ catch { /* fall through to JS fallback */ }
480
+ }
481
+ // Fallback: load from our JSON format
482
+ try {
483
+ const fs = await import('fs');
484
+ if (fs.existsSync(path)) {
485
+ const data = JSON.parse(fs.readFileSync(path, 'utf-8'));
486
+ return this.importWeights(data);
487
+ }
488
+ }
489
+ catch { /* return false below */ }
490
+ return false;
491
+ }
492
+ /**
493
+ * Export weights as JSON
494
+ */
495
+ exportWeights() {
496
+ return {
497
+ A: Array.from(this.weights.A),
498
+ B: Array.from(this.weights.B),
499
+ scaling: this.weights.scaling,
500
+ config: {
501
+ rank: this.config.rank,
502
+ alpha: this.config.alpha,
503
+ inputDim: this.config.inputDim,
504
+ outputDim: this.config.outputDim,
505
+ },
506
+ };
507
+ }
508
+ /**
509
+ * Import weights from JSON
510
+ */
511
+ importWeights(data) {
512
+ try {
513
+ const { rank, inputDim, outputDim } = this.config;
514
+ if (data.A.length !== rank * inputDim ||
515
+ data.B.length !== outputDim * rank) {
516
+ return false;
517
+ }
518
+ this.weights = {
519
+ A: new Float32Array(data.A),
520
+ B: new Float32Array(data.B),
521
+ scaling: data.scaling,
522
+ };
523
+ return true;
524
+ }
525
+ catch {
526
+ return false;
527
+ }
528
+ }
529
+ }
530
+ /**
531
+ * Directories `neural train` writes checkpoints to. It only ever writes to
532
+ * `<cwd>/.claude-flow/neural` (see commands/neural.ts + services/native-training.ts),
533
+ * so that is the single source of truth — kept in a helper so the discovery
534
+ * and status surfaces stay consistent.
535
+ */
536
+ function checkpointDirs() {
537
+ return [join(process.cwd(), '.claude-flow', 'neural')];
538
+ }
539
+ /** Compact relative-age label. Most-significant unit only. */
540
+ export function formatCheckpointAge(ms) {
541
+ const s = Math.floor(ms / 1000);
542
+ if (s < 60)
543
+ return `${s}s ago`;
544
+ const m = Math.floor(s / 60);
545
+ if (m < 60)
546
+ return `${m}m ago`;
547
+ const h = Math.floor(m / 60);
548
+ if (h < 24)
549
+ return `${h}h ago`;
550
+ const d = Math.floor(h / 24);
551
+ return `${d}d ago`;
552
+ }
553
+ /**
554
+ * Find the newest `lora-checkpoint-<ts>.json` without loading it. Pure disk
555
+ * scan — safe to call from read-only status surfaces. Returns null when no
556
+ * checkpoint exists or the directory is unreadable.
557
+ */
558
+ export function latestCheckpointInfo() {
559
+ try {
560
+ let best = null;
561
+ for (const dir of checkpointDirs()) {
562
+ if (!existsSync(dir))
563
+ continue;
564
+ for (const f of readdirSync(dir)) {
565
+ const match = /^lora-checkpoint-(\d+)\.json$/.exec(f);
566
+ if (!match)
567
+ continue;
568
+ const ts = Number(match[1]);
569
+ if (!Number.isFinite(ts))
570
+ continue;
571
+ if (!best || ts > best.ts)
572
+ best = { path: join(dir, f), filename: f, ts };
573
+ }
574
+ }
575
+ if (!best)
576
+ return null;
577
+ const ageMs = Math.max(0, Date.now() - best.ts);
578
+ return { path: best.path, filename: best.filename, ageMs, ageLabel: formatCheckpointAge(ageMs) };
579
+ }
580
+ catch {
581
+ return null;
582
+ }
583
+ }
584
+ /**
585
+ * Validate a file looks like a ruvllm training checkpoint before loading it,
586
+ * so a stray/corrupt JSON in the neural dir can't poison routing weights.
587
+ * Accepts both the JS-fallback envelope ({A,B,scaling}) and native ruvllm
588
+ * checkpoint shapes (weights/adapter/epoch/step/loss/version/index markers).
589
+ */
590
+ function isCheckpointEnvelope(path) {
591
+ try {
592
+ const data = JSON.parse(readFileSync(path, 'utf-8'));
593
+ if (!data || typeof data !== 'object')
594
+ return false;
595
+ const obj = data;
596
+ if (Array.isArray(obj.A) && Array.isArray(obj.B))
597
+ return true;
598
+ return ['weights', 'adapter', 'epoch', 'step', 'loss', 'version', 'index'].some((k) => k in obj);
599
+ }
600
+ catch {
601
+ return false;
602
+ }
603
+ }
604
+ /**
605
+ * Flywheel entry point: locate the newest trained checkpoint and load it into
606
+ * `adapter` via the adapter's existing loadCheckpoint path, so routing /
607
+ * adaptation benefits from prior `neural train` runs.
608
+ *
609
+ * Contract: lazy (call on first adaptation use, never at CLI startup),
610
+ * non-fatal on any failure, and kill-switchable via
611
+ * CLAUDE_FLOW_NO_CHECKPOINT_AUTOLOAD=1.
612
+ */
613
+ export async function loadLatestCheckpoint(adapter) {
614
+ if (process.env.CLAUDE_FLOW_NO_CHECKPOINT_AUTOLOAD === '1')
615
+ return { loaded: false };
616
+ try {
617
+ const info = latestCheckpointInfo();
618
+ if (!info)
619
+ return { loaded: false };
620
+ if (!isCheckpointEnvelope(info.path))
621
+ return { loaded: false, path: info.path, ageMs: info.ageMs };
622
+ const loaded = await adapter.loadCheckpoint(info.path);
623
+ return { loaded, path: info.path, ageMs: info.ageMs };
624
+ }
625
+ catch {
626
+ return { loaded: false };
627
+ }
628
+ }
629
+ // ============================================================================
630
+ // Singleton & Factory Functions
631
+ // ============================================================================
632
+ let loraInstance = null;
633
+ let initPromise = null;
634
+ /**
635
+ * Get or create singleton LoRA adapter instance
636
+ */
637
+ export async function getLoRAAdapter() {
638
+ if (loraInstance) {
639
+ return loraInstance;
640
+ }
641
+ if (initPromise) {
642
+ return initPromise;
643
+ }
644
+ initPromise = (async () => {
645
+ const adapter = new LoRAAdapter();
646
+ await adapter.initialize();
647
+ // Flywheel: fold in the newest trained checkpoint so routing/adaptation
648
+ // benefits from prior `neural train` runs. This singleton is constructed
649
+ // lazily on first adaptation use (NOT at CLI startup), so the checkpoint
650
+ // scan + ruvllm load stay off the hot `--help` path. Non-fatal.
651
+ try {
652
+ await loadLatestCheckpoint(adapter);
653
+ }
654
+ catch { /* auto-load is best-effort — never block adaptation */ }
655
+ loraInstance = adapter;
656
+ return adapter;
657
+ })();
658
+ return initPromise;
659
+ }
660
+ /**
661
+ * Reset singleton instance (for testing)
662
+ */
663
+ export function resetLoRAAdapter() {
664
+ if (loraInstance) {
665
+ loraInstance.reset();
666
+ }
667
+ loraInstance = null;
668
+ initPromise = null;
669
+ }
670
+ /**
671
+ * Create new LoRA adapter instance (factory)
672
+ */
673
+ export function createLoRAAdapter(config) {
674
+ return new LoRAAdapter(config);
675
+ }
676
+ /**
677
+ * Quick adaptation (convenience function)
678
+ */
679
+ export async function adaptEmbedding(input) {
680
+ const adapter = await getLoRAAdapter();
681
+ return adapter.adapt(input);
682
+ }
683
+ /**
684
+ * Quick training (convenience function)
685
+ */
686
+ export async function trainLoRA(input, gradOutput, reward) {
687
+ const adapter = await getLoRAAdapter();
688
+ return adapter.train(input, gradOutput, reward);
689
+ }
690
+ /**
691
+ * Get LoRA statistics (convenience function)
692
+ */
693
+ export async function getLoRAStats() {
694
+ const adapter = await getLoRAAdapter();
695
+ return adapter.getStats();
696
+ }
697
+ export default {
698
+ LoRAAdapter,
699
+ getLoRAAdapter,
700
+ resetLoRAAdapter,
701
+ createLoRAAdapter,
702
+ adaptEmbedding,
703
+ trainLoRA,
704
+ getLoRAStats,
705
+ DEFAULT_RANK,
706
+ DEFAULT_ALPHA,
707
+ INPUT_DIM,
708
+ OUTPUT_DIM,
709
+ };
710
+ //# sourceMappingURL=lora-adapter.js.map