peaks-loop 4.1.2 → 4.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/.claude-plugin/marketplace.json +136 -47
  2. package/CHANGELOG.md +112 -0
  3. package/README-en.md +1 -1
  4. package/README.md +1 -1
  5. package/contracts/readonly-argv-whitelist.json +211 -0
  6. package/dist/cli/commands/asset-command-shared.d.ts +12 -0
  7. package/dist/cli/commands/asset-command-shared.js +45 -0
  8. package/dist/cli/commands/asset-commands.d.ts +6 -1
  9. package/dist/cli/commands/asset-commands.js +11 -372
  10. package/dist/cli/commands/asset-crystallize-command.d.ts +3 -0
  11. package/dist/cli/commands/asset-crystallize-command.js +60 -0
  12. package/dist/cli/commands/asset-crystallize-payload.d.ts +47 -0
  13. package/dist/cli/commands/asset-crystallize-payload.js +85 -0
  14. package/dist/cli/commands/asset-crystallize-runner.d.ts +3 -0
  15. package/dist/cli/commands/asset-crystallize-runner.js +133 -0
  16. package/dist/cli/commands/asset-dispose-command.d.ts +3 -0
  17. package/dist/cli/commands/asset-dispose-command.js +99 -0
  18. package/dist/cli/commands/asset-status-command.d.ts +3 -0
  19. package/dist/cli/commands/asset-status-command.js +100 -0
  20. package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
  21. package/dist/cli/commands/audit-artifact-runners.js +170 -0
  22. package/dist/cli/commands/audit-command-shared.d.ts +97 -0
  23. package/dist/cli/commands/audit-command-shared.js +60 -0
  24. package/dist/cli/commands/audit-commands.d.ts +7 -31
  25. package/dist/cli/commands/audit-commands.js +64 -473
  26. package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
  27. package/dist/cli/commands/audit-goal-runners.js +114 -0
  28. package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
  29. package/dist/cli/commands/audit-red-lines-runners.js +43 -0
  30. package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
  31. package/dist/cli/commands/audit-refusal-data.js +69 -0
  32. package/dist/cli/commands/audit-static-runners.d.ts +13 -0
  33. package/dist/cli/commands/audit-static-runners.js +139 -0
  34. package/dist/cli/commands/await-runners.d.ts +11 -0
  35. package/dist/cli/commands/await-runners.js +148 -0
  36. package/dist/cli/commands/baseline-audit-command.d.ts +3 -0
  37. package/dist/cli/commands/baseline-audit-command.js +64 -0
  38. package/dist/cli/commands/baseline-command-shared.d.ts +23 -0
  39. package/dist/cli/commands/baseline-command-shared.js +39 -0
  40. package/dist/cli/commands/baseline-commands.js +33 -313
  41. package/dist/cli/commands/baseline-freeze-commands.d.ts +4 -0
  42. package/dist/cli/commands/baseline-freeze-commands.js +81 -0
  43. package/dist/cli/commands/baseline-guard-command.d.ts +3 -0
  44. package/dist/cli/commands/baseline-guard-command.js +52 -0
  45. package/dist/cli/commands/baseline-read-commands.d.ts +5 -0
  46. package/dist/cli/commands/baseline-read-commands.js +72 -0
  47. package/dist/cli/commands/baseline-rollback-commands.d.ts +4 -0
  48. package/dist/cli/commands/baseline-rollback-commands.js +88 -0
  49. package/dist/cli/commands/classify-downgrade-command.d.ts +9 -0
  50. package/dist/cli/commands/classify-downgrade-command.js +21 -0
  51. package/dist/cli/commands/classify-run-command.d.ts +9 -0
  52. package/dist/cli/commands/classify-run-command.js +73 -0
  53. package/dist/cli/commands/classify-signals.d.ts +5 -0
  54. package/dist/cli/commands/classify-signals.js +104 -0
  55. package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
  56. package/dist/cli/commands/code-auto-compact-command.js +124 -0
  57. package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
  58. package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
  59. package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
  60. package/dist/cli/commands/code-context-audit-command.js +68 -0
  61. package/dist/cli/commands/code-context-now-command.d.ts +3 -0
  62. package/dist/cli/commands/code-context-now-command.js +124 -0
  63. package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
  64. package/dist/cli/commands/code-context-now-envelope.js +136 -0
  65. package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
  66. package/dist/cli/commands/code-context-now-mapping.js +43 -0
  67. package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
  68. package/dist/cli/commands/code-emit-handoff-command.js +136 -0
  69. package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
  70. package/dist/cli/commands/code-gate-step-08-command.js +155 -0
  71. package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
  72. package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
  73. package/dist/cli/commands/code-runtime-commands.d.ts +9 -43
  74. package/dist/cli/commands/code-runtime-commands.js +20 -672
  75. package/dist/cli/commands/code-runtime-session.d.ts +1 -0
  76. package/dist/cli/commands/code-runtime-session.js +15 -0
  77. package/dist/cli/commands/codegraph-command-options.d.ts +22 -0
  78. package/dist/cli/commands/codegraph-command-options.js +22 -0
  79. package/dist/cli/commands/codegraph-commands.d.ts +2 -2
  80. package/dist/cli/commands/codegraph-commands.js +14 -397
  81. package/dist/cli/commands/codegraph-config-restore-command.d.ts +3 -0
  82. package/dist/cli/commands/codegraph-config-restore-command.js +200 -0
  83. package/dist/cli/commands/codegraph-proxy-commands.d.ts +10 -0
  84. package/dist/cli/commands/codegraph-proxy-commands.js +159 -0
  85. package/dist/cli/commands/codegraph-repair-commands.d.ts +3 -0
  86. package/dist/cli/commands/codegraph-repair-commands.js +94 -0
  87. package/dist/cli/commands/codegraph-status-command.d.ts +1 -1
  88. package/dist/cli/commands/codegraph-status-command.js +27 -214
  89. package/dist/cli/commands/codegraph-status-integrity.d.ts +44 -0
  90. package/dist/cli/commands/codegraph-status-integrity.js +121 -0
  91. package/dist/cli/commands/codegraph-status-json.d.ts +5 -0
  92. package/dist/cli/commands/codegraph-status-json.js +127 -0
  93. package/dist/cli/commands/compact-command.d.ts +6 -2
  94. package/dist/cli/commands/compact-command.js +12 -559
  95. package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
  96. package/dist/cli/commands/compact-dry-run-command.js +87 -0
  97. package/dist/cli/commands/compact-force-command.d.ts +3 -0
  98. package/dist/cli/commands/compact-force-command.js +98 -0
  99. package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
  100. package/dist/cli/commands/compact-harness-window-command.js +174 -0
  101. package/dist/cli/commands/compact-history-command.d.ts +3 -0
  102. package/dist/cli/commands/compact-history-command.js +89 -0
  103. package/dist/cli/commands/compact-read-commands.d.ts +3 -0
  104. package/dist/cli/commands/compact-read-commands.js +123 -0
  105. package/dist/cli/commands/compact-settle-command.d.ts +3 -0
  106. package/dist/cli/commands/compact-settle-command.js +130 -0
  107. package/dist/cli/commands/compact-shared.d.ts +9 -0
  108. package/dist/cli/commands/compact-shared.js +26 -0
  109. package/dist/cli/commands/container-command-shared.d.ts +60 -0
  110. package/dist/cli/commands/container-command-shared.js +52 -0
  111. package/dist/cli/commands/container-commands.d.ts +1 -1
  112. package/dist/cli/commands/container-commands.js +4 -216
  113. package/dist/cli/commands/container-release-command.d.ts +3 -0
  114. package/dist/cli/commands/container-release-command.js +105 -0
  115. package/dist/cli/commands/container-spawn-command.d.ts +3 -0
  116. package/dist/cli/commands/container-spawn-command.js +148 -0
  117. package/dist/cli/commands/context-check-command.d.ts +3 -0
  118. package/dist/cli/commands/context-check-command.js +81 -0
  119. package/dist/cli/commands/context-commands.d.ts +2 -7
  120. package/dist/cli/commands/context-commands.js +6 -276
  121. package/dist/cli/commands/context-layer-command.d.ts +3 -0
  122. package/dist/cli/commands/context-layer-command.js +34 -0
  123. package/dist/cli/commands/context-layer-fetchers.d.ts +15 -0
  124. package/dist/cli/commands/context-layer-fetchers.js +162 -0
  125. package/dist/cli/commands/context-status-command.d.ts +17 -0
  126. package/dist/cli/commands/context-status-command.js +41 -0
  127. package/dist/cli/commands/contract-write-command.d.ts +3 -0
  128. package/dist/cli/commands/contract-write-command.js +144 -0
  129. package/dist/cli/commands/core/doctor-bindings.d.ts +17 -0
  130. package/dist/cli/commands/core/doctor-bindings.js +30 -0
  131. package/dist/cli/commands/core/doctor-command.d.ts +4 -18
  132. package/dist/cli/commands/core/doctor-command.js +2 -323
  133. package/dist/cli/commands/core/doctor-logs.d.ts +8 -0
  134. package/dist/cli/commands/core/doctor-logs.js +32 -0
  135. package/dist/cli/commands/core/doctor-probes.d.ts +3 -0
  136. package/dist/cli/commands/core/doctor-probes.js +55 -0
  137. package/dist/cli/commands/core/doctor-run-command.d.ts +12 -0
  138. package/dist/cli/commands/core/doctor-run-command.js +172 -0
  139. package/dist/cli/commands/core/doctor-summary.d.ts +7 -0
  140. package/dist/cli/commands/core/doctor-summary.js +39 -0
  141. package/dist/cli/commands/core/memory-command-shared.d.ts +25 -0
  142. package/dist/cli/commands/core/memory-command-shared.js +20 -0
  143. package/dist/cli/commands/core/memory-command.d.ts +1 -1
  144. package/dist/cli/commands/core/memory-command.js +6 -227
  145. package/dist/cli/commands/core/memory-delegated-verbs.d.ts +4 -0
  146. package/dist/cli/commands/core/memory-delegated-verbs.js +178 -0
  147. package/dist/cli/commands/core/memory-extract-command.d.ts +3 -0
  148. package/dist/cli/commands/core/memory-extract-command.js +90 -0
  149. package/dist/cli/commands/core/memory-sync-command.d.ts +3 -0
  150. package/dist/cli/commands/core/memory-sync-command.js +38 -0
  151. package/dist/cli/commands/core/session-command.d.ts +1 -1
  152. package/dist/cli/commands/core/session-command.js +12 -206
  153. package/dist/cli/commands/core/session-info-command.d.ts +3 -0
  154. package/dist/cli/commands/core/session-info-command.js +142 -0
  155. package/dist/cli/commands/core/session-verb-commands.d.ts +5 -0
  156. package/dist/cli/commands/core/session-verb-commands.js +58 -0
  157. package/dist/cli/commands/core/skill-command.d.ts +1 -44
  158. package/dist/cli/commands/core/skill-command.js +13 -541
  159. package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
  160. package/dist/cli/commands/core/skill-context-verdict.js +63 -0
  161. package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
  162. package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
  163. package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
  164. package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
  165. package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
  166. package/dist/cli/commands/core/skill-presence-commands.js +123 -0
  167. package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
  168. package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
  169. package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
  170. package/dist/cli/commands/core/skill-registry-commands.js +117 -0
  171. package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
  172. package/dist/cli/commands/core/skill-runbook-command.js +29 -0
  173. package/dist/cli/commands/core/standards-command.d.ts +1 -24
  174. package/dist/cli/commands/core/standards-command.js +33 -201
  175. package/dist/cli/commands/core/standards-init-command.d.ts +3 -0
  176. package/dist/cli/commands/core/standards-init-command.js +87 -0
  177. package/dist/cli/commands/core/standards-lint.d.ts +24 -0
  178. package/dist/cli/commands/core/standards-lint.js +57 -0
  179. package/dist/cli/commands/core/standards-migrate-command.d.ts +3 -0
  180. package/dist/cli/commands/core/standards-migrate-command.js +57 -0
  181. package/dist/cli/commands/cron-scheduler-commands.d.ts +5 -1
  182. package/dist/cli/commands/cron-scheduler-commands.js +36 -206
  183. package/dist/cli/commands/cron-scheduler-run-once-command.d.ts +7 -0
  184. package/dist/cli/commands/cron-scheduler-run-once-command.js +35 -0
  185. package/dist/cli/commands/cron-scheduler-shared.d.ts +6 -0
  186. package/dist/cli/commands/cron-scheduler-shared.js +48 -0
  187. package/dist/cli/commands/cron-scheduler-start-command.d.ts +7 -0
  188. package/dist/cli/commands/cron-scheduler-start-command.js +65 -0
  189. package/dist/cli/commands/cron-scheduler-status-command.d.ts +7 -0
  190. package/dist/cli/commands/cron-scheduler-status-command.js +46 -0
  191. package/dist/cli/commands/cron-scheduler-stop-command.d.ts +7 -0
  192. package/dist/cli/commands/cron-scheduler-stop-command.js +61 -0
  193. package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
  194. package/dist/cli/commands/dispatch-command-spec.js +62 -0
  195. package/dist/cli/commands/dispatch-commands.js +159 -775
  196. package/dist/cli/commands/dispatch-dag-envelope.d.ts +41 -0
  197. package/dist/cli/commands/dispatch-dag-envelope.js +49 -0
  198. package/dist/cli/commands/dispatch-dag-failure.d.ts +18 -0
  199. package/dist/cli/commands/dispatch-dag-failure.js +16 -0
  200. package/dist/cli/commands/dispatch-dag-preflight.d.ts +51 -0
  201. package/dist/cli/commands/dispatch-dag-preflight.js +105 -0
  202. package/dist/cli/commands/dispatch-dag-runners.d.ts +48 -0
  203. package/dist/cli/commands/dispatch-dag-runners.js +73 -0
  204. package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
  205. package/dist/cli/commands/dispatch-detached-branch.js +58 -0
  206. package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
  207. package/dist/cli/commands/dispatch-envelope.js +104 -0
  208. package/dist/cli/commands/dispatch-from-dag.d.ts +27 -0
  209. package/dist/cli/commands/dispatch-from-dag.js +87 -257
  210. package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
  211. package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
  212. package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
  213. package/dist/cli/commands/dispatch-preflight.js +105 -0
  214. package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
  215. package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
  216. package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
  217. package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
  218. package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
  219. package/dist/cli/commands/dispatch-record-write.js +96 -0
  220. package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
  221. package/dist/cli/commands/dispatch-tool-call.js +128 -0
  222. package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
  223. package/dist/cli/commands/evolution-command-shared.js +107 -0
  224. package/dist/cli/commands/evolution-commands.d.ts +11 -1
  225. package/dist/cli/commands/evolution-commands.js +19 -350
  226. package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
  227. package/dist/cli/commands/evolution-evaluate-command.js +138 -0
  228. package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
  229. package/dist/cli/commands/evolution-propose-command.js +145 -0
  230. package/dist/cli/commands/evolution-status-command.d.ts +17 -0
  231. package/dist/cli/commands/evolution-status-command.js +41 -0
  232. package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
  233. package/dist/cli/commands/evolution-verdict-commands.js +100 -0
  234. package/dist/cli/commands/final-review-command-envelopes.d.ts +44 -0
  235. package/dist/cli/commands/final-review-command-envelopes.js +100 -0
  236. package/dist/cli/commands/final-review-command-shared.d.ts +52 -0
  237. package/dist/cli/commands/final-review-command-shared.js +35 -0
  238. package/dist/cli/commands/final-review-commands.d.ts +7 -27
  239. package/dist/cli/commands/final-review-commands.js +13 -240
  240. package/dist/cli/commands/final-review-prepare-command.d.ts +3 -0
  241. package/dist/cli/commands/final-review-prepare-command.js +200 -0
  242. package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
  243. package/dist/cli/commands/finalize-accumulator.js +55 -0
  244. package/dist/cli/commands/finalize-branches.d.ts +34 -0
  245. package/dist/cli/commands/finalize-branches.js +119 -0
  246. package/dist/cli/commands/finalize-runners.d.ts +3 -0
  247. package/dist/cli/commands/finalize-runners.js +92 -0
  248. package/dist/cli/commands/finalize-selection.d.ts +65 -0
  249. package/dist/cli/commands/finalize-selection.js +35 -0
  250. package/dist/cli/commands/gate-commands.js +26 -8
  251. package/dist/cli/commands/governance-classify-contract-commands.d.ts +23 -9
  252. package/dist/cli/commands/governance-classify-contract-commands.js +26 -269
  253. package/dist/cli/commands/hooks-command-shared.d.ts +42 -0
  254. package/dist/cli/commands/hooks-command-shared.js +32 -0
  255. package/dist/cli/commands/hooks-commands.d.ts +20 -0
  256. package/dist/cli/commands/hooks-commands.js +75 -309
  257. package/dist/cli/commands/hooks-install-envelopes.d.ts +6 -0
  258. package/dist/cli/commands/hooks-install-envelopes.js +144 -0
  259. package/dist/cli/commands/hooks-status-command.d.ts +3 -0
  260. package/dist/cli/commands/hooks-status-command.js +93 -0
  261. package/dist/cli/commands/hooks-uninstall-command.d.ts +3 -0
  262. package/dist/cli/commands/hooks-uninstall-command.js +43 -0
  263. package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
  264. package/dist/cli/commands/job-checkpoint-commands.js +157 -0
  265. package/dist/cli/commands/job-command-shared.d.ts +109 -0
  266. package/dist/cli/commands/job-command-shared.js +72 -0
  267. package/dist/cli/commands/job-commands.d.ts +4 -64
  268. package/dist/cli/commands/job-commands.js +42 -552
  269. package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
  270. package/dist/cli/commands/job-cost-check-command.js +41 -0
  271. package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
  272. package/dist/cli/commands/job-init-status-commands.js +149 -0
  273. package/dist/cli/commands/job-run-commands.d.ts +3 -0
  274. package/dist/cli/commands/job-run-commands.js +97 -0
  275. package/dist/cli/commands/job-state-root.d.ts +35 -0
  276. package/dist/cli/commands/job-state-root.js +76 -0
  277. package/dist/cli/commands/loop-command-shared.d.ts +31 -0
  278. package/dist/cli/commands/loop-command-shared.js +15 -0
  279. package/dist/cli/commands/loop-commands.d.ts +12 -17
  280. package/dist/cli/commands/loop-commands.js +56 -238
  281. package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
  282. package/dist/cli/commands/loop-eval-capture-index.js +44 -0
  283. package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
  284. package/dist/cli/commands/loop-eval-commands.js +12 -626
  285. package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
  286. package/dist/cli/commands/loop-eval-eval-command.js +168 -0
  287. package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
  288. package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
  289. package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
  290. package/dist/cli/commands/loop-eval-parents.js +20 -0
  291. package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
  292. package/dist/cli/commands/loop-eval-run-code.js +40 -0
  293. package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
  294. package/dist/cli/commands/loop-eval-run-command.js +113 -0
  295. package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
  296. package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
  297. package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
  298. package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
  299. package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
  300. package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
  301. package/dist/cli/commands/loop-export-command.d.ts +3 -0
  302. package/dist/cli/commands/loop-export-command.js +73 -0
  303. package/dist/cli/commands/loop-goal-compose-command.d.ts +3 -0
  304. package/dist/cli/commands/loop-goal-compose-command.js +36 -0
  305. package/dist/cli/commands/loop-import-command.d.ts +3 -0
  306. package/dist/cli/commands/loop-import-command.js +86 -0
  307. package/dist/cli/commands/loop-placeholder-commands.d.ts +3 -0
  308. package/dist/cli/commands/loop-placeholder-commands.js +52 -0
  309. package/dist/cli/commands/mcp-commands.d.ts +10 -0
  310. package/dist/cli/commands/mcp-commands.js +157 -0
  311. package/dist/cli/commands/memory-command-shared.d.ts +59 -0
  312. package/dist/cli/commands/memory-command-shared.js +39 -0
  313. package/dist/cli/commands/memory-commands.d.ts +6 -79
  314. package/dist/cli/commands/memory-commands.js +19 -309
  315. package/dist/cli/commands/memory-ingest-command.d.ts +3 -0
  316. package/dist/cli/commands/memory-ingest-command.js +50 -0
  317. package/dist/cli/commands/memory-list-command.d.ts +16 -0
  318. package/dist/cli/commands/memory-list-command.js +129 -0
  319. package/dist/cli/commands/memory-reindex-command.d.ts +9 -0
  320. package/dist/cli/commands/memory-reindex-command.js +78 -0
  321. package/dist/cli/commands/memory-rotate-command.d.ts +3 -0
  322. package/dist/cli/commands/memory-rotate-command.js +55 -0
  323. package/dist/cli/commands/memory-search-command.d.ts +7 -0
  324. package/dist/cli/commands/memory-search-command.js +46 -0
  325. package/dist/cli/commands/openspec-archive-command.d.ts +3 -0
  326. package/dist/cli/commands/openspec-archive-command.js +55 -0
  327. package/dist/cli/commands/openspec-command-shared.d.ts +62 -0
  328. package/dist/cli/commands/openspec-command-shared.js +135 -0
  329. package/dist/cli/commands/openspec-commands.d.ts +1 -1
  330. package/dist/cli/commands/openspec-commands.js +33 -306
  331. package/dist/cli/commands/openspec-from-doctor-command.d.ts +3 -0
  332. package/dist/cli/commands/openspec-from-doctor-command.js +66 -0
  333. package/dist/cli/commands/openspec-init-command.d.ts +3 -0
  334. package/dist/cli/commands/openspec-init-command.js +49 -0
  335. package/dist/cli/commands/openspec-list-command.d.ts +3 -0
  336. package/dist/cli/commands/openspec-list-command.js +27 -0
  337. package/dist/cli/commands/openspec-render-command.d.ts +3 -0
  338. package/dist/cli/commands/openspec-render-command.js +33 -0
  339. package/dist/cli/commands/openspec-show-command.d.ts +3 -0
  340. package/dist/cli/commands/openspec-show-command.js +33 -0
  341. package/dist/cli/commands/openspec-to-rd-command.d.ts +3 -0
  342. package/dist/cli/commands/openspec-to-rd-command.js +33 -0
  343. package/dist/cli/commands/openspec-validate-command.d.ts +3 -0
  344. package/dist/cli/commands/openspec-validate-command.js +45 -0
  345. package/dist/cli/commands/playwright-browser-command.d.ts +8 -0
  346. package/dist/cli/commands/playwright-browser-command.js +61 -0
  347. package/dist/cli/commands/playwright-commands.d.ts +10 -62
  348. package/dist/cli/commands/playwright-commands.js +77 -400
  349. package/dist/cli/commands/playwright-envelope.d.ts +8 -0
  350. package/dist/cli/commands/playwright-envelope.js +29 -0
  351. package/dist/cli/commands/playwright-ls-stop-commands.d.ts +4 -0
  352. package/dist/cli/commands/playwright-ls-stop-commands.js +74 -0
  353. package/dist/cli/commands/playwright-session-store.d.ts +65 -0
  354. package/dist/cli/commands/playwright-session-store.js +189 -0
  355. package/dist/cli/commands/project-commands.d.ts +19 -0
  356. package/dist/cli/commands/project-commands.js +98 -259
  357. package/dist/cli/commands/project-context-command.d.ts +3 -0
  358. package/dist/cli/commands/project-context-command.js +44 -0
  359. package/dist/cli/commands/project-dashboard-command.d.ts +3 -0
  360. package/dist/cli/commands/project-dashboard-command.js +74 -0
  361. package/dist/cli/commands/project-knowledge-command.d.ts +3 -0
  362. package/dist/cli/commands/project-knowledge-command.js +48 -0
  363. package/dist/cli/commands/project-memories-show-command.d.ts +3 -0
  364. package/dist/cli/commands/project-memories-show-command.js +87 -0
  365. package/dist/cli/commands/project-memory-index-command.d.ts +3 -0
  366. package/dist/cli/commands/project-memory-index-command.js +31 -0
  367. package/dist/cli/commands/qa-archive-screenshots-command.d.ts +3 -0
  368. package/dist/cli/commands/qa-archive-screenshots-command.js +53 -0
  369. package/dist/cli/commands/qa-commands.d.ts +14 -87
  370. package/dist/cli/commands/qa-commands.js +17 -315
  371. package/dist/cli/commands/qa-context-prestep.d.ts +1 -0
  372. package/dist/cli/commands/qa-context-prestep.js +34 -0
  373. package/dist/cli/commands/qa-run-command.d.ts +3 -0
  374. package/dist/cli/commands/qa-run-command.js +105 -0
  375. package/dist/cli/commands/qa-run-options.d.ts +23 -0
  376. package/dist/cli/commands/qa-run-options.js +31 -0
  377. package/dist/cli/commands/qa-run-slice.d.ts +41 -0
  378. package/dist/cli/commands/qa-run-slice.js +145 -0
  379. package/dist/cli/commands/release-canary-command.d.ts +28 -0
  380. package/dist/cli/commands/release-canary-command.js +129 -0
  381. package/dist/cli/commands/release-command-shared.d.ts +13 -0
  382. package/dist/cli/commands/release-command-shared.js +18 -0
  383. package/dist/cli/commands/release-commands.d.ts +10 -18
  384. package/dist/cli/commands/release-commands.js +25 -298
  385. package/dist/cli/commands/release-done-command.d.ts +3 -0
  386. package/dist/cli/commands/release-done-command.js +64 -0
  387. package/dist/cli/commands/release-hotfix-command.d.ts +3 -0
  388. package/dist/cli/commands/release-hotfix-command.js +50 -0
  389. package/dist/cli/commands/release-plan-command.d.ts +3 -0
  390. package/dist/cli/commands/release-plan-command.js +33 -0
  391. package/dist/cli/commands/release-precheck-command.d.ts +3 -0
  392. package/dist/cli/commands/release-precheck-command.js +28 -0
  393. package/dist/cli/commands/release-promote-command.d.ts +3 -0
  394. package/dist/cli/commands/release-promote-command.js +34 -0
  395. package/dist/cli/commands/release-rollback-command.d.ts +3 -0
  396. package/dist/cli/commands/release-rollback-command.js +33 -0
  397. package/dist/cli/commands/release-watch-command.d.ts +3 -0
  398. package/dist/cli/commands/release-watch-command.js +44 -0
  399. package/dist/cli/commands/request-command-options.d.ts +49 -0
  400. package/dist/cli/commands/request-command-options.js +1 -0
  401. package/dist/cli/commands/request-commands.d.ts +3 -9
  402. package/dist/cli/commands/request-commands.js +17 -522
  403. package/dist/cli/commands/request-init-command.d.ts +3 -0
  404. package/dist/cli/commands/request-init-command.js +100 -0
  405. package/dist/cli/commands/request-lint-command.d.ts +3 -0
  406. package/dist/cli/commands/request-lint-command.js +50 -0
  407. package/dist/cli/commands/request-list-command.d.ts +10 -0
  408. package/dist/cli/commands/request-list-command.js +53 -0
  409. package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
  410. package/dist/cli/commands/request-repair-status-command.js +61 -0
  411. package/dist/cli/commands/request-show-command.d.ts +3 -0
  412. package/dist/cli/commands/request-show-command.js +56 -0
  413. package/dist/cli/commands/request-transition-command.d.ts +3 -0
  414. package/dist/cli/commands/request-transition-command.js +122 -0
  415. package/dist/cli/commands/request-transition-failures.d.ts +8 -0
  416. package/dist/cli/commands/request-transition-failures.js +90 -0
  417. package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
  418. package/dist/cli/commands/request-transition-hooks.js +115 -0
  419. package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
  420. package/dist/cli/commands/request-transition-preflight.js +107 -0
  421. package/dist/cli/commands/scan-command-shared.d.ts +96 -0
  422. package/dist/cli/commands/scan-command-shared.js +83 -0
  423. package/dist/cli/commands/scan-commands.d.ts +3 -2
  424. package/dist/cli/commands/scan-commands.js +23 -463
  425. package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
  426. package/dist/cli/commands/scan-inventory-commands.js +96 -0
  427. package/dist/cli/commands/scan-project-commands.d.ts +3 -0
  428. package/dist/cli/commands/scan-project-commands.js +65 -0
  429. package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
  430. package/dist/cli/commands/scan-scope-commands.js +149 -0
  431. package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
  432. package/dist/cli/commands/scan-scope-helpers.js +54 -0
  433. package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
  434. package/dist/cli/commands/scan-structural-commands.js +113 -0
  435. package/dist/cli/commands/sediment-argv-flags.d.ts +54 -0
  436. package/dist/cli/commands/sediment-argv-flags.js +116 -0
  437. package/dist/cli/commands/sediment-command-shared.d.ts +15 -0
  438. package/dist/cli/commands/sediment-command-shared.js +5 -0
  439. package/dist/cli/commands/sediment-commands.d.ts +35 -59
  440. package/dist/cli/commands/sediment-commands.js +36 -590
  441. package/dist/cli/commands/sediment-pool-commands.d.ts +9 -0
  442. package/dist/cli/commands/sediment-pool-commands.js +185 -0
  443. package/dist/cli/commands/sediment-query-commands.d.ts +4 -0
  444. package/dist/cli/commands/sediment-query-commands.js +94 -0
  445. package/dist/cli/commands/sediment-release-commands.d.ts +8 -0
  446. package/dist/cli/commands/sediment-release-commands.js +232 -0
  447. package/dist/cli/commands/share-commands.d.ts +12 -68
  448. package/dist/cli/commands/share-commands.js +47 -556
  449. package/dist/cli/commands/share-error-hints.d.ts +14 -0
  450. package/dist/cli/commands/share-error-hints.js +38 -0
  451. package/dist/cli/commands/share-identity.d.ts +13 -0
  452. package/dist/cli/commands/share-identity.js +22 -0
  453. package/dist/cli/commands/share-record-paths.d.ts +37 -0
  454. package/dist/cli/commands/share-record-paths.js +68 -0
  455. package/dist/cli/commands/share-runners.d.ts +3 -0
  456. package/dist/cli/commands/share-runners.js +158 -0
  457. package/dist/cli/commands/shared-read-runners.d.ts +3 -0
  458. package/dist/cli/commands/shared-read-runners.js +51 -0
  459. package/dist/cli/commands/slice-check-command.d.ts +3 -0
  460. package/dist/cli/commands/slice-check-command.js +54 -0
  461. package/dist/cli/commands/slice-commands.d.ts +2 -22
  462. package/dist/cli/commands/slice-commands.js +18 -517
  463. package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
  464. package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
  465. package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
  466. package/dist/cli/commands/slice-decompose-command.js +123 -0
  467. package/dist/cli/commands/slice-list-commands.d.ts +3 -0
  468. package/dist/cli/commands/slice-list-commands.js +182 -0
  469. package/dist/cli/commands/slice-pick-command.d.ts +3 -0
  470. package/dist/cli/commands/slice-pick-command.js +60 -0
  471. package/dist/cli/commands/slice-plan-command.d.ts +24 -0
  472. package/dist/cli/commands/slice-plan-command.js +111 -0
  473. package/dist/cli/commands/sop-advance-command.d.ts +3 -0
  474. package/dist/cli/commands/sop-advance-command.js +160 -0
  475. package/dist/cli/commands/sop-check-command.d.ts +3 -0
  476. package/dist/cli/commands/sop-check-command.js +44 -0
  477. package/dist/cli/commands/sop-command-shared.d.ts +23 -0
  478. package/dist/cli/commands/sop-command-shared.js +18 -0
  479. package/dist/cli/commands/sop-commands.d.ts +15 -1
  480. package/dist/cli/commands/sop-commands.js +26 -240
  481. package/dist/cli/commands/sop-init-command.d.ts +3 -0
  482. package/dist/cli/commands/sop-init-command.js +51 -0
  483. package/dist/cli/commands/sop-lint-command.d.ts +3 -0
  484. package/dist/cli/commands/sop-lint-command.js +64 -0
  485. package/dist/cli/commands/sop-register-command.d.ts +3 -0
  486. package/dist/cli/commands/sop-register-command.js +48 -0
  487. package/dist/cli/commands/sop-registry-command.d.ts +3 -0
  488. package/dist/cli/commands/sop-registry-command.js +30 -0
  489. package/dist/cli/commands/statusline-command-shared.d.ts +73 -0
  490. package/dist/cli/commands/statusline-command-shared.js +90 -0
  491. package/dist/cli/commands/statusline-commands.d.ts +1 -19
  492. package/dist/cli/commands/statusline-commands.js +48 -287
  493. package/dist/cli/commands/statusline-compact-command.d.ts +4 -0
  494. package/dist/cli/commands/statusline-compact-command.js +54 -0
  495. package/dist/cli/commands/statusline-install-command.d.ts +3 -0
  496. package/dist/cli/commands/statusline-install-command.js +48 -0
  497. package/dist/cli/commands/statusline-render-command.d.ts +9 -0
  498. package/dist/cli/commands/statusline-render-command.js +55 -0
  499. package/dist/cli/commands/statusline-status-command.d.ts +3 -0
  500. package/dist/cli/commands/statusline-status-command.js +23 -0
  501. package/dist/cli/commands/statusline-uninstall-command.d.ts +3 -0
  502. package/dist/cli/commands/statusline-uninstall-command.js +23 -0
  503. package/dist/cli/commands/test-command-run-helpers.d.ts +27 -0
  504. package/dist/cli/commands/test-command-run-helpers.js +73 -0
  505. package/dist/cli/commands/test-command-runner-resolution.d.ts +57 -0
  506. package/dist/cli/commands/test-command-runner-resolution.js +183 -0
  507. package/dist/cli/commands/test-commands.d.ts +8 -56
  508. package/dist/cli/commands/test-commands.js +26 -249
  509. package/dist/cli/commands/vm-command-shared.d.ts +23 -0
  510. package/dist/cli/commands/vm-command-shared.js +23 -0
  511. package/dist/cli/commands/vm-commands.d.ts +1 -28
  512. package/dist/cli/commands/vm-commands.js +36 -270
  513. package/dist/cli/commands/vm-hypervisor-runtime.d.ts +15 -0
  514. package/dist/cli/commands/vm-hypervisor-runtime.js +64 -0
  515. package/dist/cli/commands/vm-release-command.d.ts +5 -0
  516. package/dist/cli/commands/vm-release-command.js +101 -0
  517. package/dist/cli/commands/vm-spawn-command.d.ts +5 -0
  518. package/dist/cli/commands/vm-spawn-command.js +177 -0
  519. package/dist/cli/commands/web-command-shared.d.ts +12 -0
  520. package/dist/cli/commands/web-command-shared.js +30 -0
  521. package/dist/cli/commands/web-commands.d.ts +7 -14
  522. package/dist/cli/commands/web-commands.js +6 -314
  523. package/dist/cli/commands/web-install-command.d.ts +10 -0
  524. package/dist/cli/commands/web-install-command.js +116 -0
  525. package/dist/cli/commands/web-lifecycle-commands.d.ts +9 -30
  526. package/dist/cli/commands/web-lifecycle-commands.js +14 -322
  527. package/dist/cli/commands/web-login-command.d.ts +14 -0
  528. package/dist/cli/commands/web-login-command.js +189 -0
  529. package/dist/cli/commands/web-op-payload.d.ts +22 -0
  530. package/dist/cli/commands/web-op-payload.js +89 -0
  531. package/dist/cli/commands/web-op-refusals.d.ts +37 -0
  532. package/dist/cli/commands/web-op-refusals.js +73 -0
  533. package/dist/cli/commands/web-op-runner.d.ts +14 -0
  534. package/dist/cli/commands/web-op-runner.js +166 -0
  535. package/dist/cli/commands/web-status-command.d.ts +4 -0
  536. package/dist/cli/commands/web-status-command.js +32 -0
  537. package/dist/cli/commands/web-stop-command.d.ts +10 -0
  538. package/dist/cli/commands/web-stop-command.js +59 -0
  539. package/dist/cli/commands/web-verb-specs.d.ts +18 -0
  540. package/dist/cli/commands/web-verb-specs.js +66 -0
  541. package/dist/cli/commands/workflow-command-shared.d.ts +102 -0
  542. package/dist/cli/commands/workflow-command-shared.js +74 -0
  543. package/dist/cli/commands/workflow-commands.d.ts +10 -1
  544. package/dist/cli/commands/workflow-commands.js +6 -594
  545. package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
  546. package/dist/cli/commands/workflow-gate-commands.js +116 -0
  547. package/dist/cli/commands/workflow-graph-commands.d.ts +3 -0
  548. package/dist/cli/commands/workflow-graph-commands.js +73 -0
  549. package/dist/cli/commands/workflow-init-command.d.ts +3 -0
  550. package/dist/cli/commands/workflow-init-command.js +68 -0
  551. package/dist/cli/commands/workflow-lifecycle-commands.d.ts +9 -59
  552. package/dist/cli/commands/workflow-lifecycle-commands.js +14 -348
  553. package/dist/cli/commands/workflow-node-commands.d.ts +3 -0
  554. package/dist/cli/commands/workflow-node-commands.js +154 -0
  555. package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
  556. package/dist/cli/commands/workflow-plan-helpers.js +103 -0
  557. package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
  558. package/dist/cli/commands/workflow-planning-commands.js +56 -0
  559. package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
  560. package/dist/cli/commands/workflow-swarm-actions.js +109 -0
  561. package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
  562. package/dist/cli/commands/workflow-swarm-commands.js +138 -0
  563. package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
  564. package/dist/cli/commands/workflow-tech-actions.js +150 -0
  565. package/dist/cli/commands/workflow-terminalize-command.d.ts +3 -0
  566. package/dist/cli/commands/workflow-terminalize-command.js +56 -0
  567. package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
  568. package/dist/cli/commands/workspace/init-actions.js +199 -0
  569. package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
  570. package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
  571. package/dist/cli/commands/workspace/init-command.d.ts +8 -124
  572. package/dist/cli/commands/workspace/init-command.js +59 -623
  573. package/dist/cli/commands/workspace/init-context.d.ts +58 -0
  574. package/dist/cli/commands/workspace/init-context.js +121 -0
  575. package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
  576. package/dist/cli/commands/workspace/init-envelope.js +34 -0
  577. package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
  578. package/dist/cli/commands/workspace/init-failures.js +84 -0
  579. package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
  580. package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
  581. package/dist/cli/commands/workspace/init-options.d.ts +102 -0
  582. package/dist/cli/commands/workspace/init-options.js +1 -0
  583. package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
  584. package/dist/cli/commands/worktree-lease-commands.js +42 -512
  585. package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
  586. package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
  587. package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
  588. package/dist/cli/commands/worktree-lease-git.js +48 -0
  589. package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
  590. package/dist/cli/commands/worktree-lease-list-command.js +100 -0
  591. package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
  592. package/dist/cli/commands/worktree-lease-load.js +28 -0
  593. package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
  594. package/dist/cli/commands/worktree-lease-release-command.js +105 -0
  595. package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
  596. package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
  597. package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
  598. package/dist/cli/commands/worktree-lease-session.js +29 -0
  599. package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
  600. package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
  601. package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
  602. package/dist/cli/commands/worktree-lease-status-command.js +86 -0
  603. package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
  604. package/dist/cli/commands/worktree-lease-store.js +24 -0
  605. package/dist/cli/program.js +5 -0
  606. package/dist/services/code/auto-compact-artifacts.d.ts +54 -0
  607. package/dist/services/code/auto-compact-artifacts.js +135 -0
  608. package/dist/services/code/auto-compact-attempt.d.ts +46 -0
  609. package/dist/services/code/auto-compact-attempt.js +88 -0
  610. package/dist/services/code/auto-compact-decision.d.ts +74 -0
  611. package/dist/services/code/auto-compact-decision.js +149 -0
  612. package/dist/services/code/auto-compact-dispatch-gate.d.ts +36 -0
  613. package/dist/services/code/auto-compact-dispatch-gate.js +86 -0
  614. package/dist/services/code/auto-compact-envelopes.d.ts +33 -0
  615. package/dist/services/code/auto-compact-envelopes.js +134 -0
  616. package/dist/services/code/auto-compact-history.d.ts +46 -0
  617. package/dist/services/code/auto-compact-history.js +17 -0
  618. package/dist/services/code/auto-compact-orchestrator.d.ts +11 -240
  619. package/dist/services/code/auto-compact-orchestrator.js +165 -686
  620. package/dist/services/code/auto-compact-run-types.d.ts +123 -0
  621. package/dist/services/code/auto-compact-run-types.js +1 -0
  622. package/dist/services/code/emit-handoff.d.ts +35 -1
  623. package/dist/services/code/emit-handoff.js +128 -7
  624. package/dist/services/code/step-08-gate.d.ts +28 -19
  625. package/dist/services/code/step-08-gate.js +92 -35
  626. package/dist/services/config/config-coercion.d.ts +7 -0
  627. package/dist/services/config/config-coercion.js +156 -0
  628. package/dist/services/config/config-file-io.d.ts +11 -0
  629. package/dist/services/config/config-file-io.js +61 -0
  630. package/dist/services/config/config-get.d.ts +2 -0
  631. package/dist/services/config/config-get.js +36 -0
  632. package/dist/services/config/config-global-loader.d.ts +15 -0
  633. package/dist/services/config/config-global-loader.js +111 -0
  634. package/dist/services/config/config-nested-path.d.ts +3 -0
  635. package/dist/services/config/config-nested-path.js +53 -0
  636. package/dist/services/config/config-primitives.d.ts +16 -0
  637. package/dist/services/config/config-primitives.js +24 -0
  638. package/dist/services/config/config-service.d.ts +9 -33
  639. package/dist/services/config/config-service.js +16 -665
  640. package/dist/services/config/config-validation.d.ts +19 -0
  641. package/dist/services/config/config-validation.js +152 -0
  642. package/dist/services/config/config-workspace.d.ts +10 -0
  643. package/dist/services/config/config-workspace.js +158 -0
  644. package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
  645. package/dist/services/distribution/mcp-install-runner.js +59 -0
  646. package/dist/services/distribution/mcp-install.d.ts +95 -0
  647. package/dist/services/distribution/mcp-install.js +179 -0
  648. package/dist/services/distribution/plugin-manifest.d.ts +97 -0
  649. package/dist/services/distribution/plugin-manifest.js +126 -0
  650. package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
  651. package/dist/services/hooks/mcp-surface-gate.js +87 -0
  652. package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -35
  653. package/dist/services/ide/adapters/claude-code-adapter.js +48 -171
  654. package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
  655. package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
  656. package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
  657. package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
  658. package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
  659. package/dist/services/ide/ide-mcp-install-types.js +104 -0
  660. package/dist/services/ide/ide-types.d.ts +45 -1
  661. package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
  662. package/dist/services/ide/mcp-tool-matcher.js +84 -0
  663. package/dist/services/lint/npx-resolver.js +7 -0
  664. package/dist/services/mcp/cli-executor.d.ts +36 -0
  665. package/dist/services/mcp/cli-executor.js +97 -0
  666. package/dist/services/mcp/json-rpc.d.ts +81 -0
  667. package/dist/services/mcp/json-rpc.js +116 -0
  668. package/dist/services/mcp/memory-tool.d.ts +3 -0
  669. package/dist/services/mcp/memory-tool.js +62 -0
  670. package/dist/services/mcp/server-main.d.ts +1 -0
  671. package/dist/services/mcp/server-main.js +66 -0
  672. package/dist/services/mcp/server.d.ts +22 -0
  673. package/dist/services/mcp/server.js +152 -0
  674. package/dist/services/mcp/surface.d.ts +62 -0
  675. package/dist/services/mcp/surface.js +198 -0
  676. package/dist/services/mcp/tool-core.d.ts +42 -0
  677. package/dist/services/mcp/tool-core.js +137 -0
  678. package/dist/services/mcp/tools.d.ts +13 -0
  679. package/dist/services/mcp/tools.js +58 -0
  680. package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
  681. package/dist/services/readonly-surface/argv-guard.js +164 -0
  682. package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
  683. package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
  684. package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
  685. package/dist/services/readonly-surface/whitelist-generator.js +212 -0
  686. package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -0
  687. package/dist/services/skills/hooks-codegate-superpowers.js +26 -0
  688. package/dist/services/skills/hooks-settings-deny-list.d.ts +61 -0
  689. package/dist/services/skills/hooks-settings-deny-list.js +173 -0
  690. package/dist/services/skills/hooks-settings-envelopes.d.ts +20 -0
  691. package/dist/services/skills/hooks-settings-envelopes.js +79 -0
  692. package/dist/services/skills/hooks-settings-file-shape.d.ts +43 -0
  693. package/dist/services/skills/hooks-settings-file-shape.js +207 -0
  694. package/dist/services/skills/hooks-settings-paths.d.ts +34 -0
  695. package/dist/services/skills/hooks-settings-paths.js +75 -0
  696. package/dist/services/skills/hooks-settings-read-installed.d.ts +39 -0
  697. package/dist/services/skills/hooks-settings-read-installed.js +60 -0
  698. package/dist/services/skills/hooks-settings-service.d.ts +12 -212
  699. package/dist/services/skills/hooks-settings-service.js +71 -649
  700. package/dist/services/skills/hooks-settings-types.d.ts +139 -0
  701. package/dist/services/skills/hooks-settings-types.js +1 -0
  702. package/dist/services/workspace/claude-settings-template-merge.d.ts +89 -0
  703. package/dist/services/workspace/claude-settings-template-merge.js +243 -0
  704. package/dist/services/workspace/claude-settings-template.d.ts +29 -87
  705. package/dist/services/workspace/claude-settings-template.js +81 -236
  706. package/package.json +17 -6
  707. package/scripts/install-skills-bundles.mjs +233 -0
  708. package/scripts/install-skills-fs.mjs +148 -0
  709. package/scripts/install-skills-ide.mjs +279 -0
  710. package/scripts/install-skills-output-style-default.mjs +196 -0
  711. package/scripts/install-skills-output-styles.mjs +121 -0
  712. package/scripts/install-skills-report.mjs +42 -0
  713. package/scripts/install-skills-user-config.mjs +198 -0
  714. package/scripts/install-skills.mjs +36 -1066
  715. package/scripts/watch-tree.mjs +140 -0
  716. package/scripts/watch.mjs +4 -126
  717. package/skills/peaks-status/SKILL.md +31 -13
@@ -0,0 +1,138 @@
1
+ import { EvolutionIntegrityError } from '../../services/evolution/evolution-service.js';
2
+ import { runIndependentEvaluator } from '../../services/evolution/independent-evaluator-runner.js';
3
+ import { addJsonOption, printResult } from '../cli-helpers.js';
4
+ import { ok } from 'peaks-loop-shared/result';
5
+ import { collectRepeatable, isScoreInRange, proposalNotFoundFailure, reportFailure, reportIntegrityFailure, scoreRangeFailure, withEvolutionDbAsync } from './evolution-command-shared.js';
6
+ const EVALUATE_DESCRIPTION = "M4: score a proposal with an independent evaluator (AC-12/AC-13) and a regression skeptic (AC-14). The result is the FINAL verdict: 'keep' (after user confirmation), 'revert' (skeptic blocker or score delta below threshold), or 'needs-user-decision'.";
7
+ /** The `svc.score(...)` argument object, built from the CLI flags. */
8
+ function evaluateScoreArgs(options, evaluatorResult) {
9
+ return {
10
+ evaluator_id: options.evaluator,
11
+ skeptic_id: options.skeptic,
12
+ evaluator_result: evaluatorResult,
13
+ skeptic_result: {
14
+ driftRisks: [],
15
+ overfitRisks: [],
16
+ safetyRegressionRisks: []
17
+ },
18
+ ...(options.briefPointer !== undefined ? { brief_pointer: options.briefPointer } : {})
19
+ };
20
+ }
21
+ /** The `nextActions` the final verdict implies (unchanged wording). */
22
+ function evaluateNextActions(evaluation) {
23
+ if (evaluation.verdict === 'needs-user-decision') {
24
+ return [
25
+ `User confirmation required. Run \`peaks evolution mark-keep --proposal ${evaluation.id} --user-confirmation <ptr> --json\` after the user picks "keep", OR \`peaks evolution revert --proposal ${evaluation.id} --json\`.`
26
+ ];
27
+ }
28
+ if (evaluation.verdict === 'revert') {
29
+ return [
30
+ 'Proposal reverted. Investigate the skeptic blocker or the score delta below threshold.'
31
+ ];
32
+ }
33
+ return [
34
+ 'Proposal kept. The target asset remains unchanged on disk; full promotion lands in a later slice.'
35
+ ];
36
+ }
37
+ /** The `ok(...)` `data` payload for a completed evaluation. */
38
+ function evaluateEnvelopeData(evaluation) {
39
+ return {
40
+ proposalId: evaluation.id,
41
+ verdict: evaluation.verdict,
42
+ evaluator_id: evaluation.evaluator_id,
43
+ skeptic_id: evaluation.skeptic_id,
44
+ evaluator_result: evaluation.evaluator_result,
45
+ skeptic_result: evaluation.skeptic_result,
46
+ score_delta: evaluation.proposal.score_delta,
47
+ score_delta_min: evaluation.proposal.score_delta_min,
48
+ after_score: evaluation.proposal.after_score,
49
+ nextActions: evaluateNextActions(evaluation)
50
+ };
51
+ }
52
+ /** Print the evaluate failure envelope for `err` and set exit code 1. */
53
+ function reportEvaluateFailure(io, err, options) {
54
+ if (err instanceof EvolutionIntegrityError) {
55
+ reportIntegrityFailure({
56
+ io,
57
+ command: 'evolution.evaluate',
58
+ error: err,
59
+ nextActions: [
60
+ 'Re-shape per spec §6: evaluator and skeptic MUST be separate from the author; the score delta MUST be >= score_delta_min for keep.'
61
+ ],
62
+ asJson: options.json
63
+ });
64
+ return;
65
+ }
66
+ reportFailure({
67
+ io,
68
+ command: 'evolution.evaluate',
69
+ code: 'EVOLUTION_EVALUATE_FAILED',
70
+ error: err,
71
+ data: { proposalId: options.proposal },
72
+ nextActions: ['Verify the proposal id and the evaluator / skeptic ids.'],
73
+ asJson: options.json
74
+ });
75
+ }
76
+ /** The service-side half of the `evaluate` action, inside the open DB scope. */
77
+ async function evaluateWithinService(svc, options, score, io) {
78
+ const evaluation = svc.read(options.proposal);
79
+ if (!evaluation) {
80
+ printResult(io, proposalNotFoundFailure('evolution.evaluate', options.proposal, [
81
+ 'Verify the proposal id and that you have run `peaks evolution propose` first.'
82
+ ]), options.json);
83
+ process.exitCode = 1;
84
+ return;
85
+ }
86
+ // The CLI runs the deterministic LLM stubs (no live LLM in M4).
87
+ // Real LLM wiring lands in M5.
88
+ const evaluatorResult = await runIndependentEvaluator(evaluation.proposal);
89
+ // Force the CLI-supplied --evaluator-score to be the final score;
90
+ // the LLM stub's score is informational.
91
+ evaluatorResult.score = score;
92
+ if (options.refuteParagraph && options.refuteParagraph.length > 0) {
93
+ evaluatorResult.refuteParagraph = options.refuteParagraph;
94
+ }
95
+ if (Array.isArray(options.riskTag) && options.riskTag.length > 0) {
96
+ evaluatorResult.riskTags = [...evaluatorResult.riskTags, ...options.riskTag];
97
+ }
98
+ const scored = svc.score(options.proposal, evaluateScoreArgs(options, evaluatorResult));
99
+ printResult(io, ok('evolution.evaluate', evaluateEnvelopeData(scored), [], []), options.json);
100
+ if (scored.verdict === 'revert')
101
+ process.exitCode = 1;
102
+ }
103
+ /** The `evaluate` action body. */
104
+ export async function runEvaluate(options, io) {
105
+ try {
106
+ const score = Number(options.evaluatorScore);
107
+ if (!isScoreInRange(score)) {
108
+ printResult(io, scoreRangeFailure({
109
+ command: 'evolution.evaluate',
110
+ code: 'EVOLUTION_INVALID_EVALUATOR_SCORE',
111
+ label: 'evaluator-score',
112
+ flag: '--evaluator-score',
113
+ key: 'evaluatorScore',
114
+ raw: options.evaluatorScore
115
+ }), options.json);
116
+ process.exitCode = 1;
117
+ return;
118
+ }
119
+ await withEvolutionDbAsync(options.project, (svc) => evaluateWithinService(svc, options, score, io));
120
+ }
121
+ catch (err) {
122
+ reportEvaluateFailure(io, err, options);
123
+ }
124
+ }
125
+ /** Register `peaks evolution evaluate` on the `evolution` parent. */
126
+ export function registerEvaluateCommand(evolution, io) {
127
+ addJsonOption(evolution
128
+ .command('evaluate')
129
+ .description(EVALUATE_DESCRIPTION)
130
+ .requiredOption('--proposal <id>', 'proposal id returned by `peaks evolution propose`')
131
+ .requiredOption('--evaluator <id>', 'independent scorer id (MUST differ from --author; AC-10)')
132
+ .requiredOption('--skeptic <id>', 'regression skeptic id (MUST differ from --evaluator and --author; AC-12/AC-14)')
133
+ .requiredOption('--evaluator-score <n>', "the independent scorer's score on the 0..10 scale (LLM-derived; NOT the author's after_score)")
134
+ .option('--refute-paragraph <text>', "the independent scorer's one-paragraph refute (LLM-authored)", '')
135
+ .option('--risk-tag <tag>', 'add a risk tag emitted by the evaluator (repeatable)', collectRepeatable, [])
136
+ .option('--brief-pointer <ptr>', 'pointer to the evidence brief (spec §4.7 / §4.4)')
137
+ .option('--project <path>', 'project root (default: cwd)')).action((options) => runEvaluate(options, io));
138
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `peaks evolution propose` — M4 / spec §4.4 / §6.1 #5. Split out of
3
+ * `evolution-commands.ts`: the option surface, the envelope keys and
4
+ * the exit-code sites are unchanged.
5
+ */
6
+ import type { Command } from 'commander';
7
+ import { type ProgramIO } from '../cli-helpers.js';
8
+ /** The `--options` Commander hands to the `propose` action. */
9
+ export interface ProposeOptions {
10
+ target: string;
11
+ dimension: string;
12
+ beforeScore: string;
13
+ afterScore: string;
14
+ deltaMin: string;
15
+ author: string;
16
+ briefPointer?: string;
17
+ project?: string;
18
+ json?: boolean;
19
+ }
20
+ /** The `propose` action body. */
21
+ export declare function runPropose(options: ProposeOptions, io: ProgramIO): void;
22
+ /** Register `peaks evolution propose` on the `evolution` parent. */
23
+ export declare function registerProposeCommand(evolution: Command, io: ProgramIO): void;
@@ -0,0 +1,145 @@
1
+ import { EvolutionIntegrityError } from '../../services/evolution/evolution-service.js';
2
+ import { addJsonOption, printResult } from '../cli-helpers.js';
3
+ import { ok } from 'peaks-loop-shared/result';
4
+ import { deltaMinFailure, invalidTargetFailure, isScoreInRange, parseTargetFlag, reportFailure, reportIntegrityFailure, scoreRangeFailure, withEvolutionDb } from './evolution-command-shared.js';
5
+ const PROPOSE_DESCRIPTION = "M4: persist a new evolution proposal. Enforces AC-8 (single object + single dimension). The proposal's verdict starts at 'needs-user-decision' until the scoring + skeptic step lands.";
6
+ /**
7
+ * Validate `--target`, `--before-score`, `--after-score` and
8
+ * `--delta-min` in that order, returning the first failure envelope
9
+ * the original action would have printed.
10
+ */
11
+ function preparePropose(options) {
12
+ const target = parseTargetFlag(options.target);
13
+ if (!target)
14
+ return { ok: false, failure: invalidTargetFailure('evolution.propose', options.target) };
15
+ const before = Number(options.beforeScore);
16
+ if (!isScoreInRange(before)) {
17
+ return {
18
+ ok: false,
19
+ failure: scoreRangeFailure({
20
+ command: 'evolution.propose',
21
+ code: 'EVOLUTION_INVALID_BEFORE_SCORE',
22
+ label: 'before_score',
23
+ flag: '--before-score',
24
+ key: 'beforeScore',
25
+ raw: options.beforeScore
26
+ })
27
+ };
28
+ }
29
+ const after = Number(options.afterScore);
30
+ if (!isScoreInRange(after)) {
31
+ return {
32
+ ok: false,
33
+ failure: scoreRangeFailure({
34
+ command: 'evolution.propose',
35
+ code: 'EVOLUTION_INVALID_AFTER_SCORE',
36
+ label: 'after_score',
37
+ flag: '--after-score',
38
+ key: 'afterScore',
39
+ raw: options.afterScore
40
+ })
41
+ };
42
+ }
43
+ const deltaMin = Number(options.deltaMin);
44
+ if (!Number.isFinite(deltaMin) || deltaMin < 0) {
45
+ return { ok: false, failure: deltaMinFailure('evolution.propose', options.deltaMin) };
46
+ }
47
+ return { ok: true, target, before, after, deltaMin };
48
+ }
49
+ /** The `EvolutionProposalInput` the service receives. */
50
+ function proposeInput(prep, options) {
51
+ return {
52
+ target_kind: prep.target.kind,
53
+ target_release_id: prep.target.id,
54
+ optimization_dimension: options.dimension,
55
+ before_snapshot: {},
56
+ after_snapshot: { after_score: prep.after },
57
+ diff: {},
58
+ before_score: prep.before,
59
+ after_score: prep.after,
60
+ score_delta_min: prep.deltaMin,
61
+ author_id: options.author,
62
+ single_object: true,
63
+ single_optimization_dimension: true,
64
+ rubric: {},
65
+ red_lines: [],
66
+ source_traces: []
67
+ };
68
+ }
69
+ /** The `ok(...)` `data` payload for a freshly created proposal. */
70
+ function proposeEnvelopeData(proposal, options) {
71
+ return {
72
+ proposal: {
73
+ id: proposal.id,
74
+ target_kind: proposal.target_kind,
75
+ target_release_id: proposal.target_release_id,
76
+ optimization_dimension: proposal.optimization_dimension,
77
+ before_score: proposal.before_score,
78
+ after_score: proposal.after_score,
79
+ score_delta: proposal.score_delta,
80
+ score_delta_min: proposal.score_delta_min,
81
+ author_id: proposal.author_id,
82
+ verdict: 'needs-user-decision',
83
+ ...(options.briefPointer !== undefined ? { brief_pointer: options.briefPointer } : {})
84
+ },
85
+ nextActions: [
86
+ `Run \`peaks evolution evaluate --proposal ${proposal.id} --evaluator <id> --skeptic <id> --evaluator-score <n> --json\` to score the proposal.`
87
+ ]
88
+ };
89
+ }
90
+ /** Print the propose failure envelope for `err` and set exit code 1. */
91
+ function reportProposeFailure(io, err, options) {
92
+ if (err instanceof EvolutionIntegrityError) {
93
+ reportIntegrityFailure({
94
+ io,
95
+ command: 'evolution.propose',
96
+ error: err,
97
+ nextActions: [
98
+ 'Re-shape the proposal per spec §6: single object, single dimension, separate scorer.',
99
+ 'If you intended a multi-object change, split it into multiple rounds.'
100
+ ],
101
+ asJson: options.json
102
+ });
103
+ return;
104
+ }
105
+ reportFailure({
106
+ io,
107
+ command: 'evolution.propose',
108
+ code: 'EVOLUTION_PROPOSE_FAILED',
109
+ error: err,
110
+ data: {},
111
+ nextActions: ['Verify the target flag and dimension.'],
112
+ asJson: options.json
113
+ });
114
+ }
115
+ /** The `propose` action body. */
116
+ export function runPropose(options, io) {
117
+ try {
118
+ const prep = preparePropose(options);
119
+ if (!prep.ok) {
120
+ printResult(io, prep.failure, options.json);
121
+ process.exitCode = 1;
122
+ return;
123
+ }
124
+ const input = proposeInput(prep, options);
125
+ const proposal = withEvolutionDb(options.project, (svc) => svc.createProposal(input));
126
+ printResult(io, ok('evolution.propose', proposeEnvelopeData(proposal, options), [], []), options.json);
127
+ }
128
+ catch (err) {
129
+ reportProposeFailure(io, err, options);
130
+ }
131
+ }
132
+ /** Register `peaks evolution propose` on the `evolution` parent. */
133
+ export function registerProposeCommand(evolution, io) {
134
+ addJsonOption(evolution
135
+ .command('propose')
136
+ .description(PROPOSE_DESCRIPTION)
137
+ .requiredOption('--target <kind:id>', "target asset, e.g. 'loop:loop-onboarding-research' or 'bee:42'")
138
+ .requiredOption('--dimension <name>', "single optimization dimension (e.g. 'clarity')")
139
+ .requiredOption('--before-score <n>', 'score on the 0..10 scale BEFORE the change')
140
+ .requiredOption('--after-score <n>', 'score on the 0..10 scale AFTER the change (LLM-claimed)')
141
+ .option('--delta-min <n>', `minimum score delta for promotion (default: 1.0; spec §6.1 #5)`, '1.0')
142
+ .requiredOption('--author <id>', 'author agent id (the LLM proposing the change)')
143
+ .option('--brief-pointer <ptr>', 'pointer to the evidence brief used in the recommendation (spec §4.7 / §4.4)')
144
+ .option('--project <path>', 'project root (default: cwd)')).action((options) => runPropose(options, io));
145
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `peaks evolution status` — M4 / spec §4.4. Split out of
3
+ * `evolution-commands.ts`: the option surface, the envelope and the
4
+ * exit-code sites are unchanged.
5
+ */
6
+ import type { Command } from 'commander';
7
+ import { type ProgramIO } from '../cli-helpers.js';
8
+ /** The `--options` Commander hands to the `status` action. */
9
+ export interface StatusOptions {
10
+ target: string;
11
+ project?: string;
12
+ json?: boolean;
13
+ }
14
+ /** The `status` action body. */
15
+ export declare function runStatus(options: StatusOptions, io: ProgramIO): void;
16
+ /** Register `peaks evolution status` on the `evolution` parent. */
17
+ export declare function registerStatusCommand(evolution: Command, io: ProgramIO): void;
@@ -0,0 +1,41 @@
1
+ import { addJsonOption, printResult } from '../cli-helpers.js';
2
+ import { ok } from 'peaks-loop-shared/result';
3
+ import { invalidTargetFailure, parseTargetFlag, reportFailure, withEvolutionDb } from './evolution-command-shared.js';
4
+ const STATUS_DESCRIPTION = 'M4: read the status snapshot for a target (counts of evaluations by verdict + latest evaluation id).';
5
+ /** The `{ target_kind, target_release_id }` argument `svc.status` takes. */
6
+ function statusTarget(target) {
7
+ return { target_kind: target.kind, target_release_id: target.id };
8
+ }
9
+ /** The `status` action body. */
10
+ export function runStatus(options, io) {
11
+ try {
12
+ const target = parseTargetFlag(options.target);
13
+ if (!target) {
14
+ printResult(io, invalidTargetFailure('evolution.status', options.target), options.json);
15
+ process.exitCode = 1;
16
+ return;
17
+ }
18
+ const targetArg = statusTarget(target);
19
+ const status = withEvolutionDb(options.project, (svc) => svc.status(targetArg));
20
+ printResult(io, ok('evolution.status', status, [], []), options.json);
21
+ }
22
+ catch (err) {
23
+ reportFailure({
24
+ io,
25
+ command: 'evolution.status',
26
+ code: 'EVOLUTION_STATUS_FAILED',
27
+ error: err,
28
+ data: { target: options.target },
29
+ nextActions: ['Verify the target flag.'],
30
+ asJson: options.json
31
+ });
32
+ }
33
+ }
34
+ /** Register `peaks evolution status` on the `evolution` parent. */
35
+ export function registerStatusCommand(evolution, io) {
36
+ addJsonOption(evolution
37
+ .command('status')
38
+ .description(STATUS_DESCRIPTION)
39
+ .requiredOption('--target <kind:id>', "target asset, e.g. 'loop:loop-onboarding-research'")
40
+ .option('--project <path>', 'project root (default: cwd)')).action((options) => runStatus(options, io));
41
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * `peaks evolution mark-keep` + `peaks evolution revert` — the two
3
+ * explicit-verdict verbs (spec §6.1 #8). Split out of
4
+ * `evolution-commands.ts`: the option surfaces, the envelope keys and
5
+ * the exit-code sites are unchanged.
6
+ */
7
+ import type { Command } from 'commander';
8
+ import { type ProgramIO } from '../cli-helpers.js';
9
+ /** The `--options` Commander hands to the `mark-keep` action. */
10
+ export interface MarkKeepOptions {
11
+ proposal: string;
12
+ userConfirmation: string;
13
+ project?: string;
14
+ json?: boolean;
15
+ }
16
+ /** The `--options` Commander hands to the `revert` action. */
17
+ export interface RevertOptions {
18
+ proposal: string;
19
+ userConfirmation?: string;
20
+ project?: string;
21
+ json?: boolean;
22
+ }
23
+ /** The `mark-keep` action body. */
24
+ export declare function runMarkKeep(options: MarkKeepOptions, io: ProgramIO): void;
25
+ /** The `revert` action body. */
26
+ export declare function runRevert(options: RevertOptions, io: ProgramIO): void;
27
+ /** Register `peaks evolution mark-keep` on the `evolution` parent. */
28
+ export declare function registerMarkKeepCommand(evolution: Command, io: ProgramIO): void;
29
+ /** Register `peaks evolution revert` on the `evolution` parent. */
30
+ export declare function registerRevertCommand(evolution: Command, io: ProgramIO): void;
@@ -0,0 +1,100 @@
1
+ import { EvolutionIntegrityError } from '../../services/evolution/evolution-service.js';
2
+ import { addJsonOption, printResult } from '../cli-helpers.js';
3
+ import { ok } from 'peaks-loop-shared/result';
4
+ import { proposalNotFoundFailure, reportFailure, reportIntegrityFailure, withEvolutionDb } from './evolution-command-shared.js';
5
+ const MARK_KEEP_DESCRIPTION = 'M4: explicit user-confirmed `keep` verdict. Requires --user-confirmation <ptr> and a score_delta >= score_delta_min (AC-11/AC-15).';
6
+ const REVERT_DESCRIPTION = 'M4: revert a proposal (universal recovery; spec §6.1 #8). Always allowed; the user may supply --user-confirmation for audit.';
7
+ /** Print the mark-keep failure envelope for `err` and set exit code 1. */
8
+ function reportMarkKeepFailure(io, err, options) {
9
+ if (err instanceof EvolutionIntegrityError) {
10
+ reportIntegrityFailure({
11
+ io,
12
+ command: 'evolution.mark-keep',
13
+ error: err,
14
+ nextActions: ['Re-shape the proposal or the score so score_delta >= score_delta_min.'],
15
+ asJson: options.json
16
+ });
17
+ return;
18
+ }
19
+ reportFailure({
20
+ io,
21
+ command: 'evolution.mark-keep',
22
+ code: 'EVOLUTION_MARK_KEEP_FAILED',
23
+ error: err,
24
+ data: { proposalId: options.proposal },
25
+ nextActions: ['Verify the proposal id.'],
26
+ asJson: options.json
27
+ });
28
+ }
29
+ /** The `ok(...)` `data` payload for a confirmed `keep`. */
30
+ function markKeepEnvelopeData(updated) {
31
+ return {
32
+ proposalId: updated.id,
33
+ verdict: updated.verdict,
34
+ user_confirmation_pointer: updated.user_confirmation_pointer ?? null,
35
+ score_delta: updated.proposal.score_delta,
36
+ score_delta_min: updated.proposal.score_delta_min
37
+ };
38
+ }
39
+ /** The `mark-keep` action body. */
40
+ export function runMarkKeep(options, io) {
41
+ try {
42
+ const updated = withEvolutionDb(options.project, (svc) => svc.markVerdict(options.proposal, 'keep', options.userConfirmation));
43
+ if (!updated) {
44
+ printResult(io, proposalNotFoundFailure('evolution.mark-keep', options.proposal, [
45
+ 'Verify the proposal id.'
46
+ ]), options.json);
47
+ process.exitCode = 1;
48
+ return;
49
+ }
50
+ printResult(io, ok('evolution.mark-keep', markKeepEnvelopeData(updated), [], []), options.json);
51
+ }
52
+ catch (err) {
53
+ reportMarkKeepFailure(io, err, options);
54
+ }
55
+ }
56
+ /** The `revert` action body. */
57
+ export function runRevert(options, io) {
58
+ try {
59
+ const updated = withEvolutionDb(options.project, (svc) => svc.revert(options.proposal, options.userConfirmation));
60
+ if (!updated) {
61
+ printResult(io, proposalNotFoundFailure('evolution.revert', options.proposal, ['Verify the proposal id.']), options.json);
62
+ process.exitCode = 1;
63
+ return;
64
+ }
65
+ printResult(io, ok('evolution.revert', {
66
+ proposalId: updated.id,
67
+ verdict: updated.verdict,
68
+ user_confirmation_pointer: updated.user_confirmation_pointer ?? null
69
+ }, [], []), options.json);
70
+ }
71
+ catch (err) {
72
+ reportFailure({
73
+ io,
74
+ command: 'evolution.revert',
75
+ code: 'EVOLUTION_REVERT_FAILED',
76
+ error: err,
77
+ data: { proposalId: options.proposal },
78
+ nextActions: ['Verify the proposal id.'],
79
+ asJson: options.json
80
+ });
81
+ }
82
+ }
83
+ /** Register `peaks evolution mark-keep` on the `evolution` parent. */
84
+ export function registerMarkKeepCommand(evolution, io) {
85
+ addJsonOption(evolution
86
+ .command('mark-keep')
87
+ .description(MARK_KEEP_DESCRIPTION)
88
+ .requiredOption('--proposal <id>', 'proposal id')
89
+ .option('--user-confirmation <ptr>', 'pointer to the user choice record (AC-15) — omit to surface the EVOLUTION_MISSING_USER_CONFIRMATION service-layer error')
90
+ .option('--project <path>', 'project root (default: cwd)')).action((options) => runMarkKeep(options, io));
91
+ }
92
+ /** Register `peaks evolution revert` on the `evolution` parent. */
93
+ export function registerRevertCommand(evolution, io) {
94
+ addJsonOption(evolution
95
+ .command('revert')
96
+ .description(REVERT_DESCRIPTION)
97
+ .requiredOption('--proposal <id>', 'proposal id')
98
+ .option('--user-confirmation <ptr>', 'optional pointer to the user choice record')
99
+ .option('--project <path>', 'project root (default: cwd)')).action((options) => runRevert(options, io));
100
+ }
@@ -0,0 +1,44 @@
1
+ import type { FinalReviewOutput } from '../../services/final-review/final-review-types.js';
2
+ import { type ProgramIO } from '../cli-helpers.js';
3
+ /** The two inputs a refusal envelope names, plus why it was refused. */
4
+ export type PrepareRefusal = {
5
+ readonly rid: string;
6
+ readonly code: string;
7
+ readonly message: string;
8
+ readonly sessionId: string;
9
+ readonly auditGoalPath: string;
10
+ readonly nextActions: string[];
11
+ };
12
+ /** Print one refusal envelope and mark the process failed. */
13
+ export declare function emitPrepareFailure(io: ProgramIO, json: boolean | undefined, refusal: PrepareRefusal, missingEnv?: readonly string[]): void;
14
+ /** Where a resolved run reads its audit goal from. */
15
+ export type PrepareGoalPath = {
16
+ readonly sessionId: string;
17
+ readonly auditGoalPath: string;
18
+ };
19
+ /**
20
+ * Stub path: surface a structured "scaffold ready" envelope.
21
+ *
22
+ * The service is NOT called here — the stub runner answers the audit-goal
23
+ * shape, not the 4-dim review shape, so running it through
24
+ * `prepareFinalReview()` would only manufacture a malformed review. The
25
+ * envelope confirms the route is wired end-to-end and reports the audit-goal
26
+ * path the service WOULD read.
27
+ */
28
+ export declare function emitStubEnvelope(io: ProgramIO, rid: string, goal: PrepareGoalPath, json: boolean | undefined): void;
29
+ /** The success envelope of a real-provider run. */
30
+ export declare function emitReviewEnvelope(io: ProgramIO, result: {
31
+ readonly rid: string;
32
+ readonly goal: PrepareGoalPath;
33
+ readonly model: string;
34
+ readonly review: FinalReviewOutput;
35
+ readonly json: boolean | undefined;
36
+ }): void;
37
+ /**
38
+ * Map a thrown error to the CLI's error code. The LLM-layer errors already
39
+ * carry codes precise enough to act on (`LLM_CREDENTIAL_MISSING`,
40
+ * `LLM_REQUEST_FAILED`, …), so they are passed through rather than flattened
41
+ * into one opaque failure.
42
+ */
43
+ export declare function finalReviewErrorCode(error: unknown): string;
44
+ export declare function finalReviewNextActions(code: string): string[];
@@ -0,0 +1,100 @@
1
+ // src/cli/commands/final-review-command-envelopes.ts
2
+ //
3
+ // Every envelope `peaks prepare-final-review` can print, and the error-code
4
+ // mapping behind the failure one. Split out of `final-review-commands.ts`; the
5
+ // codes, messages, data fields and next-action strings are unchanged.
6
+ import { fail, ok } from 'peaks-loop-shared/result';
7
+ import { IncompleteFinalReviewError } from '../../services/final-review/final-review-service.js';
8
+ import { LlmBindingError, LlmRequestError } from '../../services/llm/anthropic-runner.js';
9
+ import { printResult } from '../cli-helpers.js';
10
+ import { emptyFinalReviewData } from './final-review-command-shared.js';
11
+ /** Print one refusal envelope and mark the process failed. */
12
+ export function emitPrepareFailure(io, json, refusal, missingEnv) {
13
+ printResult(io, fail('final-review.prepare', refusal.code, refusal.message, emptyFinalReviewData(refusal.rid, refusal.sessionId, refusal.auditGoalPath, missingEnv), refusal.nextActions), json ?? false);
14
+ process.exitCode = 1;
15
+ }
16
+ /**
17
+ * Stub path: surface a structured "scaffold ready" envelope.
18
+ *
19
+ * The service is NOT called here — the stub runner answers the audit-goal
20
+ * shape, not the 4-dim review shape, so running it through
21
+ * `prepareFinalReview()` would only manufacture a malformed review. The
22
+ * envelope confirms the route is wired end-to-end and reports the audit-goal
23
+ * path the service WOULD read.
24
+ */
25
+ export function emitStubEnvelope(io, rid, goal, json) {
26
+ const data = {
27
+ status: 'scaffold-only',
28
+ rid,
29
+ sessionId: goal.sessionId,
30
+ auditGoalPath: goal.auditGoalPath,
31
+ serviceWired: true,
32
+ providerBinding: 'stub'
33
+ };
34
+ const envelope = ok('final-review.prepare', data, [], [
35
+ 'Stub provider: no 4-dim review was performed. This envelope only proves the route is wired and reachable.',
36
+ `Audit-goal file is present at: ${goal.auditGoalPath}`,
37
+ 'Re-run with `--llm-provider anthropic` to produce a real review.'
38
+ ]);
39
+ printResult(io, envelope, json ?? false);
40
+ }
41
+ /** The success envelope of a real-provider run. */
42
+ export function emitReviewEnvelope(io, result) {
43
+ const { rid, goal, model, review, json } = result;
44
+ const data = {
45
+ status: 'review-complete',
46
+ rid,
47
+ sessionId: goal.sessionId,
48
+ auditGoalPath: goal.auditGoalPath,
49
+ serviceWired: true,
50
+ providerBinding: 'anthropic-messages-api',
51
+ model,
52
+ review
53
+ };
54
+ const envelope = ok('final-review.prepare', data, review.allPass
55
+ ? []
56
+ : [
57
+ `Dimensions needing human attention: ${review.needsAttention.join(', ') || 'none flagged'}.`
58
+ ], [
59
+ `4-dim review produced by anthropic-messages-api (model: ${model}).`,
60
+ `allPass: ${String(review.allPass)}.`
61
+ ]);
62
+ printResult(io, envelope, json ?? false);
63
+ }
64
+ /**
65
+ * Map a thrown error to the CLI's error code. The LLM-layer errors already
66
+ * carry codes precise enough to act on (`LLM_CREDENTIAL_MISSING`,
67
+ * `LLM_REQUEST_FAILED`, …), so they are passed through rather than flattened
68
+ * into one opaque failure.
69
+ */
70
+ export function finalReviewErrorCode(error) {
71
+ if (error instanceof LlmBindingError ||
72
+ error instanceof LlmRequestError ||
73
+ error instanceof IncompleteFinalReviewError) {
74
+ return error.code;
75
+ }
76
+ return 'FINAL_REVIEW_FAILED';
77
+ }
78
+ export function finalReviewNextActions(code) {
79
+ switch (code) {
80
+ case 'LLM_CREDENTIAL_MISSING':
81
+ return [
82
+ 'Export ANTHROPIC_AUTH_TOKEN (or ANTHROPIC_API_KEY) in the environment that launches peaks, then re-run.',
83
+ 'For an offline scaffold instead of a review, re-run with `--llm-provider stub` — it performs NO review.'
84
+ ];
85
+ case 'LLM_MODEL_MISSING':
86
+ return [
87
+ 'Export ANTHROPIC_MODEL (or CLAUDE_CODE_SUBAGENT_MODEL) in the environment that launches peaks, then re-run.'
88
+ ];
89
+ case 'LLM_REQUEST_FAILED':
90
+ return [
91
+ 'Check ANTHROPIC_BASE_URL and network reachability, then re-run — a transport failure produces no review.'
92
+ ];
93
+ case 'INCOMPLETE_FINAL_REVIEW':
94
+ return [
95
+ 'The LLM reply was not valid JSON or omitted a required dimension; re-run so the gate is never read as complete.'
96
+ ];
97
+ default:
98
+ return ['Re-run with `--llm-provider stub` to validate the CLI route without a real LLM.'];
99
+ }
100
+ }