kynjal-cli 3.1.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -4,12 +4,59 @@
4
4
  * Tool definitions for agent lifecycle management with file persistence.
5
5
  * Includes model routing integration for intelligent model selection.
6
6
  */
7
+ var __assign = (this && this.__assign) || function () {
8
+ __assign = Object.assign || function(t) {
9
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
10
+ s = arguments[i];
11
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
12
+ t[p] = s[p];
13
+ }
14
+ return t;
15
+ };
16
+ return __assign.apply(this, arguments);
17
+ };
18
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
19
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
20
+ return new (P || (P = Promise))(function (resolve, reject) {
21
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
22
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
23
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
24
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
25
+ });
26
+ };
27
+ var __generator = (this && this.__generator) || function (thisArg, body) {
28
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
29
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
30
+ function verb(n) { return function (v) { return step([n, v]); }; }
31
+ function step(op) {
32
+ if (f) throw new TypeError("Generator is already executing.");
33
+ while (_) try {
34
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
35
+ if (y = 0, t) op = [op[0] & 2, t.value];
36
+ switch (op[0]) {
37
+ case 0: case 1: t = op; break;
38
+ case 4: _.label++; return { value: op[1], done: false };
39
+ case 5: _.label++; y = op[1]; op = [0]; continue;
40
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
41
+ default:
42
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
43
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
44
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
45
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
46
+ if (t[2]) _.ops.pop();
47
+ _.trys.pop(); continue;
48
+ }
49
+ op = body.call(thisArg, _);
50
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
51
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
52
+ }
53
+ };
7
54
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
8
55
  import { join } from 'node:path';
9
56
  // Storage paths
10
- const STORAGE_DIR = '.claude-flow';
11
- const AGENT_DIR = 'agents';
12
- const AGENT_FILE = 'store.json';
57
+ var STORAGE_DIR = '.claude-flow';
58
+ var AGENT_DIR = 'agents';
59
+ var AGENT_FILE = 'store.json';
13
60
  function getAgentDir() {
14
61
  return join(process.cwd(), STORAGE_DIR, AGENT_DIR);
15
62
  }
@@ -17,20 +64,20 @@ function getAgentPath() {
17
64
  return join(getAgentDir(), AGENT_FILE);
18
65
  }
19
66
  function ensureAgentDir() {
20
- const dir = getAgentDir();
67
+ var dir = getAgentDir();
21
68
  if (!existsSync(dir)) {
22
69
  mkdirSync(dir, { recursive: true });
23
70
  }
24
71
  }
25
72
  function loadAgentStore() {
26
73
  try {
27
- const path = getAgentPath();
74
+ var path = getAgentPath();
28
75
  if (existsSync(path)) {
29
- const data = readFileSync(path, 'utf-8');
76
+ var data = readFileSync(path, 'utf-8');
30
77
  return JSON.parse(data);
31
78
  }
32
79
  }
33
- catch {
80
+ catch (_a) {
34
81
  // Return empty store on error
35
82
  }
36
83
  return { agents: {}, version: '3.0.0' };
@@ -40,7 +87,7 @@ function saveAgentStore(store) {
40
87
  writeFileSync(getAgentPath(), JSON.stringify(store, null, 2), 'utf-8');
41
88
  }
42
89
  // Default model mappings for agent types (can be overridden)
43
- const AGENT_TYPE_MODEL_DEFAULTS = {
90
+ var AGENT_TYPE_MODEL_DEFAULTS = {
44
91
  // Complex agents → opus
45
92
  'architect': 'opus',
46
93
  'security-architect': 'opus',
@@ -55,22 +102,34 @@ const AGENT_TYPE_MODEL_DEFAULTS = {
55
102
  // Simple/fast agents → haiku
56
103
  'formatter': 'haiku',
57
104
  'linter': 'haiku',
58
- 'documenter': 'haiku',
105
+ 'documenter': 'haiku'
59
106
  };
60
107
  // Lazy-loaded model router
61
- let modelRouterInstance = null;
62
- async function getModelRouter() {
63
- if (!modelRouterInstance) {
64
- try {
65
- const { getModelRouter } = await import('../ruvector/model-router.js');
66
- modelRouterInstance = getModelRouter();
67
- }
68
- catch (e) {
69
- // Log but don't fail - model router is optional
70
- console.error('[agent-tools] Model router load failed:', e.message);
71
- }
72
- }
73
- return modelRouterInstance;
108
+ var modelRouterInstance = null;
109
+ function getModelRouter() {
110
+ return __awaiter(this, void 0, void 0, function () {
111
+ var getModelRouter_1, e_1;
112
+ return __generator(this, function (_a) {
113
+ switch (_a.label) {
114
+ case 0:
115
+ if (!!modelRouterInstance) return [3 /*break*/, 4];
116
+ _a.label = 1;
117
+ case 1:
118
+ _a.trys.push([1, 3, , 4]);
119
+ return [4 /*yield*/, import('../ruvector/model-router.js')];
120
+ case 2:
121
+ getModelRouter_1 = (_a.sent()).getModelRouter;
122
+ modelRouterInstance = getModelRouter_1();
123
+ return [3 /*break*/, 4];
124
+ case 3:
125
+ e_1 = _a.sent();
126
+ // Log but don't fail - model router is optional
127
+ console.error('[agent-tools] Model router load failed:', e_1.message);
128
+ return [3 /*break*/, 4];
129
+ case 4: return [2 /*return*/, modelRouterInstance];
130
+ }
131
+ });
132
+ });
74
133
  }
75
134
  /**
76
135
  * Determine model for agent based on (ADR-026 3-tier routing):
@@ -79,57 +138,72 @@ async function getModelRouter() {
79
138
  * 3. Agent type defaults
80
139
  * 4. Fallback to sonnet
81
140
  */
82
- async function determineAgentModel(agentType, config, task) {
83
- // 1. Explicit model in config
84
- if (config.model && ['haiku', 'sonnet', 'opus', 'inherit'].includes(config.model)) {
85
- return { model: config.model, routedBy: 'explicit' };
86
- }
87
- // 2. Enhanced task-based routing with Agent Booster AST
88
- if (task) {
89
- try {
90
- // Try enhanced router first (includes Agent Booster detection)
91
- const { getEnhancedModelRouter } = await import('../ruvector/enhanced-model-router.js');
92
- const enhancedRouter = getEnhancedModelRouter();
93
- const routeResult = await enhancedRouter.route(task, { filePath: config.filePath });
94
- if (routeResult.tier === 1 && routeResult.canSkipLLM) {
95
- // Agent Booster can handle this task
96
- return {
97
- model: 'haiku', // Use haiku as fallback if AB fails
98
- routedBy: 'agent-booster',
99
- canSkipLLM: true,
100
- agentBoosterIntent: routeResult.agentBoosterIntent?.type,
101
- tier: 1,
102
- };
103
- }
104
- return {
105
- model: routeResult.model,
106
- routedBy: 'router',
107
- tier: routeResult.tier,
108
- };
109
- }
110
- catch {
111
- // Enhanced router not available, try basic router
112
- const router = await getModelRouter();
113
- if (router) {
114
- try {
115
- const result = await router.route(task);
116
- return { model: result.model, routedBy: 'router' };
117
- }
118
- catch {
119
- // Fall through to defaults on router error
120
- }
141
+ function determineAgentModel(agentType, config, task) {
142
+ var _a;
143
+ return __awaiter(this, void 0, Promise, function () {
144
+ var getEnhancedModelRouter, enhancedRouter, routeResult, _b, router, result, _c, defaultModel;
145
+ return __generator(this, function (_d) {
146
+ switch (_d.label) {
147
+ case 0:
148
+ // 1. Explicit model in config
149
+ if (config.model && ['haiku', 'sonnet', 'opus', 'inherit'].includes(config.model)) {
150
+ return [2 /*return*/, { model: config.model, routedBy: 'explicit' }];
151
+ }
152
+ if (!task) return [3 /*break*/, 10];
153
+ _d.label = 1;
154
+ case 1:
155
+ _d.trys.push([1, 4, , 10]);
156
+ return [4 /*yield*/, import('../ruvector/enhanced-model-router.js')];
157
+ case 2:
158
+ getEnhancedModelRouter = (_d.sent()).getEnhancedModelRouter;
159
+ enhancedRouter = getEnhancedModelRouter();
160
+ return [4 /*yield*/, enhancedRouter.route(task, { filePath: config.filePath })];
161
+ case 3:
162
+ routeResult = _d.sent();
163
+ if (routeResult.tier === 1 && routeResult.canSkipLLM) {
164
+ // Agent Booster can handle this task
165
+ return [2 /*return*/, {
166
+ model: 'haiku',
167
+ routedBy: 'agent-booster',
168
+ canSkipLLM: true,
169
+ agentBoosterIntent: (_a = routeResult.agentBoosterIntent) === null || _a === void 0 ? void 0 : _a.type,
170
+ tier: 1
171
+ }];
172
+ }
173
+ return [2 /*return*/, {
174
+ model: routeResult.model,
175
+ routedBy: 'router',
176
+ tier: routeResult.tier
177
+ }];
178
+ case 4:
179
+ _b = _d.sent();
180
+ return [4 /*yield*/, getModelRouter()];
181
+ case 5:
182
+ router = _d.sent();
183
+ if (!router) return [3 /*break*/, 9];
184
+ _d.label = 6;
185
+ case 6:
186
+ _d.trys.push([6, 8, , 9]);
187
+ return [4 /*yield*/, router.route(task)];
188
+ case 7:
189
+ result = _d.sent();
190
+ return [2 /*return*/, { model: result.model, routedBy: 'router' }];
191
+ case 8:
192
+ _c = _d.sent();
193
+ return [3 /*break*/, 9];
194
+ case 9: return [3 /*break*/, 10];
195
+ case 10:
196
+ defaultModel = AGENT_TYPE_MODEL_DEFAULTS[agentType];
197
+ if (defaultModel) {
198
+ return [2 /*return*/, { model: defaultModel, routedBy: 'default' }];
199
+ }
200
+ // 4. Fallback to sonnet (balanced)
201
+ return [2 /*return*/, { model: 'sonnet', routedBy: 'default' }];
121
202
  }
122
- }
123
- }
124
- // 3. Agent type defaults
125
- const defaultModel = AGENT_TYPE_MODEL_DEFAULTS[agentType];
126
- if (defaultModel) {
127
- return { model: defaultModel, routedBy: 'default' };
128
- }
129
- // 4. Fallback to sonnet (balanced)
130
- return { model: 'sonnet', routedBy: 'default' };
203
+ });
204
+ });
131
205
  }
132
- export const agentTools = [
206
+ export var agentTools = [
133
207
  {
134
208
  name: 'agent_spawn',
135
209
  description: 'Spawn a new agent with intelligent model selection',
@@ -143,62 +217,67 @@ export const agentTools = [
143
217
  domain: { type: 'string', description: 'Agent domain' },
144
218
  model: {
145
219
  type: 'string',
146
- enum: ['haiku', 'sonnet', 'opus', 'inherit'],
220
+ "enum": ['haiku', 'sonnet', 'opus', 'inherit'],
147
221
  description: 'Claude model to use (haiku=fast/cheap, sonnet=balanced, opus=most capable)'
148
222
  },
149
- task: { type: 'string', description: 'Task description for intelligent model routing' },
223
+ task: { type: 'string', description: 'Task description for intelligent model routing' }
150
224
  },
151
- required: ['agentType'],
152
- },
153
- handler: async (input) => {
154
- const store = loadAgentStore();
155
- const agentId = input.agentId || `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
156
- const agentType = input.agentType;
157
- const config = input.config || {};
158
- // Add explicit model to config if provided
159
- if (input.model) {
160
- config.model = input.model;
161
- }
162
- // Get task from either top-level or config (CLI passes it in config.task)
163
- const task = input.task || config.task || undefined;
164
- // Determine model using ADR-026 3-tier routing logic
165
- const routingResult = await determineAgentModel(agentType, config, task);
166
- const agent = {
167
- agentId,
168
- agentType,
169
- status: 'idle',
170
- health: 1.0,
171
- taskCount: 0,
172
- config,
173
- createdAt: new Date().toISOString(),
174
- domain: input.domain,
175
- model: routingResult.model,
176
- modelRoutedBy: routingResult.routedBy,
177
- };
178
- store.agents[agentId] = agent;
179
- saveAgentStore(store);
180
- // Include Agent Booster routing info if applicable
181
- const response = {
182
- success: true,
183
- agentId,
184
- agentType: agent.agentType,
185
- model: agent.model,
186
- modelRoutedBy: routingResult.routedBy,
187
- status: 'spawned',
188
- createdAt: agent.createdAt,
189
- };
190
- // Add Agent Booster info if task can skip LLM
191
- if (routingResult.canSkipLLM) {
192
- response.canSkipLLM = true;
193
- response.agentBoosterIntent = routingResult.agentBoosterIntent;
194
- response.tier = routingResult.tier;
195
- response.note = `Agent Booster can handle "${routingResult.agentBoosterIntent}" - use agent_booster_edit_file MCP tool`;
196
- }
197
- else if (routingResult.tier) {
198
- response.tier = routingResult.tier;
199
- }
200
- return response;
225
+ required: ['agentType']
201
226
  },
227
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
228
+ var store, agentId, agentType, config, task, routingResult, agent, response;
229
+ return __generator(this, function (_a) {
230
+ switch (_a.label) {
231
+ case 0:
232
+ store = loadAgentStore();
233
+ agentId = input.agentId || "agent-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
234
+ agentType = input.agentType;
235
+ config = input.config || {};
236
+ // Add explicit model to config if provided
237
+ if (input.model) {
238
+ config.model = input.model;
239
+ }
240
+ task = input.task || config.task || undefined;
241
+ return [4 /*yield*/, determineAgentModel(agentType, config, task)];
242
+ case 1:
243
+ routingResult = _a.sent();
244
+ agent = {
245
+ agentId: agentId,
246
+ agentType: agentType,
247
+ status: 'idle',
248
+ health: 1.0,
249
+ taskCount: 0,
250
+ config: config,
251
+ createdAt: new Date().toISOString(),
252
+ domain: input.domain,
253
+ model: routingResult.model,
254
+ modelRoutedBy: routingResult.routedBy
255
+ };
256
+ store.agents[agentId] = agent;
257
+ saveAgentStore(store);
258
+ response = {
259
+ success: true,
260
+ agentId: agentId,
261
+ agentType: agent.agentType,
262
+ model: agent.model,
263
+ modelRoutedBy: routingResult.routedBy,
264
+ status: 'spawned',
265
+ createdAt: agent.createdAt
266
+ };
267
+ // Add Agent Booster info if task can skip LLM
268
+ if (routingResult.canSkipLLM) {
269
+ response.canSkipLLM = true;
270
+ response.agentBoosterIntent = routingResult.agentBoosterIntent;
271
+ response.tier = routingResult.tier;
272
+ response.note = "Agent Booster can handle \"" + routingResult.agentBoosterIntent + "\" - use agent_booster_edit_file MCP tool";
273
+ }
274
+ else if (routingResult.tier) {
275
+ response.tier = routingResult.tier;
276
+ }
277
+ return [2 /*return*/, response];
278
+ }
279
+ });
280
+ }); }
202
281
  },
203
282
  {
204
283
  name: 'agent_terminate',
@@ -208,29 +287,32 @@ export const agentTools = [
208
287
  type: 'object',
209
288
  properties: {
210
289
  agentId: { type: 'string', description: 'ID of agent to terminate' },
211
- force: { type: 'boolean', description: 'Force immediate termination' },
290
+ force: { type: 'boolean', description: 'Force immediate termination' }
212
291
  },
213
- required: ['agentId'],
214
- },
215
- handler: async (input) => {
216
- const store = loadAgentStore();
217
- const agentId = input.agentId;
218
- if (store.agents[agentId]) {
219
- store.agents[agentId].status = 'terminated';
220
- saveAgentStore(store);
221
- return {
222
- success: true,
223
- agentId,
224
- terminated: true,
225
- terminatedAt: new Date().toISOString(),
226
- };
227
- }
228
- return {
229
- success: false,
230
- agentId,
231
- error: 'Agent not found',
232
- };
292
+ required: ['agentId']
233
293
  },
294
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
295
+ var store, agentId;
296
+ return __generator(this, function (_a) {
297
+ store = loadAgentStore();
298
+ agentId = input.agentId;
299
+ if (store.agents[agentId]) {
300
+ store.agents[agentId].status = 'terminated';
301
+ saveAgentStore(store);
302
+ return [2 /*return*/, {
303
+ success: true,
304
+ agentId: agentId,
305
+ terminated: true,
306
+ terminatedAt: new Date().toISOString()
307
+ }];
308
+ }
309
+ return [2 /*return*/, {
310
+ success: false,
311
+ agentId: agentId,
312
+ error: 'Agent not found'
313
+ }];
314
+ });
315
+ }); }
234
316
  },
235
317
  {
236
318
  name: 'agent_status',
@@ -239,31 +321,34 @@ export const agentTools = [
239
321
  inputSchema: {
240
322
  type: 'object',
241
323
  properties: {
242
- agentId: { type: 'string', description: 'ID of agent' },
324
+ agentId: { type: 'string', description: 'ID of agent' }
243
325
  },
244
- required: ['agentId'],
245
- },
246
- handler: async (input) => {
247
- const store = loadAgentStore();
248
- const agentId = input.agentId;
249
- const agent = store.agents[agentId];
250
- if (agent) {
251
- return {
252
- agentId: agent.agentId,
253
- agentType: agent.agentType,
254
- status: agent.status,
255
- health: agent.health,
256
- taskCount: agent.taskCount,
257
- createdAt: agent.createdAt,
258
- domain: agent.domain,
259
- };
260
- }
261
- return {
262
- agentId,
263
- status: 'not_found',
264
- error: 'Agent not found',
265
- };
326
+ required: ['agentId']
266
327
  },
328
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
329
+ var store, agentId, agent;
330
+ return __generator(this, function (_a) {
331
+ store = loadAgentStore();
332
+ agentId = input.agentId;
333
+ agent = store.agents[agentId];
334
+ if (agent) {
335
+ return [2 /*return*/, {
336
+ agentId: agent.agentId,
337
+ agentType: agent.agentType,
338
+ status: agent.status,
339
+ health: agent.health,
340
+ taskCount: agent.taskCount,
341
+ createdAt: agent.createdAt,
342
+ domain: agent.domain
343
+ }];
344
+ }
345
+ return [2 /*return*/, {
346
+ agentId: agentId,
347
+ status: 'not_found',
348
+ error: 'Agent not found'
349
+ }];
350
+ });
351
+ }); }
267
352
  },
268
353
  {
269
354
  name: 'agent_list',
@@ -274,41 +359,44 @@ export const agentTools = [
274
359
  properties: {
275
360
  status: { type: 'string', description: 'Filter by status' },
276
361
  domain: { type: 'string', description: 'Filter by domain' },
277
- includeTerminated: { type: 'boolean', description: 'Include terminated agents' },
278
- },
279
- },
280
- handler: async (input) => {
281
- const store = loadAgentStore();
282
- let agents = Object.values(store.agents);
283
- // Filter by status
284
- if (input.status) {
285
- agents = agents.filter(a => a.status === input.status);
286
- }
287
- else if (!input.includeTerminated) {
288
- agents = agents.filter(a => a.status !== 'terminated');
289
- }
290
- // Filter by domain
291
- if (input.domain) {
292
- agents = agents.filter(a => a.domain === input.domain);
362
+ includeTerminated: { type: 'boolean', description: 'Include terminated agents' }
293
363
  }
294
- return {
295
- agents: agents.map(a => ({
296
- agentId: a.agentId,
297
- agentType: a.agentType,
298
- status: a.status,
299
- health: a.health,
300
- taskCount: a.taskCount,
301
- createdAt: a.createdAt,
302
- domain: a.domain,
303
- })),
304
- total: agents.length,
305
- filters: {
306
- status: input.status,
307
- domain: input.domain,
308
- includeTerminated: input.includeTerminated,
309
- },
310
- };
311
364
  },
365
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
366
+ var store, agents;
367
+ return __generator(this, function (_a) {
368
+ store = loadAgentStore();
369
+ agents = Object.values(store.agents);
370
+ // Filter by status
371
+ if (input.status) {
372
+ agents = agents.filter(function (a) { return a.status === input.status; });
373
+ }
374
+ else if (!input.includeTerminated) {
375
+ agents = agents.filter(function (a) { return a.status !== 'terminated'; });
376
+ }
377
+ // Filter by domain
378
+ if (input.domain) {
379
+ agents = agents.filter(function (a) { return a.domain === input.domain; });
380
+ }
381
+ return [2 /*return*/, {
382
+ agents: agents.map(function (a) { return ({
383
+ agentId: a.agentId,
384
+ agentType: a.agentType,
385
+ status: a.status,
386
+ health: a.health,
387
+ taskCount: a.taskCount,
388
+ createdAt: a.createdAt,
389
+ domain: a.domain
390
+ }); }),
391
+ total: agents.length,
392
+ filters: {
393
+ status: input.status,
394
+ domain: input.domain,
395
+ includeTerminated: input.includeTerminated
396
+ }
397
+ }];
398
+ });
399
+ }); }
312
400
  },
313
401
  {
314
402
  name: 'agent_pool',
@@ -317,110 +405,117 @@ export const agentTools = [
317
405
  inputSchema: {
318
406
  type: 'object',
319
407
  properties: {
320
- action: { type: 'string', enum: ['status', 'scale', 'drain', 'fill'], description: 'Pool action' },
408
+ action: { type: 'string', "enum": ['status', 'scale', 'drain', 'fill'], description: 'Pool action' },
321
409
  targetSize: { type: 'number', description: 'Target pool size (for scale action)' },
322
- agentType: { type: 'string', description: 'Agent type filter' },
410
+ agentType: { type: 'string', description: 'Agent type filter' }
323
411
  },
324
- required: ['action'],
412
+ required: ['action']
325
413
  },
326
- handler: async (input) => {
327
- const store = loadAgentStore();
328
- const agents = Object.values(store.agents).filter(a => a.status !== 'terminated');
329
- const action = input.action || 'status'; // Default to status
330
- if (action === 'status') {
331
- const byType = {};
332
- const byStatus = {};
333
- for (const agent of agents) {
334
- byType[agent.agentType] = (byType[agent.agentType] || 0) + 1;
335
- byStatus[agent.status] = (byStatus[agent.status] || 0) + 1;
336
- }
337
- const idleAgents = agents.filter(a => a.status === 'idle').length;
338
- const busyAgents = agents.filter(a => a.status === 'busy').length;
339
- const utilization = agents.length > 0 ? busyAgents / agents.length : 0;
340
- return {
341
- action,
342
- // CLI expected fields
343
- poolId: 'agent-pool-default',
344
- currentSize: agents.length,
345
- minSize: input.min || 0,
346
- maxSize: input.max || 100,
347
- autoScale: input.autoScale ?? false,
348
- utilization,
349
- agents: agents.map(a => ({
350
- id: a.agentId,
351
- type: a.agentType,
352
- status: a.status,
353
- })),
354
- // Additional fields
355
- id: 'agent-pool-default',
356
- size: agents.length,
357
- totalAgents: agents.length,
358
- byType,
359
- byStatus,
360
- avgHealth: agents.length > 0 ? agents.reduce((sum, a) => sum + a.health, 0) / agents.length : 0,
361
- };
362
- }
363
- if (action === 'scale') {
364
- const targetSize = input.targetSize || 5;
365
- const agentType = input.agentType || 'worker';
366
- const currentSize = agents.filter(a => a.agentType === agentType).length;
367
- const delta = targetSize - currentSize;
368
- const added = [];
369
- const removed = [];
370
- if (delta > 0) {
371
- for (let i = 0; i < delta; i++) {
372
- const agentId = `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
373
- store.agents[agentId] = {
374
- agentId,
375
- agentType,
376
- status: 'idle',
377
- health: 1.0,
378
- taskCount: 0,
379
- config: {},
380
- createdAt: new Date().toISOString(),
381
- };
382
- added.push(agentId);
414
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
415
+ var store, agents, action, byType, byStatus, _i, agents_1, agent, idleAgents, busyAgents, utilization, targetSize, agentType_1, currentSize, delta, added, removed, i, agentId, toRemove, _a, toRemove_1, agent, agentType, drained, _b, agents_2, agent;
416
+ var _c;
417
+ return __generator(this, function (_d) {
418
+ store = loadAgentStore();
419
+ agents = Object.values(store.agents).filter(function (a) { return a.status !== 'terminated'; });
420
+ action = input.action || 'status';
421
+ if (action === 'status') {
422
+ byType = {};
423
+ byStatus = {};
424
+ for (_i = 0, agents_1 = agents; _i < agents_1.length; _i++) {
425
+ agent = agents_1[_i];
426
+ byType[agent.agentType] = (byType[agent.agentType] || 0) + 1;
427
+ byStatus[agent.status] = (byStatus[agent.status] || 0) + 1;
383
428
  }
429
+ idleAgents = agents.filter(function (a) { return a.status === 'idle'; }).length;
430
+ busyAgents = agents.filter(function (a) { return a.status === 'busy'; }).length;
431
+ utilization = agents.length > 0 ? busyAgents / agents.length : 0;
432
+ return [2 /*return*/, {
433
+ action: action,
434
+ // CLI expected fields
435
+ poolId: 'agent-pool-default',
436
+ currentSize: agents.length,
437
+ minSize: input.min || 0,
438
+ maxSize: input.max || 100,
439
+ autoScale: (_c = input.autoScale) !== null && _c !== void 0 ? _c : false,
440
+ utilization: utilization,
441
+ agents: agents.map(function (a) { return ({
442
+ id: a.agentId,
443
+ type: a.agentType,
444
+ status: a.status
445
+ }); }),
446
+ // Additional fields
447
+ id: 'agent-pool-default',
448
+ size: agents.length,
449
+ totalAgents: agents.length,
450
+ byType: byType,
451
+ byStatus: byStatus,
452
+ avgHealth: agents.length > 0 ? agents.reduce(function (sum, a) { return sum + a.health; }, 0) / agents.length : 0
453
+ }];
384
454
  }
385
- else if (delta < 0) {
386
- const toRemove = agents.filter(a => a.agentType === agentType && a.status === 'idle').slice(0, -delta);
387
- for (const agent of toRemove) {
388
- store.agents[agent.agentId].status = 'terminated';
389
- removed.push(agent.agentId);
455
+ if (action === 'scale') {
456
+ targetSize = input.targetSize || 5;
457
+ agentType_1 = input.agentType || 'worker';
458
+ currentSize = agents.filter(function (a) { return a.agentType === agentType_1; }).length;
459
+ delta = targetSize - currentSize;
460
+ added = [];
461
+ removed = [];
462
+ if (delta > 0) {
463
+ for (i = 0; i < delta; i++) {
464
+ agentId = "agent-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
465
+ store.agents[agentId] = {
466
+ agentId: agentId,
467
+ agentType: agentType_1,
468
+ status: 'idle',
469
+ health: 1.0,
470
+ taskCount: 0,
471
+ config: {},
472
+ createdAt: new Date().toISOString()
473
+ };
474
+ added.push(agentId);
475
+ }
390
476
  }
391
- }
392
- saveAgentStore(store);
393
- return {
394
- action,
395
- agentType,
396
- previousSize: currentSize,
397
- targetSize,
398
- newSize: currentSize + delta,
399
- added,
400
- removed,
401
- };
402
- }
403
- if (action === 'drain') {
404
- const agentType = input.agentType;
405
- let drained = 0;
406
- for (const agent of agents) {
407
- if (!agentType || agent.agentType === agentType) {
408
- if (agent.status === 'idle') {
477
+ else if (delta < 0) {
478
+ toRemove = agents.filter(function (a) { return a.agentType === agentType_1 && a.status === 'idle'; }).slice(0, -delta);
479
+ for (_a = 0, toRemove_1 = toRemove; _a < toRemove_1.length; _a++) {
480
+ agent = toRemove_1[_a];
409
481
  store.agents[agent.agentId].status = 'terminated';
410
- drained++;
482
+ removed.push(agent.agentId);
411
483
  }
412
484
  }
485
+ saveAgentStore(store);
486
+ return [2 /*return*/, {
487
+ action: action,
488
+ agentType: agentType_1,
489
+ previousSize: currentSize,
490
+ targetSize: targetSize,
491
+ newSize: currentSize + delta,
492
+ added: added,
493
+ removed: removed
494
+ }];
413
495
  }
414
- saveAgentStore(store);
415
- return {
416
- action,
417
- agentType: agentType || 'all',
418
- drained,
419
- remaining: agents.length - drained,
420
- };
421
- }
422
- return { action, error: 'Unknown action' };
423
- },
496
+ if (action === 'drain') {
497
+ agentType = input.agentType;
498
+ drained = 0;
499
+ for (_b = 0, agents_2 = agents; _b < agents_2.length; _b++) {
500
+ agent = agents_2[_b];
501
+ if (!agentType || agent.agentType === agentType) {
502
+ if (agent.status === 'idle') {
503
+ store.agents[agent.agentId].status = 'terminated';
504
+ drained++;
505
+ }
506
+ }
507
+ }
508
+ saveAgentStore(store);
509
+ return [2 /*return*/, {
510
+ action: action,
511
+ agentType: agentType || 'all',
512
+ drained: drained,
513
+ remaining: agents.length - drained
514
+ }];
515
+ }
516
+ return [2 /*return*/, { action: action, error: 'Unknown action' }];
517
+ });
518
+ }); }
424
519
  },
425
520
  {
426
521
  name: 'agent_health',
@@ -430,71 +525,74 @@ export const agentTools = [
430
525
  type: 'object',
431
526
  properties: {
432
527
  agentId: { type: 'string', description: 'Specific agent ID (optional)' },
433
- threshold: { type: 'number', description: 'Health threshold (0-1)' },
434
- },
435
- },
436
- handler: async (input) => {
437
- const store = loadAgentStore();
438
- const agents = Object.values(store.agents).filter(a => a.status !== 'terminated');
439
- const threshold = input.threshold || 0.5;
440
- if (input.agentId) {
441
- const agent = store.agents[input.agentId];
442
- if (agent) {
443
- return {
444
- agentId: agent.agentId,
445
- health: agent.health,
446
- status: agent.status,
447
- healthy: agent.health >= threshold,
448
- taskCount: agent.taskCount,
449
- uptime: Date.now() - new Date(agent.createdAt).getTime(),
450
- };
451
- }
452
- return { agentId: input.agentId, error: 'Agent not found' };
528
+ threshold: { type: 'number', description: 'Health threshold (0-1)' }
453
529
  }
454
- const healthyAgents = agents.filter(a => a.health >= threshold);
455
- const degradedAgents = agents.filter(a => a.health >= 0.3 && a.health < threshold);
456
- const unhealthyAgents = agents.filter(a => a.health < 0.3);
457
- const avgHealth = agents.length > 0 ? agents.reduce((sum, a) => sum + a.health, 0) / agents.length : 1;
458
- const avgCpu = agents.length > 0 ? 35 + Math.random() * 30 : 0; // Simulated CPU
459
- const avgMemory = avgHealth * 0.6; // Correlated with health
460
- return {
461
- // CLI expected fields
462
- agents: agents.map(a => {
463
- const uptime = Date.now() - new Date(a.createdAt).getTime();
464
- return {
465
- id: a.agentId,
466
- type: a.agentType,
467
- health: a.health >= threshold ? 'healthy' : (a.health >= 0.3 ? 'degraded' : 'unhealthy'),
468
- uptime,
469
- memory: { used: Math.floor(256 * (1 - a.health * 0.3)), limit: 512 },
470
- cpu: 20 + Math.floor(a.health * 40),
471
- tasks: { active: a.taskCount > 0 ? 1 : 0, queued: 0, completed: a.taskCount, failed: 0 },
472
- latency: { avg: 50 + Math.floor((1 - a.health) * 100), p99: 150 + Math.floor((1 - a.health) * 200) },
473
- errors: { count: a.health < threshold ? 1 : 0 },
474
- };
475
- }),
476
- overall: {
477
- healthy: healthyAgents.length,
478
- degraded: degradedAgents.length,
479
- unhealthy: unhealthyAgents.length,
480
- avgCpu,
481
- avgMemory,
482
- score: Math.round(avgHealth * 100),
483
- issues: unhealthyAgents.length,
484
- },
485
- // Additional fields
486
- total: agents.length,
487
- healthyCount: healthyAgents.length,
488
- unhealthyCount: unhealthyAgents.length,
489
- threshold,
490
- avgHealth,
491
- unhealthyAgents: unhealthyAgents.map(a => ({
492
- agentId: a.agentId,
493
- health: a.health,
494
- status: a.status,
495
- })),
496
- };
497
530
  },
531
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
532
+ var store, agents, threshold, agent, healthyAgents, degradedAgents, unhealthyAgents, avgHealth, avgCpu, avgMemory;
533
+ return __generator(this, function (_a) {
534
+ store = loadAgentStore();
535
+ agents = Object.values(store.agents).filter(function (a) { return a.status !== 'terminated'; });
536
+ threshold = input.threshold || 0.5;
537
+ if (input.agentId) {
538
+ agent = store.agents[input.agentId];
539
+ if (agent) {
540
+ return [2 /*return*/, {
541
+ agentId: agent.agentId,
542
+ health: agent.health,
543
+ status: agent.status,
544
+ healthy: agent.health >= threshold,
545
+ taskCount: agent.taskCount,
546
+ uptime: Date.now() - new Date(agent.createdAt).getTime()
547
+ }];
548
+ }
549
+ return [2 /*return*/, { agentId: input.agentId, error: 'Agent not found' }];
550
+ }
551
+ healthyAgents = agents.filter(function (a) { return a.health >= threshold; });
552
+ degradedAgents = agents.filter(function (a) { return a.health >= 0.3 && a.health < threshold; });
553
+ unhealthyAgents = agents.filter(function (a) { return a.health < 0.3; });
554
+ avgHealth = agents.length > 0 ? agents.reduce(function (sum, a) { return sum + a.health; }, 0) / agents.length : 1;
555
+ avgCpu = agents.length > 0 ? 35 + Math.random() * 30 : 0;
556
+ avgMemory = avgHealth * 0.6;
557
+ return [2 /*return*/, {
558
+ // CLI expected fields
559
+ agents: agents.map(function (a) {
560
+ var uptime = Date.now() - new Date(a.createdAt).getTime();
561
+ return {
562
+ id: a.agentId,
563
+ type: a.agentType,
564
+ health: a.health >= threshold ? 'healthy' : (a.health >= 0.3 ? 'degraded' : 'unhealthy'),
565
+ uptime: uptime,
566
+ memory: { used: Math.floor(256 * (1 - a.health * 0.3)), limit: 512 },
567
+ cpu: 20 + Math.floor(a.health * 40),
568
+ tasks: { active: a.taskCount > 0 ? 1 : 0, queued: 0, completed: a.taskCount, failed: 0 },
569
+ latency: { avg: 50 + Math.floor((1 - a.health) * 100), p99: 150 + Math.floor((1 - a.health) * 200) },
570
+ errors: { count: a.health < threshold ? 1 : 0 }
571
+ };
572
+ }),
573
+ overall: {
574
+ healthy: healthyAgents.length,
575
+ degraded: degradedAgents.length,
576
+ unhealthy: unhealthyAgents.length,
577
+ avgCpu: avgCpu,
578
+ avgMemory: avgMemory,
579
+ score: Math.round(avgHealth * 100),
580
+ issues: unhealthyAgents.length
581
+ },
582
+ // Additional fields
583
+ total: agents.length,
584
+ healthyCount: healthyAgents.length,
585
+ unhealthyCount: unhealthyAgents.length,
586
+ threshold: threshold,
587
+ avgHealth: avgHealth,
588
+ unhealthyAgents: unhealthyAgents.map(function (a) { return ({
589
+ agentId: a.agentId,
590
+ health: a.health,
591
+ status: a.status
592
+ }); })
593
+ }];
594
+ });
595
+ }); }
498
596
  },
499
597
  {
500
598
  name: 'agent_update',
@@ -507,43 +605,46 @@ export const agentTools = [
507
605
  status: { type: 'string', description: 'New status' },
508
606
  health: { type: 'number', description: 'Health value (0-1)' },
509
607
  taskCount: { type: 'number', description: 'Task count' },
510
- config: { type: 'object', description: 'Config updates' },
608
+ config: { type: 'object', description: 'Config updates' }
511
609
  },
512
- required: ['agentId'],
610
+ required: ['agentId']
513
611
  },
514
- handler: async (input) => {
515
- const store = loadAgentStore();
516
- const agentId = input.agentId;
517
- const agent = store.agents[agentId];
518
- if (agent) {
519
- if (input.status)
520
- agent.status = input.status;
521
- if (typeof input.health === 'number')
522
- agent.health = input.health;
523
- if (typeof input.taskCount === 'number')
524
- agent.taskCount = input.taskCount;
525
- if (input.config) {
526
- agent.config = { ...agent.config, ...input.config };
612
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
613
+ var store, agentId, agent;
614
+ return __generator(this, function (_a) {
615
+ store = loadAgentStore();
616
+ agentId = input.agentId;
617
+ agent = store.agents[agentId];
618
+ if (agent) {
619
+ if (input.status)
620
+ agent.status = input.status;
621
+ if (typeof input.health === 'number')
622
+ agent.health = input.health;
623
+ if (typeof input.taskCount === 'number')
624
+ agent.taskCount = input.taskCount;
625
+ if (input.config) {
626
+ agent.config = __assign(__assign({}, agent.config), input.config);
627
+ }
628
+ saveAgentStore(store);
629
+ return [2 /*return*/, {
630
+ success: true,
631
+ agentId: agentId,
632
+ updated: true,
633
+ agent: {
634
+ agentId: agent.agentId,
635
+ status: agent.status,
636
+ health: agent.health,
637
+ taskCount: agent.taskCount
638
+ }
639
+ }];
527
640
  }
528
- saveAgentStore(store);
529
- return {
530
- success: true,
531
- agentId,
532
- updated: true,
533
- agent: {
534
- agentId: agent.agentId,
535
- status: agent.status,
536
- health: agent.health,
537
- taskCount: agent.taskCount,
538
- },
539
- };
540
- }
541
- return {
542
- success: false,
543
- agentId,
544
- error: 'Agent not found',
545
- };
546
- },
641
+ return [2 /*return*/, {
642
+ success: false,
643
+ agentId: agentId,
644
+ error: 'Agent not found'
645
+ }];
646
+ });
647
+ }); }
547
648
  },
548
649
  ];
549
650
  //# sourceMappingURL=agent-tools.js.map