@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,83 @@
1
+ /**
2
+ * output-verifier.ts — Confidence-gated tier escalation (post-generation).
3
+ *
4
+ * ADR-026/143 route tasks to a tier BEFORE generation. 2026 SOTA cascade
5
+ * routing adds a post-generation gate: attempt the cheap tier, run a CHEAP
6
+ * verifier over the produced output, and escalate to the next tier only when
7
+ * the verifier is not confident. This module is that verifier.
8
+ *
9
+ * Design constraints (load-bearing):
10
+ * - $0 by default — NO LLM call. Every signal is a structural / lexical
11
+ * check: emptiness, refusal patterns, truncation, delimiter balance,
12
+ * degenerate repetition, and (for code tasks) a real syntax parse via the
13
+ * TypeScript compiler (lazy-imported; degrades to delimiter checks when
14
+ * typescript is not installed) or JSON.parse for JSON output.
15
+ * - Pure with respect to router state — recording the verdict into the
16
+ * bandit's learning stream is the CALLER's job (the hooks_model-verify
17
+ * MCP tool does it via ModelRouter.recordOutcome), keeping this module
18
+ * trivially unit-testable.
19
+ * - Escalation ladder mirrors the tier table: tier 2 (haiku) → tier 3
20
+ * (sonnet), sonnet → opus, opus has no bump (escalate=false even when the
21
+ * verdict is not confident — the caller should retry or surface instead).
22
+ *
23
+ * Verdict semantics: `confident=false` means "cheap signals say this output
24
+ * is likely unusable"; it is NOT a semantic-quality judgment. False
25
+ * negatives (bad output that parses fine) are expected — this gate trades
26
+ * recall for being free.
27
+ *
28
+ * @module ruvector/output-verifier
29
+ */
30
+ export type VerifyTier = 1 | 2 | 3;
31
+ export type VerifyModel = 'haiku' | 'sonnet' | 'opus';
32
+ export type VerifyTaskKind = 'code' | 'json' | 'text' | 'auto';
33
+ export interface VerifyInput {
34
+ /** The task the output was generated for. */
35
+ task: string;
36
+ /** The generated output to verify. */
37
+ output: string;
38
+ /** Model that produced the output (drives the escalation ladder). */
39
+ model?: VerifyModel;
40
+ /** Tier that produced the output; derived from `model` when absent. */
41
+ tierUsed?: VerifyTier;
42
+ /** Force the task kind; 'auto' (default) detects from task + output. */
43
+ taskKind?: VerifyTaskKind;
44
+ /** Minimum trimmed output length considered plausible (default 20). */
45
+ minLength?: number;
46
+ }
47
+ export interface VerifySignal {
48
+ name: string;
49
+ ok: boolean;
50
+ detail?: string;
51
+ }
52
+ export interface VerifyVerdict {
53
+ confident: boolean;
54
+ /** Fraction of signals that passed (0..1). */
55
+ score: number;
56
+ /** Human-readable failure reasons; empty when confident. */
57
+ reasons: string[];
58
+ /** Every signal evaluated, pass or fail. */
59
+ signals: VerifySignal[];
60
+ /** Tier the caller should use next: unchanged when confident, bumped 2→3 on failure. */
61
+ suggestedTier: VerifyTier;
62
+ /** Concrete next model on the ladder (haiku→sonnet→opus); null when no bump exists. */
63
+ suggestedModel: VerifyModel | null;
64
+ /** True when not confident AND a higher tier exists to escalate to. */
65
+ escalate: boolean;
66
+ /** Detected task kind after 'auto' resolution. */
67
+ taskKind: Exclude<VerifyTaskKind, 'auto'>;
68
+ }
69
+ interface ExtractedCode {
70
+ lang: string;
71
+ code: string;
72
+ }
73
+ /** Pull fenced code blocks out of markdown-ish output. */
74
+ export declare function extractCodeBlocks(output: string): ExtractedCode[];
75
+ /** Cheap stack-based bracket balance check that skips string/comment-ish content. */
76
+ export declare function bracketsBalanced(code: string): boolean;
77
+ /**
78
+ * Compute a confidence verdict for `output` from cheap structural signals,
79
+ * and suggest an escalation target when not confident.
80
+ */
81
+ export declare function verifyAndEscalate(input: VerifyInput): Promise<VerifyVerdict>;
82
+ export default verifyAndEscalate;
83
+ //# sourceMappingURL=output-verifier.d.ts.map
@@ -0,0 +1,277 @@
1
+ /**
2
+ * output-verifier.ts — Confidence-gated tier escalation (post-generation).
3
+ *
4
+ * ADR-026/143 route tasks to a tier BEFORE generation. 2026 SOTA cascade
5
+ * routing adds a post-generation gate: attempt the cheap tier, run a CHEAP
6
+ * verifier over the produced output, and escalate to the next tier only when
7
+ * the verifier is not confident. This module is that verifier.
8
+ *
9
+ * Design constraints (load-bearing):
10
+ * - $0 by default — NO LLM call. Every signal is a structural / lexical
11
+ * check: emptiness, refusal patterns, truncation, delimiter balance,
12
+ * degenerate repetition, and (for code tasks) a real syntax parse via the
13
+ * TypeScript compiler (lazy-imported; degrades to delimiter checks when
14
+ * typescript is not installed) or JSON.parse for JSON output.
15
+ * - Pure with respect to router state — recording the verdict into the
16
+ * bandit's learning stream is the CALLER's job (the hooks_model-verify
17
+ * MCP tool does it via ModelRouter.recordOutcome), keeping this module
18
+ * trivially unit-testable.
19
+ * - Escalation ladder mirrors the tier table: tier 2 (haiku) → tier 3
20
+ * (sonnet), sonnet → opus, opus has no bump (escalate=false even when the
21
+ * verdict is not confident — the caller should retry or surface instead).
22
+ *
23
+ * Verdict semantics: `confident=false` means "cheap signals say this output
24
+ * is likely unusable"; it is NOT a semantic-quality judgment. False
25
+ * negatives (bad output that parses fine) are expected — this gate trades
26
+ * recall for being free.
27
+ *
28
+ * @module ruvector/output-verifier
29
+ */
30
+ const MODEL_TIER = { haiku: 2, sonnet: 3, opus: 3 };
31
+ const NEXT_MODEL = {
32
+ haiku: 'sonnet',
33
+ sonnet: 'opus',
34
+ opus: null,
35
+ };
36
+ // Refusal phrasings scanned near the start of the output. Anchored to the
37
+ // head so a legitimate answer that *discusses* refusals doesn't trip it.
38
+ const REFUSAL_HEAD_CHARS = 240;
39
+ const REFUSAL_PATTERNS = [
40
+ /\bI\s+(?:can(?:no|')t|cannot)\s+(?:help|assist|do|provide|comply|fulfill|complete|write|generate)\b/i,
41
+ /\bI(?:'m| am)\s+(?:sorry|afraid)\b[\s\S]{0,60}\b(?:can(?:no|')t|cannot|unable)\b/i,
42
+ /\bI(?:'m| am)\s+(?:unable|not able)\s+to\b/i,
43
+ /\bI\s+(?:must|have to)\s+(?:decline|refuse)\b/i,
44
+ /\bI\s+won'?t\s+be\s+able\s+to\b/i,
45
+ /\bas an AI(?:\s+(?:language\s+)?model)?[,\s]+I\b/i,
46
+ ];
47
+ // A trailing dangling operator / opener strongly suggests a mid-expression cutoff.
48
+ const TRUNCATION_TAIL = /(?:,|&&|\|\||=>|[+*/%=]|\(|\[|\{|\bconst|\blet|\bvar|\bfunction|\breturn|:)\s*$/;
49
+ /** Pull fenced code blocks out of markdown-ish output. */
50
+ export function extractCodeBlocks(output) {
51
+ const blocks = [];
52
+ const re = /```([A-Za-z0-9_-]*)\n([\s\S]*?)```/g;
53
+ let m;
54
+ while ((m = re.exec(output)) !== null) {
55
+ blocks.push({ lang: (m[1] || '').toLowerCase(), code: m[2] });
56
+ }
57
+ return blocks;
58
+ }
59
+ /** Cheap stack-based bracket balance check that skips string/comment-ish content. */
60
+ export function bracketsBalanced(code) {
61
+ const stack = [];
62
+ const pairs = { ')': '(', ']': '[', '}': '{' };
63
+ let inString = null;
64
+ let inLineComment = false;
65
+ let inBlockComment = false;
66
+ for (let i = 0; i < code.length; i++) {
67
+ const c = code[i];
68
+ const next = code[i + 1];
69
+ if (inLineComment) {
70
+ if (c === '\n')
71
+ inLineComment = false;
72
+ continue;
73
+ }
74
+ if (inBlockComment) {
75
+ if (c === '*' && next === '/') {
76
+ inBlockComment = false;
77
+ i++;
78
+ }
79
+ continue;
80
+ }
81
+ if (inString) {
82
+ if (c === '\\') {
83
+ i++;
84
+ continue;
85
+ }
86
+ if (c === inString)
87
+ inString = null;
88
+ continue;
89
+ }
90
+ if (c === '/' && next === '/') {
91
+ inLineComment = true;
92
+ i++;
93
+ continue;
94
+ }
95
+ if (c === '/' && next === '*') {
96
+ inBlockComment = true;
97
+ i++;
98
+ continue;
99
+ }
100
+ if (c === '"' || c === "'" || c === '`') {
101
+ inString = c;
102
+ continue;
103
+ }
104
+ if (c === '(' || c === '[' || c === '{')
105
+ stack.push(c);
106
+ else if (c === ')' || c === ']' || c === '}') {
107
+ if (stack.pop() !== pairs[c])
108
+ return false;
109
+ }
110
+ }
111
+ return stack.length === 0;
112
+ }
113
+ const CODE_TASK_HINT = /\b(?:code|function|class|implement|refactor|typescript|javascript|python|script|method|api endpoint|unit test)\b/i;
114
+ const CODE_OUTPUT_HINT = /(?:^|\n)\s*(?:import\s|export\s|function\s|class\s|const\s|let\s|def\s|return\s)/;
115
+ function detectTaskKind(input) {
116
+ if (input.taskKind && input.taskKind !== 'auto')
117
+ return input.taskKind;
118
+ if (/\bjson\b/i.test(input.task) && /^[\s]*[[{]/.test(input.output.trim()))
119
+ return 'json';
120
+ if (extractCodeBlocks(input.output).length > 0)
121
+ return 'code';
122
+ if (CODE_TASK_HINT.test(input.task) && CODE_OUTPUT_HINT.test(input.output))
123
+ return 'code';
124
+ return 'text';
125
+ }
126
+ /**
127
+ * Syntax-check a JS/TS snippet. Uses the TypeScript compiler when available
128
+ * (transpileModule with reportDiagnostics catches syntactic errors without
129
+ * type-checking — cheap, no program construction). Falls back to bracket
130
+ * balance when typescript is not installed.
131
+ */
132
+ async function checkCodeParses(code, lang) {
133
+ if (lang === 'json') {
134
+ try {
135
+ JSON.parse(code);
136
+ return { ok: true };
137
+ }
138
+ catch (e) {
139
+ return { ok: false, detail: `JSON.parse failed: ${e instanceof Error ? e.message : String(e)}` };
140
+ }
141
+ }
142
+ const jsLike = ['', 'js', 'jsx', 'ts', 'tsx', 'javascript', 'typescript', 'mjs', 'cjs'].includes(lang);
143
+ if (!jsLike) {
144
+ // Non-JS languages: bracket balance is the best free proxy we have.
145
+ return bracketsBalanced(code)
146
+ ? { ok: true, detail: `no parser for lang="${lang}"; delimiter check only` }
147
+ : { ok: false, detail: `unbalanced delimiters in ${lang} block` };
148
+ }
149
+ try {
150
+ const ts = (await import('typescript')).default;
151
+ const result = ts.transpileModule(code, {
152
+ reportDiagnostics: true,
153
+ compilerOptions: { jsx: ts.JsxEmit.Preserve, allowJs: true },
154
+ });
155
+ const syntaxErrors = (result.diagnostics ?? []).filter(d => d.category === ts.DiagnosticCategory.Error);
156
+ if (syntaxErrors.length > 0) {
157
+ const first = syntaxErrors[0];
158
+ const msg = ts.flattenDiagnosticMessageText(first.messageText, ' ');
159
+ return { ok: false, detail: `syntax error: ${msg}` };
160
+ }
161
+ return { ok: true };
162
+ }
163
+ catch {
164
+ // typescript not installed — graceful degradation, delimiter check only.
165
+ return bracketsBalanced(code)
166
+ ? { ok: true, detail: 'typescript unavailable; delimiter check only' }
167
+ : { ok: false, detail: 'typescript unavailable; unbalanced delimiters' };
168
+ }
169
+ }
170
+ /** Detect degenerate repetition (same non-trivial line repeated many times in a row). */
171
+ function isDegenerate(output) {
172
+ const lines = output.split('\n').map(l => l.trim()).filter(l => l.length > 8);
173
+ let run = 1;
174
+ for (let i = 1; i < lines.length; i++) {
175
+ if (lines[i] === lines[i - 1]) {
176
+ run++;
177
+ if (run >= 5)
178
+ return true;
179
+ }
180
+ else {
181
+ run = 1;
182
+ }
183
+ }
184
+ return false;
185
+ }
186
+ /**
187
+ * Compute a confidence verdict for `output` from cheap structural signals,
188
+ * and suggest an escalation target when not confident.
189
+ */
190
+ export async function verifyAndEscalate(input) {
191
+ const output = input.output ?? '';
192
+ const trimmed = output.trim();
193
+ const minLength = input.minLength ?? 20;
194
+ const taskKind = detectTaskKind(input);
195
+ const model = input.model ?? 'haiku';
196
+ const tierUsed = input.tierUsed ?? MODEL_TIER[model] ?? 2;
197
+ const signals = [];
198
+ const reasons = [];
199
+ const fail = (name, detail) => {
200
+ signals.push({ name, ok: false, detail });
201
+ reasons.push(`${name}: ${detail}`);
202
+ };
203
+ const pass = (name, detail) => signals.push({ name, ok: true, detail });
204
+ // 1. Emptiness
205
+ if (trimmed.length === 0)
206
+ fail('empty-output', 'output is empty or whitespace-only');
207
+ else
208
+ pass('empty-output');
209
+ // 2. Plausible length (skip when already flagged empty)
210
+ if (trimmed.length > 0 && trimmed.length < minLength) {
211
+ fail('too-short', `output is ${trimmed.length} chars (< ${minLength})`);
212
+ }
213
+ else if (trimmed.length > 0) {
214
+ pass('too-short');
215
+ }
216
+ // 3. Refusal patterns near the head
217
+ const head = trimmed.slice(0, REFUSAL_HEAD_CHARS);
218
+ const refusal = REFUSAL_PATTERNS.find(p => p.test(head));
219
+ if (refusal)
220
+ fail('refusal', `refusal pattern near start of output (${refusal.source.slice(0, 40)}…)`);
221
+ else
222
+ pass('refusal');
223
+ // 4. Truncation: unclosed code fence, or dangling operator/opener at the tail
224
+ const fenceCount = (output.match(/```/g) ?? []).length;
225
+ if (fenceCount % 2 !== 0) {
226
+ fail('truncation', 'unclosed code fence (odd number of ``` markers)');
227
+ }
228
+ else if (trimmed.length > 0 && TRUNCATION_TAIL.test(trimmed)) {
229
+ fail('truncation', `output ends mid-expression ("…${trimmed.slice(-24).replace(/\n/g, '\\n')}")`);
230
+ }
231
+ else {
232
+ pass('truncation');
233
+ }
234
+ // 5. Degenerate repetition
235
+ if (isDegenerate(trimmed))
236
+ fail('degenerate-repetition', 'same line repeated 5+ times consecutively');
237
+ else
238
+ pass('degenerate-repetition');
239
+ // 6. Code / JSON parse checks
240
+ if (taskKind === 'code' || taskKind === 'json') {
241
+ const blocks = extractCodeBlocks(output);
242
+ const targets = blocks.length > 0
243
+ ? blocks
244
+ : [{ lang: taskKind === 'json' ? 'json' : '', code: output }];
245
+ let allOk = true;
246
+ const details = [];
247
+ for (const block of targets) {
248
+ const check = await checkCodeParses(block.code, taskKind === 'json' ? 'json' : block.lang);
249
+ if (!check.ok) {
250
+ allOk = false;
251
+ details.push(check.detail ?? 'parse failed');
252
+ }
253
+ else if (check.detail) {
254
+ details.push(check.detail);
255
+ }
256
+ }
257
+ if (allOk)
258
+ pass('code-parses', details.join('; ') || undefined);
259
+ else
260
+ fail('code-parses', details.join('; '));
261
+ }
262
+ const passed = signals.filter(s => s.ok).length;
263
+ const score = signals.length > 0 ? passed / signals.length : 0;
264
+ const confident = reasons.length === 0;
265
+ const nextModel = NEXT_MODEL[model] ?? null;
266
+ const suggestedModel = confident ? null : nextModel;
267
+ const suggestedTier = confident
268
+ ? tierUsed
269
+ : (nextModel !== null ? Math.min(3, tierUsed + 1) : tierUsed);
270
+ const escalate = !confident && nextModel !== null;
271
+ if (!confident && nextModel === null) {
272
+ reasons.push('already-at-top-tier: no higher tier to escalate to — retry or surface to the user');
273
+ }
274
+ return { confident, score, reasons, signals, suggestedTier, suggestedModel, escalate, taskKind };
275
+ }
276
+ export default verifyAndEscalate;
277
+ //# sourceMappingURL=output-verifier.js.map
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Q-Learning Router for Task Routing
3
+ *
4
+ * Uses reinforcement learning to optimize task routing decisions
5
+ * based on historical performance and context.
6
+ *
7
+ * Features:
8
+ * - Caching for repeated task patterns (LRU cache)
9
+ * - Optimized state space with feature hashing
10
+ * - Epsilon decay with exponential annealing
11
+ * - Experience replay buffer for stable learning
12
+ * - Model persistence to .swarm/q-learning-model.json
13
+ *
14
+ * @module q-learning-router
15
+ */
16
+ /**
17
+ * Q-Learning Router Configuration
18
+ */
19
+ export interface QLearningRouterConfig {
20
+ /** Learning rate (default: 0.1) */
21
+ learningRate: number;
22
+ /** Discount factor (default: 0.99) */
23
+ gamma: number;
24
+ /** Initial exploration rate (default: 1.0) */
25
+ explorationInitial: number;
26
+ /** Final exploration rate (default: 0.01) */
27
+ explorationFinal: number;
28
+ /** Exploration decay steps (default: 10000) */
29
+ explorationDecay: number;
30
+ /** Exploration decay type (default: 'exponential') */
31
+ explorationDecayType: 'linear' | 'exponential' | 'cosine';
32
+ /** Maximum states in Q-table (default: 10000) */
33
+ maxStates: number;
34
+ /** Number of actions/routes (default: 8) */
35
+ numActions: number;
36
+ /** Experience replay buffer size (default: 1000) */
37
+ replayBufferSize: number;
38
+ /** Mini-batch size for replay (default: 32) */
39
+ replayBatchSize: number;
40
+ /** Enable experience replay (default: true) */
41
+ enableReplay: boolean;
42
+ /** Route cache size (default: 256) */
43
+ cacheSize: number;
44
+ /** Cache TTL in milliseconds (default: 300000 = 5 minutes) */
45
+ cacheTTL: number;
46
+ /** Model persistence path (default: '.swarm/q-learning-model.json') */
47
+ modelPath: string;
48
+ /** Auto-save interval in updates (default: 100) */
49
+ autoSaveInterval: number;
50
+ /** State space dimensionality for feature hashing (default: 64) */
51
+ stateSpaceDim: number;
52
+ }
53
+ /**
54
+ * Route decision result
55
+ */
56
+ export interface RouteDecision {
57
+ /** Selected route/action */
58
+ route: string;
59
+ /** Confidence score (0-1) */
60
+ confidence: number;
61
+ /** Q-values for all routes */
62
+ qValues: number[];
63
+ /** Was exploration used */
64
+ explored: boolean;
65
+ /** Route alternatives */
66
+ alternatives: Array<{
67
+ route: string;
68
+ score: number;
69
+ }>;
70
+ }
71
+ /**
72
+ * Q-Learning Router for intelligent task routing
73
+ *
74
+ * Optimized with:
75
+ * - LRU cache for repeated task patterns
76
+ * - Feature hashing for efficient state space
77
+ * - Exponential epsilon decay
78
+ * - Prioritized experience replay
79
+ * - Model persistence
80
+ */
81
+ export declare class QLearningRouter {
82
+ private config;
83
+ private qTable;
84
+ private epsilon;
85
+ private stepCount;
86
+ private updateCount;
87
+ private avgTDError;
88
+ private ruvectorEngine;
89
+ private useNative;
90
+ private replayBuffer;
91
+ private replayBufferIdx;
92
+ private totalExperiences;
93
+ private routeCache;
94
+ private cacheOrder;
95
+ private cacheHits;
96
+ private cacheMisses;
97
+ private featureHashCache;
98
+ constructor(config?: Partial<QLearningRouterConfig>);
99
+ /**
100
+ * Initialize the router, attempting to load ruvector native module
101
+ * and restore persisted model if available
102
+ */
103
+ initialize(): Promise<void>;
104
+ /**
105
+ * Load model from persistence file
106
+ */
107
+ loadModel(path?: string): Promise<boolean>;
108
+ /**
109
+ * Save model to persistence file
110
+ */
111
+ saveModel(path?: string): Promise<boolean>;
112
+ /**
113
+ * Route a task based on its context
114
+ * Uses LRU cache for repeated task patterns
115
+ */
116
+ route(taskContext: string, explore?: boolean): RouteDecision;
117
+ /**
118
+ * Get cached route decision (LRU cache)
119
+ */
120
+ private getCachedRoute;
121
+ /**
122
+ * Cache a route decision (LRU eviction)
123
+ */
124
+ private cacheRoute;
125
+ /**
126
+ * Invalidate cache (call after significant Q-table updates)
127
+ */
128
+ invalidateCache(): void;
129
+ /** Invalidate a single state's cached route (called after its Q-values change
130
+ * so the next route() reflects the update immediately). */
131
+ private invalidateCacheEntry;
132
+ /**
133
+ * Update Q-values based on feedback
134
+ * Includes experience replay for stable learning
135
+ */
136
+ update(taskContext: string, action: string, reward: number, nextContext?: string): number;
137
+ /**
138
+ * Internal Q-value update
139
+ */
140
+ private updateQValue;
141
+ /**
142
+ * Add experience to circular replay buffer
143
+ */
144
+ private addToReplayBuffer;
145
+ /**
146
+ * Perform prioritized experience replay
147
+ * Samples mini-batch from buffer and updates Q-values
148
+ */
149
+ private experienceReplay;
150
+ /**
151
+ * Sample a prioritized batch from replay buffer
152
+ * Uses proportional prioritization
153
+ */
154
+ private samplePrioritizedBatch;
155
+ /**
156
+ * Calculate epsilon using configured decay strategy
157
+ */
158
+ private calculateEpsilon;
159
+ /**
160
+ * Get statistics including cache and replay buffer metrics
161
+ */
162
+ getStats(): Record<string, number>;
163
+ /**
164
+ * Reset the router (clears all learned data)
165
+ */
166
+ reset(): void;
167
+ /**
168
+ * Export Q-table for persistence
169
+ */
170
+ export(): Record<string, {
171
+ qValues: number[];
172
+ visits: number;
173
+ }>;
174
+ /**
175
+ * Import Q-table from persistence
176
+ */
177
+ import(data: Record<string, {
178
+ qValues: number[];
179
+ visits: number;
180
+ }>): void;
181
+ /**
182
+ * Legacy hash function (kept for backward compatibility)
183
+ */
184
+ private hashState;
185
+ /**
186
+ * Public state-key encoder (#2239). This is exactly what `route()` uses
187
+ * to look up Q-values, so testing it directly is testing the binding the
188
+ * Q-learner actually sees.
189
+ */
190
+ getStateKey(context: string): string;
191
+ /**
192
+ * Optimized state hashing using feature extraction
193
+ * Creates a more semantic representation of the task context
194
+ */
195
+ private hashStateOptimized;
196
+ /**
197
+ * Extract feature vector from task context
198
+ * Uses keyword matching and n-gram hashing
199
+ */
200
+ private extractFeatures;
201
+ /**
202
+ * Convert feature vector to state key
203
+ * Uses locality-sensitive hashing for similar contexts.
204
+ *
205
+ * #2239 — the previous fold was `((hash << 4) ^ q[i]) & 0x7fffffff` over 16
206
+ * 4-bit groups: each group i landed at bit 4·(15−i), so groups 0–7 (= the
207
+ * entire keyword block, features 0–31) shifted past the 31-bit mask and were
208
+ * discarded. Keyword-distinct tasks collapsed to one Q-state. We now use a
209
+ * 32-bit FNV-1a hash, which mixes every quantized group losslessly into the
210
+ * state key. Encoder version bumped to 2; see PersistedModel.encoderVersion.
211
+ */
212
+ private featureVectorToKey;
213
+ /**
214
+ * MurmurHash3 32-bit implementation for n-gram hashing
215
+ */
216
+ private murmurhash3;
217
+ private getQValues;
218
+ private getOrCreateEntry;
219
+ private argmax;
220
+ private softmaxConfidence;
221
+ private pruneQTable;
222
+ }
223
+ /**
224
+ * Factory function
225
+ */
226
+ export declare function createQLearningRouter(config?: Partial<QLearningRouterConfig>): QLearningRouter;
227
+ //# sourceMappingURL=q-learning-router.d.ts.map