peaks-loop 4.1.3 → 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 (402) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +56 -0
  3. package/README-en.md +1 -1
  4. package/README.md +1 -1
  5. package/dist/cli/commands/asset-command-shared.d.ts +12 -0
  6. package/dist/cli/commands/asset-command-shared.js +45 -0
  7. package/dist/cli/commands/asset-commands.d.ts +6 -1
  8. package/dist/cli/commands/asset-commands.js +11 -372
  9. package/dist/cli/commands/asset-crystallize-command.d.ts +3 -0
  10. package/dist/cli/commands/asset-crystallize-command.js +60 -0
  11. package/dist/cli/commands/asset-crystallize-payload.d.ts +47 -0
  12. package/dist/cli/commands/asset-crystallize-payload.js +85 -0
  13. package/dist/cli/commands/asset-crystallize-runner.d.ts +3 -0
  14. package/dist/cli/commands/asset-crystallize-runner.js +133 -0
  15. package/dist/cli/commands/asset-dispose-command.d.ts +3 -0
  16. package/dist/cli/commands/asset-dispose-command.js +99 -0
  17. package/dist/cli/commands/asset-status-command.d.ts +3 -0
  18. package/dist/cli/commands/asset-status-command.js +100 -0
  19. package/dist/cli/commands/baseline-audit-command.d.ts +3 -0
  20. package/dist/cli/commands/baseline-audit-command.js +64 -0
  21. package/dist/cli/commands/baseline-command-shared.d.ts +23 -0
  22. package/dist/cli/commands/baseline-command-shared.js +39 -0
  23. package/dist/cli/commands/baseline-commands.js +33 -313
  24. package/dist/cli/commands/baseline-freeze-commands.d.ts +4 -0
  25. package/dist/cli/commands/baseline-freeze-commands.js +81 -0
  26. package/dist/cli/commands/baseline-guard-command.d.ts +3 -0
  27. package/dist/cli/commands/baseline-guard-command.js +52 -0
  28. package/dist/cli/commands/baseline-read-commands.d.ts +5 -0
  29. package/dist/cli/commands/baseline-read-commands.js +72 -0
  30. package/dist/cli/commands/baseline-rollback-commands.d.ts +4 -0
  31. package/dist/cli/commands/baseline-rollback-commands.js +88 -0
  32. package/dist/cli/commands/classify-downgrade-command.d.ts +9 -0
  33. package/dist/cli/commands/classify-downgrade-command.js +21 -0
  34. package/dist/cli/commands/classify-run-command.d.ts +9 -0
  35. package/dist/cli/commands/classify-run-command.js +73 -0
  36. package/dist/cli/commands/classify-signals.d.ts +5 -0
  37. package/dist/cli/commands/classify-signals.js +104 -0
  38. package/dist/cli/commands/code-emit-handoff-command.js +40 -3
  39. package/dist/cli/commands/code-gate-step-08-command.js +25 -9
  40. package/dist/cli/commands/codegraph-command-options.d.ts +22 -0
  41. package/dist/cli/commands/codegraph-command-options.js +22 -0
  42. package/dist/cli/commands/codegraph-commands.d.ts +2 -2
  43. package/dist/cli/commands/codegraph-commands.js +14 -397
  44. package/dist/cli/commands/codegraph-config-restore-command.d.ts +3 -0
  45. package/dist/cli/commands/codegraph-config-restore-command.js +200 -0
  46. package/dist/cli/commands/codegraph-proxy-commands.d.ts +10 -0
  47. package/dist/cli/commands/codegraph-proxy-commands.js +159 -0
  48. package/dist/cli/commands/codegraph-repair-commands.d.ts +3 -0
  49. package/dist/cli/commands/codegraph-repair-commands.js +94 -0
  50. package/dist/cli/commands/codegraph-status-command.d.ts +1 -1
  51. package/dist/cli/commands/codegraph-status-command.js +27 -214
  52. package/dist/cli/commands/codegraph-status-integrity.d.ts +44 -0
  53. package/dist/cli/commands/codegraph-status-integrity.js +121 -0
  54. package/dist/cli/commands/codegraph-status-json.d.ts +5 -0
  55. package/dist/cli/commands/codegraph-status-json.js +127 -0
  56. package/dist/cli/commands/container-command-shared.d.ts +60 -0
  57. package/dist/cli/commands/container-command-shared.js +52 -0
  58. package/dist/cli/commands/container-commands.d.ts +1 -1
  59. package/dist/cli/commands/container-commands.js +4 -216
  60. package/dist/cli/commands/container-release-command.d.ts +3 -0
  61. package/dist/cli/commands/container-release-command.js +105 -0
  62. package/dist/cli/commands/container-spawn-command.d.ts +3 -0
  63. package/dist/cli/commands/container-spawn-command.js +148 -0
  64. package/dist/cli/commands/context-check-command.d.ts +3 -0
  65. package/dist/cli/commands/context-check-command.js +81 -0
  66. package/dist/cli/commands/context-commands.d.ts +2 -7
  67. package/dist/cli/commands/context-commands.js +6 -276
  68. package/dist/cli/commands/context-layer-command.d.ts +3 -0
  69. package/dist/cli/commands/context-layer-command.js +34 -0
  70. package/dist/cli/commands/context-layer-fetchers.d.ts +15 -0
  71. package/dist/cli/commands/context-layer-fetchers.js +162 -0
  72. package/dist/cli/commands/context-status-command.d.ts +17 -0
  73. package/dist/cli/commands/context-status-command.js +41 -0
  74. package/dist/cli/commands/contract-write-command.d.ts +3 -0
  75. package/dist/cli/commands/contract-write-command.js +144 -0
  76. package/dist/cli/commands/core/doctor-bindings.d.ts +17 -0
  77. package/dist/cli/commands/core/doctor-bindings.js +30 -0
  78. package/dist/cli/commands/core/doctor-command.d.ts +4 -18
  79. package/dist/cli/commands/core/doctor-command.js +2 -323
  80. package/dist/cli/commands/core/doctor-logs.d.ts +8 -0
  81. package/dist/cli/commands/core/doctor-logs.js +32 -0
  82. package/dist/cli/commands/core/doctor-probes.d.ts +3 -0
  83. package/dist/cli/commands/core/doctor-probes.js +55 -0
  84. package/dist/cli/commands/core/doctor-run-command.d.ts +12 -0
  85. package/dist/cli/commands/core/doctor-run-command.js +172 -0
  86. package/dist/cli/commands/core/doctor-summary.d.ts +7 -0
  87. package/dist/cli/commands/core/doctor-summary.js +39 -0
  88. package/dist/cli/commands/core/memory-command-shared.d.ts +25 -0
  89. package/dist/cli/commands/core/memory-command-shared.js +20 -0
  90. package/dist/cli/commands/core/memory-command.d.ts +1 -1
  91. package/dist/cli/commands/core/memory-command.js +6 -227
  92. package/dist/cli/commands/core/memory-delegated-verbs.d.ts +4 -0
  93. package/dist/cli/commands/core/memory-delegated-verbs.js +178 -0
  94. package/dist/cli/commands/core/memory-extract-command.d.ts +3 -0
  95. package/dist/cli/commands/core/memory-extract-command.js +90 -0
  96. package/dist/cli/commands/core/memory-sync-command.d.ts +3 -0
  97. package/dist/cli/commands/core/memory-sync-command.js +38 -0
  98. package/dist/cli/commands/core/session-command.d.ts +1 -1
  99. package/dist/cli/commands/core/session-command.js +12 -206
  100. package/dist/cli/commands/core/session-info-command.d.ts +3 -0
  101. package/dist/cli/commands/core/session-info-command.js +142 -0
  102. package/dist/cli/commands/core/session-verb-commands.d.ts +5 -0
  103. package/dist/cli/commands/core/session-verb-commands.js +58 -0
  104. package/dist/cli/commands/core/standards-command.d.ts +1 -24
  105. package/dist/cli/commands/core/standards-command.js +33 -201
  106. package/dist/cli/commands/core/standards-init-command.d.ts +3 -0
  107. package/dist/cli/commands/core/standards-init-command.js +87 -0
  108. package/dist/cli/commands/core/standards-lint.d.ts +24 -0
  109. package/dist/cli/commands/core/standards-lint.js +57 -0
  110. package/dist/cli/commands/core/standards-migrate-command.d.ts +3 -0
  111. package/dist/cli/commands/core/standards-migrate-command.js +57 -0
  112. package/dist/cli/commands/cron-scheduler-commands.d.ts +5 -1
  113. package/dist/cli/commands/cron-scheduler-commands.js +36 -206
  114. package/dist/cli/commands/cron-scheduler-run-once-command.d.ts +7 -0
  115. package/dist/cli/commands/cron-scheduler-run-once-command.js +35 -0
  116. package/dist/cli/commands/cron-scheduler-shared.d.ts +6 -0
  117. package/dist/cli/commands/cron-scheduler-shared.js +48 -0
  118. package/dist/cli/commands/cron-scheduler-start-command.d.ts +7 -0
  119. package/dist/cli/commands/cron-scheduler-start-command.js +65 -0
  120. package/dist/cli/commands/cron-scheduler-status-command.d.ts +7 -0
  121. package/dist/cli/commands/cron-scheduler-status-command.js +46 -0
  122. package/dist/cli/commands/cron-scheduler-stop-command.d.ts +7 -0
  123. package/dist/cli/commands/cron-scheduler-stop-command.js +61 -0
  124. package/dist/cli/commands/dispatch-dag-envelope.d.ts +41 -0
  125. package/dist/cli/commands/dispatch-dag-envelope.js +49 -0
  126. package/dist/cli/commands/dispatch-dag-failure.d.ts +18 -0
  127. package/dist/cli/commands/dispatch-dag-failure.js +16 -0
  128. package/dist/cli/commands/dispatch-dag-preflight.d.ts +51 -0
  129. package/dist/cli/commands/dispatch-dag-preflight.js +105 -0
  130. package/dist/cli/commands/dispatch-dag-runners.d.ts +48 -0
  131. package/dist/cli/commands/dispatch-dag-runners.js +73 -0
  132. package/dist/cli/commands/dispatch-from-dag.d.ts +27 -0
  133. package/dist/cli/commands/dispatch-from-dag.js +87 -257
  134. package/dist/cli/commands/final-review-command-envelopes.d.ts +44 -0
  135. package/dist/cli/commands/final-review-command-envelopes.js +100 -0
  136. package/dist/cli/commands/final-review-command-shared.d.ts +52 -0
  137. package/dist/cli/commands/final-review-command-shared.js +35 -0
  138. package/dist/cli/commands/final-review-commands.d.ts +7 -27
  139. package/dist/cli/commands/final-review-commands.js +13 -240
  140. package/dist/cli/commands/final-review-prepare-command.d.ts +3 -0
  141. package/dist/cli/commands/final-review-prepare-command.js +200 -0
  142. package/dist/cli/commands/governance-classify-contract-commands.d.ts +23 -9
  143. package/dist/cli/commands/governance-classify-contract-commands.js +26 -269
  144. package/dist/cli/commands/hooks-command-shared.d.ts +42 -0
  145. package/dist/cli/commands/hooks-command-shared.js +32 -0
  146. package/dist/cli/commands/hooks-commands.d.ts +20 -0
  147. package/dist/cli/commands/hooks-commands.js +75 -309
  148. package/dist/cli/commands/hooks-install-envelopes.d.ts +6 -0
  149. package/dist/cli/commands/hooks-install-envelopes.js +144 -0
  150. package/dist/cli/commands/hooks-status-command.d.ts +3 -0
  151. package/dist/cli/commands/hooks-status-command.js +93 -0
  152. package/dist/cli/commands/hooks-uninstall-command.d.ts +3 -0
  153. package/dist/cli/commands/hooks-uninstall-command.js +43 -0
  154. package/dist/cli/commands/loop-command-shared.d.ts +31 -0
  155. package/dist/cli/commands/loop-command-shared.js +15 -0
  156. package/dist/cli/commands/loop-commands.d.ts +12 -17
  157. package/dist/cli/commands/loop-commands.js +56 -238
  158. package/dist/cli/commands/loop-export-command.d.ts +3 -0
  159. package/dist/cli/commands/loop-export-command.js +73 -0
  160. package/dist/cli/commands/loop-goal-compose-command.d.ts +3 -0
  161. package/dist/cli/commands/loop-goal-compose-command.js +36 -0
  162. package/dist/cli/commands/loop-import-command.d.ts +3 -0
  163. package/dist/cli/commands/loop-import-command.js +86 -0
  164. package/dist/cli/commands/loop-placeholder-commands.d.ts +3 -0
  165. package/dist/cli/commands/loop-placeholder-commands.js +52 -0
  166. package/dist/cli/commands/memory-command-shared.d.ts +59 -0
  167. package/dist/cli/commands/memory-command-shared.js +39 -0
  168. package/dist/cli/commands/memory-commands.d.ts +6 -79
  169. package/dist/cli/commands/memory-commands.js +19 -309
  170. package/dist/cli/commands/memory-ingest-command.d.ts +3 -0
  171. package/dist/cli/commands/memory-ingest-command.js +50 -0
  172. package/dist/cli/commands/memory-list-command.d.ts +16 -0
  173. package/dist/cli/commands/memory-list-command.js +129 -0
  174. package/dist/cli/commands/memory-reindex-command.d.ts +9 -0
  175. package/dist/cli/commands/memory-reindex-command.js +78 -0
  176. package/dist/cli/commands/memory-rotate-command.d.ts +3 -0
  177. package/dist/cli/commands/memory-rotate-command.js +55 -0
  178. package/dist/cli/commands/memory-search-command.d.ts +7 -0
  179. package/dist/cli/commands/memory-search-command.js +46 -0
  180. package/dist/cli/commands/openspec-archive-command.d.ts +3 -0
  181. package/dist/cli/commands/openspec-archive-command.js +55 -0
  182. package/dist/cli/commands/openspec-command-shared.d.ts +62 -0
  183. package/dist/cli/commands/openspec-command-shared.js +135 -0
  184. package/dist/cli/commands/openspec-commands.d.ts +1 -1
  185. package/dist/cli/commands/openspec-commands.js +33 -306
  186. package/dist/cli/commands/openspec-from-doctor-command.d.ts +3 -0
  187. package/dist/cli/commands/openspec-from-doctor-command.js +66 -0
  188. package/dist/cli/commands/openspec-init-command.d.ts +3 -0
  189. package/dist/cli/commands/openspec-init-command.js +49 -0
  190. package/dist/cli/commands/openspec-list-command.d.ts +3 -0
  191. package/dist/cli/commands/openspec-list-command.js +27 -0
  192. package/dist/cli/commands/openspec-render-command.d.ts +3 -0
  193. package/dist/cli/commands/openspec-render-command.js +33 -0
  194. package/dist/cli/commands/openspec-show-command.d.ts +3 -0
  195. package/dist/cli/commands/openspec-show-command.js +33 -0
  196. package/dist/cli/commands/openspec-to-rd-command.d.ts +3 -0
  197. package/dist/cli/commands/openspec-to-rd-command.js +33 -0
  198. package/dist/cli/commands/openspec-validate-command.d.ts +3 -0
  199. package/dist/cli/commands/openspec-validate-command.js +45 -0
  200. package/dist/cli/commands/playwright-browser-command.d.ts +8 -0
  201. package/dist/cli/commands/playwright-browser-command.js +61 -0
  202. package/dist/cli/commands/playwright-commands.d.ts +10 -62
  203. package/dist/cli/commands/playwright-commands.js +77 -400
  204. package/dist/cli/commands/playwright-envelope.d.ts +8 -0
  205. package/dist/cli/commands/playwright-envelope.js +29 -0
  206. package/dist/cli/commands/playwright-ls-stop-commands.d.ts +4 -0
  207. package/dist/cli/commands/playwright-ls-stop-commands.js +74 -0
  208. package/dist/cli/commands/playwright-session-store.d.ts +65 -0
  209. package/dist/cli/commands/playwright-session-store.js +189 -0
  210. package/dist/cli/commands/project-commands.d.ts +19 -0
  211. package/dist/cli/commands/project-commands.js +98 -259
  212. package/dist/cli/commands/project-context-command.d.ts +3 -0
  213. package/dist/cli/commands/project-context-command.js +44 -0
  214. package/dist/cli/commands/project-dashboard-command.d.ts +3 -0
  215. package/dist/cli/commands/project-dashboard-command.js +74 -0
  216. package/dist/cli/commands/project-knowledge-command.d.ts +3 -0
  217. package/dist/cli/commands/project-knowledge-command.js +48 -0
  218. package/dist/cli/commands/project-memories-show-command.d.ts +3 -0
  219. package/dist/cli/commands/project-memories-show-command.js +87 -0
  220. package/dist/cli/commands/project-memory-index-command.d.ts +3 -0
  221. package/dist/cli/commands/project-memory-index-command.js +31 -0
  222. package/dist/cli/commands/qa-archive-screenshots-command.d.ts +3 -0
  223. package/dist/cli/commands/qa-archive-screenshots-command.js +53 -0
  224. package/dist/cli/commands/qa-commands.d.ts +14 -87
  225. package/dist/cli/commands/qa-commands.js +17 -315
  226. package/dist/cli/commands/qa-context-prestep.d.ts +1 -0
  227. package/dist/cli/commands/qa-context-prestep.js +34 -0
  228. package/dist/cli/commands/qa-run-command.d.ts +3 -0
  229. package/dist/cli/commands/qa-run-command.js +105 -0
  230. package/dist/cli/commands/qa-run-options.d.ts +23 -0
  231. package/dist/cli/commands/qa-run-options.js +31 -0
  232. package/dist/cli/commands/qa-run-slice.d.ts +41 -0
  233. package/dist/cli/commands/qa-run-slice.js +145 -0
  234. package/dist/cli/commands/release-canary-command.d.ts +28 -0
  235. package/dist/cli/commands/release-canary-command.js +129 -0
  236. package/dist/cli/commands/release-command-shared.d.ts +13 -0
  237. package/dist/cli/commands/release-command-shared.js +18 -0
  238. package/dist/cli/commands/release-commands.d.ts +10 -18
  239. package/dist/cli/commands/release-commands.js +25 -298
  240. package/dist/cli/commands/release-done-command.d.ts +3 -0
  241. package/dist/cli/commands/release-done-command.js +64 -0
  242. package/dist/cli/commands/release-hotfix-command.d.ts +3 -0
  243. package/dist/cli/commands/release-hotfix-command.js +50 -0
  244. package/dist/cli/commands/release-plan-command.d.ts +3 -0
  245. package/dist/cli/commands/release-plan-command.js +33 -0
  246. package/dist/cli/commands/release-precheck-command.d.ts +3 -0
  247. package/dist/cli/commands/release-precheck-command.js +28 -0
  248. package/dist/cli/commands/release-promote-command.d.ts +3 -0
  249. package/dist/cli/commands/release-promote-command.js +34 -0
  250. package/dist/cli/commands/release-rollback-command.d.ts +3 -0
  251. package/dist/cli/commands/release-rollback-command.js +33 -0
  252. package/dist/cli/commands/release-watch-command.d.ts +3 -0
  253. package/dist/cli/commands/release-watch-command.js +44 -0
  254. package/dist/cli/commands/sediment-argv-flags.d.ts +54 -0
  255. package/dist/cli/commands/sediment-argv-flags.js +116 -0
  256. package/dist/cli/commands/sediment-command-shared.d.ts +15 -0
  257. package/dist/cli/commands/sediment-command-shared.js +5 -0
  258. package/dist/cli/commands/sediment-commands.d.ts +35 -59
  259. package/dist/cli/commands/sediment-commands.js +36 -590
  260. package/dist/cli/commands/sediment-pool-commands.d.ts +9 -0
  261. package/dist/cli/commands/sediment-pool-commands.js +185 -0
  262. package/dist/cli/commands/sediment-query-commands.d.ts +4 -0
  263. package/dist/cli/commands/sediment-query-commands.js +94 -0
  264. package/dist/cli/commands/sediment-release-commands.d.ts +8 -0
  265. package/dist/cli/commands/sediment-release-commands.js +232 -0
  266. package/dist/cli/commands/sop-advance-command.d.ts +3 -0
  267. package/dist/cli/commands/sop-advance-command.js +160 -0
  268. package/dist/cli/commands/sop-check-command.d.ts +3 -0
  269. package/dist/cli/commands/sop-check-command.js +44 -0
  270. package/dist/cli/commands/sop-command-shared.d.ts +23 -0
  271. package/dist/cli/commands/sop-command-shared.js +18 -0
  272. package/dist/cli/commands/sop-commands.d.ts +15 -1
  273. package/dist/cli/commands/sop-commands.js +26 -240
  274. package/dist/cli/commands/sop-init-command.d.ts +3 -0
  275. package/dist/cli/commands/sop-init-command.js +51 -0
  276. package/dist/cli/commands/sop-lint-command.d.ts +3 -0
  277. package/dist/cli/commands/sop-lint-command.js +64 -0
  278. package/dist/cli/commands/sop-register-command.d.ts +3 -0
  279. package/dist/cli/commands/sop-register-command.js +48 -0
  280. package/dist/cli/commands/sop-registry-command.d.ts +3 -0
  281. package/dist/cli/commands/sop-registry-command.js +30 -0
  282. package/dist/cli/commands/statusline-command-shared.d.ts +73 -0
  283. package/dist/cli/commands/statusline-command-shared.js +90 -0
  284. package/dist/cli/commands/statusline-commands.d.ts +1 -19
  285. package/dist/cli/commands/statusline-commands.js +48 -287
  286. package/dist/cli/commands/statusline-compact-command.d.ts +4 -0
  287. package/dist/cli/commands/statusline-compact-command.js +54 -0
  288. package/dist/cli/commands/statusline-install-command.d.ts +3 -0
  289. package/dist/cli/commands/statusline-install-command.js +48 -0
  290. package/dist/cli/commands/statusline-render-command.d.ts +9 -0
  291. package/dist/cli/commands/statusline-render-command.js +55 -0
  292. package/dist/cli/commands/statusline-status-command.d.ts +3 -0
  293. package/dist/cli/commands/statusline-status-command.js +23 -0
  294. package/dist/cli/commands/statusline-uninstall-command.d.ts +3 -0
  295. package/dist/cli/commands/statusline-uninstall-command.js +23 -0
  296. package/dist/cli/commands/test-command-run-helpers.d.ts +27 -0
  297. package/dist/cli/commands/test-command-run-helpers.js +73 -0
  298. package/dist/cli/commands/test-command-runner-resolution.d.ts +57 -0
  299. package/dist/cli/commands/test-command-runner-resolution.js +183 -0
  300. package/dist/cli/commands/test-commands.d.ts +8 -56
  301. package/dist/cli/commands/test-commands.js +26 -249
  302. package/dist/cli/commands/vm-command-shared.d.ts +23 -0
  303. package/dist/cli/commands/vm-command-shared.js +23 -0
  304. package/dist/cli/commands/vm-commands.d.ts +1 -28
  305. package/dist/cli/commands/vm-commands.js +36 -270
  306. package/dist/cli/commands/vm-hypervisor-runtime.d.ts +15 -0
  307. package/dist/cli/commands/vm-hypervisor-runtime.js +64 -0
  308. package/dist/cli/commands/vm-release-command.d.ts +5 -0
  309. package/dist/cli/commands/vm-release-command.js +101 -0
  310. package/dist/cli/commands/vm-spawn-command.d.ts +5 -0
  311. package/dist/cli/commands/vm-spawn-command.js +177 -0
  312. package/dist/cli/commands/web-command-shared.d.ts +12 -0
  313. package/dist/cli/commands/web-command-shared.js +30 -0
  314. package/dist/cli/commands/web-commands.d.ts +7 -14
  315. package/dist/cli/commands/web-commands.js +6 -314
  316. package/dist/cli/commands/web-install-command.d.ts +10 -0
  317. package/dist/cli/commands/web-install-command.js +116 -0
  318. package/dist/cli/commands/web-lifecycle-commands.d.ts +9 -30
  319. package/dist/cli/commands/web-lifecycle-commands.js +14 -322
  320. package/dist/cli/commands/web-login-command.d.ts +14 -0
  321. package/dist/cli/commands/web-login-command.js +189 -0
  322. package/dist/cli/commands/web-op-payload.d.ts +22 -0
  323. package/dist/cli/commands/web-op-payload.js +89 -0
  324. package/dist/cli/commands/web-op-refusals.d.ts +37 -0
  325. package/dist/cli/commands/web-op-refusals.js +73 -0
  326. package/dist/cli/commands/web-op-runner.d.ts +14 -0
  327. package/dist/cli/commands/web-op-runner.js +166 -0
  328. package/dist/cli/commands/web-status-command.d.ts +4 -0
  329. package/dist/cli/commands/web-status-command.js +32 -0
  330. package/dist/cli/commands/web-stop-command.d.ts +10 -0
  331. package/dist/cli/commands/web-stop-command.js +59 -0
  332. package/dist/cli/commands/web-verb-specs.d.ts +18 -0
  333. package/dist/cli/commands/web-verb-specs.js +66 -0
  334. package/dist/cli/commands/workflow-command-shared.d.ts +102 -0
  335. package/dist/cli/commands/workflow-command-shared.js +74 -0
  336. package/dist/cli/commands/workflow-graph-commands.d.ts +3 -0
  337. package/dist/cli/commands/workflow-graph-commands.js +73 -0
  338. package/dist/cli/commands/workflow-init-command.d.ts +3 -0
  339. package/dist/cli/commands/workflow-init-command.js +68 -0
  340. package/dist/cli/commands/workflow-lifecycle-commands.d.ts +9 -59
  341. package/dist/cli/commands/workflow-lifecycle-commands.js +14 -348
  342. package/dist/cli/commands/workflow-node-commands.d.ts +3 -0
  343. package/dist/cli/commands/workflow-node-commands.js +154 -0
  344. package/dist/cli/commands/workflow-terminalize-command.d.ts +3 -0
  345. package/dist/cli/commands/workflow-terminalize-command.js +56 -0
  346. package/dist/services/code/auto-compact-artifacts.d.ts +54 -0
  347. package/dist/services/code/auto-compact-artifacts.js +135 -0
  348. package/dist/services/code/auto-compact-attempt.d.ts +46 -0
  349. package/dist/services/code/auto-compact-attempt.js +88 -0
  350. package/dist/services/code/auto-compact-decision.d.ts +74 -0
  351. package/dist/services/code/auto-compact-decision.js +149 -0
  352. package/dist/services/code/auto-compact-dispatch-gate.d.ts +36 -0
  353. package/dist/services/code/auto-compact-dispatch-gate.js +86 -0
  354. package/dist/services/code/auto-compact-envelopes.d.ts +33 -0
  355. package/dist/services/code/auto-compact-envelopes.js +134 -0
  356. package/dist/services/code/auto-compact-history.d.ts +46 -0
  357. package/dist/services/code/auto-compact-history.js +17 -0
  358. package/dist/services/code/auto-compact-orchestrator.d.ts +11 -240
  359. package/dist/services/code/auto-compact-orchestrator.js +165 -686
  360. package/dist/services/code/auto-compact-run-types.d.ts +123 -0
  361. package/dist/services/code/auto-compact-run-types.js +1 -0
  362. package/dist/services/code/emit-handoff.d.ts +35 -1
  363. package/dist/services/code/emit-handoff.js +128 -7
  364. package/dist/services/code/step-08-gate.d.ts +28 -19
  365. package/dist/services/code/step-08-gate.js +92 -35
  366. package/dist/services/config/config-coercion.d.ts +7 -0
  367. package/dist/services/config/config-coercion.js +156 -0
  368. package/dist/services/config/config-file-io.d.ts +11 -0
  369. package/dist/services/config/config-file-io.js +61 -0
  370. package/dist/services/config/config-get.d.ts +2 -0
  371. package/dist/services/config/config-get.js +36 -0
  372. package/dist/services/config/config-global-loader.d.ts +15 -0
  373. package/dist/services/config/config-global-loader.js +111 -0
  374. package/dist/services/config/config-nested-path.d.ts +3 -0
  375. package/dist/services/config/config-nested-path.js +53 -0
  376. package/dist/services/config/config-primitives.d.ts +16 -0
  377. package/dist/services/config/config-primitives.js +24 -0
  378. package/dist/services/config/config-service.d.ts +9 -33
  379. package/dist/services/config/config-service.js +16 -665
  380. package/dist/services/config/config-validation.d.ts +19 -0
  381. package/dist/services/config/config-validation.js +152 -0
  382. package/dist/services/config/config-workspace.d.ts +10 -0
  383. package/dist/services/config/config-workspace.js +158 -0
  384. package/dist/services/skills/hooks-settings-deny-list.d.ts +61 -0
  385. package/dist/services/skills/hooks-settings-deny-list.js +173 -0
  386. package/dist/services/skills/hooks-settings-envelopes.d.ts +20 -0
  387. package/dist/services/skills/hooks-settings-envelopes.js +79 -0
  388. package/dist/services/skills/hooks-settings-file-shape.d.ts +43 -0
  389. package/dist/services/skills/hooks-settings-file-shape.js +207 -0
  390. package/dist/services/skills/hooks-settings-paths.d.ts +34 -0
  391. package/dist/services/skills/hooks-settings-paths.js +75 -0
  392. package/dist/services/skills/hooks-settings-read-installed.d.ts +39 -0
  393. package/dist/services/skills/hooks-settings-read-installed.js +60 -0
  394. package/dist/services/skills/hooks-settings-service.d.ts +12 -212
  395. package/dist/services/skills/hooks-settings-service.js +71 -657
  396. package/dist/services/skills/hooks-settings-types.d.ts +139 -0
  397. package/dist/services/skills/hooks-settings-types.js +1 -0
  398. package/dist/services/workspace/claude-settings-template-merge.d.ts +89 -0
  399. package/dist/services/workspace/claude-settings-template-merge.js +243 -0
  400. package/dist/services/workspace/claude-settings-template.d.ts +29 -87
  401. package/dist/services/workspace/claude-settings-template.js +81 -236
  402. package/package.json +5 -5
@@ -0,0 +1,49 @@
1
+ import { ok } from 'peaks-loop-shared/result';
2
+ /**
3
+ * Per-slice scheduling metadata (foundation / upstreamSync / complexity) for
4
+ * the level-1 slices the envelope surfaces.
5
+ */
6
+ function sliceMetaFor(ids, dag, isSliceComplexity) {
7
+ return ids.map((id) => {
8
+ const node = dag.nodes.find((n) => n.id === id);
9
+ return {
10
+ id,
11
+ foundation: node?.foundation === true,
12
+ upstreamSync: node?.upstreamSync === true,
13
+ complexity: node?.complexity !== undefined && isSliceComplexity(node.complexity)
14
+ ? node.complexity
15
+ : null
16
+ };
17
+ });
18
+ }
19
+ /** The `ok('sub-agent.dispatch', …)` envelope for a completed `--from-dag` run. */
20
+ export function buildDagSuccessEnvelope(input) {
21
+ const { role, ide, fromDag, batchId, levelsTotal, emittedSliceIds, emittedToolCalls, firstLevelWaves, existingContractCount, dag, isSliceComplexity } = input;
22
+ const dispatchCount = emittedSliceIds.length;
23
+ return ok('sub-agent.dispatch', {
24
+ envelopeVersion: '2.1.0',
25
+ role,
26
+ ide,
27
+ fromDag,
28
+ batchId,
29
+ dispatchCount,
30
+ levelsTotal,
31
+ firstLevel: emittedSliceIds,
32
+ firstLevelWaves,
33
+ toolCalls: emittedToolCalls,
34
+ existingContractCount,
35
+ expectedCompletionSeconds: 60,
36
+ artifactsPublicPaths: [],
37
+ orchestratorVisibleHint: `⏳ Spawning ${dispatchCount} sub-agents via Task tool from DAG ${fromDag}, batch-id=${batchId} (ETA ~60s)`,
38
+ sliceMeta: sliceMetaFor(emittedSliceIds, dag, isSliceComplexity),
39
+ nextActions: [
40
+ 'Execute each toolCall in your IDE; on completion, write the slice contract to .peaks/_runtime/<sid>/dispatch/contracts/<slice-id>.json.',
41
+ 'Re-invoke `peaks sub-agent dispatch --from-dag <file>` with the same batch-id to advance to the next level once all current-level slices have written contracts.'
42
+ ]
43
+ }, [], [
44
+ 'MVP (1.2) plans the first level via runLayeredDag orchestrator (cancel-on-fail path active); the LLM drives subsequent levels by re-invoking this command after contract writes.',
45
+ existingContractCount > 0
46
+ ? `Injected ${existingContractCount} upstream contract(s) into downstream-level prompts via formatContractInjection.`
47
+ : 'No upstream contracts found; first-level prompts have empty ancestor blocks.'
48
+ ]);
49
+ }
@@ -0,0 +1,18 @@
1
+ import { type ProgramIO } from '../cli-helpers.js';
2
+ /** One refusal from the `--from-dag` path, as the fields the envelope needs. */
3
+ export type DagFailure = {
4
+ readonly role: string;
5
+ readonly code: string;
6
+ readonly message: string;
7
+ readonly extra?: Record<string, unknown>;
8
+ readonly nextActions: readonly string[];
9
+ };
10
+ /**
11
+ * Emit a `sub-agent.dispatch` failure envelope and mark the process failed.
12
+ *
13
+ * Returns `null` so every caller can read `if (readDag(...) === null) return;`
14
+ * — the three statements (print, exit code, return) are one decision and stay
15
+ * together, which is also what keeps each call site inside
16
+ * `max-lines-per-function`.
17
+ */
18
+ export declare function emitDagFailure(io: ProgramIO, asJson: boolean, failure: DagFailure): null;
@@ -0,0 +1,16 @@
1
+ import { fail } from 'peaks-loop-shared/result';
2
+ import { printResult } from '../cli-helpers.js';
3
+ /**
4
+ * Emit a `sub-agent.dispatch` failure envelope and mark the process failed.
5
+ *
6
+ * Returns `null` so every caller can read `if (readDag(...) === null) return;`
7
+ * — the three statements (print, exit code, return) are one decision and stay
8
+ * together, which is also what keeps each call site inside
9
+ * `max-lines-per-function`.
10
+ */
11
+ export function emitDagFailure(io, asJson, failure) {
12
+ const { role, code, message, extra, nextActions } = failure;
13
+ printResult(io, fail('sub-agent.dispatch', code, message, { role, toolCall: null, dispatchRecordPath: null, ...extra }, [...nextActions]), asJson);
14
+ process.exitCode = 1;
15
+ return null;
16
+ }
@@ -0,0 +1,51 @@
1
+ import type { SliceDag } from '../../services/dispatch/slice-dag.js';
2
+ import type { ProgramIO } from '../cli-helpers.js';
3
+ import { type DispatchOptions } from './sub-agent-shared.js';
4
+ /** The three things every refusal in this path needs to be emitted. */
5
+ export type DagScope = {
6
+ readonly role: string;
7
+ readonly asJson: boolean;
8
+ readonly io: ProgramIO;
9
+ };
10
+ /** Identity every `--from-dag` envelope is stamped with. */
11
+ export type DagIds = {
12
+ readonly projectRoot: string;
13
+ readonly sid: string;
14
+ readonly rid: string;
15
+ readonly batchId: string;
16
+ };
17
+ /**
18
+ * Resolve the project root + the four ids the DAG envelope reports.
19
+ *
20
+ * The sid falls back through `PEAKS_SESSION_ID` and the canonical binding
21
+ * before the `unknown-sid` sentinel; the rid keeps its `unknown-rid` default
22
+ * when the caller passed none.
23
+ */
24
+ export declare function resolveDagIds(options: DispatchOptions): DagIds;
25
+ /**
26
+ * Lazy-load the three heavy modules only when `--from-dag` is actually used.
27
+ *
28
+ * The warm-path single dispatch does NOT load slice-dag / dag-orchestrator /
29
+ * contract-store (slice 9 perf); the dynamic-import promise resolves on first
30
+ * call and ESM caches the module for subsequent calls in the same process.
31
+ */
32
+ export declare function loadDagRuntime(): Promise<{
33
+ readFileSync: typeof import("fs").readFileSync;
34
+ validateDag: typeof import("../../services/dispatch/slice-dag.js").validateDag;
35
+ topologicalLevels: typeof import("../../services/dispatch/slice-dag.js").topologicalLevels;
36
+ isSliceComplexity: typeof import("../../services/dispatch/slice-dag-types.js").isSliceComplexity;
37
+ runLayeredDag: typeof import("../../services/code/dag-orchestrator.js").runLayeredDag;
38
+ listContracts: typeof import("../../services/dispatch/contract-store.js").listContracts;
39
+ hashContract: typeof import("../../services/dispatch/contract-store.js").hashContract;
40
+ }>;
41
+ export type DagRuntime = Awaited<ReturnType<typeof loadDagRuntime>>;
42
+ /** Read + `JSON.parse` + `validateDag` the DAG file; `null` once refused. */
43
+ export declare function readDagOrFail(runtime: DagRuntime, fromDag: string, scope: DagScope): SliceDag | null;
44
+ /**
45
+ * Each DAG node must map to an explicitly prepared workflow graph node before
46
+ * sub-agent dispatch. The mapping is the `graphNode` annotation on the node,
47
+ * or — as a back-compat fallback — the node id itself.
48
+ */
49
+ export declare function assertGraphNodesMapped(dag: SliceDag, scope: DagScope): true | null;
50
+ /** Topologically order the DAG's nodes; `null` once the failure is emitted. */
51
+ export declare function topologicalLevelsOrFail(runtime: DagRuntime, dag: SliceDag, fromDag: string, scope: DagScope): readonly (readonly string[])[] | null;
@@ -0,0 +1,105 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { getCurrentSessionId } from '../../services/skills/skill-presence-service.js';
3
+ import { emitDagFailure } from './dispatch-dag-failure.js';
4
+ /**
5
+ * Resolve the project root + the four ids the DAG envelope reports.
6
+ *
7
+ * The sid falls back through `PEAKS_SESSION_ID` and the canonical binding
8
+ * before the `unknown-sid` sentinel; the rid keeps its `unknown-rid` default
9
+ * when the caller passed none.
10
+ */
11
+ export function resolveDagIds(options) {
12
+ const projectRoot = options.project ?? process.cwd();
13
+ return {
14
+ projectRoot,
15
+ sid: options.sessionId ??
16
+ process.env.PEAKS_SESSION_ID ??
17
+ getCurrentSessionId(projectRoot) ??
18
+ 'unknown-sid',
19
+ rid: options.requestId ?? 'unknown-rid',
20
+ batchId: options.batchId ?? randomUUID()
21
+ };
22
+ }
23
+ /**
24
+ * Lazy-load the three heavy modules only when `--from-dag` is actually used.
25
+ *
26
+ * The warm-path single dispatch does NOT load slice-dag / dag-orchestrator /
27
+ * contract-store (slice 9 perf); the dynamic-import promise resolves on first
28
+ * call and ESM caches the module for subsequent calls in the same process.
29
+ */
30
+ export async function loadDagRuntime() {
31
+ const [{ readFileSync }, sliceDagMod, dagOrchestratorMod, contractStoreMod] = await Promise.all([
32
+ import('node:fs'),
33
+ import('../../services/dispatch/slice-dag.js'),
34
+ import('../../services/code/dag-orchestrator.js'),
35
+ import('../../services/dispatch/contract-store.js')
36
+ ]);
37
+ return {
38
+ readFileSync,
39
+ validateDag: sliceDagMod.validateDag,
40
+ topologicalLevels: sliceDagMod.topologicalLevels,
41
+ isSliceComplexity: sliceDagMod.isSliceComplexity,
42
+ runLayeredDag: dagOrchestratorMod.runLayeredDag,
43
+ listContracts: contractStoreMod.listContracts,
44
+ hashContract: contractStoreMod.hashContract
45
+ };
46
+ }
47
+ /** Read + `JSON.parse` + `validateDag` the DAG file; `null` once refused. */
48
+ export function readDagOrFail(runtime, fromDag, scope) {
49
+ try {
50
+ const raw = runtime.readFileSync(fromDag, 'utf8');
51
+ const parsed = JSON.parse(raw);
52
+ runtime.validateDag(parsed);
53
+ return parsed;
54
+ }
55
+ catch (err) {
56
+ return emitDagFailure(scope.io, scope.asJson, {
57
+ role: scope.role,
58
+ code: 'INVALID_DAG',
59
+ message: `failed to read or validate DAG from ${fromDag}: ${err.message}`,
60
+ nextActions: [
61
+ 'Check the JSON file at the given path; the DAG must have {nodes, edges} and pass validateDag().'
62
+ ]
63
+ });
64
+ }
65
+ }
66
+ /**
67
+ * Each DAG node must map to an explicitly prepared workflow graph node before
68
+ * sub-agent dispatch. The mapping is the `graphNode` annotation on the node,
69
+ * or — as a back-compat fallback — the node id itself.
70
+ */
71
+ export function assertGraphNodesMapped(dag, scope) {
72
+ for (const node of dag.nodes) {
73
+ const graphNodeId = node.graphNode;
74
+ const candidate = typeof graphNodeId === 'string' && graphNodeId.length > 0 ? graphNodeId : node.id;
75
+ if (typeof candidate === 'string' && candidate.length > 0)
76
+ continue;
77
+ return emitDagFailure(scope.io, scope.asJson, {
78
+ role: scope.role,
79
+ code: 'PEAKS_GRAPH_NODE_REQUIRED',
80
+ message: `DAG node ${node.id} has no graph-node mapping (RD §4 D4c)`,
81
+ extra: { dagNodeId: node.id },
82
+ nextActions: [
83
+ 'Annotate the DAG node with `graphNode: "<id>"` so each dispatch can bind a prepared graph node.'
84
+ ]
85
+ });
86
+ }
87
+ return true;
88
+ }
89
+ /** Topologically order the DAG's nodes; `null` once the failure is emitted. */
90
+ export function topologicalLevelsOrFail(runtime, dag, fromDag, scope) {
91
+ try {
92
+ return runtime.topologicalLevels(dag);
93
+ }
94
+ catch (err) {
95
+ return emitDagFailure(scope.io, scope.asJson, {
96
+ role: scope.role,
97
+ code: 'INVALID_DAG',
98
+ message: `topologicalLevels failed for ${fromDag}: ${err.message}`,
99
+ nextActions: [
100
+ 'The DAG passed validateDag() but topologicalLevels threw (likely a cycle that slipped past validateDag, or a runtime invariant).',
101
+ 'Inspect the DAG file with the editor and re-invoke dispatch. (No peaks scan dag CLI ships in 2.7.0; if you need a programmatic DAG validator, import validateDag / topologicalLevels from src/services/dispatch/slice-dag.ts directly.)'
102
+ ]
103
+ });
104
+ }
105
+ }
@@ -0,0 +1,48 @@
1
+ import type { SubAgentDispatcher, SubAgentToolCall } from '../../services/dispatch/sub-agent-dispatcher.js';
2
+ import type { SliceDag } from '../../services/dispatch/slice-dag.js';
3
+ import type { DispatchSpec, SliceOutcome } from '../../services/code/dag-orchestrator.js';
4
+ import type { SliceContract, WriteContractInput } from '../../services/dispatch/contract-store.js';
5
+ /** What the CLI runner collected while `runLayeredDag` walked the levels. */
6
+ export type DagEmissions = {
7
+ readonly toolCalls: SubAgentToolCall[];
8
+ readonly sliceIds: string[];
9
+ };
10
+ /** The resolved IDE + sub-agent dispatcher the `--from-dag` path runs on. */
11
+ export type DagDispatcher = {
12
+ readonly ide: string;
13
+ readonly dispatcher: SubAgentDispatcher;
14
+ };
15
+ /** Detect the IDE and resolve its sub-agent dispatcher. */
16
+ export declare function resolveDagDispatcher(projectRoot: string): DagDispatcher;
17
+ /**
18
+ * When every first-level node declares `files`, refine the level into
19
+ * file-overlap waves so the LLM fans out without serializing on a shared
20
+ * file. Emitted additively; nodes without `files` yield `null` (legacy
21
+ * envelope).
22
+ */
23
+ export declare function planFirstLevelWaves(dag: SliceDag, levelArr: readonly (readonly string[])[]): readonly import("../../services/dispatch/file-overlap-wave-planner.js").FileOverlapWave[] | null;
24
+ /**
25
+ * The CLI runner: emit the per-slice `buildToolCall` descriptor for the first
26
+ * topological level, then return `done`.
27
+ *
28
+ * Returning `done` (not `cancelled`) exercises `runLayeredDag`'s join barrier
29
+ * and cancel-on-fail path end to end; the placeholder `publicSurface` is
30
+ * intentionally empty because the real surface arrives later via
31
+ * `peaks contract write`.
32
+ */
33
+ export declare function makeCliRunner(args: {
34
+ firstLevelIds: ReadonlySet<string>;
35
+ dispatcher: SubAgentDispatcher;
36
+ ids: {
37
+ readonly rid: string;
38
+ readonly sid: string;
39
+ };
40
+ emissions: DagEmissions;
41
+ }): (spec: DispatchSpec) => Promise<SliceOutcome>;
42
+ /**
43
+ * Placeholder contract writer. The CLI writes nothing to disk here — the
44
+ * LLM-side runner does that via `peaks contract write` — but the returned
45
+ * placeholder must stay shape-valid: `contractHash` has to be a real SHA-256
46
+ * hex string computed from the slice identity (`sliceId|sessionId`).
47
+ */
48
+ export declare function makeNoopWriter(hashContract: (partial: WriteContractInput) => string, sid: string): (sliceId: string) => SliceContract;
@@ -0,0 +1,73 @@
1
+ import { detectInstalledIde } from '../../services/ide/ide-detector.js';
2
+ import { getAdapter } from '../../services/ide/ide-registry.js';
3
+ import { planFileOverlapWaves } from '../../services/dispatch/file-overlap-wave-planner.js';
4
+ /** Detect the IDE and resolve its sub-agent dispatcher. */
5
+ export function resolveDagDispatcher(projectRoot) {
6
+ const ide = detectInstalledIde(projectRoot) ?? 'claude-code';
7
+ return { ide, dispatcher: getAdapter(ide).subAgentDispatcher };
8
+ }
9
+ /**
10
+ * When every first-level node declares `files`, refine the level into
11
+ * file-overlap waves so the LLM fans out without serializing on a shared
12
+ * file. Emitted additively; nodes without `files` yield `null` (legacy
13
+ * envelope).
14
+ */
15
+ export function planFirstLevelWaves(dag, levelArr) {
16
+ const descriptors = [...(levelArr[0] ?? [])].map((id) => ({
17
+ id,
18
+ files: dag.nodes.find((n) => n.id === id)?.files ?? []
19
+ }));
20
+ const allHaveFiles = descriptors.every((d) => d.files.length > 0);
21
+ return descriptors.length > 0 && allHaveFiles ? planFileOverlapWaves(descriptors).waves : null;
22
+ }
23
+ /**
24
+ * The CLI runner: emit the per-slice `buildToolCall` descriptor for the first
25
+ * topological level, then return `done`.
26
+ *
27
+ * Returning `done` (not `cancelled`) exercises `runLayeredDag`'s join barrier
28
+ * and cancel-on-fail path end to end; the placeholder `publicSurface` is
29
+ * intentionally empty because the real surface arrives later via
30
+ * `peaks contract write`.
31
+ */
32
+ export function makeCliRunner(args) {
33
+ const { firstLevelIds, dispatcher, ids, emissions } = args;
34
+ return async (spec) => {
35
+ const toolCall = dispatcher.buildToolCall({
36
+ role: spec.role,
37
+ prompt: spec.prompt,
38
+ requestId: ids.rid,
39
+ sessionId: ids.sid
40
+ });
41
+ if (firstLevelIds.has(spec.sliceId)) {
42
+ emissions.toolCalls.push(toolCall);
43
+ emissions.sliceIds.push(spec.sliceId);
44
+ }
45
+ return { status: 'done', publicSurface: { exports: [], types: [], publicSignatures: [] } };
46
+ };
47
+ }
48
+ /**
49
+ * Placeholder contract writer. The CLI writes nothing to disk here — the
50
+ * LLM-side runner does that via `peaks contract write` — but the returned
51
+ * placeholder must stay shape-valid: `contractHash` has to be a real SHA-256
52
+ * hex string computed from the slice identity (`sliceId|sessionId`).
53
+ */
54
+ export function makeNoopWriter(hashContract, sid) {
55
+ return (sliceId) => {
56
+ const partial = {
57
+ sliceId,
58
+ sessionId: sid,
59
+ exports: [],
60
+ types: [],
61
+ publicSignatures: []
62
+ };
63
+ return {
64
+ sliceId,
65
+ sessionId: sid,
66
+ completedAt: new Date(0).toISOString(),
67
+ exports: [],
68
+ types: [],
69
+ publicSignatures: [],
70
+ contractHash: hashContract(partial)
71
+ };
72
+ };
73
+ }
@@ -1,3 +1,30 @@
1
+ /**
2
+ * The `--from-dag` path of `peaks sub-agent dispatch`.
3
+ *
4
+ * Pulled out of `dispatch-commands.ts` to honor the file-size cap (Karpathy #2
5
+ * Simplicity First). The single-dispatch action stays in `dispatch-commands.ts`;
6
+ * the DAG-dispatch path lives here because the two share no logic — the
7
+ * warm-path single dispatch does NOT load slice-dag / dag-orchestrator /
8
+ * contract-store (slice 9 perf), while the `--from-dag` codepath loads all
9
+ * three on first call.
10
+ *
11
+ * 2.7.0 slice-dag-dispatcher MVP: read a SliceDag from a file and run it
12
+ * through `runLayeredDag`. The orchestrator's `runSlice` is a thin wrapper
13
+ * that emits the per-IDE `buildToolCall` envelope for each topological level.
14
+ *
15
+ * 1.2 MVP scope: this dispatches the FIRST topological level synchronously
16
+ * (returns the dispatch specs); subsequent levels are not surfaced in the CLI
17
+ * envelope because the LLM-side runner must actually execute each
18
+ * `buildToolCall` and write the resulting contract before level 2+ can be
19
+ * safely auto-advanced. The LLM re-invokes `peaks sub-agent dispatch --from-dag
20
+ * <file> --batch-id <id>` after writing level-1 contracts, which causes
21
+ * `runLayeredDag` to plan level 2+ with the level-1 ancestor contracts spliced
22
+ * into their dispatch prompts.
23
+ *
24
+ * Internally, `runLayeredDag` DOES iterate all levels so its join-barrier +
25
+ * cancel-on-fail path is exercised end-to-end during the MVP emit; only the
26
+ * CLI envelope is filtered to level-1 toolCalls (see `firstLevelIds`).
27
+ */
1
28
  import { type ProgramIO } from '../cli-helpers.js';
2
29
  import { type DispatchOptions } from './sub-agent-shared.js';
3
30
  export declare function runDispatchFromDag(role: string, options: DispatchOptions, asJson: boolean, io: ProgramIO): Promise<void>;