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,185 @@
1
+ // src/cli/commands/sediment-pool-commands.ts
2
+ //
3
+ // The `peaks skill sediment` verbs that read or write the bee pool itself:
4
+ // `add-segment`, `add-bee`, `list`, `rebuild-index`, `refine-bee`,
5
+ // `clone-bee`, `promote`, `retire`. Split out of `sediment-commands.ts`;
6
+ // every verb's args, envelope and error strings are unchanged.
7
+ import { writeFileSync, mkdirSync, readFileSync, existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { assertNotSystemPath, resolveSegmentsDir, resolveUserBeesDir } from '../../services/sediment/pool-paths.js';
10
+ import { writeBeeManifest } from '../../services/sediment/pool-write.js';
11
+ import { readPool } from '../../services/sediment/pool-read.js';
12
+ import { rebuildIndexFromFs } from '../../services/sediment/pool-rebuild-index.js';
13
+ import { evaluateGate } from '../../services/sediment/promotion-gate.js';
14
+ /** Longest `description` the pool will store; a patch appends under this cap. */
15
+ const DESCRIPTION_MAX_CHARS = 1000;
16
+ export function addSegment(ctx) {
17
+ const { home, positional, flags } = ctx;
18
+ const name = positional[1];
19
+ if (!name)
20
+ return { ok: false, error: 'MISSING_ARG: name' };
21
+ const description = flags.maybeString('describe') ?? '';
22
+ const segDir = join(resolveSegmentsDir({ home }), name);
23
+ // Soft-protection guard: refuse to write under any `.system` path
24
+ // segment. Mirrors the same guard in writeBeeManifest.
25
+ assertNotSystemPath(segDir);
26
+ mkdirSync(segDir, { recursive: true });
27
+ writeFileSync(join(segDir, 'SKILL.md'), `---\nname: ${name}\ndescription: ${description}\n---\n`);
28
+ rebuildIndexFromFs({ home });
29
+ return { ok: true };
30
+ }
31
+ export function addBee(ctx) {
32
+ const { home, positional, flags } = ctx;
33
+ const name = positional[1];
34
+ if (!name)
35
+ return { ok: false, error: 'MISSING_ARG: name' };
36
+ // Collect --segment values; the brief uses repeatable --segment
37
+ // flags (one token per segment). parseFlags now returns a
38
+ // 1-element array for a single occurrence and a longer array
39
+ // for repeated keys, so .list() returns a uniform string[].
40
+ const segList = flags.list('segment');
41
+ const description = flags.maybeString('description') ?? '';
42
+ const m = {
43
+ schemaVersion: 'peaks.bee/1',
44
+ name,
45
+ source: 'user',
46
+ promotion_status: 'candidate',
47
+ description,
48
+ segments: segList.map((s) => ({
49
+ name: s,
50
+ inputs: [],
51
+ outputs: [],
52
+ sideEffects: []
53
+ })),
54
+ entrypoint: { preamble: `## ${name}`, refs: [] },
55
+ promotion: {
56
+ minCycles: 1,
57
+ requiresHumanApproval: true,
58
+ requiresSmokeTest: true
59
+ },
60
+ createdBy: 'llm',
61
+ lastTouchedAt: new Date().toISOString()
62
+ };
63
+ // writeBeeManifest runs zod validation + SYSTEM_PATH_FORBIDDEN
64
+ // guard internally.
65
+ writeBeeManifest({ home }, m);
66
+ rebuildIndexFromFs({ home });
67
+ return { ok: true };
68
+ }
69
+ export function listPool(ctx) {
70
+ const idx = readPool({ home: ctx.home });
71
+ return { ok: true, data: idx.entries };
72
+ }
73
+ export function rebuildIndex(ctx) {
74
+ const idx = rebuildIndexFromFs({ home: ctx.home });
75
+ return { ok: true, data: idx };
76
+ }
77
+ /** Read a bee's manifest, or null when it is absent. */
78
+ function readManifest(manifestPath) {
79
+ if (!existsSync(manifestPath))
80
+ return null;
81
+ return JSON.parse(readFileSync(manifestPath, 'utf-8'));
82
+ }
83
+ function beeManifestPath(home, name) {
84
+ return join(resolveUserBeesDir({ home }), name, 'manifest.json');
85
+ }
86
+ /** Append a `[tag timestamp] text` note to a description under the length cap. */
87
+ function appendNote(description, tag, text, ts) {
88
+ const note = `[${tag} ${ts}] ${text}`;
89
+ return (description + (description ? '\n' : '') + note).slice(0, DESCRIPTION_MAX_CHARS);
90
+ }
91
+ export function refineBee(ctx) {
92
+ const { home, positional, flags } = ctx;
93
+ const name = positional[1];
94
+ if (!name)
95
+ return { ok: false, error: 'MISSING_ARG: refine-bee requires <name>' };
96
+ const patch = flags.maybeString('patch') ?? '';
97
+ if (!patch)
98
+ return { ok: false, error: 'MISSING_ARG: refine-bee requires --patch' };
99
+ const m = readManifest(beeManifestPath(home, name));
100
+ if (m === null)
101
+ return { ok: false, error: 'BEE_NOT_FOUND' };
102
+ // Append patch note to description, preserving prior content. Cap at
103
+ // 1000 chars to avoid unbounded growth.
104
+ const ts = new Date().toISOString();
105
+ m.description = appendNote(m.description, 'refine', patch, ts);
106
+ m.lastTouchedAt = ts;
107
+ // promotion_status is preserved (do not touch it here).
108
+ writeBeeManifest({ home }, m);
109
+ rebuildIndexFromFs({ home });
110
+ return { ok: true };
111
+ }
112
+ export function cloneBee(ctx) {
113
+ const { home, positional, flags } = ctx;
114
+ const name = positional[1];
115
+ if (!name)
116
+ return { ok: false, error: 'MISSING_ARG: clone-bee requires <name>' };
117
+ const asName = flags.maybeString('as') ?? '';
118
+ if (!asName)
119
+ return { ok: false, error: 'MISSING_ARG: clone-bee requires --as <new-name>' };
120
+ const src = readManifest(beeManifestPath(home, name));
121
+ if (src === null)
122
+ return { ok: false, error: 'BEE_NOT_FOUND' };
123
+ // Fresh id, reset promotion_status to candidate, rename. The source
124
+ // manifest is unchanged on disk.
125
+ const clone = {
126
+ ...src,
127
+ name: asName,
128
+ promotion_status: 'candidate',
129
+ lastTouchedAt: new Date().toISOString()
130
+ };
131
+ writeBeeManifest({ home }, clone);
132
+ rebuildIndexFromFs({ home });
133
+ return { ok: true };
134
+ }
135
+ export function promote(ctx) {
136
+ const { home, positional } = ctx;
137
+ const name = positional[1];
138
+ if (!name)
139
+ return { ok: false, error: 'MISSING_ARG: promote requires <name>' };
140
+ const m = readManifest(beeManifestPath(home, name));
141
+ if (m === null)
142
+ return { ok: false, error: 'BEE_NOT_FOUND' };
143
+ if (m.source === 'system')
144
+ return { ok: false, error: 'PROMOTION_SYSTEM_REFUSED' };
145
+ // Evaluate the PromotionGate (Task 5). The CLI is a thin shim; the
146
+ // humanApproved / smokeTestPresent inputs default to "true" here
147
+ // because the LLM-driven peaks-maker workflow has already obtained
148
+ // those approvals before calling promote.
149
+ const gate = evaluateGate({ home }, m, {
150
+ humanApproved: true,
151
+ smokeTestPresent: m.promotion.requiresSmokeTest
152
+ });
153
+ if (!gate.ok) {
154
+ return {
155
+ ok: false,
156
+ error: `PROMOTION_GATE_FAILED: ${gate.failedSubconditions.join(',')}`
157
+ };
158
+ }
159
+ m.promotion_status = 'stable';
160
+ m.lastTouchedAt = new Date().toISOString();
161
+ writeBeeManifest({ home }, m);
162
+ rebuildIndexFromFs({ home });
163
+ return { ok: true };
164
+ }
165
+ export function retire(ctx) {
166
+ const { home, positional, flags } = ctx;
167
+ const name = positional[1];
168
+ if (!name)
169
+ return { ok: false, error: 'MISSING_ARG: retire requires <name>' };
170
+ const reason = flags.maybeString('reason') ?? '';
171
+ const m = readManifest(beeManifestPath(home, name));
172
+ if (m === null)
173
+ return { ok: false, error: 'BEE_NOT_FOUND' };
174
+ if (m.source === 'system')
175
+ return { ok: false, error: 'RETIRE_SYSTEM_REFUSED' };
176
+ m.promotion_status = 'retired';
177
+ if (reason) {
178
+ const ts = new Date().toISOString();
179
+ m.description = appendNote(m.description, 'retire', reason, ts);
180
+ }
181
+ m.lastTouchedAt = new Date().toISOString();
182
+ writeBeeManifest({ home }, m);
183
+ rebuildIndexFromFs({ home });
184
+ return { ok: true };
185
+ }
@@ -0,0 +1,4 @@
1
+ import type { CliResult, SedimentContext } from './sediment-command-shared.js';
2
+ export declare function search(ctx: SedimentContext): CliResult;
3
+ export declare function recent(ctx: SedimentContext): CliResult;
4
+ export declare function show(ctx: SedimentContext): CliResult;
@@ -0,0 +1,94 @@
1
+ // src/cli/commands/sediment-query-commands.ts
2
+ //
3
+ // The read-only `peaks skill sediment` verbs: `search`, `recent`, `show`.
4
+ // Split out of `sediment-commands.ts`; every verb's args, envelope and error
5
+ // strings are unchanged.
6
+ import { readFileSync, existsSync, readdirSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import { resolveUserBeesDir } from '../../services/sediment/pool-paths.js';
9
+ /** Milliseconds in one day, for `recent --since <N>d`. */
10
+ const MILLISECONDS_PER_DAY = 86_400_000;
11
+ /** `e instanceof Error ? e.message : String(e)` — the pool's error text. */
12
+ function errorText(e) {
13
+ return e instanceof Error ? e.message : String(e);
14
+ }
15
+ /**
16
+ * Walk `beesDir` and hand every readable bee manifest to `visit`. A manifest
17
+ * that cannot be parsed is reported as a warning and skipped, exactly as the
18
+ * per-verb inline loops did.
19
+ */
20
+ function eachManifest(beesDir, warnings, visit) {
21
+ if (!existsSync(beesDir))
22
+ return;
23
+ for (const name of readdirSync(beesDir)) {
24
+ const manifestPath = join(beesDir, name, 'manifest.json');
25
+ if (!existsSync(manifestPath))
26
+ continue;
27
+ let manifest;
28
+ try {
29
+ manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
30
+ }
31
+ catch (e) {
32
+ warnings.push(`skipped ${name}: ${errorText(e)}`);
33
+ continue;
34
+ }
35
+ visit(name, manifest);
36
+ }
37
+ }
38
+ export function search(ctx) {
39
+ const { home, positional, flags } = ctx;
40
+ const query = positional[1] ?? flags.maybeString('q') ?? '';
41
+ if (!query)
42
+ return { ok: false, error: 'MISSING_ARG: search requires <query>' };
43
+ const q = query.toLowerCase();
44
+ const matches = [];
45
+ const warnings = [];
46
+ eachManifest(resolveUserBeesDir({ home }), warnings, (_name, m) => {
47
+ const haystack = `${m.name ?? ''} ${m.description ?? ''}`.toLowerCase();
48
+ if (haystack.includes(q)) {
49
+ matches.push({
50
+ name: m.name,
51
+ description: m.description,
52
+ source: m.source,
53
+ promotion_status: m.promotion_status
54
+ });
55
+ }
56
+ });
57
+ return { ok: true, data: { matches, warnings } };
58
+ }
59
+ export function recent(ctx) {
60
+ const { home, flags } = ctx;
61
+ const sinceRaw = flags.maybeString('since') ?? '7d';
62
+ const m = sinceRaw.match(/^(\d+)d$/);
63
+ if (!m)
64
+ return { ok: false, error: 'MISSING_ARG: recent requires --since Nd (e.g. 7d)' };
65
+ const sinceDays = parseInt(m[1], 10);
66
+ const cutoff = new Date(Date.now() - sinceDays * MILLISECONDS_PER_DAY).toISOString();
67
+ const matches = [];
68
+ const warnings = [];
69
+ eachManifest(resolveUserBeesDir({ home }), warnings, (_name, b) => {
70
+ if (typeof b.lastTouchedAt === 'string' && b.lastTouchedAt >= cutoff) {
71
+ matches.push({
72
+ name: b.name,
73
+ lastTouchedAt: b.lastTouchedAt,
74
+ promotion_status: b.promotion_status
75
+ });
76
+ }
77
+ });
78
+ return { ok: true, data: { matches, warnings } };
79
+ }
80
+ export function show(ctx) {
81
+ const { home, positional } = ctx;
82
+ const name = positional[1];
83
+ if (!name)
84
+ return { ok: false, error: 'MISSING_ARG: show requires <name>' };
85
+ const manifestPath = join(resolveUserBeesDir({ home }), name, 'manifest.json');
86
+ if (!existsSync(manifestPath))
87
+ return { ok: false, error: 'BEE_NOT_FOUND' };
88
+ try {
89
+ return { ok: true, data: JSON.parse(readFileSync(manifestPath, 'utf-8')) };
90
+ }
91
+ catch (e) {
92
+ return { ok: false, error: `MANIFEST_CORRUPT: ${errorText(e)}` };
93
+ }
94
+ }
@@ -0,0 +1,8 @@
1
+ import type { CliResult, SedimentContext } from './sediment-command-shared.js';
2
+ export declare function dispose(ctx: SedimentContext): CliResult;
3
+ export declare function releases(ctx: SedimentContext): CliResult;
4
+ export declare function releaseShow(ctx: SedimentContext): CliResult;
5
+ export declare function releaseDiffVerb(ctx: SedimentContext): CliResult;
6
+ export declare function exportVerb(ctx: SedimentContext): CliResult;
7
+ export declare function importVerb(ctx: SedimentContext): CliResult;
8
+ export declare function gcBlobsVerb(ctx: SedimentContext): CliResult;
@@ -0,0 +1,232 @@
1
+ // src/cli/commands/sediment-release-commands.ts
2
+ //
3
+ // The `peaks skill sediment` verbs that act on retained releases:
4
+ // `dispose`, `releases`, `release-show`, `release-diff`, `export`, `import`,
5
+ // `gc-blobs`. Split out of `sediment-commands.ts`; every verb's args,
6
+ // envelope, stderr warning and error strings are unchanged.
7
+ import { mkdirSync, existsSync, readFileSync, rmSync } from 'node:fs';
8
+ import { join, basename } from 'node:path';
9
+ import { resolveStateDbPath, resolveBlobsDir, resolveUserBeesDir, resolveUserBeeDir } from '../../services/sediment/pool-paths.js';
10
+ import { rebuildIndexFromFs } from '../../services/sediment/pool-rebuild-index.js';
11
+ import { openStateDb } from '../../services/skillhub/sqlite-store.js';
12
+ import { retainRelease } from '../../services/skillhub/release-retain.js';
13
+ import { releaseDiff } from '../../services/skillhub/release-diff.js';
14
+ import { exportRelease } from '../../services/skillhub/release-export.js';
15
+ import { importRelease } from '../../services/skillhub/release-import.js';
16
+ import { gcBlobs } from '../../services/skillhub/release-gc-blobs.js';
17
+ const DEFAULT_RELEASE_VERSION = '0.1.0';
18
+ function beeManifestPath(home, name) {
19
+ return join(resolveUserBeesDir({ home }), name, 'manifest.json');
20
+ }
21
+ function readManifest(manifestPath) {
22
+ if (!existsSync(manifestPath))
23
+ return null;
24
+ return JSON.parse(readFileSync(manifestPath, 'utf-8'));
25
+ }
26
+ /** `e instanceof Error ? e.message : String(e)` — the pool's error text. */
27
+ function errorText(e) {
28
+ return e instanceof Error ? e.message : String(e);
29
+ }
30
+ /**
31
+ * User bee destroy: remove the manifest dir from the pool. The scratch
32
+ * materialization is cleaned up by the dispatch flow (its concern), but the
33
+ * pool's bees/<name>/manifest.json entry is removed here so the index reflects
34
+ * reality on next read.
35
+ */
36
+ function destroyUserBee(home, name) {
37
+ const beeDir = resolveUserBeeDir({ home }, name);
38
+ rmSync(beeDir, { recursive: true, force: true });
39
+ rebuildIndexFromFs({ home });
40
+ return { ok: true, data: { userDestroyed: true, path: beeDir } };
41
+ }
42
+ /** User bee retain: open state.db, call retainRelease. */
43
+ function retainUserBee(home, manifest, flags) {
44
+ const version = flags.maybeString('version') ?? DEFAULT_RELEASE_VERSION;
45
+ const scratchDir = flags.maybeString('scratch') ?? join(home, 'scratch');
46
+ if (!existsSync(scratchDir))
47
+ return { ok: false, error: 'SCRATCH_NOT_FOUND' };
48
+ const stateDbPath = resolveStateDbPath({ home });
49
+ const blobsDir = resolveBlobsDir({ home });
50
+ mkdirSync(blobsDir, { recursive: true });
51
+ const db = openStateDb(stateDbPath);
52
+ try {
53
+ retainRelease({ db, blobsDir, scratchDir, manifest, version });
54
+ }
55
+ finally {
56
+ db.close();
57
+ }
58
+ return { ok: true, data: { retained: true, version } };
59
+ }
60
+ export function dispose(ctx) {
61
+ const { home, positional, flags } = ctx;
62
+ const name = positional[1];
63
+ if (!name)
64
+ return { ok: false, error: 'MISSING_ARG: dispose requires <name>' };
65
+ const decision = flags.maybeString('decision') ?? '';
66
+ if (decision !== 'destroy' && decision !== 'retain') {
67
+ return { ok: false, error: 'MISSING_ARG: dispose requires --decision destroy|retain' };
68
+ }
69
+ const m = readManifest(beeManifestPath(home, name));
70
+ if (m === null)
71
+ return { ok: false, error: 'BEE_NOT_FOUND' };
72
+ // System bees: silently destroy; refuse retain (Task 9 contract).
73
+ if (m.source === 'system') {
74
+ if (decision === 'retain')
75
+ return { ok: false, error: 'RETAIN_SYSTEM_REFUSED' };
76
+ return { ok: true, data: { systemDestroyed: true } };
77
+ }
78
+ return decision === 'destroy' ? destroyUserBee(home, name) : retainUserBee(home, m, flags);
79
+ }
80
+ const RELEASES_SQL = 'SELECT id, bee_name, version, source, archived_at, archived_by FROM bee_release WHERE bee_name = ? ORDER BY archived_at DESC';
81
+ export function releases(ctx) {
82
+ const { home, positional } = ctx;
83
+ const beeName = positional[1];
84
+ if (!beeName)
85
+ return { ok: false, error: 'MISSING_ARG: releases requires <bee-name>' };
86
+ const stateDbPath = resolveStateDbPath({ home });
87
+ const db = openStateDb(stateDbPath);
88
+ try {
89
+ const rows = db.prepare(RELEASES_SQL).all(beeName);
90
+ return { ok: true, data: rows };
91
+ }
92
+ finally {
93
+ db.close();
94
+ }
95
+ }
96
+ export function releaseShow(ctx) {
97
+ const { home, positional, flags } = ctx;
98
+ const beeName = positional[1];
99
+ const version = flags.maybeString('version') ?? '';
100
+ if (!beeName || !version) {
101
+ return {
102
+ ok: false,
103
+ error: 'MISSING_ARG: release-show requires <bee-name> and --version'
104
+ };
105
+ }
106
+ const stateDbPath = resolveStateDbPath({ home });
107
+ const db = openStateDb(stateDbPath);
108
+ try {
109
+ // Cast the row to the typed interface from skillhub/types.ts so
110
+ // downstream consumers (LLM agents in peaks-maker, CLI JSON
111
+ // renderers) get a structural shape rather than
112
+ // Record<string, unknown>. Minor #12 fix.
113
+ const row = db
114
+ .prepare('SELECT * FROM bee_release WHERE bee_name = ? AND version = ?')
115
+ .get(beeName, version);
116
+ if (!row)
117
+ return { ok: false, error: 'VERSION_NOT_FOUND' };
118
+ const id = row.id;
119
+ const manifest = db.prepare('SELECT * FROM bee_manifest WHERE release_id = ?').get(id);
120
+ const segments = db
121
+ .prepare('SELECT * FROM bee_segment_ref WHERE release_id = ?')
122
+ .all(id);
123
+ const files = db
124
+ .prepare('SELECT * FROM bee_file WHERE release_id = ?')
125
+ .all(id);
126
+ return { ok: true, data: { release: row, manifest, segments, files } };
127
+ }
128
+ finally {
129
+ db.close();
130
+ }
131
+ }
132
+ export function releaseDiffVerb(ctx) {
133
+ const { home, positional, flags } = ctx;
134
+ const beeName = positional[1];
135
+ const fromVersion = flags.maybeString('from') ?? '';
136
+ const toVersion = flags.maybeString('to') ?? '';
137
+ if (!beeName || !fromVersion || !toVersion) {
138
+ return {
139
+ ok: false,
140
+ error: 'MISSING_ARG: release-diff requires <bee-name> and --from and --to'
141
+ };
142
+ }
143
+ const stateDbPath = resolveStateDbPath({ home });
144
+ const db = openStateDb(stateDbPath);
145
+ try {
146
+ const diff = releaseDiff({ db, beeName, fromVersion, toVersion });
147
+ return { ok: true, data: diff };
148
+ }
149
+ catch (e) {
150
+ return { ok: false, error: errorText(e) };
151
+ }
152
+ finally {
153
+ db.close();
154
+ }
155
+ }
156
+ export function exportVerb(ctx) {
157
+ const { home, positional, flags } = ctx;
158
+ const beeName = positional[1];
159
+ const version = flags.maybeString('version') ?? '';
160
+ const outPath = flags.maybeString('out') ?? '';
161
+ if (!beeName || !version || !outPath) {
162
+ return { ok: false, error: 'MISSING_ARG: export requires <bee-name>, --version, --out' };
163
+ }
164
+ const stateDbPath = resolveStateDbPath({ home });
165
+ const blobsDir = resolveBlobsDir({ home });
166
+ const db = openStateDb(stateDbPath);
167
+ try {
168
+ exportRelease({ db, blobsDir, beeName, version, outPath });
169
+ }
170
+ catch (e) {
171
+ return { ok: false, error: errorText(e) };
172
+ }
173
+ finally {
174
+ db.close();
175
+ }
176
+ // M7 (spec §7A.2 / §10 RL-9): `peaks skill sediment export` is
177
+ // an ALIAS of `peaks loop export` for one release cycle. Emit
178
+ // the deprecation warning to stderr so downstream tooling can
179
+ // upgrade. Future slice removes the alias.
180
+ process.stderr.write("warning: 'peaks skill sediment export' is deprecated; use 'peaks loop export' or 'peaks bee export' (peaks.bundle/1, spec §7A.2)\n");
181
+ return { ok: true, data: { outPath } };
182
+ }
183
+ export function importVerb(ctx) {
184
+ const { home, positional, flags } = ctx;
185
+ const bundlePath = positional[1];
186
+ const asNameRaw = flags.maybeString('as');
187
+ const asName = asNameRaw && asNameRaw.length > 0 ? asNameRaw : undefined;
188
+ if (!bundlePath)
189
+ return { ok: false, error: 'MISSING_ARG: import requires <bundle-path>' };
190
+ if (!existsSync(bundlePath))
191
+ return { ok: false, error: 'BUNDLE_NOT_FOUND' };
192
+ const stateDbPath = resolveStateDbPath({ home });
193
+ const blobsDir = resolveBlobsDir({ home });
194
+ mkdirSync(blobsDir, { recursive: true });
195
+ const db = openStateDb(stateDbPath);
196
+ try {
197
+ if (asName !== undefined) {
198
+ importRelease({ db, blobsDir, inPath: bundlePath, asName });
199
+ }
200
+ else {
201
+ importRelease({ db, blobsDir, inPath: bundlePath });
202
+ }
203
+ }
204
+ catch (e) {
205
+ return { ok: false, error: errorText(e) };
206
+ }
207
+ finally {
208
+ db.close();
209
+ }
210
+ // M7 (spec §7A.2): `peaks skill sediment import` is an ALIAS of
211
+ // `peaks loop import` for one release cycle. Emit the
212
+ // deprecation warning so downstream tooling can upgrade.
213
+ process.stderr.write("warning: 'peaks skill sediment import' is deprecated; use 'peaks loop import' or 'peaks bee import' (peaks.bundle/1, spec §7A.2)\n");
214
+ return { ok: true, data: { asName: asName ?? basename(bundlePath) } };
215
+ }
216
+ export function gcBlobsVerb(ctx) {
217
+ const { home, flags } = ctx;
218
+ const dryRun = flags.bool('dry-run');
219
+ const stateDbPath = resolveStateDbPath({ home });
220
+ const blobsDir = resolveBlobsDir({ home });
221
+ const db = openStateDb(stateDbPath);
222
+ try {
223
+ const removed = gcBlobs({ db, blobsDir, dryRun });
224
+ return { ok: true, data: { removed } };
225
+ }
226
+ catch (e) {
227
+ return { ok: false, error: errorText(e) };
228
+ }
229
+ finally {
230
+ db.close();
231
+ }
232
+ }
@@ -1,82 +1,26 @@
1
1
  /**
2
- * `peaks sub-agent share | shared-read | await` — G8.4 + 2.7.0 await barrier.
2
+ * `peaks sub-agent share | shared-read | await | finalize` — the registrar layer.
3
3
  *
4
- * to honor the 800-line file cap. These three commands share the G8.4
5
- * dispatcher-mediated cross-sub-agent signal channel:
4
+ * These commands share the G8.4 dispatcher-mediated cross-sub-agent signal
5
+ * channel:
6
6
  * - `share` writes a `<role>.<event>` entry (≤ 1KB soft warn, ≥ 64KB reject).
7
7
  * - `shared-read` returns sibling entries (filtered by `--since` / `--key` glob).
8
8
  * - `await` joins a batch barrier (slice 2.7.0 MVP, claude-code only).
9
+ * - `finalize` (D21) signals that a dispatched sub-agent has finished.
9
10
  *
10
11
  * Not peer-to-peer — pseudo-swarm property 3 preserved.
12
+ *
13
+ * The action bodies, error-code hints, record-path scans and the finalize
14
+ * selection contract live in the sibling `share-*.ts` / `finalize-*.ts` modules;
15
+ * this file keeps the command shape (names, descriptions, options) and the one
16
+ * lazily-resolved IDE registry consumer below.
11
17
  */
12
18
  import type { Command } from 'commander';
13
19
  import { type ProgramIO } from '../cli-helpers.js';
14
- /**
15
- * A `dispatch-*.json` candidate for `finalize --request-id`, as read off disk.
16
- * The record's own `createdAt` is carried as the recency key — NOT the file's
17
- * mtime, which any heartbeat or finalize rewrites, so a `done` record can look
18
- * newer than the `queued` one that superseded it. Keeping the key on the
19
- * candidate makes the selection rule a pure function of the records and
20
- * testable without a filesystem.
21
- */
22
- export interface FinalizeCandidate {
23
- readonly recordPath: string;
24
- readonly requestId: string;
25
- readonly status: string;
26
- readonly createdAt: string;
27
- }
28
- /**
29
- * What `--request-id` actually did, reported in the envelope. N3: the branch
30
- * used to resolve silently and could not say WHY a record was or was not the
31
- * one finalized.
32
- */
33
- export interface FinalizeSelection {
34
- readonly requestId: string;
35
- readonly rule: string;
36
- readonly matched: number;
37
- readonly chosen: string | null;
38
- readonly rejected: readonly {
39
- readonly recordPath: string;
40
- readonly status: string;
41
- readonly reason: string;
42
- }[];
43
- }
44
- /** The one selection rule `--request-id` and `--batch` now share. */
45
- export declare const FINALIZE_SELECTION_RULE: string;
46
- /**
47
- * N3 — pick the record `finalize --request-id` should act on.
48
- *
49
- * The branch this replaces `break`ed on the FIRST file whose record carried
50
- * the requestId and never looked at `status`. With a re-dispatched request
51
- * always resolved to the OLDEST one — the already-`done` RD record — so
52
- * finalizing reported success while the newer `queued` QA record stayed
53
- * queued forever. `--batch` never had that bug: it filters on `queued`.
54
- *
55
- * Both branches are now the same rule. Return `null` when nothing is queued:
56
- * a record that already left `queued` is precisely the one that must NOT be
57
- * re-finalized, so the caller reports the survivors instead of touching one.
58
- */
59
- export declare function selectFinalizeTarget(candidates: readonly FinalizeCandidate[]): FinalizeCandidate | null;
60
- /** Why a candidate was not the chosen one — reported, never guessed at. */
61
- export declare function describeFinalizeRejection(candidate: FinalizeCandidate, chosen: FinalizeCandidate | null): string;
20
+ export { FINALIZE_SELECTION_RULE, describeFinalizeRejection, selectFinalizeTarget, type FinalizeCandidate, type FinalizeSelection } from './finalize-selection.js';
21
+ export type { FinalizeOptions } from './finalize-selection.js';
62
22
  export declare function registerShareCommand(parent: Command, io: ProgramIO): void;
63
23
  export declare function registerSharedReadCommand(parent: Command, io: ProgramIO): void;
64
24
  export declare function registerAwaitCommand(parent: Command, io: ProgramIO): void;
65
- /**
66
- * signal. Without this, dispatch records stay queued forever.
67
- *
68
- * Contract:
69
- * - LLM MUST call once per dispatched Task, in post-completion branch.
70
- * - --all-stale bulk-marks every queued record for this session (crash recovery).
71
- */
72
- export interface FinalizeOptions {
73
- batch?: string;
74
- requestId?: string;
75
- outcome?: string;
76
- error?: string;
77
- allStale?: boolean;
78
- project?: string;
79
- sessionId?: string;
80
- json?: boolean;
81
- }
25
+ /** Contract: LLM MUST call once per dispatched Task, in post-completion branch. */
82
26
  export declare function registerFinalizeCommand(parent: Command, io: ProgramIO): void;