kynjal-cli 4.0.0 → 4.0.1

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
@@ -2,425 +2,316 @@
2
2
  * V3 CLI Guidance Command
3
3
  * Guidance Control Plane - compile, retrieve, enforce, optimize
4
4
  */
5
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- var __generator = (this && this.__generator) || function (thisArg, body) {
15
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
- function verb(n) { return function (v) { return step([n, v]); }; }
18
- function step(op) {
19
- if (f) throw new TypeError("Generator is already executing.");
20
- while (_) try {
21
- 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;
22
- if (y = 0, t) op = [op[0] & 2, t.value];
23
- switch (op[0]) {
24
- case 0: case 1: t = op; break;
25
- case 4: _.label++; return { value: op[1], done: false };
26
- case 5: _.label++; y = op[1]; op = [0]; continue;
27
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
- default:
29
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
- if (t[2]) _.ops.pop();
34
- _.trys.pop(); continue;
35
- }
36
- op = body.call(thisArg, _);
37
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
- }
40
- };
41
5
  import { output } from '../output.js';
42
6
  // compile subcommand
43
- var compileCommand = {
7
+ const compileCommand = {
44
8
  name: 'compile',
45
9
  description: 'Compile CLAUDE.md into a policy bundle (constitution + shards + manifest)',
46
10
  options: [
47
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
11
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
48
12
  { name: 'local', short: 'l', type: 'string', description: 'Local guidance overlay file path' },
49
13
  { name: 'output', short: 'o', type: 'string', description: 'Output directory for compiled bundle' },
50
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
14
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
51
15
  ],
52
16
  examples: [
53
17
  { command: 'claude-flow guidance compile', description: 'Compile default CLAUDE.md' },
54
18
  { command: 'claude-flow guidance compile -r ./CLAUDE.md -l ./CLAUDE.local.md', description: 'Compile with local overlay' },
55
19
  { command: 'claude-flow guidance compile --json', description: 'Output compiled bundle as JSON' },
56
20
  ],
57
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
58
- var rootPath, localPath, jsonOutput, readFile, existsSync, rootContent, localContent, GuidanceCompiler, compiler, bundle, _i, _a, rule, risk, error_1, msg;
59
- return __generator(this, function (_b) {
60
- switch (_b.label) {
61
- case 0:
62
- rootPath = ctx.flags.root || './CLAUDE.md';
63
- localPath = ctx.flags.local;
64
- jsonOutput = ctx.flags.json === true;
65
- output.writeln();
66
- output.writeln(output.bold('Guidance Compiler'));
67
- output.writeln(output.dim('─'.repeat(50)));
68
- _b.label = 1;
69
- case 1:
70
- _b.trys.push([1, 8, , 9]);
71
- return [4 /*yield*/, import('node:fs/promises')];
72
- case 2:
73
- readFile = (_b.sent()).readFile;
74
- return [4 /*yield*/, import('node:fs')];
75
- case 3:
76
- existsSync = (_b.sent()).existsSync;
77
- if (!existsSync(rootPath)) {
78
- output.writeln(output.error("Root guidance file not found: " + rootPath));
79
- return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
80
- }
81
- return [4 /*yield*/, readFile(rootPath, 'utf-8')];
82
- case 4:
83
- rootContent = _b.sent();
84
- localContent = void 0;
85
- if (!(localPath && existsSync(localPath))) return [3 /*break*/, 6];
86
- return [4 /*yield*/, readFile(localPath, 'utf-8')];
87
- case 5:
88
- localContent = _b.sent();
89
- _b.label = 6;
90
- case 6: return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
91
- case 7:
92
- GuidanceCompiler = (_b.sent()).GuidanceCompiler;
93
- compiler = new GuidanceCompiler();
94
- bundle = compiler.compile(rootContent, localContent);
95
- if (jsonOutput) {
96
- output.writeln(JSON.stringify(bundle, null, 2));
97
- }
98
- else {
99
- output.writeln(output.success('Compiled successfully'));
100
- output.writeln();
101
- output.writeln(" Constitution rules: " + output.bold(String(bundle.constitution.rules.length)));
102
- output.writeln(" Constitution hash: " + output.dim(bundle.constitution.hash));
103
- output.writeln(" Shard count: " + output.bold(String(bundle.shards.length)));
104
- output.writeln(" Total rules: " + output.bold(String(bundle.manifest.totalRules)));
105
- output.writeln(" Compiled at: " + output.dim(new Date(bundle.manifest.compiledAt).toISOString()));
106
- if (localContent) {
107
- output.writeln(" Local overlay: " + output.success('applied'));
108
- }
109
- output.writeln();
110
- output.writeln(output.dim('Rule summary:'));
111
- for (_i = 0, _a = bundle.manifest.rules.slice(0, 10); _i < _a.length; _i++) {
112
- rule = _a[_i];
113
- risk = rule.riskClass === 'critical' ? output.error(rule.riskClass) :
114
- rule.riskClass === 'high' ? output.warning(rule.riskClass) :
115
- output.dim(rule.riskClass);
116
- output.writeln(" " + output.bold(rule.id) + " [" + risk + "] " + rule.source.slice(0, 60) + (rule.source.length > 60 ? '...' : ''));
117
- }
118
- if (bundle.manifest.rules.length > 10) {
119
- output.writeln(output.dim(" ... and " + (bundle.manifest.rules.length - 10) + " more"));
120
- }
121
- }
122
- return [2 /*return*/, { success: true, data: bundle }];
123
- case 8:
124
- error_1 = _b.sent();
125
- msg = error_1 instanceof Error ? error_1.message : String(error_1);
126
- output.writeln(output.error("Compilation failed: " + msg));
127
- return [2 /*return*/, { success: false, message: msg }];
128
- case 9: return [2 /*return*/];
129
- }
130
- });
131
- }); }
21
+ action: async (ctx) => {
22
+ const rootPath = ctx.flags.root || './CLAUDE.md';
23
+ const localPath = ctx.flags.local;
24
+ const jsonOutput = ctx.flags.json === true;
25
+ output.writeln();
26
+ output.writeln(output.bold('Guidance Compiler'));
27
+ output.writeln(output.dim('─'.repeat(50)));
28
+ try {
29
+ const { readFile } = await import('node:fs/promises');
30
+ const { existsSync } = await import('node:fs');
31
+ if (!existsSync(rootPath)) {
32
+ output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
33
+ return { success: false, message: `File not found: ${rootPath}` };
34
+ }
35
+ const rootContent = await readFile(rootPath, 'utf-8');
36
+ let localContent;
37
+ if (localPath && existsSync(localPath)) {
38
+ localContent = await readFile(localPath, 'utf-8');
39
+ }
40
+ const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
41
+ const compiler = new GuidanceCompiler();
42
+ const bundle = compiler.compile(rootContent, localContent);
43
+ if (jsonOutput) {
44
+ output.writeln(JSON.stringify(bundle, null, 2));
45
+ }
46
+ else {
47
+ output.writeln(output.success('Compiled successfully'));
48
+ output.writeln();
49
+ output.writeln(` Constitution rules: ${output.bold(String(bundle.constitution.rules.length))}`);
50
+ output.writeln(` Constitution hash: ${output.dim(bundle.constitution.hash)}`);
51
+ output.writeln(` Shard count: ${output.bold(String(bundle.shards.length))}`);
52
+ output.writeln(` Total rules: ${output.bold(String(bundle.manifest.totalRules))}`);
53
+ output.writeln(` Compiled at: ${output.dim(new Date(bundle.manifest.compiledAt).toISOString())}`);
54
+ if (localContent) {
55
+ output.writeln(` Local overlay: ${output.success('applied')}`);
56
+ }
57
+ output.writeln();
58
+ output.writeln(output.dim('Rule summary:'));
59
+ for (const rule of bundle.manifest.rules.slice(0, 10)) {
60
+ const risk = rule.riskClass === 'critical' ? output.error(rule.riskClass) :
61
+ rule.riskClass === 'high' ? output.warning(rule.riskClass) :
62
+ output.dim(rule.riskClass);
63
+ output.writeln(` ${output.bold(rule.id)} [${risk}] ${rule.source.slice(0, 60)}${rule.source.length > 60 ? '...' : ''}`);
64
+ }
65
+ if (bundle.manifest.rules.length > 10) {
66
+ output.writeln(output.dim(` ... and ${bundle.manifest.rules.length - 10} more`));
67
+ }
68
+ }
69
+ return { success: true, data: bundle };
70
+ }
71
+ catch (error) {
72
+ const msg = error instanceof Error ? error.message : String(error);
73
+ output.writeln(output.error(`Compilation failed: ${msg}`));
74
+ return { success: false, message: msg };
75
+ }
76
+ },
132
77
  };
133
78
  // retrieve subcommand
134
- var retrieveCommand = {
79
+ const retrieveCommand = {
135
80
  name: 'retrieve',
136
81
  description: 'Retrieve task-relevant guidance shards for a given task description',
137
82
  options: [
138
83
  { name: 'task', short: 't', type: 'string', description: 'Task description', required: true },
139
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
84
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
140
85
  { name: 'local', short: 'l', type: 'string', description: 'Local overlay file path' },
141
- { name: 'max-shards', short: 'n', type: 'number', description: 'Maximum number of shards to retrieve', "default": '5' },
86
+ { name: 'max-shards', short: 'n', type: 'number', description: 'Maximum number of shards to retrieve', default: '5' },
142
87
  { name: 'intent', short: 'i', type: 'string', description: 'Override detected intent' },
143
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
88
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
144
89
  ],
145
90
  examples: [
146
91
  { command: 'claude-flow guidance retrieve -t "Fix SQL injection in user search"', description: 'Retrieve guidance for a security task' },
147
92
  { command: 'claude-flow guidance retrieve -t "Add unit tests" -n 3', description: 'Retrieve top 3 shards for testing' },
148
93
  ],
149
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
150
- var task, rootPath, localPath, maxShards, intentOverride, jsonOutput, readFile, existsSync, GuidanceCompiler, _a, ShardRetriever, HashEmbeddingProvider, rootContent, localContent, compiler, bundle, retriever, result, _i, _b, shard, lines, _c, lines_1, line, error_2, msg;
151
- return __generator(this, function (_d) {
152
- switch (_d.label) {
153
- case 0:
154
- task = ctx.flags.task;
155
- rootPath = ctx.flags.root || './CLAUDE.md';
156
- localPath = ctx.flags.local;
157
- maxShards = parseInt(ctx.flags['max-shards'] || '5', 10);
158
- intentOverride = ctx.flags.intent;
159
- jsonOutput = ctx.flags.json === true;
160
- if (!task) {
161
- output.writeln(output.error('Task description is required (-t "...")'));
162
- return [2 /*return*/, { success: false, message: 'Missing task description' }];
163
- }
164
- output.writeln();
165
- output.writeln(output.bold('Guidance Retriever'));
166
- output.writeln(output.dim(''.repeat(50)));
167
- _d.label = 1;
168
- case 1:
169
- _d.trys.push([1, 11, , 12]);
170
- return [4 /*yield*/, import('node:fs/promises')];
171
- case 2:
172
- readFile = (_d.sent()).readFile;
173
- return [4 /*yield*/, import('node:fs')];
174
- case 3:
175
- existsSync = (_d.sent()).existsSync;
176
- return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
177
- case 4:
178
- GuidanceCompiler = (_d.sent()).GuidanceCompiler;
179
- return [4 /*yield*/, import('@claude-flow/guidance/retriever')];
180
- case 5:
181
- _a = _d.sent(), ShardRetriever = _a.ShardRetriever, HashEmbeddingProvider = _a.HashEmbeddingProvider;
182
- if (!existsSync(rootPath)) {
183
- output.writeln(output.error("Root guidance file not found: " + rootPath));
184
- return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
185
- }
186
- return [4 /*yield*/, readFile(rootPath, 'utf-8')];
187
- case 6:
188
- rootContent = _d.sent();
189
- localContent = void 0;
190
- if (!(localPath && existsSync(localPath))) return [3 /*break*/, 8];
191
- return [4 /*yield*/, readFile(localPath, 'utf-8')];
192
- case 7:
193
- localContent = _d.sent();
194
- _d.label = 8;
195
- case 8:
196
- compiler = new GuidanceCompiler();
197
- bundle = compiler.compile(rootContent, localContent);
198
- retriever = new ShardRetriever(new HashEmbeddingProvider(128));
199
- return [4 /*yield*/, retriever.loadBundle(bundle)];
200
- case 9:
201
- _d.sent();
202
- return [4 /*yield*/, retriever.retrieve({
203
- taskDescription: task,
204
- maxShards: maxShards,
205
- intent: intentOverride
206
- })];
207
- case 10:
208
- result = _d.sent();
209
- if (jsonOutput) {
210
- output.writeln(JSON.stringify(result, null, 2));
211
- }
212
- else {
213
- output.writeln(" Detected intent: " + output.bold(result.detectedIntent));
214
- output.writeln(" Retrieval time: " + output.dim(result.latencyMs + 'ms'));
215
- output.writeln(" Constitution: " + output.bold(String(result.constitution.rules.length)) + " rules");
216
- output.writeln(" Shards: " + output.bold(String(result.shards.length)) + " retrieved");
217
- output.writeln();
218
- if (result.shards.length > 0) {
219
- output.writeln(output.dim('Retrieved shards:'));
220
- for (_i = 0, _b = result.shards; _i < _b.length; _i++) {
221
- shard = _b[_i];
222
- output.writeln(" " + output.bold(shard.shard.rule.id) + " [" + shard.shard.rule.riskClass + "] " + shard.shard.rule.text.slice(0, 60));
223
- }
224
- }
225
- output.writeln();
226
- output.writeln(output.dim('Policy text preview:'));
227
- lines = result.policyText.split('\n').slice(0, 15);
228
- for (_c = 0, lines_1 = lines; _c < lines_1.length; _c++) {
229
- line = lines_1[_c];
230
- output.writeln(" " + line);
231
- }
232
- if (result.policyText.split('\n').length > 15) {
233
- output.writeln(output.dim(' ...'));
234
- }
94
+ action: async (ctx) => {
95
+ const task = ctx.flags.task;
96
+ const rootPath = ctx.flags.root || './CLAUDE.md';
97
+ const localPath = ctx.flags.local;
98
+ const maxShards = parseInt(ctx.flags['max-shards'] || '5', 10);
99
+ const intentOverride = ctx.flags.intent;
100
+ const jsonOutput = ctx.flags.json === true;
101
+ if (!task) {
102
+ output.writeln(output.error('Task description is required (-t "...")'));
103
+ return { success: false, message: 'Missing task description' };
104
+ }
105
+ output.writeln();
106
+ output.writeln(output.bold('Guidance Retriever'));
107
+ output.writeln(output.dim(''.repeat(50)));
108
+ try {
109
+ const { readFile } = await import('node:fs/promises');
110
+ const { existsSync } = await import('node:fs');
111
+ const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
112
+ const { ShardRetriever, HashEmbeddingProvider } = await import('@claude-flow/guidance/retriever');
113
+ if (!existsSync(rootPath)) {
114
+ output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
115
+ return { success: false, message: `File not found: ${rootPath}` };
116
+ }
117
+ const rootContent = await readFile(rootPath, 'utf-8');
118
+ let localContent;
119
+ if (localPath && existsSync(localPath)) {
120
+ localContent = await readFile(localPath, 'utf-8');
121
+ }
122
+ const compiler = new GuidanceCompiler();
123
+ const bundle = compiler.compile(rootContent, localContent);
124
+ const retriever = new ShardRetriever(new HashEmbeddingProvider(128));
125
+ await retriever.loadBundle(bundle);
126
+ const result = await retriever.retrieve({
127
+ taskDescription: task,
128
+ maxShards,
129
+ intent: intentOverride,
130
+ });
131
+ if (jsonOutput) {
132
+ output.writeln(JSON.stringify(result, null, 2));
133
+ }
134
+ else {
135
+ output.writeln(` Detected intent: ${output.bold(result.detectedIntent)}`);
136
+ output.writeln(` Retrieval time: ${output.dim(result.latencyMs + 'ms')}`);
137
+ output.writeln(` Constitution: ${output.bold(String(result.constitution.rules.length))} rules`);
138
+ output.writeln(` Shards: ${output.bold(String(result.shards.length))} retrieved`);
139
+ output.writeln();
140
+ if (result.shards.length > 0) {
141
+ output.writeln(output.dim('Retrieved shards:'));
142
+ for (const shard of result.shards) {
143
+ output.writeln(` ${output.bold(shard.shard.rule.id)} [${shard.shard.rule.riskClass}] ${shard.shard.rule.text.slice(0, 60)}`);
235
144
  }
236
- return [2 /*return*/, { success: true, data: result }];
237
- case 11:
238
- error_2 = _d.sent();
239
- msg = error_2 instanceof Error ? error_2.message : String(error_2);
240
- output.writeln(output.error("Retrieval failed: " + msg));
241
- return [2 /*return*/, { success: false, message: msg }];
242
- case 12: return [2 /*return*/];
243
- }
244
- });
245
- }); }
145
+ }
146
+ output.writeln();
147
+ output.writeln(output.dim('Policy text preview:'));
148
+ const lines = result.policyText.split('\n').slice(0, 15);
149
+ for (const line of lines) {
150
+ output.writeln(` ${line}`);
151
+ }
152
+ if (result.policyText.split('\n').length > 15) {
153
+ output.writeln(output.dim(' ...'));
154
+ }
155
+ }
156
+ return { success: true, data: result };
157
+ }
158
+ catch (error) {
159
+ const msg = error instanceof Error ? error.message : String(error);
160
+ output.writeln(output.error(`Retrieval failed: ${msg}`));
161
+ return { success: false, message: msg };
162
+ }
163
+ },
246
164
  };
247
165
  // gates subcommand
248
- var gatesCommand = {
166
+ const gatesCommand = {
249
167
  name: 'gates',
250
168
  description: 'Evaluate enforcement gates against a command or content',
251
169
  options: [
252
170
  { name: 'command', short: 'c', type: 'string', description: 'Command to evaluate' },
253
171
  { name: 'content', type: 'string', description: 'Content to check for secrets' },
254
172
  { name: 'tool', short: 't', type: 'string', description: 'Tool name to check against allowlist' },
255
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
173
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
256
174
  ],
257
175
  examples: [
258
176
  { command: 'claude-flow guidance gates -c "rm -rf /tmp"', description: 'Check if a command is destructive' },
259
177
  { command: 'claude-flow guidance gates --content "api_key=sk-abc123..."', description: 'Check content for secrets' },
260
178
  ],
261
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
262
- var command, content, tool, jsonOutput, EnforcementGates, gates, results, gateResults, secretResult, toolResult, _i, results_1, _a, type, result, _b, result_1, r, color, color, error_3, msg;
263
- return __generator(this, function (_c) {
264
- switch (_c.label) {
265
- case 0:
266
- command = ctx.flags.command;
267
- content = ctx.flags.content;
268
- tool = ctx.flags.tool;
269
- jsonOutput = ctx.flags.json === true;
270
- output.writeln();
271
- output.writeln(output.bold('Enforcement Gates'));
272
- output.writeln(output.dim('─'.repeat(50)));
273
- _c.label = 1;
274
- case 1:
275
- _c.trys.push([1, 3, , 4]);
276
- return [4 /*yield*/, import('@claude-flow/guidance/gates')];
277
- case 2:
278
- EnforcementGates = (_c.sent()).EnforcementGates;
279
- gates = new EnforcementGates();
280
- results = [];
281
- if (command) {
282
- gateResults = gates.evaluateCommand(command);
283
- results.push({ type: 'command', result: gateResults });
284
- }
285
- if (content) {
286
- secretResult = gates.evaluateSecrets(content);
287
- results.push({ type: 'secrets', result: secretResult });
288
- }
289
- if (tool) {
290
- toolResult = gates.evaluateToolAllowlist(tool);
291
- results.push({ type: 'tool-allowlist', result: toolResult });
292
- }
293
- if (results.length === 0) {
294
- output.writeln(output.warning('No input provided. Use -c, --content, or -t to evaluate.'));
295
- return [2 /*return*/, { success: false, message: 'No input' }];
296
- }
297
- if (jsonOutput) {
298
- output.writeln(JSON.stringify(results, null, 2));
179
+ action: async (ctx) => {
180
+ const command = ctx.flags.command;
181
+ const content = ctx.flags.content;
182
+ const tool = ctx.flags.tool;
183
+ const jsonOutput = ctx.flags.json === true;
184
+ output.writeln();
185
+ output.writeln(output.bold('Enforcement Gates'));
186
+ output.writeln(output.dim('─'.repeat(50)));
187
+ try {
188
+ const { EnforcementGates } = await import('@claude-flow/guidance/gates');
189
+ const gates = new EnforcementGates();
190
+ const results = [];
191
+ if (command) {
192
+ const gateResults = gates.evaluateCommand(command);
193
+ results.push({ type: 'command', result: gateResults });
194
+ }
195
+ if (content) {
196
+ const secretResult = gates.evaluateSecrets(content);
197
+ results.push({ type: 'secrets', result: secretResult });
198
+ }
199
+ if (tool) {
200
+ const toolResult = gates.evaluateToolAllowlist(tool);
201
+ results.push({ type: 'tool-allowlist', result: toolResult });
202
+ }
203
+ if (results.length === 0) {
204
+ output.writeln(output.warning('No input provided. Use -c, --content, or -t to evaluate.'));
205
+ return { success: false, message: 'No input' };
206
+ }
207
+ if (jsonOutput) {
208
+ output.writeln(JSON.stringify(results, null, 2));
209
+ }
210
+ else {
211
+ for (const { type, result } of results) {
212
+ output.writeln(` ${output.bold(type)}:`);
213
+ if (result === null) {
214
+ output.writeln(` ${output.success('ALLOW')} - No gate triggered`);
299
215
  }
300
- else {
301
- for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
302
- _a = results_1[_i], type = _a.type, result = _a.result;
303
- output.writeln(" " + output.bold(type) + ":");
304
- if (result === null) {
305
- output.writeln(" " + output.success('ALLOW') + " - No gate triggered");
306
- }
307
- else if (Array.isArray(result)) {
308
- if (result.length === 0) {
309
- output.writeln(" " + output.success('ALLOW') + " - All gates passed");
310
- }
311
- else {
312
- for (_b = 0, result_1 = result; _b < result_1.length; _b++) {
313
- r = result_1[_b];
314
- color = r.decision === 'block' ? output.error.bind(output) :
315
- r.decision === 'require-confirmation' ? output.warning.bind(output) :
316
- output.dim.bind(output);
317
- output.writeln(" " + color(r.decision.toUpperCase()) + " [" + r.gateName + "] " + r.reason);
318
- if (r.remediation) {
319
- output.writeln(" Remediation: " + output.dim(r.remediation));
320
- }
321
- }
322
- }
323
- }
324
- else {
325
- color = result.decision === 'block' ? output.error.bind(output) :
326
- result.decision === 'require-confirmation' ? output.warning.bind(output) :
216
+ else if (Array.isArray(result)) {
217
+ if (result.length === 0) {
218
+ output.writeln(` ${output.success('ALLOW')} - All gates passed`);
219
+ }
220
+ else {
221
+ for (const r of result) {
222
+ const color = r.decision === 'block' ? output.error.bind(output) :
223
+ r.decision === 'require-confirmation' ? output.warning.bind(output) :
327
224
  output.dim.bind(output);
328
- output.writeln(" " + color(result.decision.toUpperCase()) + " [" + result.gateName + "] " + result.reason);
329
- if (result.remediation) {
330
- output.writeln(" Remediation: " + output.dim(result.remediation));
225
+ output.writeln(` ${color(r.decision.toUpperCase())} [${r.gateName}] ${r.reason}`);
226
+ if (r.remediation) {
227
+ output.writeln(` Remediation: ${output.dim(r.remediation)}`);
331
228
  }
332
229
  }
333
230
  }
334
231
  }
335
- return [2 /*return*/, { success: true, data: results }];
336
- case 3:
337
- error_3 = _c.sent();
338
- msg = error_3 instanceof Error ? error_3.message : String(error_3);
339
- output.writeln(output.error("Gate evaluation failed: " + msg));
340
- return [2 /*return*/, { success: false, message: msg }];
341
- case 4: return [2 /*return*/];
342
- }
343
- });
344
- }); }
232
+ else {
233
+ const color = result.decision === 'block' ? output.error.bind(output) :
234
+ result.decision === 'require-confirmation' ? output.warning.bind(output) :
235
+ output.dim.bind(output);
236
+ output.writeln(` ${color(result.decision.toUpperCase())} [${result.gateName}] ${result.reason}`);
237
+ if (result.remediation) {
238
+ output.writeln(` Remediation: ${output.dim(result.remediation)}`);
239
+ }
240
+ }
241
+ }
242
+ }
243
+ return { success: true, data: results };
244
+ }
245
+ catch (error) {
246
+ const msg = error instanceof Error ? error.message : String(error);
247
+ output.writeln(output.error(`Gate evaluation failed: ${msg}`));
248
+ return { success: false, message: msg };
249
+ }
250
+ },
345
251
  };
346
252
  // status subcommand
347
- var statusCommand = {
253
+ const statusCommand = {
348
254
  name: 'status',
349
255
  description: 'Show guidance control plane status and metrics',
350
256
  options: [
351
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
257
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
352
258
  ],
353
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
354
- var jsonOutput, existsSync, rootExists, localExists, statusData, readFile, GuidanceCompiler, rootContent, compiler, bundle, error_4, msg;
355
- return __generator(this, function (_a) {
356
- switch (_a.label) {
357
- case 0:
358
- jsonOutput = ctx.flags.json === true;
359
- output.writeln();
360
- output.writeln(output.bold('Guidance Control Plane Status'));
361
- output.writeln(output.dim('─'.repeat(50)));
362
- _a.label = 1;
363
- case 1:
364
- _a.trys.push([1, 8, , 9]);
365
- return [4 /*yield*/, import('node:fs')];
366
- case 2:
367
- existsSync = (_a.sent()).existsSync;
368
- rootExists = existsSync('./CLAUDE.md');
369
- localExists = existsSync('./CLAUDE.local.md');
370
- statusData = {
371
- rootGuidance: rootExists ? 'found' : 'not found',
372
- localOverlay: localExists ? 'found' : 'not configured',
373
- dataDir: existsSync('./.claude-flow/guidance') ? 'exists' : 'not created'
374
- };
375
- if (!jsonOutput) return [3 /*break*/, 3];
376
- output.writeln(JSON.stringify(statusData, null, 2));
377
- return [3 /*break*/, 7];
378
- case 3:
379
- output.writeln(" Root guidance: " + (rootExists ? output.success('CLAUDE.md found') : output.warning('CLAUDE.md not found')));
380
- output.writeln(" Local overlay: " + (localExists ? output.success('CLAUDE.local.md found') : output.dim('not configured')));
381
- output.writeln(" Data directory: " + (statusData.dataDir === 'exists' ? output.success('exists') : output.dim('not created')));
382
- if (!rootExists) return [3 /*break*/, 7];
383
- return [4 /*yield*/, import('node:fs/promises')];
384
- case 4:
385
- readFile = (_a.sent()).readFile;
386
- return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
387
- case 5:
388
- GuidanceCompiler = (_a.sent()).GuidanceCompiler;
389
- return [4 /*yield*/, readFile('./CLAUDE.md', 'utf-8')];
390
- case 6:
391
- rootContent = _a.sent();
392
- compiler = new GuidanceCompiler();
393
- bundle = compiler.compile(rootContent);
259
+ action: async (ctx) => {
260
+ const jsonOutput = ctx.flags.json === true;
261
+ output.writeln();
262
+ output.writeln(output.bold('Guidance Control Plane Status'));
263
+ output.writeln(output.dim('─'.repeat(50)));
264
+ try {
265
+ const { existsSync } = await import('node:fs');
266
+ const rootExists = existsSync('./CLAUDE.md');
267
+ const localExists = existsSync('./CLAUDE.local.md');
268
+ const statusData = {
269
+ rootGuidance: rootExists ? 'found' : 'not found',
270
+ localOverlay: localExists ? 'found' : 'not configured',
271
+ dataDir: existsSync('./.claude-flow/guidance') ? 'exists' : 'not created',
272
+ };
273
+ if (jsonOutput) {
274
+ output.writeln(JSON.stringify(statusData, null, 2));
275
+ }
276
+ else {
277
+ output.writeln(` Root guidance: ${rootExists ? output.success('CLAUDE.md found') : output.warning('CLAUDE.md not found')}`);
278
+ output.writeln(` Local overlay: ${localExists ? output.success('CLAUDE.local.md found') : output.dim('not configured')}`);
279
+ output.writeln(` Data directory: ${statusData.dataDir === 'exists' ? output.success('exists') : output.dim('not created')}`);
280
+ if (rootExists) {
281
+ const { readFile } = await import('node:fs/promises');
282
+ const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
283
+ const rootContent = await readFile('./CLAUDE.md', 'utf-8');
284
+ const compiler = new GuidanceCompiler();
285
+ const bundle = compiler.compile(rootContent);
394
286
  output.writeln();
395
287
  output.writeln(output.dim('Compiled bundle:'));
396
- output.writeln(" Constitution rules: " + output.bold(String(bundle.constitution.rules.length)));
397
- output.writeln(" Shard count: " + output.bold(String(bundle.shards.length)));
398
- output.writeln(" Total rules: " + output.bold(String(bundle.manifest.totalRules)));
399
- output.writeln(" Hash: " + output.dim(bundle.constitution.hash));
400
- _a.label = 7;
401
- case 7: return [2 /*return*/, { success: true, data: statusData }];
402
- case 8:
403
- error_4 = _a.sent();
404
- msg = error_4 instanceof Error ? error_4.message : String(error_4);
405
- output.writeln(output.error("Status check failed: " + msg));
406
- return [2 /*return*/, { success: false, message: msg }];
407
- case 9: return [2 /*return*/];
408
- }
409
- });
410
- }); }
288
+ output.writeln(` Constitution rules: ${output.bold(String(bundle.constitution.rules.length))}`);
289
+ output.writeln(` Shard count: ${output.bold(String(bundle.shards.length))}`);
290
+ output.writeln(` Total rules: ${output.bold(String(bundle.manifest.totalRules))}`);
291
+ output.writeln(` Hash: ${output.dim(bundle.constitution.hash)}`);
292
+ }
293
+ }
294
+ return { success: true, data: statusData };
295
+ }
296
+ catch (error) {
297
+ const msg = error instanceof Error ? error.message : String(error);
298
+ output.writeln(output.error(`Status check failed: ${msg}`));
299
+ return { success: false, message: msg };
300
+ }
301
+ },
411
302
  };
412
303
  // optimize subcommand
413
- var optimizeCommand = {
304
+ const optimizeCommand = {
414
305
  name: 'optimize',
415
306
  description: 'Analyze and optimize a CLAUDE.md file for structure, coverage, and enforceability',
416
307
  options: [
417
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
308
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
418
309
  { name: 'local', short: 'l', type: 'string', description: 'Local overlay file path' },
419
- { name: 'apply', short: 'a', type: 'boolean', description: 'Apply optimizations to the file', "default": 'false' },
420
- { name: 'context-size', short: 's', type: 'string', description: 'Target context size: compact, standard, full', "default": 'standard' },
421
- { name: 'target-score', type: 'number', description: 'Target composite score (0-100)', "default": '90' },
422
- { name: 'max-iterations', type: 'number', description: 'Maximum optimization iterations', "default": '5' },
423
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
310
+ { name: 'apply', short: 'a', type: 'boolean', description: 'Apply optimizations to the file', default: 'false' },
311
+ { name: 'context-size', short: 's', type: 'string', description: 'Target context size: compact, standard, full', default: 'standard' },
312
+ { name: 'target-score', type: 'number', description: 'Target composite score (0-100)', default: '90' },
313
+ { name: 'max-iterations', type: 'number', description: 'Maximum optimization iterations', default: '5' },
314
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
424
315
  ],
425
316
  examples: [
426
317
  { command: 'claude-flow guidance optimize', description: 'Analyze current CLAUDE.md and show suggestions' },
@@ -428,121 +319,102 @@ var optimizeCommand = {
428
319
  { command: 'claude-flow guidance optimize -s compact --apply', description: 'Optimize for compact context window' },
429
320
  { command: 'claude-flow guidance optimize --target-score 95', description: 'Optimize until score reaches 95' },
430
321
  ],
431
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
432
- var rootPath, localPath, applyChanges, contextSize, targetScore, maxIterations, jsonOutput, _a, readFile, writeFile, existsSync, rootContent, localContent, _b, analyze, formatReport, optimizeForSize, formatBenchmark, analysis, result, _i, _c, step, error_5, msg;
433
- return __generator(this, function (_d) {
434
- switch (_d.label) {
435
- case 0:
436
- rootPath = ctx.flags.root || './CLAUDE.md';
437
- localPath = ctx.flags.local;
438
- applyChanges = ctx.flags.apply === true;
439
- contextSize = (ctx.flags['context-size'] || 'standard');
440
- targetScore = parseInt(ctx.flags['target-score'] || '90', 10);
441
- maxIterations = parseInt(ctx.flags['max-iterations'] || '5', 10);
442
- jsonOutput = ctx.flags.json === true;
443
- output.writeln();
444
- output.writeln(output.bold('Guidance Optimizer'));
445
- output.writeln(output.dim('─'.repeat(50)));
446
- _d.label = 1;
447
- case 1:
448
- _d.trys.push([1, 11, , 12]);
449
- return [4 /*yield*/, import('node:fs/promises')];
450
- case 2:
451
- _a = _d.sent(), readFile = _a.readFile, writeFile = _a.writeFile;
452
- return [4 /*yield*/, import('node:fs')];
453
- case 3:
454
- existsSync = (_d.sent()).existsSync;
455
- if (!existsSync(rootPath)) {
456
- output.writeln(output.error("Root guidance file not found: " + rootPath));
457
- return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
458
- }
459
- return [4 /*yield*/, readFile(rootPath, 'utf-8')];
460
- case 4:
461
- rootContent = _d.sent();
462
- localContent = void 0;
463
- if (!(localPath && existsSync(localPath))) return [3 /*break*/, 6];
464
- return [4 /*yield*/, readFile(localPath, 'utf-8')];
465
- case 5:
466
- localContent = _d.sent();
467
- _d.label = 6;
468
- case 6: return [4 /*yield*/, import('@claude-flow/guidance/analyzer')];
469
- case 7:
470
- _b = _d.sent(), analyze = _b.analyze, formatReport = _b.formatReport, optimizeForSize = _b.optimizeForSize, formatBenchmark = _b.formatBenchmark;
471
- analysis = analyze(rootContent, localContent);
472
- if (jsonOutput && !applyChanges) {
473
- output.writeln(JSON.stringify(analysis, null, 2));
474
- return [2 /*return*/, { success: true, data: analysis }];
475
- }
476
- // Show current analysis
477
- output.writeln(formatReport(analysis));
478
- output.writeln();
479
- if (analysis.compositeScore >= targetScore) {
480
- output.writeln(output.success("Score " + analysis.compositeScore + "/100 already meets target " + targetScore + ". No optimization needed."));
481
- return [2 /*return*/, { success: true, data: analysis }];
482
- }
483
- // Step 2: Run optimization
484
- output.writeln(output.dim("Optimizing (target: " + targetScore + ", context: " + contextSize + ", max iterations: " + maxIterations + ")..."));
485
- result = optimizeForSize(rootContent, {
486
- contextSize: contextSize,
487
- localContent: localContent,
488
- maxIterations: maxIterations,
489
- targetScore: targetScore
490
- });
491
- if (jsonOutput) {
492
- output.writeln(JSON.stringify({
493
- before: analysis,
494
- after: result.benchmark.after,
495
- delta: result.benchmark.delta,
496
- steps: result.appliedSteps
497
- }, null, 2));
498
- return [2 /*return*/, { success: true, data: result }];
499
- }
500
- // Show benchmark comparison
501
- output.writeln();
502
- output.writeln(formatBenchmark(result.benchmark));
503
- output.writeln();
504
- if (result.appliedSteps.length > 0) {
505
- output.writeln("Applied " + output.bold(String(result.appliedSteps.length)) + " optimization steps:");
506
- for (_i = 0, _c = result.appliedSteps; _i < _c.length; _i++) {
507
- step = _c[_i];
508
- output.writeln(" " + output.success('+') + " " + step);
509
- }
510
- output.writeln();
511
- }
512
- if (!applyChanges) return [3 /*break*/, 9];
513
- return [4 /*yield*/, writeFile(rootPath, result.optimized, 'utf-8')];
514
- case 8:
515
- _d.sent();
516
- output.writeln(output.success("Optimized CLAUDE.md written to " + rootPath));
517
- output.writeln(" Before: " + analysis.compositeScore + "/100 (" + analysis.grade + ")");
518
- output.writeln(" After: " + result.benchmark.after.compositeScore + "/100 (" + result.benchmark.after.grade + ")");
519
- output.writeln(" Delta: " + (result.benchmark.delta >= 0 ? '+' : '') + result.benchmark.delta);
520
- return [3 /*break*/, 10];
521
- case 9:
522
- output.writeln(output.warning('Dry run - use --apply to write changes.'));
523
- output.writeln(" Projected: " + analysis.compositeScore + " \u2192 " + result.benchmark.after.compositeScore + "/100");
524
- _d.label = 10;
525
- case 10: return [2 /*return*/, { success: true, data: result }];
526
- case 11:
527
- error_5 = _d.sent();
528
- msg = error_5 instanceof Error ? error_5.message : String(error_5);
529
- output.writeln(output.error("Optimization failed: " + msg));
530
- return [2 /*return*/, { success: false, message: msg }];
531
- case 12: return [2 /*return*/];
532
- }
533
- });
534
- }); }
322
+ action: async (ctx) => {
323
+ const rootPath = ctx.flags.root || './CLAUDE.md';
324
+ const localPath = ctx.flags.local;
325
+ const applyChanges = ctx.flags.apply === true;
326
+ const contextSize = (ctx.flags['context-size'] || 'standard');
327
+ const targetScore = parseInt(ctx.flags['target-score'] || '90', 10);
328
+ const maxIterations = parseInt(ctx.flags['max-iterations'] || '5', 10);
329
+ const jsonOutput = ctx.flags.json === true;
330
+ output.writeln();
331
+ output.writeln(output.bold('Guidance Optimizer'));
332
+ output.writeln(output.dim(''.repeat(50)));
333
+ try {
334
+ const { readFile, writeFile } = await import('node:fs/promises');
335
+ const { existsSync } = await import('node:fs');
336
+ if (!existsSync(rootPath)) {
337
+ output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
338
+ return { success: false, message: `File not found: ${rootPath}` };
339
+ }
340
+ const rootContent = await readFile(rootPath, 'utf-8');
341
+ let localContent;
342
+ if (localPath && existsSync(localPath)) {
343
+ localContent = await readFile(localPath, 'utf-8');
344
+ }
345
+ // Step 1: Analyze current state
346
+ const { analyze, formatReport, optimizeForSize, formatBenchmark } = await import('@claude-flow/guidance/analyzer');
347
+ const analysis = analyze(rootContent, localContent);
348
+ if (jsonOutput && !applyChanges) {
349
+ output.writeln(JSON.stringify(analysis, null, 2));
350
+ return { success: true, data: analysis };
351
+ }
352
+ // Show current analysis
353
+ output.writeln(formatReport(analysis));
354
+ output.writeln();
355
+ if (analysis.compositeScore >= targetScore) {
356
+ output.writeln(output.success(`Score ${analysis.compositeScore}/100 already meets target ${targetScore}. No optimization needed.`));
357
+ return { success: true, data: analysis };
358
+ }
359
+ // Step 2: Run optimization
360
+ output.writeln(output.dim(`Optimizing (target: ${targetScore}, context: ${contextSize}, max iterations: ${maxIterations})...`));
361
+ const result = optimizeForSize(rootContent, {
362
+ contextSize,
363
+ localContent,
364
+ maxIterations,
365
+ targetScore,
366
+ });
367
+ if (jsonOutput) {
368
+ output.writeln(JSON.stringify({
369
+ before: analysis,
370
+ after: result.benchmark.after,
371
+ delta: result.benchmark.delta,
372
+ steps: result.appliedSteps,
373
+ }, null, 2));
374
+ return { success: true, data: result };
375
+ }
376
+ // Show benchmark comparison
377
+ output.writeln();
378
+ output.writeln(formatBenchmark(result.benchmark));
379
+ output.writeln();
380
+ if (result.appliedSteps.length > 0) {
381
+ output.writeln(`Applied ${output.bold(String(result.appliedSteps.length))} optimization steps:`);
382
+ for (const step of result.appliedSteps) {
383
+ output.writeln(` ${output.success('+')} ${step}`);
384
+ }
385
+ output.writeln();
386
+ }
387
+ // Step 3: Apply if requested
388
+ if (applyChanges) {
389
+ await writeFile(rootPath, result.optimized, 'utf-8');
390
+ output.writeln(output.success(`Optimized CLAUDE.md written to ${rootPath}`));
391
+ output.writeln(` Before: ${analysis.compositeScore}/100 (${analysis.grade})`);
392
+ output.writeln(` After: ${result.benchmark.after.compositeScore}/100 (${result.benchmark.after.grade})`);
393
+ output.writeln(` Delta: ${result.benchmark.delta >= 0 ? '+' : ''}${result.benchmark.delta}`);
394
+ }
395
+ else {
396
+ output.writeln(output.warning('Dry run - use --apply to write changes.'));
397
+ output.writeln(` Projected: ${analysis.compositeScore} ${result.benchmark.after.compositeScore}/100`);
398
+ }
399
+ return { success: true, data: result };
400
+ }
401
+ catch (error) {
402
+ const msg = error instanceof Error ? error.message : String(error);
403
+ output.writeln(output.error(`Optimization failed: ${msg}`));
404
+ return { success: false, message: msg };
405
+ }
406
+ },
535
407
  };
536
408
  // ab-test subcommand
537
- var abTestCommand = {
409
+ const abTestCommand = {
538
410
  name: 'ab-test',
539
411
  description: 'Run A/B behavioral comparison between two CLAUDE.md versions',
540
412
  options: [
541
413
  { name: 'config-a', short: 'a', type: 'string', description: 'Path to Config A (baseline CLAUDE.md). Defaults to no guidance.' },
542
- { name: 'config-b', short: 'b', type: 'string', description: 'Path to Config B (candidate CLAUDE.md)', "default": './CLAUDE.md' },
414
+ { name: 'config-b', short: 'b', type: 'string', description: 'Path to Config B (candidate CLAUDE.md)', default: './CLAUDE.md' },
543
415
  { name: 'tasks', short: 't', type: 'string', description: 'Path to custom task JSON file (array of ABTask objects)' },
544
416
  { name: 'work-dir', short: 'w', type: 'string', description: 'Working directory for test execution' },
545
- { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
417
+ { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
546
418
  ],
547
419
  examples: [
548
420
  { command: 'claude-flow guidance ab-test', description: 'Run default A/B test (no guidance vs ./CLAUDE.md)' },
@@ -550,120 +422,103 @@ var abTestCommand = {
550
422
  { command: 'claude-flow guidance ab-test --tasks custom-tasks.json', description: 'Run with custom test tasks' },
551
423
  { command: 'claude-flow guidance ab-test --json', description: 'Output full report as JSON' },
552
424
  ],
553
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
554
- var configAPath, configBPath, tasksPath, workDir, jsonOutput, readFile, existsSync, _a, abBenchmark, getDefaultABTasks, configBContent, configALabel, customTasks, tasksJson, report, delta, error_6, msg;
555
- return __generator(this, function (_b) {
556
- switch (_b.label) {
557
- case 0:
558
- configAPath = ctx.flags['config-a'];
559
- configBPath = ctx.flags['config-b'] || './CLAUDE.md';
560
- tasksPath = ctx.flags.tasks;
561
- workDir = ctx.flags['work-dir'];
562
- jsonOutput = ctx.flags.json === true;
563
- output.writeln();
564
- output.writeln(output.bold('A/B Behavioral Benchmark'));
565
- output.writeln(output.dim(''.repeat(50)));
566
- _b.label = 1;
567
- case 1:
568
- _b.trys.push([1, 9, , 10]);
569
- return [4 /*yield*/, import('node:fs/promises')];
570
- case 2:
571
- readFile = (_b.sent()).readFile;
572
- return [4 /*yield*/, import('node:fs')];
573
- case 3:
574
- existsSync = (_b.sent()).existsSync;
575
- return [4 /*yield*/, import('@claude-flow/guidance/analyzer')];
576
- case 4:
577
- _a = _b.sent(), abBenchmark = _a.abBenchmark, getDefaultABTasks = _a.getDefaultABTasks;
578
- // Load Config B (candidate) content
579
- if (!existsSync(configBPath)) {
580
- output.writeln(output.error("Config B file not found: " + configBPath));
581
- return [2 /*return*/, { success: false, message: "File not found: " + configBPath }];
582
- }
583
- return [4 /*yield*/, readFile(configBPath, 'utf-8')];
584
- case 5:
585
- configBContent = _b.sent();
586
- configALabel = 'No control plane (baseline)';
587
- if (configAPath) {
588
- if (!existsSync(configAPath)) {
589
- output.writeln(output.error("Config A file not found: " + configAPath));
590
- return [2 /*return*/, { success: false, message: "File not found: " + configAPath }];
591
- }
592
- configALabel = configAPath;
593
- }
594
- customTasks = void 0;
595
- if (!tasksPath) return [3 /*break*/, 7];
596
- if (!existsSync(tasksPath)) {
597
- output.writeln(output.error("Tasks file not found: " + tasksPath));
598
- return [2 /*return*/, { success: false, message: "File not found: " + tasksPath }];
599
- }
600
- return [4 /*yield*/, readFile(tasksPath, 'utf-8')];
601
- case 6:
602
- tasksJson = _b.sent();
603
- customTasks = JSON.parse(tasksJson);
604
- output.writeln(" Custom tasks: " + output.bold(String(customTasks.length)) + " loaded from " + tasksPath);
605
- _b.label = 7;
606
- case 7:
607
- output.writeln(" Config A: " + output.dim(configALabel));
608
- output.writeln(" Config B: " + output.dim(configBPath));
609
- output.writeln(" Tasks: " + output.dim(customTasks ? customTasks.length + " custom" : getDefaultABTasks().length + " default"));
610
- output.writeln();
611
- output.writeln(output.dim('Running benchmark...'));
612
- return [4 /*yield*/, abBenchmark(configBContent, {
613
- tasks: customTasks,
614
- workDir: workDir
615
- })];
616
- case 8:
617
- report = _b.sent();
618
- if (jsonOutput) {
619
- output.writeln(JSON.stringify({
620
- configA: { label: configALabel, metrics: report.configA.metrics },
621
- configB: { label: configBPath, metrics: report.configB.metrics },
622
- compositeDelta: report.compositeDelta,
623
- classDeltas: report.classDeltas,
624
- categoryShift: report.categoryShift,
625
- taskResults: {
626
- configA: report.configA.taskResults.map(function (r) { return ({
627
- taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
628
- violations: r.violations.length, toolCalls: r.toolCalls
629
- }); }),
630
- configB: report.configB.taskResults.map(function (r) { return ({
631
- taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
632
- violations: r.violations.length, toolCalls: r.toolCalls
633
- }); })
634
- }
635
- }, null, 2));
636
- return [2 /*return*/, { success: true, data: report }];
637
- }
638
- // Print formatted report
639
- output.writeln(report.report);
640
- output.writeln();
641
- delta = report.compositeDelta;
642
- if (delta > 0.05) {
643
- output.writeln(output.success("Config B is better (+" + delta + " composite delta)"));
644
- }
645
- else if (delta < -0.05) {
646
- output.writeln(output.error("Config B is worse (" + delta + " composite delta)"));
647
- }
648
- else {
649
- output.writeln(output.warning("No significant difference (" + delta + " composite delta)"));
650
- }
651
- if (report.categoryShift) {
652
- output.writeln(output.success('Category shift detected: 3+ task classes improved by 20%+'));
653
- }
654
- return [2 /*return*/, { success: true, data: report }];
655
- case 9:
656
- error_6 = _b.sent();
657
- msg = error_6 instanceof Error ? error_6.message : String(error_6);
658
- output.writeln(output.error("A/B benchmark failed: " + msg));
659
- return [2 /*return*/, { success: false, message: msg }];
660
- case 10: return [2 /*return*/];
661
- }
662
- });
663
- }); }
425
+ action: async (ctx) => {
426
+ const configAPath = ctx.flags['config-a'];
427
+ const configBPath = ctx.flags['config-b'] || './CLAUDE.md';
428
+ const tasksPath = ctx.flags.tasks;
429
+ const workDir = ctx.flags['work-dir'];
430
+ const jsonOutput = ctx.flags.json === true;
431
+ output.writeln();
432
+ output.writeln(output.bold('A/B Behavioral Benchmark'));
433
+ output.writeln(output.dim(''.repeat(50)));
434
+ try {
435
+ const { readFile } = await import('node:fs/promises');
436
+ const { existsSync } = await import('node:fs');
437
+ const { abBenchmark, getDefaultABTasks } = await import('@claude-flow/guidance/analyzer');
438
+ // Load Config B (candidate) content
439
+ if (!existsSync(configBPath)) {
440
+ output.writeln(output.error(`Config B file not found: ${configBPath}`));
441
+ return { success: false, message: `File not found: ${configBPath}` };
442
+ }
443
+ const configBContent = await readFile(configBPath, 'utf-8');
444
+ // Optionally load Config A for display context
445
+ let configALabel = 'No control plane (baseline)';
446
+ if (configAPath) {
447
+ if (!existsSync(configAPath)) {
448
+ output.writeln(output.error(`Config A file not found: ${configAPath}`));
449
+ return { success: false, message: `File not found: ${configAPath}` };
450
+ }
451
+ configALabel = configAPath;
452
+ }
453
+ // Load custom tasks if provided
454
+ let customTasks;
455
+ if (tasksPath) {
456
+ if (!existsSync(tasksPath)) {
457
+ output.writeln(output.error(`Tasks file not found: ${tasksPath}`));
458
+ return { success: false, message: `File not found: ${tasksPath}` };
459
+ }
460
+ const tasksJson = await readFile(tasksPath, 'utf-8');
461
+ customTasks = JSON.parse(tasksJson);
462
+ output.writeln(` Custom tasks: ${output.bold(String(customTasks.length))} loaded from ${tasksPath}`);
463
+ }
464
+ output.writeln(` Config A: ${output.dim(configALabel)}`);
465
+ output.writeln(` Config B: ${output.dim(configBPath)}`);
466
+ output.writeln(` Tasks: ${output.dim(customTasks ? `${customTasks.length} custom` : `${getDefaultABTasks().length} default`)}`);
467
+ output.writeln();
468
+ output.writeln(output.dim('Running benchmark...'));
469
+ // Run the A/B benchmark
470
+ const report = await abBenchmark(configBContent, {
471
+ tasks: customTasks,
472
+ workDir,
473
+ });
474
+ if (jsonOutput) {
475
+ output.writeln(JSON.stringify({
476
+ configA: { label: configALabel, metrics: report.configA.metrics },
477
+ configB: { label: configBPath, metrics: report.configB.metrics },
478
+ compositeDelta: report.compositeDelta,
479
+ classDeltas: report.classDeltas,
480
+ categoryShift: report.categoryShift,
481
+ taskResults: {
482
+ configA: report.configA.taskResults.map(r => ({
483
+ taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
484
+ violations: r.violations.length, toolCalls: r.toolCalls,
485
+ })),
486
+ configB: report.configB.taskResults.map(r => ({
487
+ taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
488
+ violations: r.violations.length, toolCalls: r.toolCalls,
489
+ })),
490
+ },
491
+ }, null, 2));
492
+ return { success: true, data: report };
493
+ }
494
+ // Print formatted report
495
+ output.writeln(report.report);
496
+ output.writeln();
497
+ // Summary verdict
498
+ const delta = report.compositeDelta;
499
+ if (delta > 0.05) {
500
+ output.writeln(output.success(`Config B is better (+${delta} composite delta)`));
501
+ }
502
+ else if (delta < -0.05) {
503
+ output.writeln(output.error(`Config B is worse (${delta} composite delta)`));
504
+ }
505
+ else {
506
+ output.writeln(output.warning(`No significant difference (${delta} composite delta)`));
507
+ }
508
+ if (report.categoryShift) {
509
+ output.writeln(output.success('Category shift detected: 3+ task classes improved by 20%+'));
510
+ }
511
+ return { success: true, data: report };
512
+ }
513
+ catch (error) {
514
+ const msg = error instanceof Error ? error.message : String(error);
515
+ output.writeln(output.error(`A/B benchmark failed: ${msg}`));
516
+ return { success: false, message: msg };
517
+ }
518
+ },
664
519
  };
665
520
  // Main guidance command
666
- export var guidanceCommand = {
521
+ export const guidanceCommand = {
667
522
  name: 'guidance',
668
523
  description: 'Guidance Control Plane - compile, retrieve, enforce, and optimize guidance rules',
669
524
  aliases: ['guide', 'policy'],
@@ -684,24 +539,22 @@ export var guidanceCommand = {
684
539
  { command: 'claude-flow guidance optimize', description: 'Analyze and optimize CLAUDE.md' },
685
540
  { command: 'claude-flow guidance ab-test', description: 'Run A/B behavioral comparison' },
686
541
  ],
687
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
688
- return __generator(this, function (_a) {
689
- output.writeln();
690
- output.writeln(output.bold('Guidance Control Plane'));
691
- output.writeln(output.dim('─'.repeat(50)));
692
- output.writeln();
693
- output.writeln('Available subcommands:');
694
- output.writeln(" " + output.bold('compile') + " Compile CLAUDE.md into policy bundle");
695
- output.writeln(" " + output.bold('retrieve') + " Retrieve task-relevant guidance shards");
696
- output.writeln(" " + output.bold('gates') + " Evaluate enforcement gates");
697
- output.writeln(" " + output.bold('status') + " Show control plane status");
698
- output.writeln(" " + output.bold('optimize') + " Analyze and optimize CLAUDE.md");
699
- output.writeln(" " + output.bold('ab-test') + " Run A/B behavioral comparison");
700
- output.writeln();
701
- output.writeln(output.dim('Use claude-flow guidance <subcommand> --help for details'));
702
- return [2 /*return*/, { success: true }];
703
- });
704
- }); }
542
+ action: async (ctx) => {
543
+ output.writeln();
544
+ output.writeln(output.bold('Guidance Control Plane'));
545
+ output.writeln(output.dim(''.repeat(50)));
546
+ output.writeln();
547
+ output.writeln('Available subcommands:');
548
+ output.writeln(` ${output.bold('compile')} Compile CLAUDE.md into policy bundle`);
549
+ output.writeln(` ${output.bold('retrieve')} Retrieve task-relevant guidance shards`);
550
+ output.writeln(` ${output.bold('gates')} Evaluate enforcement gates`);
551
+ output.writeln(` ${output.bold('status')} Show control plane status`);
552
+ output.writeln(` ${output.bold('optimize')} Analyze and optimize CLAUDE.md`);
553
+ output.writeln(` ${output.bold('ab-test')} Run A/B behavioral comparison`);
554
+ output.writeln();
555
+ output.writeln(output.dim('Use claude-flow guidance <subcommand> --help for details'));
556
+ return { success: true };
557
+ },
705
558
  };
706
559
  export default guidanceCommand;
707
560
  //# sourceMappingURL=guidance.js.map