kynjal-cli 4.0.0 β†’ 4.0.2

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 (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -15,57 +15,12 @@
15
15
  * - issues rebalance Rebalance swarm
16
16
  * - issues board Visual board view
17
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
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
62
- };
63
18
  import { output } from '../output.js';
64
19
  import { createClaimService } from '../services/claim-service.js';
65
20
  // ============================================================================
66
21
  // Subcommands
67
22
  // ============================================================================
68
- var listCommand = {
23
+ const listCommand = {
69
24
  name: 'list',
70
25
  aliases: ['ls'],
71
26
  description: 'List all issue claims',
@@ -75,72 +30,56 @@ var listCommand = {
75
30
  short: 's',
76
31
  description: 'Filter by status',
77
32
  type: 'string',
78
- choices: ['active', 'paused', 'blocked', 'stealable', 'completed', 'handoff-pending', 'review-requested']
33
+ choices: ['active', 'paused', 'blocked', 'stealable', 'completed', 'handoff-pending', 'review-requested'],
79
34
  },
80
35
  {
81
36
  name: 'mine',
82
37
  short: 'm',
83
38
  description: 'Show only my claims',
84
39
  type: 'boolean',
85
- "default": false
40
+ default: false,
86
41
  },
87
42
  ],
88
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
89
- var service, status, claims, _a, rows;
90
- return __generator(this, function (_b) {
91
- switch (_b.label) {
92
- case 0:
93
- service = createClaimService(ctx.cwd);
94
- return [4 /*yield*/, service.initialize()];
95
- case 1:
96
- _b.sent();
97
- status = ctx.flags.status;
98
- if (!status) return [3 /*break*/, 3];
99
- return [4 /*yield*/, service.getByStatus(status)];
100
- case 2:
101
- _a = _b.sent();
102
- return [3 /*break*/, 5];
103
- case 3: return [4 /*yield*/, service.getAllClaims()];
104
- case 4:
105
- _a = _b.sent();
106
- _b.label = 5;
107
- case 5:
108
- claims = _a;
109
- if (claims.length === 0) {
110
- output.printInfo('No claims found');
111
- return [2 /*return*/, { success: true, data: { claims: [] } }];
112
- }
113
- output.writeln();
114
- output.writeln(output.bold('Issue Claims (ADR-016)'));
115
- output.writeln();
116
- rows = claims.map(function (c) { return ({
117
- issue: c.issueId,
118
- claimant: c.claimant.type === 'human'
119
- ? "\uD83D\uDC64 " + c.claimant.name
120
- : "\uD83E\uDD16 " + c.claimant.agentType,
121
- status: formatStatus(c.status),
122
- progress: c.progress + "%",
123
- since: formatDuration(Date.now() - c.claimedAt.getTime())
124
- }); });
125
- output.printTable({
126
- columns: [
127
- { key: 'issue', header: 'Issue', width: 12 },
128
- { key: 'claimant', header: 'Claimant', width: 18 },
129
- { key: 'status', header: 'Status', width: 20 },
130
- { key: 'progress', header: 'Progress', width: 10 },
131
- { key: 'since', header: 'Since', width: 10 },
132
- ],
133
- data: rows
134
- });
135
- if (ctx.flags.format === 'json') {
136
- output.printJson(claims);
137
- }
138
- return [2 /*return*/, { success: true, data: { claims: claims } }];
139
- }
43
+ action: async (ctx) => {
44
+ const service = createClaimService(ctx.cwd);
45
+ await service.initialize();
46
+ const status = ctx.flags.status;
47
+ const claims = status
48
+ ? await service.getByStatus(status)
49
+ : await service.getAllClaims();
50
+ if (claims.length === 0) {
51
+ output.printInfo('No claims found');
52
+ return { success: true, data: { claims: [] } };
53
+ }
54
+ output.writeln();
55
+ output.writeln(output.bold('Issue Claims (ADR-016)'));
56
+ output.writeln();
57
+ const rows = claims.map(c => ({
58
+ issue: c.issueId,
59
+ claimant: c.claimant.type === 'human'
60
+ ? `πŸ‘€ ${c.claimant.name}`
61
+ : `πŸ€– ${c.claimant.agentType}`,
62
+ status: formatStatus(c.status),
63
+ progress: `${c.progress}%`,
64
+ since: formatDuration(Date.now() - c.claimedAt.getTime()),
65
+ }));
66
+ output.printTable({
67
+ columns: [
68
+ { key: 'issue', header: 'Issue', width: 12 },
69
+ { key: 'claimant', header: 'Claimant', width: 18 },
70
+ { key: 'status', header: 'Status', width: 20 },
71
+ { key: 'progress', header: 'Progress', width: 10 },
72
+ { key: 'since', header: 'Since', width: 10 },
73
+ ],
74
+ data: rows,
140
75
  });
141
- }); }
76
+ if (ctx.flags.format === 'json') {
77
+ output.printJson(claims);
78
+ }
79
+ return { success: true, data: { claims } };
80
+ },
142
81
  };
143
- var claimCommand = {
82
+ const claimCommand = {
144
83
  name: 'claim',
145
84
  description: 'Claim an issue',
146
85
  options: [
@@ -148,69 +87,58 @@ var claimCommand = {
148
87
  name: 'issue',
149
88
  short: 'i',
150
89
  description: 'Issue ID to claim',
151
- type: 'string'
90
+ type: 'string',
152
91
  },
153
92
  {
154
93
  name: 'agent',
155
94
  short: 'a',
156
95
  description: 'Claim as agent (format: type:id)',
157
- type: 'string'
96
+ type: 'string',
158
97
  },
159
98
  {
160
99
  name: 'user',
161
100
  short: 'u',
162
101
  description: 'Claim as user (format: id:name)',
163
- type: 'string'
102
+ type: 'string',
164
103
  },
165
104
  ],
166
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
167
- var issueId, agentStr, userStr, claimant, service, result;
168
- return __generator(this, function (_a) {
169
- switch (_a.label) {
170
- case 0:
171
- issueId = (ctx.flags.issue || ctx.args[0]);
172
- agentStr = ctx.flags.agent;
173
- userStr = ctx.flags.user;
174
- if (!issueId) {
175
- output.printError('Issue ID is required');
176
- return [2 /*return*/, { success: false, exitCode: 1 }];
177
- }
178
- if (!agentStr && !userStr) {
179
- output.printError('Must specify --agent or --user');
180
- return [2 /*return*/, { success: false, exitCode: 1 }];
181
- }
182
- claimant = agentStr
183
- ? {
184
- type: 'agent',
185
- agentType: agentStr.split(':')[0],
186
- agentId: agentStr.split(':')[1] || agentStr.split(':')[0] + "-1"
187
- }
188
- : {
189
- type: 'human',
190
- userId: userStr.split(':')[0],
191
- name: userStr.split(':')[1] || userStr.split(':')[0]
192
- };
193
- service = createClaimService(ctx.cwd);
194
- return [4 /*yield*/, service.initialize()];
195
- case 1:
196
- _a.sent();
197
- return [4 /*yield*/, service.claim(issueId, claimant)];
198
- case 2:
199
- result = _a.sent();
200
- if (result.success) {
201
- output.printSuccess("Claimed issue " + issueId);
202
- return [2 /*return*/, { success: true, data: result.claim }];
203
- }
204
- else {
205
- output.printError(result.error || 'Failed to claim issue');
206
- return [2 /*return*/, { success: false, exitCode: 1 }];
207
- }
208
- return [2 /*return*/];
105
+ action: async (ctx) => {
106
+ const issueId = (ctx.flags.issue || ctx.args[0]);
107
+ const agentStr = ctx.flags.agent;
108
+ const userStr = ctx.flags.user;
109
+ if (!issueId) {
110
+ output.printError('Issue ID is required');
111
+ return { success: false, exitCode: 1 };
112
+ }
113
+ if (!agentStr && !userStr) {
114
+ output.printError('Must specify --agent or --user');
115
+ return { success: false, exitCode: 1 };
116
+ }
117
+ const claimant = agentStr
118
+ ? {
119
+ type: 'agent',
120
+ agentType: agentStr.split(':')[0],
121
+ agentId: agentStr.split(':')[1] || `${agentStr.split(':')[0]}-1`,
209
122
  }
210
- });
211
- }); }
123
+ : {
124
+ type: 'human',
125
+ userId: userStr.split(':')[0],
126
+ name: userStr.split(':')[1] || userStr.split(':')[0],
127
+ };
128
+ const service = createClaimService(ctx.cwd);
129
+ await service.initialize();
130
+ const result = await service.claim(issueId, claimant);
131
+ if (result.success) {
132
+ output.printSuccess(`Claimed issue ${issueId}`);
133
+ return { success: true, data: result.claim };
134
+ }
135
+ else {
136
+ output.printError(result.error || 'Failed to claim issue');
137
+ return { success: false, exitCode: 1 };
138
+ }
139
+ },
212
140
  };
213
- var releaseCommand = {
141
+ const releaseCommand = {
214
142
  name: 'release',
215
143
  description: 'Release a claim',
216
144
  options: [
@@ -218,130 +146,105 @@ var releaseCommand = {
218
146
  name: 'issue',
219
147
  short: 'i',
220
148
  description: 'Issue ID to release',
221
- type: 'string'
149
+ type: 'string',
222
150
  },
223
151
  {
224
152
  name: 'agent',
225
153
  short: 'a',
226
154
  description: 'Release as agent',
227
- type: 'string'
155
+ type: 'string',
228
156
  },
229
157
  {
230
158
  name: 'user',
231
159
  short: 'u',
232
160
  description: 'Release as user',
233
- type: 'string'
161
+ type: 'string',
234
162
  },
235
163
  ],
236
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
237
- var issueId, agentStr, userStr, claimant, service, error_1;
238
- return __generator(this, function (_a) {
239
- switch (_a.label) {
240
- case 0:
241
- issueId = (ctx.flags.issue || ctx.args[0]);
242
- agentStr = ctx.flags.agent;
243
- userStr = ctx.flags.user;
244
- if (!issueId) {
245
- output.printError('Issue ID is required');
246
- return [2 /*return*/, { success: false, exitCode: 1 }];
247
- }
248
- if (!agentStr && !userStr) {
249
- output.printError('Must specify --agent or --user');
250
- return [2 /*return*/, { success: false, exitCode: 1 }];
251
- }
252
- claimant = agentStr
253
- ? {
254
- type: 'agent',
255
- agentType: agentStr.split(':')[0],
256
- agentId: agentStr.split(':')[1] || agentStr.split(':')[0] + "-1"
257
- }
258
- : {
259
- type: 'human',
260
- userId: userStr.split(':')[0],
261
- name: userStr.split(':')[1] || userStr.split(':')[0]
262
- };
263
- service = createClaimService(ctx.cwd);
264
- return [4 /*yield*/, service.initialize()];
265
- case 1:
266
- _a.sent();
267
- _a.label = 2;
268
- case 2:
269
- _a.trys.push([2, 4, , 5]);
270
- return [4 /*yield*/, service.release(issueId, claimant)];
271
- case 3:
272
- _a.sent();
273
- output.printSuccess("Released claim on issue " + issueId);
274
- return [2 /*return*/, { success: true }];
275
- case 4:
276
- error_1 = _a.sent();
277
- output.printError(error_1 instanceof Error ? error_1.message : String(error_1));
278
- return [2 /*return*/, { success: false, exitCode: 1 }];
279
- case 5: return [2 /*return*/];
164
+ action: async (ctx) => {
165
+ const issueId = (ctx.flags.issue || ctx.args[0]);
166
+ const agentStr = ctx.flags.agent;
167
+ const userStr = ctx.flags.user;
168
+ if (!issueId) {
169
+ output.printError('Issue ID is required');
170
+ return { success: false, exitCode: 1 };
171
+ }
172
+ if (!agentStr && !userStr) {
173
+ output.printError('Must specify --agent or --user');
174
+ return { success: false, exitCode: 1 };
175
+ }
176
+ const claimant = agentStr
177
+ ? {
178
+ type: 'agent',
179
+ agentType: agentStr.split(':')[0],
180
+ agentId: agentStr.split(':')[1] || `${agentStr.split(':')[0]}-1`,
280
181
  }
281
- });
282
- }); }
182
+ : {
183
+ type: 'human',
184
+ userId: userStr.split(':')[0],
185
+ name: userStr.split(':')[1] || userStr.split(':')[0],
186
+ };
187
+ const service = createClaimService(ctx.cwd);
188
+ await service.initialize();
189
+ try {
190
+ await service.release(issueId, claimant);
191
+ output.printSuccess(`Released claim on issue ${issueId}`);
192
+ return { success: true };
193
+ }
194
+ catch (error) {
195
+ output.printError(error instanceof Error ? error.message : String(error));
196
+ return { success: false, exitCode: 1 };
197
+ }
198
+ },
283
199
  };
284
- var handoffCommand = {
200
+ const handoffCommand = {
285
201
  name: 'handoff',
286
202
  description: 'Request handoff to another agent/user',
287
203
  options: [
288
204
  { name: 'issue', short: 'i', type: 'string', description: 'Issue ID' },
289
205
  { name: 'to', description: 'Target (agent:type:id or user:id:name)', type: 'string' },
290
206
  { name: 'from', description: 'Current owner', type: 'string' },
291
- { name: 'reason', short: 'r', type: 'string', description: 'Handoff reason', "default": 'Handoff requested' },
207
+ { name: 'reason', short: 'r', type: 'string', description: 'Handoff reason', default: 'Handoff requested' },
292
208
  ],
293
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
294
- var issueId, toStr, fromStr, reason, to, service, claim, from, error_2;
295
- return __generator(this, function (_a) {
296
- switch (_a.label) {
297
- case 0:
298
- issueId = (ctx.flags.issue || ctx.args[0]);
299
- toStr = ctx.flags.to;
300
- fromStr = ctx.flags.from;
301
- reason = ctx.flags.reason;
302
- if (!issueId || !toStr) {
303
- output.printError('Issue ID and --to are required');
304
- return [2 /*return*/, { success: false, exitCode: 1 }];
305
- }
306
- to = parseClaimant(toStr);
307
- if (!to) {
308
- output.printError('Invalid --to format. Use agent:type:id or user:id:name');
309
- return [2 /*return*/, { success: false, exitCode: 1 }];
310
- }
311
- service = createClaimService(ctx.cwd);
312
- return [4 /*yield*/, service.initialize()];
313
- case 1:
314
- _a.sent();
315
- return [4 /*yield*/, service.getIssueStatus(issueId)];
316
- case 2:
317
- claim = _a.sent();
318
- if (!claim) {
319
- output.printError("Issue " + issueId + " is not claimed");
320
- return [2 /*return*/, { success: false, exitCode: 1 }];
321
- }
322
- from = fromStr ? parseClaimant(fromStr) : claim.claimant;
323
- if (!from) {
324
- output.printError('Could not determine current owner');
325
- return [2 /*return*/, { success: false, exitCode: 1 }];
326
- }
327
- _a.label = 3;
328
- case 3:
329
- _a.trys.push([3, 5, , 6]);
330
- return [4 /*yield*/, service.requestHandoff(issueId, from, to, reason)];
331
- case 4:
332
- _a.sent();
333
- output.printSuccess("Handoff requested for issue " + issueId);
334
- return [2 /*return*/, { success: true }];
335
- case 5:
336
- error_2 = _a.sent();
337
- output.printError(error_2 instanceof Error ? error_2.message : String(error_2));
338
- return [2 /*return*/, { success: false, exitCode: 1 }];
339
- case 6: return [2 /*return*/];
340
- }
341
- });
342
- }); }
209
+ action: async (ctx) => {
210
+ const issueId = (ctx.flags.issue || ctx.args[0]);
211
+ const toStr = ctx.flags.to;
212
+ const fromStr = ctx.flags.from;
213
+ const reason = ctx.flags.reason;
214
+ if (!issueId || !toStr) {
215
+ output.printError('Issue ID and --to are required');
216
+ return { success: false, exitCode: 1 };
217
+ }
218
+ const to = parseClaimant(toStr);
219
+ if (!to) {
220
+ output.printError('Invalid --to format. Use agent:type:id or user:id:name');
221
+ return { success: false, exitCode: 1 };
222
+ }
223
+ const service = createClaimService(ctx.cwd);
224
+ await service.initialize();
225
+ // Get current claim to find "from"
226
+ const claim = await service.getIssueStatus(issueId);
227
+ if (!claim) {
228
+ output.printError(`Issue ${issueId} is not claimed`);
229
+ return { success: false, exitCode: 1 };
230
+ }
231
+ const from = fromStr ? parseClaimant(fromStr) : claim.claimant;
232
+ if (!from) {
233
+ output.printError('Could not determine current owner');
234
+ return { success: false, exitCode: 1 };
235
+ }
236
+ try {
237
+ await service.requestHandoff(issueId, from, to, reason);
238
+ output.printSuccess(`Handoff requested for issue ${issueId}`);
239
+ return { success: true };
240
+ }
241
+ catch (error) {
242
+ output.printError(error instanceof Error ? error.message : String(error));
243
+ return { success: false, exitCode: 1 };
244
+ }
245
+ },
343
246
  };
344
- var statusCommand = {
247
+ const statusCommand = {
345
248
  name: 'status',
346
249
  description: 'Update claim status',
347
250
  options: [
@@ -350,312 +253,236 @@ var statusCommand = {
350
253
  { name: 'progress', short: 'p', type: 'number', description: 'Progress (0-100)' },
351
254
  { name: 'note', short: 'n', type: 'string', description: 'Status note' },
352
255
  ],
353
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
354
- var issueId, service, newStatus, progress, note, claim, error_3;
355
- return __generator(this, function (_a) {
356
- switch (_a.label) {
357
- case 0:
358
- issueId = (ctx.flags.issue || ctx.args[0]);
359
- if (!issueId) {
360
- output.printError('Issue ID is required');
361
- return [2 /*return*/, { success: false, exitCode: 1 }];
362
- }
363
- service = createClaimService(ctx.cwd);
364
- return [4 /*yield*/, service.initialize()];
365
- case 1:
366
- _a.sent();
367
- newStatus = ctx.flags.set;
368
- progress = ctx.flags.progress;
369
- note = ctx.flags.note;
370
- _a.label = 2;
371
- case 2:
372
- _a.trys.push([2, 8, , 9]);
373
- if (!newStatus) return [3 /*break*/, 4];
374
- return [4 /*yield*/, service.updateStatus(issueId, newStatus, note)];
375
- case 3:
376
- _a.sent();
377
- output.printSuccess("Updated status to " + newStatus);
378
- _a.label = 4;
379
- case 4:
380
- if (!(progress !== undefined)) return [3 /*break*/, 6];
381
- return [4 /*yield*/, service.updateProgress(issueId, progress)];
382
- case 5:
383
- _a.sent();
384
- output.printSuccess("Updated progress to " + progress + "%");
385
- _a.label = 6;
386
- case 6: return [4 /*yield*/, service.getIssueStatus(issueId)];
387
- case 7:
388
- claim = _a.sent();
389
- if (claim) {
390
- output.writeln();
391
- output.printBox([
392
- "Issue: " + claim.issueId,
393
- "Status: " + formatStatus(claim.status),
394
- "Progress: " + claim.progress + "%",
395
- "Claimant: " + formatClaimant(claim.claimant),
396
- ].join('\n'), 'Claim Status');
397
- }
398
- return [2 /*return*/, { success: true, data: claim }];
399
- case 8:
400
- error_3 = _a.sent();
401
- output.printError(error_3 instanceof Error ? error_3.message : String(error_3));
402
- return [2 /*return*/, { success: false, exitCode: 1 }];
403
- case 9: return [2 /*return*/];
256
+ action: async (ctx) => {
257
+ const issueId = (ctx.flags.issue || ctx.args[0]);
258
+ if (!issueId) {
259
+ output.printError('Issue ID is required');
260
+ return { success: false, exitCode: 1 };
261
+ }
262
+ const service = createClaimService(ctx.cwd);
263
+ await service.initialize();
264
+ const newStatus = ctx.flags.set;
265
+ const progress = ctx.flags.progress;
266
+ const note = ctx.flags.note;
267
+ try {
268
+ if (newStatus) {
269
+ await service.updateStatus(issueId, newStatus, note);
270
+ output.printSuccess(`Updated status to ${newStatus}`);
404
271
  }
405
- });
406
- }); }
272
+ if (progress !== undefined) {
273
+ await service.updateProgress(issueId, progress);
274
+ output.printSuccess(`Updated progress to ${progress}%`);
275
+ }
276
+ const claim = await service.getIssueStatus(issueId);
277
+ if (claim) {
278
+ output.writeln();
279
+ output.printBox([
280
+ `Issue: ${claim.issueId}`,
281
+ `Status: ${formatStatus(claim.status)}`,
282
+ `Progress: ${claim.progress}%`,
283
+ `Claimant: ${formatClaimant(claim.claimant)}`,
284
+ ].join('\n'), 'Claim Status');
285
+ }
286
+ return { success: true, data: claim };
287
+ }
288
+ catch (error) {
289
+ output.printError(error instanceof Error ? error.message : String(error));
290
+ return { success: false, exitCode: 1 };
291
+ }
292
+ },
407
293
  };
408
- var stealableCommand = {
294
+ const stealableCommand = {
409
295
  name: 'stealable',
410
296
  description: 'List stealable issues',
411
297
  options: [
412
298
  { name: 'type', short: 't', type: 'string', description: 'Filter by agent type' },
413
299
  ],
414
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
415
- var agentType, service, stealable, _i, stealable_1, c;
416
- return __generator(this, function (_a) {
417
- switch (_a.label) {
418
- case 0:
419
- agentType = ctx.flags.type;
420
- service = createClaimService(ctx.cwd);
421
- return [4 /*yield*/, service.initialize()];
422
- case 1:
423
- _a.sent();
424
- return [4 /*yield*/, service.getStealable(agentType)];
425
- case 2:
426
- stealable = _a.sent();
427
- if (stealable.length === 0) {
428
- output.printInfo('No stealable issues found');
429
- return [2 /*return*/, { success: true, data: { stealable: [] } }];
430
- }
431
- output.writeln();
432
- output.writeln(output.bold('🎯 Stealable Issues'));
433
- output.writeln();
434
- for (_i = 0, stealable_1 = stealable; _i < stealable_1.length; _i++) {
435
- c = stealable_1[_i];
436
- output.writeln(" " + output.highlight(c.issueId));
437
- output.writeln(" Owner: " + formatClaimant(c.claimant));
438
- output.writeln(" Progress: " + c.progress + "%");
439
- if (c.context)
440
- output.writeln(" Context: " + c.context.slice(0, 60) + "...");
441
- output.writeln();
442
- }
443
- return [2 /*return*/, { success: true, data: { stealable: stealable } }];
444
- }
445
- });
446
- }); }
300
+ action: async (ctx) => {
301
+ const agentType = ctx.flags.type;
302
+ const service = createClaimService(ctx.cwd);
303
+ await service.initialize();
304
+ const stealable = await service.getStealable(agentType);
305
+ if (stealable.length === 0) {
306
+ output.printInfo('No stealable issues found');
307
+ return { success: true, data: { stealable: [] } };
308
+ }
309
+ output.writeln();
310
+ output.writeln(output.bold('🎯 Stealable Issues'));
311
+ output.writeln();
312
+ for (const c of stealable) {
313
+ output.writeln(` ${output.highlight(c.issueId)}`);
314
+ output.writeln(` Owner: ${formatClaimant(c.claimant)}`);
315
+ output.writeln(` Progress: ${c.progress}%`);
316
+ if (c.context)
317
+ output.writeln(` Context: ${c.context.slice(0, 60)}...`);
318
+ output.writeln();
319
+ }
320
+ return { success: true, data: { stealable } };
321
+ },
447
322
  };
448
- var stealCommand = {
323
+ const stealCommand = {
449
324
  name: 'steal',
450
325
  description: 'Steal a stealable issue',
451
326
  options: [
452
327
  { name: 'issue', short: 'i', type: 'string', description: 'Issue ID' },
453
328
  { name: 'agent', short: 'a', type: 'string', description: 'Steal as agent', required: true },
454
329
  ],
455
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
456
- var issueId, agentStr, stealer, service, result;
457
- return __generator(this, function (_a) {
458
- switch (_a.label) {
459
- case 0:
460
- issueId = (ctx.flags.issue || ctx.args[0]);
461
- agentStr = ctx.flags.agent;
462
- if (!issueId) {
463
- output.printError('Issue ID is required');
464
- return [2 /*return*/, { success: false, exitCode: 1 }];
465
- }
466
- stealer = {
467
- type: 'agent',
468
- agentType: agentStr.split(':')[0],
469
- agentId: agentStr.split(':')[1] || agentStr.split(':')[0] + "-1"
470
- };
471
- service = createClaimService(ctx.cwd);
472
- return [4 /*yield*/, service.initialize()];
473
- case 1:
474
- _a.sent();
475
- return [4 /*yield*/, service.steal(issueId, stealer)];
476
- case 2:
477
- result = _a.sent();
478
- if (result.success) {
479
- output.printSuccess("\uD83C\uDFAF Stole issue " + issueId);
480
- if (result.previousOwner) {
481
- output.printInfo("Previous: " + formatClaimant(result.previousOwner));
482
- }
483
- if (result.context) {
484
- output.printInfo("Progress: " + result.context.progress + "%");
485
- }
486
- return [2 /*return*/, { success: true, data: result }];
487
- }
488
- else {
489
- output.printError(result.error || 'Failed to steal issue');
490
- return [2 /*return*/, { success: false, exitCode: 1 }];
491
- }
492
- return [2 /*return*/];
330
+ action: async (ctx) => {
331
+ const issueId = (ctx.flags.issue || ctx.args[0]);
332
+ const agentStr = ctx.flags.agent;
333
+ if (!issueId) {
334
+ output.printError('Issue ID is required');
335
+ return { success: false, exitCode: 1 };
336
+ }
337
+ const stealer = {
338
+ type: 'agent',
339
+ agentType: agentStr.split(':')[0],
340
+ agentId: agentStr.split(':')[1] || `${agentStr.split(':')[0]}-1`,
341
+ };
342
+ const service = createClaimService(ctx.cwd);
343
+ await service.initialize();
344
+ const result = await service.steal(issueId, stealer);
345
+ if (result.success) {
346
+ output.printSuccess(`🎯 Stole issue ${issueId}`);
347
+ if (result.previousOwner) {
348
+ output.printInfo(`Previous: ${formatClaimant(result.previousOwner)}`);
493
349
  }
494
- });
495
- }); }
350
+ if (result.context) {
351
+ output.printInfo(`Progress: ${result.context.progress}%`);
352
+ }
353
+ return { success: true, data: result };
354
+ }
355
+ else {
356
+ output.printError(result.error || 'Failed to steal issue');
357
+ return { success: false, exitCode: 1 };
358
+ }
359
+ },
496
360
  };
497
- var loadCommand = {
361
+ const loadCommand = {
498
362
  name: 'load',
499
363
  description: 'View agent load distribution',
500
364
  options: [
501
365
  { name: 'agent', short: 'a', type: 'string', description: 'Specific agent ID' },
502
366
  ],
503
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
504
- var agentId, service, load, claims, agentLoads, _i, claims_1, claim, id, existing, _a, agentLoads_1, _b, id, data, bar;
505
- return __generator(this, function (_c) {
506
- switch (_c.label) {
507
- case 0:
508
- agentId = ctx.flags.agent;
509
- service = createClaimService(ctx.cwd);
510
- return [4 /*yield*/, service.initialize()];
511
- case 1:
512
- _c.sent();
513
- if (!agentId) return [3 /*break*/, 3];
514
- return [4 /*yield*/, service.getAgentLoad(agentId)];
515
- case 2:
516
- load = _c.sent();
517
- output.writeln();
518
- output.writeln(output.bold("\uD83D\uDCCA Load: " + agentId));
519
- output.writeln();
520
- output.printList([
521
- "Claims: " + load.claimCount + "/" + load.maxClaims,
522
- "Utilization: " + (load.utilization * 100).toFixed(0) + "%",
523
- "Blocked: " + load.currentBlockedCount,
524
- ]);
525
- return [2 /*return*/, { success: true, data: load }];
526
- case 3: return [4 /*yield*/, service.getAllClaims()];
527
- case 4:
528
- claims = _c.sent();
529
- agentLoads = new Map();
530
- for (_i = 0, claims_1 = claims; _i < claims_1.length; _i++) {
531
- claim = claims_1[_i];
532
- if (claim.claimant.type === 'agent') {
533
- id = claim.claimant.agentId;
534
- existing = agentLoads.get(id);
535
- agentLoads.set(id, {
536
- count: ((existing === null || existing === void 0 ? void 0 : existing.count) || 0) + 1,
537
- type: claim.claimant.agentType
538
- });
539
- }
540
- }
541
- output.writeln();
542
- output.writeln(output.bold('πŸ“Š Agent Load Distribution'));
543
- output.writeln();
544
- if (agentLoads.size === 0) {
545
- output.printInfo('No agent claims found');
546
- }
547
- else {
548
- for (_a = 0, agentLoads_1 = agentLoads; _a < agentLoads_1.length; _a++) {
549
- _b = agentLoads_1[_a], id = _b[0], data = _b[1];
550
- bar = 'β–ˆ'.repeat(data.count) + 'β–‘'.repeat(Math.max(0, 5 - data.count));
551
- output.writeln(" " + id + " (" + data.type + "): " + bar + " " + data.count);
552
- }
553
- }
554
- return [2 /*return*/, { success: true, data: Object.fromEntries(agentLoads) }];
367
+ action: async (ctx) => {
368
+ const agentId = ctx.flags.agent;
369
+ const service = createClaimService(ctx.cwd);
370
+ await service.initialize();
371
+ if (agentId) {
372
+ const load = await service.getAgentLoad(agentId);
373
+ output.writeln();
374
+ output.writeln(output.bold(`πŸ“Š Load: ${agentId}`));
375
+ output.writeln();
376
+ output.printList([
377
+ `Claims: ${load.claimCount}/${load.maxClaims}`,
378
+ `Utilization: ${(load.utilization * 100).toFixed(0)}%`,
379
+ `Blocked: ${load.currentBlockedCount}`,
380
+ ]);
381
+ return { success: true, data: load };
382
+ }
383
+ const claims = await service.getAllClaims();
384
+ const agentLoads = new Map();
385
+ for (const claim of claims) {
386
+ if (claim.claimant.type === 'agent') {
387
+ const id = claim.claimant.agentId;
388
+ const existing = agentLoads.get(id);
389
+ agentLoads.set(id, {
390
+ count: (existing?.count || 0) + 1,
391
+ type: claim.claimant.agentType,
392
+ });
555
393
  }
556
- });
557
- }); }
394
+ }
395
+ output.writeln();
396
+ output.writeln(output.bold('πŸ“Š Agent Load Distribution'));
397
+ output.writeln();
398
+ if (agentLoads.size === 0) {
399
+ output.printInfo('No agent claims found');
400
+ }
401
+ else {
402
+ for (const [id, data] of agentLoads) {
403
+ const bar = 'β–ˆ'.repeat(data.count) + 'β–‘'.repeat(Math.max(0, 5 - data.count));
404
+ output.writeln(` ${id} (${data.type}): ${bar} ${data.count}`);
405
+ }
406
+ }
407
+ return { success: true, data: Object.fromEntries(agentLoads) };
408
+ },
558
409
  };
559
- var rebalanceCommand = {
410
+ const rebalanceCommand = {
560
411
  name: 'rebalance',
561
412
  description: 'Rebalance work across swarm',
562
413
  options: [
563
- { name: 'dry-run', type: 'boolean', "default": true, description: 'Preview only' },
564
- { name: 'apply', type: 'boolean', "default": false, description: 'Apply changes' },
414
+ { name: 'dry-run', type: 'boolean', default: true, description: 'Preview only' },
415
+ { name: 'apply', type: 'boolean', default: false, description: 'Apply changes' },
565
416
  ],
566
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
567
- var apply, service, result, _i, _a, s, from, to;
568
- return __generator(this, function (_b) {
569
- switch (_b.label) {
570
- case 0:
571
- apply = ctx.flags.apply;
572
- service = createClaimService(ctx.cwd);
573
- return [4 /*yield*/, service.initialize()];
574
- case 1:
575
- _b.sent();
576
- return [4 /*yield*/, service.rebalance('default')];
577
- case 2:
578
- result = _b.sent();
579
- if (result.suggested.length === 0) {
580
- output.printSuccess('βš–οΈ Swarm is balanced');
581
- return [2 /*return*/, { success: true, data: result }];
582
- }
583
- output.writeln();
584
- output.writeln(output.bold(apply ? 'βš–οΈ Rebalancing' : 'βš–οΈ Rebalance Preview'));
585
- output.writeln();
586
- for (_i = 0, _a = result.suggested; _i < _a.length; _i++) {
587
- s = _a[_i];
588
- from = s.currentOwner.type === 'agent' ? s.currentOwner.agentId : s.currentOwner.name;
589
- to = s.suggestedOwner.type === 'agent' ? s.suggestedOwner.agentId : s.suggestedOwner.name;
590
- output.writeln(" " + s.issueId + ": " + from + " \u2192 " + to);
591
- }
592
- if (!apply) {
593
- output.writeln();
594
- output.printInfo('Use --apply to execute');
595
- }
596
- return [2 /*return*/, { success: true, data: result }];
597
- }
598
- });
599
- }); }
417
+ action: async (ctx) => {
418
+ const apply = ctx.flags.apply;
419
+ const service = createClaimService(ctx.cwd);
420
+ await service.initialize();
421
+ const result = await service.rebalance('default');
422
+ if (result.suggested.length === 0) {
423
+ output.printSuccess('βš–οΈ Swarm is balanced');
424
+ return { success: true, data: result };
425
+ }
426
+ output.writeln();
427
+ output.writeln(output.bold(apply ? 'βš–οΈ Rebalancing' : 'βš–οΈ Rebalance Preview'));
428
+ output.writeln();
429
+ for (const s of result.suggested) {
430
+ const from = s.currentOwner.type === 'agent' ? s.currentOwner.agentId : s.currentOwner.name;
431
+ const to = s.suggestedOwner.type === 'agent' ? s.suggestedOwner.agentId : s.suggestedOwner.name;
432
+ output.writeln(` ${s.issueId}: ${from} β†’ ${to}`);
433
+ }
434
+ if (!apply) {
435
+ output.writeln();
436
+ output.printInfo('Use --apply to execute');
437
+ }
438
+ return { success: true, data: result };
439
+ },
600
440
  };
601
- var boardCommand = {
441
+ const boardCommand = {
602
442
  name: 'board',
603
443
  description: 'Visual board view of claims',
604
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
605
- var service, claims, byStatus, _i, claims_2, c, key, columns, headers, maxRows, _loop_1, i;
606
- return __generator(this, function (_a) {
607
- switch (_a.label) {
608
- case 0:
609
- service = createClaimService(ctx.cwd);
610
- return [4 /*yield*/, service.initialize()];
611
- case 1:
612
- _a.sent();
613
- return [4 /*yield*/, service.getAllClaims()];
614
- case 2:
615
- claims = _a.sent();
616
- byStatus = {
617
- active: [],
618
- blocked: [],
619
- 'review-requested': [],
620
- stealable: [],
621
- completed: []
622
- };
623
- for (_i = 0, claims_2 = claims; _i < claims_2.length; _i++) {
624
- c = claims_2[_i];
625
- key = c.status in byStatus ? c.status : 'active';
626
- byStatus[key].push(c);
627
- }
628
- output.writeln();
629
- output.writeln(output.bold('πŸ“‹ Issue Board (ADR-016)'));
630
- output.writeln();
631
- columns = ['active', 'blocked', 'review-requested', 'stealable', 'completed'];
632
- headers = ['πŸ”΅ Active', 'πŸ”΄ Blocked', '🟑 Review', '🟒 Stealable', 'βœ… Done'];
633
- // Print column headers
634
- output.writeln(headers.map(function (h) { return h.padEnd(18); }).join(''));
635
- output.writeln('─'.repeat(90));
636
- maxRows = Math.max.apply(Math, __spreadArray(__spreadArray([], Object.values(byStatus).map(function (arr) { return arr.length; }), false), [1], false));
637
- _loop_1 = function (i) {
638
- var row = columns.map(function (col) {
639
- var item = byStatus[col][i];
640
- if (!item)
641
- return ''.padEnd(18);
642
- var owner = item.claimant.type === 'agent' ? item.claimant.agentType.slice(0, 6) : item.claimant.name.slice(0, 6);
643
- return ("#" + item.issueId + " (" + owner + ")").padEnd(18);
644
- });
645
- output.writeln(row.join(''));
646
- };
647
- for (i = 0; i < maxRows; i++) {
648
- _loop_1(i);
649
- }
650
- return [2 /*return*/, { success: true }];
651
- }
652
- });
653
- }); }
444
+ action: async (ctx) => {
445
+ const service = createClaimService(ctx.cwd);
446
+ await service.initialize();
447
+ const claims = await service.getAllClaims();
448
+ const byStatus = {
449
+ active: [],
450
+ blocked: [],
451
+ 'review-requested': [],
452
+ stealable: [],
453
+ completed: [],
454
+ };
455
+ for (const c of claims) {
456
+ const key = c.status in byStatus ? c.status : 'active';
457
+ byStatus[key].push(c);
458
+ }
459
+ output.writeln();
460
+ output.writeln(output.bold('πŸ“‹ Issue Board (ADR-016)'));
461
+ output.writeln();
462
+ const columns = ['active', 'blocked', 'review-requested', 'stealable', 'completed'];
463
+ const headers = ['πŸ”΅ Active', 'πŸ”΄ Blocked', '🟑 Review', '🟒 Stealable', 'βœ… Done'];
464
+ // Print column headers
465
+ output.writeln(headers.map(h => h.padEnd(18)).join(''));
466
+ output.writeln('─'.repeat(90));
467
+ // Find max rows
468
+ const maxRows = Math.max(...Object.values(byStatus).map(arr => arr.length), 1);
469
+ for (let i = 0; i < maxRows; i++) {
470
+ const row = columns.map(col => {
471
+ const item = byStatus[col][i];
472
+ if (!item)
473
+ return ''.padEnd(18);
474
+ const owner = item.claimant.type === 'agent' ? item.claimant.agentType.slice(0, 6) : item.claimant.name.slice(0, 6);
475
+ return `#${item.issueId} (${owner})`.padEnd(18);
476
+ });
477
+ output.writeln(row.join(''));
478
+ }
479
+ return { success: true };
480
+ },
654
481
  };
655
482
  // ============================================================================
656
483
  // Main Command
657
484
  // ============================================================================
658
- export var issuesCommand = {
485
+ export const issuesCommand = {
659
486
  name: 'issues',
660
487
  description: 'Collaborative issue claims for human-agent workflows (ADR-016)',
661
488
  subcommands: [
@@ -678,36 +505,34 @@ export var issuesCommand = {
678
505
  { command: 'claude-flow issues steal 123 --agent coder:coder-2', description: 'Steal issue' },
679
506
  { command: 'claude-flow issues board', description: 'Visual board' },
680
507
  ],
681
- action: function () { return __awaiter(void 0, void 0, Promise, function () {
682
- return __generator(this, function (_a) {
683
- output.writeln();
684
- output.writeln(output.bold('πŸ“‹ Issue Claims (ADR-016)'));
685
- output.writeln(output.dim('Collaborative human-agent issue management'));
686
- output.writeln();
687
- output.writeln('Commands:');
688
- output.printList([
689
- 'list - List all claims',
690
- 'claim - Claim an issue',
691
- 'release - Release a claim',
692
- 'handoff - Request handoff',
693
- 'status - Update status/progress',
694
- 'stealable - List stealable issues',
695
- 'steal - Steal an issue',
696
- 'load - View agent load',
697
- 'rebalance - Rebalance swarm',
698
- 'board - Visual board view',
699
- ]);
700
- return [2 /*return*/, { success: true }];
701
- });
702
- }); }
508
+ action: async () => {
509
+ output.writeln();
510
+ output.writeln(output.bold('πŸ“‹ Issue Claims (ADR-016)'));
511
+ output.writeln(output.dim('Collaborative human-agent issue management'));
512
+ output.writeln();
513
+ output.writeln('Commands:');
514
+ output.printList([
515
+ 'list - List all claims',
516
+ 'claim - Claim an issue',
517
+ 'release - Release a claim',
518
+ 'handoff - Request handoff',
519
+ 'status - Update status/progress',
520
+ 'stealable - List stealable issues',
521
+ 'steal - Steal an issue',
522
+ 'load - View agent load',
523
+ 'rebalance - Rebalance swarm',
524
+ 'board - Visual board view',
525
+ ]);
526
+ return { success: true };
527
+ },
703
528
  };
704
529
  // ============================================================================
705
530
  // Helpers
706
531
  // ============================================================================
707
532
  function parseClaimant(str) {
708
- var parts = str.split(':');
533
+ const parts = str.split(':');
709
534
  if (parts[0] === 'agent' && parts.length >= 2) {
710
- return { type: 'agent', agentType: parts[1], agentId: parts[2] || parts[1] + "-1" };
535
+ return { type: 'agent', agentType: parts[1], agentId: parts[2] || `${parts[1]}-1` };
711
536
  }
712
537
  if (parts[0] === 'user' && parts.length >= 2) {
713
538
  return { type: 'human', userId: parts[1], name: parts[2] || parts[1] };
@@ -715,28 +540,28 @@ function parseClaimant(str) {
715
540
  return null;
716
541
  }
717
542
  function formatClaimant(c) {
718
- return c.type === 'human' ? "\uD83D\uDC64 " + c.name : "\uD83E\uDD16 " + c.agentType + ":" + c.agentId;
543
+ return c.type === 'human' ? `πŸ‘€ ${c.name}` : `πŸ€– ${c.agentType}:${c.agentId}`;
719
544
  }
720
545
  function formatStatus(status) {
721
- var icons = {
546
+ const icons = {
722
547
  active: 'πŸ”΅',
723
548
  paused: '⏸️',
724
549
  blocked: 'πŸ”΄',
725
550
  stealable: '🟒',
726
551
  completed: 'βœ…',
727
552
  'handoff-pending': 'πŸ”„',
728
- 'review-requested': '🟑'
553
+ 'review-requested': '🟑',
729
554
  };
730
- return (icons[status] || '❓') + " " + status;
555
+ return `${icons[status] || '❓'} ${status}`;
731
556
  }
732
557
  function formatDuration(ms) {
733
- var minutes = Math.floor(ms / 60000);
558
+ const minutes = Math.floor(ms / 60000);
734
559
  if (minutes < 60)
735
- return minutes + "m";
736
- var hours = Math.floor(minutes / 60);
560
+ return `${minutes}m`;
561
+ const hours = Math.floor(minutes / 60);
737
562
  if (hours < 24)
738
- return hours + "h";
739
- return Math.floor(hours / 24) + "d";
563
+ return `${hours}h`;
564
+ return `${Math.floor(hours / 24)}d`;
740
565
  }
741
566
  export default issuesCommand;
742
567
  //# sourceMappingURL=issues.js.map