@claude-flow/cli 3.32.3 → 3.32.5

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 +20 -0
  172. package/dist/src/commands/proxy-lifecycle.js +277 -0
  173. package/dist/src/commands/proxy.d.ts +21 -0
  174. package/dist/src/commands/proxy.js +403 -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,577 @@
1
+ /**
2
+ * Enhanced Model Router with Agent Booster AST Integration
3
+ *
4
+ * Implements ADR-026: 3-tier intelligent model routing:
5
+ * - Tier 1: Agent Booster (WASM) - <1ms, $0 for simple transforms
6
+ * - Tier 2: Haiku - ~500ms for low complexity
7
+ * - Tier 3: Sonnet/Opus - 2-5s for high complexity
8
+ *
9
+ * @module enhanced-model-router
10
+ */
11
+ import { existsSync, readFileSync, writeFileSync } from 'fs';
12
+ import { extname, isAbsolute, resolve as resolvePath } from 'path';
13
+ import { getModelRouter } from './model-router.js';
14
+ import { applyCodemod, isDeterministicCodemod } from './codemods/engine.js';
15
+ /** Map a file path to the codemod engine's language, falling back to a hint. */
16
+ function codemodLanguageFor(filePath, fallback) {
17
+ const ext = extname(filePath).toLowerCase();
18
+ if (ext === '.tsx')
19
+ return 'tsx';
20
+ if (ext === '.jsx')
21
+ return 'jsx';
22
+ if (ext === '.ts' || ext === '.mts' || ext === '.cts')
23
+ return 'typescript';
24
+ if (ext === '.js' || ext === '.mjs' || ext === '.cjs')
25
+ return 'javascript';
26
+ return fallback === 'typescript' ? 'typescript' : 'javascript';
27
+ }
28
+ // ============================================================================
29
+ // Intent Detection Patterns
30
+ // ============================================================================
31
+ /**
32
+ * Pattern definitions for Agent Booster intent detection
33
+ */
34
+ const INTENT_PATTERNS = {
35
+ 'var-to-const': {
36
+ patterns: [
37
+ /convert\s+var\s+to\s+const/i,
38
+ /change\s+var\s+to\s+const/i,
39
+ /change\s+var\s+declarations?\s+to\s+const/i,
40
+ /replace\s+var\s+with\s+const/i,
41
+ /var\s*(?:→|->|to)\s*const/i,
42
+ /use\s+const\s+instead\s+of\s+var/i,
43
+ ],
44
+ weight: 1.0,
45
+ description: 'Convert var declarations to const/let',
46
+ },
47
+ 'add-types': {
48
+ patterns: [
49
+ /add\s+type\s+annotations?/i,
50
+ /add\s+typescript\s+types?/i,
51
+ /type\s+this\s+function/i,
52
+ /add\s+types?\s+to/i,
53
+ /annotate\s+with\s+types?/i,
54
+ ],
55
+ weight: 0.9,
56
+ description: 'Add TypeScript type annotations',
57
+ },
58
+ 'add-error-handling': {
59
+ patterns: [
60
+ /add\s+error\s+handling/i,
61
+ /wrap\s+in\s+try\s*[/-]?\s*catch/i,
62
+ /add\s+try\s*[/-]?\s*catch/i,
63
+ /handle\s+errors?/i,
64
+ /add\s+exception\s+handling/i,
65
+ ],
66
+ weight: 0.7, // Lower weight - often needs more context
67
+ description: 'Wrap code in try/catch blocks',
68
+ },
69
+ 'async-await': {
70
+ patterns: [
71
+ /convert\s+to\s+async\s*[/-]?\s*await/i,
72
+ /convert\s+\w+\s+to\s+async/i,
73
+ /use\s+async\s*[/-]?\s*await/i,
74
+ /change\s+promises?\s+to\s+async/i,
75
+ /refactor\s+to\s+async/i,
76
+ /\.then\s*(?:→|->|to)\s*await/i,
77
+ /callback\s+to\s+async/i,
78
+ /callbacks?\s+to\s+async/i,
79
+ ],
80
+ weight: 0.8,
81
+ description: 'Convert callbacks/promises to async/await',
82
+ },
83
+ 'add-logging': {
84
+ patterns: [
85
+ /add\s+logging/i,
86
+ /add\s+console\.log/i,
87
+ /add\s+debug\s+logs?/i,
88
+ /log\s+this\s+function/i,
89
+ /add\s+trace\s+logging/i,
90
+ ],
91
+ weight: 0.85,
92
+ description: 'Add console.log or logging statements',
93
+ },
94
+ 'remove-console': {
95
+ patterns: [
96
+ /remove\s+(?:all\s+)?console\.log/i,
97
+ /remove\s+(?:all\s+)?console\s+statements?/i,
98
+ /delete\s+(?:all\s+)?console\s+statements?/i,
99
+ /strip\s+console/i,
100
+ /clean\s+up\s+console/i,
101
+ /clean\s+up\s+debug\s+logs?/i,
102
+ /remove\s+(?:all\s+)?debug\s+logs?/i,
103
+ /delete\s+(?:all\s+)?console\.log/i,
104
+ ],
105
+ weight: 0.95,
106
+ description: 'Remove console.* calls',
107
+ },
108
+ };
109
+ /**
110
+ * File path extraction patterns
111
+ */
112
+ const FILE_PATH_PATTERNS = [
113
+ /(?:in|from|to|file|path)\s+[`"']?([a-zA-Z0-9_./\\-]+\.[a-zA-Z]+)[`"']?/i,
114
+ /[`"']([a-zA-Z0-9_./\\-]+\.[a-zA-Z]+)[`"']/,
115
+ /(\S+\.[tj]sx?)\b/i,
116
+ /(\S+\.(?:js|ts|jsx|tsx|py|rb|go|rs|java|kt|swift|c|cpp|h))\b/i,
117
+ ];
118
+ /**
119
+ * Language detection by extension
120
+ */
121
+ /**
122
+ * High-complexity keywords that indicate Tier 3 (Opus) routing
123
+ * These tasks require deep reasoning and architectural understanding
124
+ */
125
+ const TIER3_KEYWORDS = [
126
+ // Architecture & Design
127
+ /\b(microservices?|architecture|system\s+design|distributed)\b/i,
128
+ /\b(design|architect|plan)\s+(a|an|the|complex)\b/i,
129
+ /\b(design)\s+\w+\s+(schema|system|architecture)\b/i,
130
+ // Security
131
+ /\b(oauth2?|pkce|jwt|rbac|authentication\s+system|security\s+audit)\b/i,
132
+ /\b(refresh\s+token|token\s+rotation|role-based|permission|authorization)\b/i,
133
+ /\b(encryption|cryptograph|certificate|ssl|tls)\b/i,
134
+ /\b(end-to-end\s+encryption|key\s+rotation|secure\s+channel)\b/i,
135
+ // Distributed Systems
136
+ /\b(consensus|distributed|byzantine|raft|paxos)\b/i,
137
+ /\b(replication|sharding|partitioning|eventual\s+consistency)\b/i,
138
+ /\b(load\s+balanc|fault[- ]toleran|high\s+availability)\b/i,
139
+ /\b(message\s+queue|event\s+sourc|cqrs|saga)\b/i,
140
+ // Complex Algorithms
141
+ /\b(algorithm|machine\s+learning|neural|optimization)\b/i,
142
+ /\b(graph\s+algorithm|tree\s+traversal|dynamic\s+programming)\b/i,
143
+ // Database Design
144
+ /\b(schema\s+design|database\s+architect|data\s+model)\b/i,
145
+ /\b(database\s+schema|multi[- ]tenant)\b/i,
146
+ /\b(normalization|denormalization|index\s+strateg)\b/i,
147
+ // Performance Critical
148
+ /\b(performance\s+critical|low\s+latency|high\s+throughput)\b/i,
149
+ /\b(memory\s+optimi|cache\s+strateg|concurrent)\b/i,
150
+ ];
151
+ const LANGUAGE_MAP = {
152
+ '.js': 'javascript',
153
+ '.jsx': 'javascript',
154
+ '.ts': 'typescript',
155
+ '.tsx': 'typescript',
156
+ '.py': 'python',
157
+ '.rb': 'ruby',
158
+ '.go': 'go',
159
+ '.rs': 'rust',
160
+ '.java': 'java',
161
+ '.kt': 'kotlin',
162
+ '.swift': 'swift',
163
+ '.c': 'c',
164
+ '.cpp': 'cpp',
165
+ '.h': 'c',
166
+ };
167
+ // ============================================================================
168
+ // Enhanced Model Router Implementation
169
+ // ============================================================================
170
+ /**
171
+ * Enhanced Model Router with Agent Booster AST integration
172
+ *
173
+ * Provides intelligent 3-tier routing:
174
+ * - Tier 1: Agent Booster for simple code transforms (352x faster, $0)
175
+ * - Tier 2: Haiku for low complexity tasks
176
+ * - Tier 3: Sonnet/Opus for complex reasoning tasks
177
+ */
178
+ export class EnhancedModelRouter {
179
+ config;
180
+ // The base text-routing path delegated to here is the local
181
+ // heuristic + Thompson-bandit ModelRouter — NOT the @ruvector/tiny-dancer
182
+ // neural router that an earlier design (ADR-026) described (#2329). The
183
+ // public `getStats()` return still exposes the field as `tinyDancerStats`
184
+ // for telemetry-schema stability.
185
+ baseRouter;
186
+ constructor(config) {
187
+ this.config = {
188
+ agentBoosterEnabled: true,
189
+ agentBoosterConfidenceThreshold: 0.7,
190
+ enabledIntents: [
191
+ 'var-to-const',
192
+ 'add-types',
193
+ 'add-error-handling',
194
+ 'async-await',
195
+ 'add-logging',
196
+ 'remove-console',
197
+ ],
198
+ complexityThresholds: {
199
+ haiku: 0.3,
200
+ sonnet: 0.6,
201
+ opus: 1.0,
202
+ },
203
+ preferCost: false,
204
+ preferQuality: false,
205
+ ...config,
206
+ };
207
+ this.baseRouter = getModelRouter();
208
+ }
209
+ /**
210
+ * Detect code editing intent from task description
211
+ */
212
+ detectIntent(task) {
213
+ const taskLower = task.toLowerCase();
214
+ let bestIntent = null;
215
+ let bestScore = 0;
216
+ for (const [intentType, config] of Object.entries(INTENT_PATTERNS)) {
217
+ if (!this.config.enabledIntents.includes(intentType)) {
218
+ continue;
219
+ }
220
+ for (const pattern of config.patterns) {
221
+ if (pattern.test(taskLower)) {
222
+ const score = config.weight;
223
+ if (score > bestScore) {
224
+ bestScore = score;
225
+ bestIntent = {
226
+ type: intentType,
227
+ confidence: score,
228
+ description: config.description,
229
+ };
230
+ }
231
+ }
232
+ }
233
+ }
234
+ // Extract file path if intent found
235
+ if (bestIntent) {
236
+ const filePath = this.extractFilePath(task);
237
+ if (filePath) {
238
+ bestIntent.filePath = filePath;
239
+ bestIntent.language = this.detectLanguage(filePath);
240
+ // Boost confidence if file exists
241
+ if (existsSync(filePath)) {
242
+ bestIntent.confidence = Math.min(1.0, bestIntent.confidence + 0.1);
243
+ }
244
+ }
245
+ }
246
+ return bestIntent;
247
+ }
248
+ /**
249
+ * Extract file path from task description
250
+ */
251
+ extractFilePath(task) {
252
+ for (const pattern of FILE_PATH_PATTERNS) {
253
+ const match = task.match(pattern);
254
+ if (match && match[1]) {
255
+ return match[1];
256
+ }
257
+ }
258
+ return null;
259
+ }
260
+ /**
261
+ * Detect language from file extension
262
+ */
263
+ detectLanguage(filePath) {
264
+ const ext = extname(filePath).toLowerCase();
265
+ return LANGUAGE_MAP[ext] || 'javascript';
266
+ }
267
+ /**
268
+ * Check if task contains Tier 3 (Opus) keywords
269
+ */
270
+ containsTier3Keywords(task) {
271
+ let count = 0;
272
+ for (const pattern of TIER3_KEYWORDS) {
273
+ if (pattern.test(task)) {
274
+ count++;
275
+ }
276
+ }
277
+ return { matches: count > 0, count };
278
+ }
279
+ /**
280
+ * Route a task to the optimal tier and handler
281
+ */
282
+ async route(task, context) {
283
+ // Step 1: Deterministic codemod detection (ADR-143).
284
+ // Only intents that a codemod can apply *deterministically and safely* skip
285
+ // the LLM. Intents that need inference (add-types, add-error-handling,
286
+ // async-await) are detected but fall through to model routing below.
287
+ if (this.config.agentBoosterEnabled) {
288
+ const intent = this.detectIntent(task);
289
+ if (intent &&
290
+ intent.confidence >= this.config.agentBoosterConfidenceThreshold &&
291
+ isDeterministicCodemod(intent.type)) {
292
+ // Route-time dry-run (ADR-143 #3): when a target file is known, only
293
+ // claim Tier-1 if the codemod actually changes something. This avoids
294
+ // recommending [CODEMOD_AVAILABLE] for no-ops (e.g. "remove console" on
295
+ // a file with no console calls). With no file to check, recommend Tier-1
296
+ // best-effort — the executor (hooks_codemod) verifies before writing.
297
+ // Prefer the caller-provided path (authoritative, usually absolute) over
298
+ // the path heuristically extracted from the task text; resolve relatives.
299
+ const fpRaw = context?.filePath || intent.filePath;
300
+ const fp = fpRaw ? (isAbsolute(fpRaw) ? fpRaw : resolvePath(process.cwd(), fpRaw)) : undefined;
301
+ let tier1 = true;
302
+ let edits;
303
+ if (fp && existsSync(fp)) {
304
+ try {
305
+ const code = readFileSync(fp, 'utf-8');
306
+ const res = applyCodemod(intent.type, code, { language: codemodLanguageFor(fp, intent.language) });
307
+ if (res.success && res.changed) {
308
+ edits = res.edits;
309
+ }
310
+ else {
311
+ tier1 = false; // verified no-op / can't apply → fall through to model routing
312
+ }
313
+ }
314
+ catch {
315
+ // read error → leave best-effort Tier-1 (executor will verify)
316
+ }
317
+ }
318
+ if (tier1) {
319
+ const editsNote = edits !== undefined ? ` (${edits} edit${edits === 1 ? '' : 's'})` : '';
320
+ return {
321
+ tier: 1,
322
+ handler: 'codemod',
323
+ confidence: intent.confidence,
324
+ reasoning: `Deterministic codemod can apply "${intent.type}" with ${(intent.confidence * 100).toFixed(0)}% confidence — $0, no LLM${editsNote}`,
325
+ codemodIntent: intent,
326
+ agentBoosterIntent: intent,
327
+ deterministic: true,
328
+ canSkipLLM: true,
329
+ estimatedLatencyMs: 1,
330
+ estimatedCost: 0,
331
+ };
332
+ }
333
+ // verified no-op: fall through to model routing below
334
+ }
335
+ }
336
+ // Step 2: Check for Tier 3 keywords (architecture, security, distributed)
337
+ const tier3Check = this.containsTier3Keywords(task);
338
+ if (tier3Check.matches && tier3Check.count >= 2) {
339
+ // Strong signal for Opus - multiple complex keywords
340
+ return {
341
+ tier: 3,
342
+ handler: 'opus',
343
+ model: 'opus',
344
+ confidence: Math.min(0.95, 0.7 + tier3Check.count * 0.1),
345
+ complexity: 0.8 + tier3Check.count * 0.05,
346
+ reasoning: `High complexity task (${tier3Check.count} architectural keywords) - using opus`,
347
+ canSkipLLM: false,
348
+ estimatedLatencyMs: 5000,
349
+ estimatedCost: 0.015,
350
+ };
351
+ }
352
+ // Step 3: AST complexity analysis (if file path provided)
353
+ let astComplexity;
354
+ const targetFile = context?.filePath || this.extractFilePath(task);
355
+ if (targetFile && existsSync(targetFile)) {
356
+ try {
357
+ astComplexity = await this.analyzeASTComplexity(targetFile);
358
+ }
359
+ catch {
360
+ // AST analysis not available, continue with text-based routing
361
+ }
362
+ }
363
+ // Step 4: Text-based complexity via the local heuristic + bandit router.
364
+ // ADR-149 — forward the optional embedding so the cost-optimal neural
365
+ // path can fire. Without it, base routing falls back to heuristic+bandit
366
+ // and the per-model Pareto wins from the measured seed corpus are lost.
367
+ const baseResult = await this.baseRouter.route(task, context?.embedding);
368
+ // Step 5: Combine AST complexity with the text-routing result.
369
+ // Also boost if a single tier3 keyword is found.
370
+ let finalComplexity = astComplexity !== undefined
371
+ ? (astComplexity + baseResult.complexity) / 2
372
+ : baseResult.complexity;
373
+ // Boost complexity if tier3 keywords found (even just one)
374
+ if (tier3Check.matches) {
375
+ finalComplexity = Math.min(1.0, finalComplexity + 0.25);
376
+ }
377
+ // Step 6: Determine tier based on complexity
378
+ const { haiku, sonnet } = this.config.complexityThresholds;
379
+ // ADR-149 — forward the per-model fields from baseResult onto every
380
+ // tier-2/3 return. This keeps the cost-optimal pick alive end-to-end:
381
+ // if the neural backend picked Ling for a cheap task, the enhanced
382
+ // router surfaces `modelId: 'inclusionai/ling-2.6-flash'` alongside
383
+ // `model: 'haiku'` so downstream consumers can dispatch via OpenRouter.
384
+ const neuralFields = {
385
+ ...(baseResult.modelId ? { modelId: baseResult.modelId } : {}),
386
+ ...(baseResult.routedBy ? { routedBy: baseResult.routedBy } : {}),
387
+ ...(baseResult.provider ? { provider: baseResult.provider } : {}),
388
+ ...(baseResult.openrouterModel ? { openrouterModel: baseResult.openrouterModel } : {}),
389
+ };
390
+ if (finalComplexity < haiku) {
391
+ return {
392
+ tier: 2,
393
+ handler: 'haiku',
394
+ model: 'haiku',
395
+ confidence: baseResult.confidence,
396
+ complexity: finalComplexity,
397
+ reasoning: `Low complexity (${(finalComplexity * 100).toFixed(0)}%) - using haiku`,
398
+ canSkipLLM: false,
399
+ estimatedLatencyMs: 500,
400
+ estimatedCost: 0.0002,
401
+ ...neuralFields,
402
+ };
403
+ }
404
+ if (finalComplexity < sonnet) {
405
+ return {
406
+ tier: 2,
407
+ handler: 'sonnet',
408
+ model: 'sonnet',
409
+ confidence: baseResult.confidence,
410
+ complexity: finalComplexity,
411
+ reasoning: `Medium complexity (${(finalComplexity * 100).toFixed(0)}%) - using sonnet`,
412
+ canSkipLLM: false,
413
+ estimatedLatencyMs: 2000,
414
+ estimatedCost: 0.003,
415
+ ...neuralFields,
416
+ };
417
+ }
418
+ return {
419
+ tier: 3,
420
+ handler: 'opus',
421
+ model: 'opus',
422
+ confidence: baseResult.confidence,
423
+ complexity: finalComplexity,
424
+ reasoning: `High complexity (${(finalComplexity * 100).toFixed(0)}%) - using opus`,
425
+ canSkipLLM: false,
426
+ estimatedLatencyMs: 5000,
427
+ estimatedCost: 0.015,
428
+ ...neuralFields,
429
+ };
430
+ }
431
+ /**
432
+ * Analyze AST complexity of a file
433
+ * Returns normalized complexity score (0-1)
434
+ */
435
+ async analyzeASTComplexity(filePath) {
436
+ try {
437
+ const content = readFileSync(filePath, 'utf-8');
438
+ const lines = content.split('\n');
439
+ // Simple heuristics for complexity
440
+ let complexity = 0;
441
+ // Line count contribution
442
+ complexity += Math.min(0.3, lines.length / 1000);
443
+ // Nesting depth estimation (count indentation)
444
+ const avgIndent = lines
445
+ .filter((l) => l.trim().length > 0)
446
+ .map((l) => l.match(/^(\s*)/)?.[1].length || 0)
447
+ .reduce((sum, indent) => sum + indent, 0) / Math.max(1, lines.length);
448
+ complexity += Math.min(0.2, avgIndent / 20);
449
+ // Control flow complexity (count keywords)
450
+ const controlFlowCount = (content.match(/\b(if|else|for|while|switch|case|try|catch|async|await)\b/g) || []).length;
451
+ complexity += Math.min(0.3, controlFlowCount / 100);
452
+ // Function/class count
453
+ const functionCount = (content.match(/\b(function|class|=>)\b/g) || []).length;
454
+ complexity += Math.min(0.2, functionCount / 50);
455
+ return Math.min(1, complexity);
456
+ }
457
+ catch {
458
+ return 0.5; // Default to medium complexity on error
459
+ }
460
+ }
461
+ /**
462
+ * Execute task using the appropriate tier.
463
+ *
464
+ * For Tier-1 deterministic intents this applies the codemod directly (writing
465
+ * the file back when a path is given) — $0, no LLM. Otherwise it returns the
466
+ * routing result and the caller invokes the recommended model.
467
+ */
468
+ async execute(task, context) {
469
+ const routeResult = await this.route(task, context);
470
+ const intent = routeResult.codemodIntent ?? routeResult.agentBoosterIntent;
471
+ if (routeResult.tier === 1 && routeResult.deterministic && intent) {
472
+ const cm = this.tryCodemod(intent, context);
473
+ if (cm.success) {
474
+ return {
475
+ result: { applied: true, changed: cm.changed, edits: cm.edits },
476
+ routeResult,
477
+ };
478
+ }
479
+ // Codemod could not apply (no file / parse issue) — fall back to a model.
480
+ routeResult.tier = 2;
481
+ routeResult.handler = 'sonnet';
482
+ routeResult.model = 'sonnet';
483
+ routeResult.deterministic = false;
484
+ routeResult.canSkipLLM = false;
485
+ routeResult.reasoning += ' (codemod fallback to LLM)';
486
+ }
487
+ // Return routing result - caller handles LLM invocation
488
+ return { result: routeResult.reasoning, routeResult };
489
+ }
490
+ /**
491
+ * Apply a deterministic codemod to the intent's target file.
492
+ *
493
+ * This is the real Tier-1 execution path (ADR-143). It uses the in-process
494
+ * TypeScript-compiler codemod engine — no `agent-booster` import, no subprocess,
495
+ * no LLM. Writes the transformed source back to disk when it changes.
496
+ */
497
+ tryCodemod(intent, context) {
498
+ const filePath = intent.filePath || context?.filePath;
499
+ if (!filePath || !existsSync(filePath)) {
500
+ return { success: false, changed: false, edits: 0 };
501
+ }
502
+ const originalCode = context?.originalCode ?? readFileSync(filePath, 'utf-8');
503
+ const language = codemodLanguageFor(filePath, intent.language);
504
+ const result = applyCodemod(intent.type, originalCode, { language });
505
+ if (!result.success) {
506
+ return { success: false, changed: false, edits: 0 };
507
+ }
508
+ if (result.changed && !context?.originalCode) {
509
+ writeFileSync(filePath, result.output, 'utf-8');
510
+ }
511
+ return { success: true, changed: result.changed, edits: result.edits };
512
+ }
513
+ /**
514
+ * Get router statistics
515
+ */
516
+ getStats() {
517
+ return {
518
+ config: { ...this.config },
519
+ // Field name kept as `tinyDancerStats` for telemetry-schema
520
+ // stability; the underlying router is the local heuristic + bandit
521
+ // ModelRouter, not @ruvector/tiny-dancer. See #2329.
522
+ tinyDancerStats: this.baseRouter.getStats(),
523
+ };
524
+ }
525
+ }
526
+ // ============================================================================
527
+ // Singleton & Factory Functions
528
+ // ============================================================================
529
+ let enhancedRouterInstance = null;
530
+ /**
531
+ * Get or create the singleton EnhancedModelRouter instance
532
+ */
533
+ export function getEnhancedModelRouter(config) {
534
+ if (!enhancedRouterInstance) {
535
+ enhancedRouterInstance = new EnhancedModelRouter(config);
536
+ }
537
+ return enhancedRouterInstance;
538
+ }
539
+ /**
540
+ * Reset the singleton instance
541
+ */
542
+ export function resetEnhancedModelRouter() {
543
+ enhancedRouterInstance = null;
544
+ }
545
+ /**
546
+ * Create a new EnhancedModelRouter instance (non-singleton)
547
+ */
548
+ export function createEnhancedModelRouter(config) {
549
+ return new EnhancedModelRouter(config);
550
+ }
551
+ // ============================================================================
552
+ // Convenience Functions
553
+ // ============================================================================
554
+ /**
555
+ * Quick route function with enhanced routing
556
+ */
557
+ export async function enhancedRouteToModel(task, context) {
558
+ const router = getEnhancedModelRouter();
559
+ return router.route(task, context);
560
+ }
561
+ /**
562
+ * Detect if a task can be applied by a deterministic, $0 codemod (ADR-143).
563
+ * Only the deterministic intents qualify — others need a model.
564
+ */
565
+ export function canUseCodemod(task) {
566
+ const router = getEnhancedModelRouter();
567
+ const intent = router.detectIntent(task);
568
+ if (intent && intent.confidence >= 0.7 && isDeterministicCodemod(intent.type)) {
569
+ return { canUse: true, intent };
570
+ }
571
+ return { canUse: false };
572
+ }
573
+ /**
574
+ * @deprecated Agent Booster never performed these transforms. Use {@link canUseCodemod}.
575
+ */
576
+ export const canUseAgentBooster = canUseCodemod;
577
+ //# sourceMappingURL=enhanced-model-router.js.map