@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,191 @@
1
+ /**
2
+ * Update checker for @claude-flow packages
3
+ * Queries npm registry and compares versions
4
+ */
5
+ import * as semver from 'semver';
6
+ import { createRequire } from 'node:module';
7
+ import { shouldCheckForUpdates, recordCheck, getCachedVersions } from './rate-limiter.js';
8
+ const DEFAULT_CONFIG = {
9
+ enabled: true,
10
+ checkIntervalHours: 24,
11
+ autoUpdate: {
12
+ patch: true,
13
+ minor: false,
14
+ major: false,
15
+ },
16
+ priority: {
17
+ '@claude-flow/security': 'critical',
18
+ '@claude-flow/cli': 'high',
19
+ '@claude-flow/embeddings': 'normal',
20
+ '@claude-flow/integration': 'normal',
21
+ '@claude-flow/testing': 'low',
22
+ },
23
+ exclude: [],
24
+ };
25
+ // Packages to check for updates
26
+ const CLAUDE_FLOW_PACKAGES = [
27
+ '@claude-flow/cli',
28
+ '@claude-flow/embeddings',
29
+ '@claude-flow/security',
30
+ '@claude-flow/integration',
31
+ '@claude-flow/testing',
32
+ ];
33
+ async function fetchPackageInfo(packageName) {
34
+ try {
35
+ const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`, {
36
+ headers: { Accept: 'application/json' },
37
+ signal: AbortSignal.timeout(5000),
38
+ });
39
+ if (!response.ok) {
40
+ return null;
41
+ }
42
+ return (await response.json());
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ function getUpdateType(current, latest) {
49
+ if (!semver.valid(current) || !semver.valid(latest)) {
50
+ return 'none';
51
+ }
52
+ if (semver.eq(current, latest)) {
53
+ return 'none';
54
+ }
55
+ if (semver.major(latest) > semver.major(current)) {
56
+ return 'major';
57
+ }
58
+ if (semver.minor(latest) > semver.minor(current)) {
59
+ return 'minor';
60
+ }
61
+ if (semver.patch(latest) > semver.patch(current)) {
62
+ return 'patch';
63
+ }
64
+ return 'none';
65
+ }
66
+ function shouldAutoUpdate(updateType, priority, config) {
67
+ if (updateType === 'none')
68
+ return false;
69
+ // Critical security packages always auto-update patches
70
+ if (priority === 'critical' && updateType === 'patch') {
71
+ return true;
72
+ }
73
+ // Check config
74
+ if (updateType === 'major')
75
+ return config.autoUpdate.major;
76
+ if (updateType === 'minor')
77
+ return config.autoUpdate.minor;
78
+ if (updateType === 'patch')
79
+ return config.autoUpdate.patch;
80
+ return false;
81
+ }
82
+ export function getInstalledVersion(packageName) {
83
+ try {
84
+ // Try to find the package in node_modules
85
+ const possiblePaths = [
86
+ `${packageName}/package.json`,
87
+ `../../node_modules/${packageName}/package.json`,
88
+ `../../../node_modules/${packageName}/package.json`,
89
+ ];
90
+ for (const modulePath of possiblePaths) {
91
+ try {
92
+ // Use createRequire for ESM-compatible package.json loading
93
+ const esmRequire = createRequire(import.meta.url);
94
+ const resolved = esmRequire.resolve(modulePath, { paths: [process.cwd()] });
95
+ const pkg = esmRequire(resolved);
96
+ return pkg.version;
97
+ }
98
+ catch {
99
+ continue;
100
+ }
101
+ }
102
+ return null;
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ export async function checkForUpdates(config = DEFAULT_CONFIG) {
109
+ // Check rate limit
110
+ const rateCheck = shouldCheckForUpdates(config.checkIntervalHours);
111
+ if (!rateCheck.allowed) {
112
+ // Return cached results if available
113
+ const cached = getCachedVersions();
114
+ if (Object.keys(cached).length > 0) {
115
+ return {
116
+ results: [],
117
+ skipped: true,
118
+ reason: rateCheck.reason,
119
+ };
120
+ }
121
+ return { results: [], skipped: true, reason: rateCheck.reason };
122
+ }
123
+ const results = [];
124
+ const versionCache = {};
125
+ // Check each package
126
+ const packagesToCheck = CLAUDE_FLOW_PACKAGES.filter((pkg) => !config.exclude.includes(pkg));
127
+ // Sort by priority (critical first)
128
+ const priorityOrder = { critical: 0, high: 1, normal: 2, low: 3 };
129
+ packagesToCheck.sort((a, b) => {
130
+ const pa = config.priority[a] || 'normal';
131
+ const pb = config.priority[b] || 'normal';
132
+ return priorityOrder[pa] - priorityOrder[pb];
133
+ });
134
+ await Promise.all(packagesToCheck.map(async (packageName) => {
135
+ const currentVersion = getInstalledVersion(packageName);
136
+ if (!currentVersion) {
137
+ // Package not installed, skip
138
+ return;
139
+ }
140
+ const info = await fetchPackageInfo(packageName);
141
+ if (!info) {
142
+ return;
143
+ }
144
+ const latestVersion = info['dist-tags']?.latest;
145
+ if (!latestVersion) {
146
+ return;
147
+ }
148
+ versionCache[packageName] = latestVersion;
149
+ const updateType = getUpdateType(currentVersion, latestVersion);
150
+ const priority = config.priority[packageName] || 'normal';
151
+ results.push({
152
+ package: packageName,
153
+ currentVersion,
154
+ latestVersion,
155
+ updateType,
156
+ priority,
157
+ shouldAutoUpdate: shouldAutoUpdate(updateType, priority, config),
158
+ });
159
+ }));
160
+ // Record this check
161
+ recordCheck(versionCache);
162
+ // Filter to only updates available
163
+ const updates = results.filter((r) => r.updateType !== 'none');
164
+ return { results: updates, skipped: false };
165
+ }
166
+ export async function checkSinglePackage(packageName, config = DEFAULT_CONFIG) {
167
+ const currentVersion = getInstalledVersion(packageName);
168
+ if (!currentVersion) {
169
+ return null;
170
+ }
171
+ const info = await fetchPackageInfo(packageName);
172
+ if (!info) {
173
+ return null;
174
+ }
175
+ const latestVersion = info['dist-tags']?.latest;
176
+ if (!latestVersion) {
177
+ return null;
178
+ }
179
+ const updateType = getUpdateType(currentVersion, latestVersion);
180
+ const priority = config.priority[packageName] || 'normal';
181
+ return {
182
+ package: packageName,
183
+ currentVersion,
184
+ latestVersion,
185
+ updateType,
186
+ priority,
187
+ shouldAutoUpdate: shouldAutoUpdate(updateType, priority, config),
188
+ };
189
+ }
190
+ export { DEFAULT_CONFIG };
191
+ //# sourceMappingURL=checker.js.map
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Update executor - performs actual package updates
3
+ * Includes rollback capability
4
+ */
5
+ import { UpdateCheckResult } from './checker.js';
6
+ import { ValidationResult } from './validator.js';
7
+ export declare function isSafePackageSpec(pkg: string, version: string): boolean;
8
+ export interface UpdateHistoryEntry {
9
+ timestamp: string;
10
+ package: string;
11
+ fromVersion: string;
12
+ toVersion: string;
13
+ success: boolean;
14
+ error?: string;
15
+ rollbackAvailable: boolean;
16
+ }
17
+ export interface UpdateExecutionResult {
18
+ success: boolean;
19
+ package: string;
20
+ version: string;
21
+ error?: string;
22
+ validation: ValidationResult;
23
+ }
24
+ export declare function loadHistory(): UpdateHistoryEntry[];
25
+ export declare function executeUpdate(update: UpdateCheckResult, installedPackages: Record<string, string>, dryRun?: boolean): Promise<UpdateExecutionResult>;
26
+ export declare function executeMultipleUpdates(updates: UpdateCheckResult[], installedPackages: Record<string, string>, dryRun?: boolean): Promise<UpdateExecutionResult[]>;
27
+ export declare function rollbackUpdate(packageName?: string): Promise<{
28
+ success: boolean;
29
+ message: string;
30
+ }>;
31
+ export declare function getUpdateHistory(limit?: number): UpdateHistoryEntry[];
32
+ export declare function clearHistory(): void;
33
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Update executor - performs actual package updates
3
+ * Includes rollback capability
4
+ */
5
+ import { execFileSync } from 'child_process';
6
+ import * as fs from 'fs';
7
+ import * as path from 'path';
8
+ import * as os from 'os';
9
+ import { validateUpdate } from './validator.js';
10
+ /**
11
+ * audit_1776853149979: package name and version come from npm-view output and
12
+ * the update-history.json file (writable by anyone with FS access). Both
13
+ * previously interpolated straight into a shell string for `npm install`.
14
+ * These regexes pre-flight values so a hostile package name can't slip
15
+ * shell metacharacters through, even though execFileSync below already
16
+ * eliminates the shell.
17
+ */
18
+ // First char of the unscoped name forbids `-` to defang CLI-flag confusion
19
+ // when the spec is passed to npm (npm install -evil@1.0.0 looks flag-shaped).
20
+ const SAFE_PKG_RE = /^(@[a-zA-Z0-9_\-]+\/)?[a-zA-Z0-9_][a-zA-Z0-9_\-.]{0,213}$/;
21
+ // semver / dist-tag / range chars only — no shell metas.
22
+ const SAFE_VERSION_RE = /^[a-zA-Z0-9._\-+~^*xX]{1,64}$/;
23
+ export function isSafePackageSpec(pkg, version) {
24
+ return SAFE_PKG_RE.test(pkg) && SAFE_VERSION_RE.test(version);
25
+ }
26
+ const HISTORY_FILE = path.join(os.homedir(), '.claude-flow', 'update-history.json');
27
+ const MAX_HISTORY_ENTRIES = 100;
28
+ function ensureDir() {
29
+ const dir = path.dirname(HISTORY_FILE);
30
+ if (!fs.existsSync(dir)) {
31
+ fs.mkdirSync(dir, { recursive: true });
32
+ }
33
+ }
34
+ export function loadHistory() {
35
+ try {
36
+ if (fs.existsSync(HISTORY_FILE)) {
37
+ const content = fs.readFileSync(HISTORY_FILE, 'utf-8');
38
+ return JSON.parse(content);
39
+ }
40
+ }
41
+ catch {
42
+ // Corrupted file
43
+ }
44
+ return [];
45
+ }
46
+ function saveHistory(history) {
47
+ ensureDir();
48
+ // Keep only last N entries
49
+ const trimmed = history.slice(-MAX_HISTORY_ENTRIES);
50
+ fs.writeFileSync(HISTORY_FILE, JSON.stringify(trimmed, null, 2));
51
+ }
52
+ function recordUpdate(entry) {
53
+ const history = loadHistory();
54
+ history.push(entry);
55
+ saveHistory(history);
56
+ }
57
+ export async function executeUpdate(update, installedPackages, dryRun = false) {
58
+ // Validate first
59
+ const validation = validateUpdate(update.package, update.currentVersion, update.latestVersion, installedPackages);
60
+ if (!validation.valid) {
61
+ return {
62
+ success: false,
63
+ package: update.package,
64
+ version: update.latestVersion,
65
+ error: `Validation failed: ${validation.incompatibilities.join(', ')}`,
66
+ validation,
67
+ };
68
+ }
69
+ if (dryRun) {
70
+ return {
71
+ success: true,
72
+ package: update.package,
73
+ version: update.latestVersion,
74
+ validation,
75
+ };
76
+ }
77
+ // audit_1776853149979: validate package + version regex before any exec.
78
+ if (!isSafePackageSpec(update.package, update.latestVersion)) {
79
+ return {
80
+ success: false,
81
+ package: update.package,
82
+ version: update.latestVersion,
83
+ error: `Refusing to install: package or version contains disallowed characters (pkg="${update.package}", version="${update.latestVersion}")`,
84
+ validation,
85
+ };
86
+ }
87
+ try {
88
+ // audit_1776853149979: switched to execFileSync('npm', argv) — no shell,
89
+ // so even if validation regressed, metas in update.package would stay
90
+ // literal in the argv slot.
91
+ execFileSync('npm', ['install', `${update.package}@${update.latestVersion}`, '--save-exact'], {
92
+ encoding: 'utf-8',
93
+ stdio: 'pipe',
94
+ timeout: 60000, // 1 minute timeout
95
+ shell: false,
96
+ });
97
+ // Record successful update
98
+ recordUpdate({
99
+ timestamp: new Date().toISOString(),
100
+ package: update.package,
101
+ fromVersion: update.currentVersion,
102
+ toVersion: update.latestVersion,
103
+ success: true,
104
+ rollbackAvailable: true,
105
+ });
106
+ return {
107
+ success: true,
108
+ package: update.package,
109
+ version: update.latestVersion,
110
+ validation,
111
+ };
112
+ }
113
+ catch (error) {
114
+ const err = error;
115
+ // Record failed update
116
+ recordUpdate({
117
+ timestamp: new Date().toISOString(),
118
+ package: update.package,
119
+ fromVersion: update.currentVersion,
120
+ toVersion: update.latestVersion,
121
+ success: false,
122
+ error: err.message,
123
+ rollbackAvailable: false,
124
+ });
125
+ return {
126
+ success: false,
127
+ package: update.package,
128
+ version: update.latestVersion,
129
+ error: err.message,
130
+ validation,
131
+ };
132
+ }
133
+ }
134
+ export async function executeMultipleUpdates(updates, installedPackages, dryRun = false) {
135
+ const results = [];
136
+ // Execute updates sequentially to avoid conflicts
137
+ for (const update of updates) {
138
+ const result = await executeUpdate(update, installedPackages, dryRun);
139
+ results.push(result);
140
+ // Update installed packages for next validation
141
+ if (result.success) {
142
+ installedPackages[update.package] = update.latestVersion;
143
+ }
144
+ // Stop on critical failures
145
+ if (!result.success && update.priority === 'critical') {
146
+ break;
147
+ }
148
+ }
149
+ return results;
150
+ }
151
+ export async function rollbackUpdate(packageName) {
152
+ const history = loadHistory();
153
+ if (history.length === 0) {
154
+ return { success: false, message: 'No update history available' };
155
+ }
156
+ // Find the last successful update for this package (or any if not specified)
157
+ const lastUpdate = packageName
158
+ ? history
159
+ .reverse()
160
+ .find((h) => h.package === packageName && h.success && h.rollbackAvailable)
161
+ : history.reverse().find((h) => h.success && h.rollbackAvailable);
162
+ if (!lastUpdate) {
163
+ return {
164
+ success: false,
165
+ message: packageName
166
+ ? `No rollback available for ${packageName}`
167
+ : 'No rollback available',
168
+ };
169
+ }
170
+ // audit_1776853149979: history entries can be tampered with by anyone who
171
+ // can write update-history.json — gate before exec.
172
+ if (!isSafePackageSpec(lastUpdate.package, lastUpdate.fromVersion)) {
173
+ return {
174
+ success: false,
175
+ message: `Refusing to rollback: package or version contains disallowed characters (pkg="${lastUpdate.package}", version="${lastUpdate.fromVersion}")`,
176
+ };
177
+ }
178
+ try {
179
+ // execFileSync, no shell.
180
+ execFileSync('npm', ['install', `${lastUpdate.package}@${lastUpdate.fromVersion}`, '--save-exact'], {
181
+ encoding: 'utf-8',
182
+ stdio: 'pipe',
183
+ timeout: 60000,
184
+ shell: false,
185
+ });
186
+ // Record the rollback
187
+ recordUpdate({
188
+ timestamp: new Date().toISOString(),
189
+ package: lastUpdate.package,
190
+ fromVersion: lastUpdate.toVersion,
191
+ toVersion: lastUpdate.fromVersion,
192
+ success: true,
193
+ rollbackAvailable: false, // Can't rollback a rollback
194
+ });
195
+ return {
196
+ success: true,
197
+ message: `Rolled back ${lastUpdate.package} from ${lastUpdate.toVersion} to ${lastUpdate.fromVersion}`,
198
+ };
199
+ }
200
+ catch (error) {
201
+ const err = error;
202
+ return {
203
+ success: false,
204
+ message: `Rollback failed: ${err.message}`,
205
+ };
206
+ }
207
+ }
208
+ export function getUpdateHistory(limit = 20) {
209
+ const history = loadHistory();
210
+ return history.slice(-limit).reverse();
211
+ }
212
+ export function clearHistory() {
213
+ if (fs.existsSync(HISTORY_FILE)) {
214
+ fs.unlinkSync(HISTORY_FILE);
215
+ }
216
+ }
217
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Auto-update system for @claude-flow packages
3
+ *
4
+ * Features:
5
+ * - Rate-limited update checks (24h default)
6
+ * - Automatic patch updates for security packages
7
+ * - Compatibility validation before updates
8
+ * - Rollback capability
9
+ * - Update history logging
10
+ */
11
+ export { checkForUpdates, checkSinglePackage, getInstalledVersion, DEFAULT_CONFIG, } from './checker.js';
12
+ export type { UpdateCheckResult, UpdateConfig } from './checker.js';
13
+ export { shouldCheckForUpdates, recordCheck, getCachedVersions, clearCache, loadState, } from './rate-limiter.js';
14
+ export type { RateLimitState } from './rate-limiter.js';
15
+ export { validateUpdate, validateBulkUpdate } from './validator.js';
16
+ export type { ValidationResult } from './validator.js';
17
+ export { executeUpdate, executeMultipleUpdates, rollbackUpdate, getUpdateHistory, clearHistory, loadHistory, } from './executor.js';
18
+ export type { UpdateHistoryEntry, UpdateExecutionResult } from './executor.js';
19
+ import type { UpdateCheckResult } from './checker.js';
20
+ /**
21
+ * Run auto-update check on startup
22
+ * This is the main entry point for the auto-update system
23
+ */
24
+ export declare function runStartupUpdateCheck(options: {
25
+ verbose?: boolean;
26
+ autoUpdate?: boolean;
27
+ }): Promise<{
28
+ checked: boolean;
29
+ updatesAvailable: UpdateCheckResult[];
30
+ updatesApplied: string[];
31
+ skippedReason?: string;
32
+ }>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Auto-update system for @claude-flow packages
3
+ *
4
+ * Features:
5
+ * - Rate-limited update checks (24h default)
6
+ * - Automatic patch updates for security packages
7
+ * - Compatibility validation before updates
8
+ * - Rollback capability
9
+ * - Update history logging
10
+ */
11
+ export { checkForUpdates, checkSinglePackage, getInstalledVersion, DEFAULT_CONFIG, } from './checker.js';
12
+ export { shouldCheckForUpdates, recordCheck, getCachedVersions, clearCache, loadState, } from './rate-limiter.js';
13
+ export { validateUpdate, validateBulkUpdate } from './validator.js';
14
+ export { executeUpdate, executeMultipleUpdates, rollbackUpdate, getUpdateHistory, clearHistory, loadHistory, } from './executor.js';
15
+ // Re-export a convenience function for startup
16
+ import { checkForUpdates, DEFAULT_CONFIG } from './checker.js';
17
+ import { executeMultipleUpdates } from './executor.js';
18
+ import { getInstalledVersion } from './checker.js';
19
+ /**
20
+ * Run auto-update check on startup
21
+ * This is the main entry point for the auto-update system
22
+ */
23
+ export async function runStartupUpdateCheck(options) {
24
+ const result = {
25
+ checked: false,
26
+ updatesAvailable: [],
27
+ updatesApplied: [],
28
+ skippedReason: undefined,
29
+ };
30
+ try {
31
+ const { results, skipped, reason } = await checkForUpdates(DEFAULT_CONFIG);
32
+ if (skipped) {
33
+ result.skippedReason = reason;
34
+ return result;
35
+ }
36
+ result.checked = true;
37
+ result.updatesAvailable = results;
38
+ // Auto-update if enabled
39
+ if (options.autoUpdate !== false) {
40
+ const autoUpdateable = results.filter((r) => r.shouldAutoUpdate);
41
+ if (autoUpdateable.length > 0) {
42
+ // Get current installed packages
43
+ const installedPackages = {};
44
+ for (const update of autoUpdateable) {
45
+ const version = getInstalledVersion(update.package);
46
+ if (version) {
47
+ installedPackages[update.package] = version;
48
+ }
49
+ }
50
+ // Execute updates
51
+ const updateResults = await executeMultipleUpdates(autoUpdateable, installedPackages);
52
+ result.updatesApplied = updateResults
53
+ .filter((r) => r.success)
54
+ .map((r) => `${r.package}@${r.version}`);
55
+ }
56
+ }
57
+ return result;
58
+ }
59
+ catch {
60
+ // Silently fail on startup - don't block CLI usage
61
+ return result;
62
+ }
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Rate limiter for update checks
3
+ * Prevents excessive npm registry queries
4
+ */
5
+ export interface RateLimitState {
6
+ lastCheck: string;
7
+ checksToday: number;
8
+ date: string;
9
+ packageVersions: Record<string, string>;
10
+ }
11
+ export declare function loadState(): RateLimitState;
12
+ export declare function saveState(state: RateLimitState): void;
13
+ export declare function shouldCheckForUpdates(intervalHours?: number): {
14
+ allowed: boolean;
15
+ reason?: string;
16
+ };
17
+ export declare function recordCheck(packageVersions: Record<string, string>): void;
18
+ export declare function getCachedVersions(): Record<string, string>;
19
+ export declare function clearCache(): void;
20
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Rate limiter for update checks
3
+ * Prevents excessive npm registry queries
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import * as os from 'os';
8
+ const STATE_FILE = path.join(os.homedir(), '.claude-flow', 'update-state.json');
9
+ const DEFAULT_INTERVAL_HOURS = 24;
10
+ const MAX_CHECKS_PER_DAY = 10;
11
+ function ensureDir() {
12
+ const dir = path.dirname(STATE_FILE);
13
+ if (!fs.existsSync(dir)) {
14
+ fs.mkdirSync(dir, { recursive: true });
15
+ }
16
+ }
17
+ function getDefaultState() {
18
+ return {
19
+ lastCheck: '',
20
+ checksToday: 0,
21
+ date: new Date().toISOString().split('T')[0],
22
+ packageVersions: {},
23
+ };
24
+ }
25
+ export function loadState() {
26
+ try {
27
+ if (fs.existsSync(STATE_FILE)) {
28
+ const content = fs.readFileSync(STATE_FILE, 'utf-8');
29
+ const state = JSON.parse(content);
30
+ // Reset counter if new day
31
+ const today = new Date().toISOString().split('T')[0];
32
+ if (state.date !== today) {
33
+ state.date = today;
34
+ state.checksToday = 0;
35
+ }
36
+ return state;
37
+ }
38
+ }
39
+ catch {
40
+ // Corrupted file, reset
41
+ }
42
+ return getDefaultState();
43
+ }
44
+ export function saveState(state) {
45
+ ensureDir();
46
+ fs.writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));
47
+ }
48
+ export function shouldCheckForUpdates(intervalHours = DEFAULT_INTERVAL_HOURS) {
49
+ // Skip in CI environments
50
+ if (process.env.CI === 'true' || process.env.CONTINUOUS_INTEGRATION === 'true') {
51
+ return { allowed: false, reason: 'CI environment detected' };
52
+ }
53
+ // Skip if explicitly disabled
54
+ if (process.env.CLAUDE_FLOW_AUTO_UPDATE === 'false') {
55
+ return { allowed: false, reason: 'Auto-update disabled via environment' };
56
+ }
57
+ // Force update if requested
58
+ if (process.env.CLAUDE_FLOW_FORCE_UPDATE === 'true') {
59
+ return { allowed: true };
60
+ }
61
+ const state = loadState();
62
+ // Check daily limit
63
+ if (state.checksToday >= MAX_CHECKS_PER_DAY) {
64
+ return { allowed: false, reason: `Daily check limit (${MAX_CHECKS_PER_DAY}) reached` };
65
+ }
66
+ // Check time interval
67
+ if (state.lastCheck) {
68
+ const lastCheckTime = new Date(state.lastCheck).getTime();
69
+ const now = Date.now();
70
+ const hoursSinceLastCheck = (now - lastCheckTime) / (1000 * 60 * 60);
71
+ if (hoursSinceLastCheck < intervalHours) {
72
+ const nextCheck = Math.ceil(intervalHours - hoursSinceLastCheck);
73
+ return {
74
+ allowed: false,
75
+ reason: `Last check was ${Math.floor(hoursSinceLastCheck)}h ago (next check in ~${nextCheck}h)`
76
+ };
77
+ }
78
+ }
79
+ return { allowed: true };
80
+ }
81
+ export function recordCheck(packageVersions) {
82
+ const state = loadState();
83
+ state.lastCheck = new Date().toISOString();
84
+ state.checksToday += 1;
85
+ state.packageVersions = { ...state.packageVersions, ...packageVersions };
86
+ saveState(state);
87
+ }
88
+ export function getCachedVersions() {
89
+ return loadState().packageVersions;
90
+ }
91
+ export function clearCache() {
92
+ if (fs.existsSync(STATE_FILE)) {
93
+ fs.unlinkSync(STATE_FILE);
94
+ }
95
+ }
96
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Package validator for update compatibility
3
+ * Ensures updates don't break the ecosystem
4
+ */
5
+ export interface ValidationResult {
6
+ valid: boolean;
7
+ incompatibilities: string[];
8
+ warnings: string[];
9
+ requiredPeerUpdates: string[];
10
+ }
11
+ export declare function validateUpdate(packageName: string, fromVersion: string, toVersion: string, installedPackages: Record<string, string>): ValidationResult;
12
+ export declare function validateBulkUpdate(updates: Array<{
13
+ package: string;
14
+ from: string;
15
+ to: string;
16
+ }>, currentPackages: Record<string, string>): ValidationResult;
17
+ //# sourceMappingURL=validator.d.ts.map