@zhixuan92/multi-model-agent-core 4.5.4 → 4.7.0

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 (482) hide show
  1. package/README.md +6 -2
  2. package/dist/bounded-execution/file-artifact-check.d.ts +4 -11
  3. package/dist/bounded-execution/file-artifact-check.d.ts.map +1 -1
  4. package/dist/bounded-execution/file-artifact-check.js +7 -22
  5. package/dist/bounded-execution/file-artifact-check.js.map +1 -1
  6. package/dist/bounded-execution/progress-watchdog.d.ts.map +1 -1
  7. package/dist/bounded-execution/progress-watchdog.js +60 -27
  8. package/dist/bounded-execution/progress-watchdog.js.map +1 -1
  9. package/dist/bounded-execution/stall-watchdog.d.ts.map +1 -1
  10. package/dist/bounded-execution/stall-watchdog.js +29 -12
  11. package/dist/bounded-execution/stall-watchdog.js.map +1 -1
  12. package/dist/bounded-execution/wall-clock-guard.d.ts +4 -0
  13. package/dist/bounded-execution/wall-clock-guard.d.ts.map +1 -1
  14. package/dist/bounded-execution/wall-clock-guard.js +1 -1
  15. package/dist/bounded-execution/wall-clock-guard.js.map +1 -1
  16. package/dist/config/canonical-model-identity.d.ts.map +1 -1
  17. package/dist/config/canonical-model-identity.js.map +1 -1
  18. package/dist/config/config-resolver.d.ts +1 -41
  19. package/dist/config/config-resolver.d.ts.map +1 -1
  20. package/dist/config/config-resolver.js +1 -43
  21. package/dist/config/config-resolver.js.map +1 -1
  22. package/dist/config/load.d.ts +0 -2
  23. package/dist/config/load.d.ts.map +1 -1
  24. package/dist/config/load.js +0 -4
  25. package/dist/config/load.js.map +1 -1
  26. package/dist/config/model-profile-registry.d.ts.map +1 -1
  27. package/dist/config/model-profile-registry.js +13 -7
  28. package/dist/config/model-profile-registry.js.map +1 -1
  29. package/dist/config/schema.d.ts +1 -19
  30. package/dist/config/schema.d.ts.map +1 -1
  31. package/dist/config/schema.js +12 -38
  32. package/dist/config/schema.js.map +1 -1
  33. package/dist/error-codes.d.ts +0 -1
  34. package/dist/error-codes.d.ts.map +1 -1
  35. package/dist/error-codes.js +0 -1
  36. package/dist/error-codes.js.map +1 -1
  37. package/dist/events/cloud-events.d.ts +0 -1
  38. package/dist/events/cloud-events.d.ts.map +1 -1
  39. package/dist/events/cloud-events.js +1 -1
  40. package/dist/events/cloud-events.js.map +1 -1
  41. package/dist/events/event-builder.d.ts +36 -5
  42. package/dist/events/event-builder.d.ts.map +1 -1
  43. package/dist/events/event-builder.js +174 -33
  44. package/dist/events/event-builder.js.map +1 -1
  45. package/dist/events/event-emitter.d.ts +2 -1
  46. package/dist/events/event-emitter.d.ts.map +1 -1
  47. package/dist/events/event-emitter.js +6 -1
  48. package/dist/events/event-emitter.js.map +1 -1
  49. package/dist/events/observability-events.d.ts +6 -26
  50. package/dist/events/observability-events.d.ts.map +1 -1
  51. package/dist/events/observability-events.js +6 -11
  52. package/dist/events/observability-events.js.map +1 -1
  53. package/dist/events/telemetry-types.d.ts +10 -7
  54. package/dist/events/telemetry-types.d.ts.map +1 -1
  55. package/dist/events/telemetry-types.js +1 -1
  56. package/dist/events/telemetry-types.js.map +1 -1
  57. package/dist/events/verbose-log-channel.d.ts +7 -7
  58. package/dist/events/verbose-log-channel.js +10 -10
  59. package/dist/index.d.ts +13 -8
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +11 -5
  62. package/dist/index.js.map +1 -1
  63. package/dist/intake/resolve.d.ts.map +1 -1
  64. package/dist/intake/resolve.js +0 -1
  65. package/dist/intake/resolve.js.map +1 -1
  66. package/dist/lifecycle/annotate-parser.d.ts +9 -0
  67. package/dist/lifecycle/annotate-parser.d.ts.map +1 -0
  68. package/dist/lifecycle/annotate-parser.js +83 -0
  69. package/dist/lifecycle/annotate-parser.js.map +1 -0
  70. package/dist/lifecycle/annotate-prompts.d.ts +9 -0
  71. package/dist/lifecycle/annotate-prompts.d.ts.map +1 -0
  72. package/dist/lifecycle/annotate-prompts.js +86 -0
  73. package/dist/lifecycle/annotate-prompts.js.map +1 -0
  74. package/dist/lifecycle/auto-register-context-block.d.ts +2 -2
  75. package/dist/lifecycle/auto-register-context-block.d.ts.map +1 -1
  76. package/dist/lifecycle/auto-register-context-block.js.map +1 -1
  77. package/dist/lifecycle/build-cancelled-result.d.ts +11 -0
  78. package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -0
  79. package/dist/lifecycle/build-cancelled-result.js +27 -0
  80. package/dist/lifecycle/build-cancelled-result.js.map +1 -0
  81. package/dist/lifecycle/executor-output-types.d.ts +2 -2
  82. package/dist/lifecycle/executor-output-types.d.ts.map +1 -1
  83. package/dist/lifecycle/fallback-report.d.ts +2 -2
  84. package/dist/lifecycle/fallback-report.d.ts.map +1 -1
  85. package/dist/lifecycle/fallback-report.js.map +1 -1
  86. package/dist/lifecycle/findings-parser.d.ts +2 -0
  87. package/dist/lifecycle/findings-parser.d.ts.map +1 -1
  88. package/dist/lifecycle/findings-parser.js +9 -4
  89. package/dist/lifecycle/findings-parser.js.map +1 -1
  90. package/dist/lifecycle/git-toplevel.d.ts +12 -0
  91. package/dist/lifecycle/git-toplevel.d.ts.map +1 -0
  92. package/dist/lifecycle/git-toplevel.js +49 -0
  93. package/dist/lifecycle/git-toplevel.js.map +1 -0
  94. package/dist/lifecycle/handlers/{annotator.d.ts → annotate-stage.d.ts} +3 -2
  95. package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -0
  96. package/dist/lifecycle/handlers/annotate-stage.js +289 -0
  97. package/dist/lifecycle/handlers/annotate-stage.js.map +1 -0
  98. package/dist/lifecycle/handlers/baseline-handlers.d.ts +10 -5
  99. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  100. package/dist/lifecycle/handlers/baseline-handlers.js +206 -316
  101. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  102. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +3 -0
  103. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -0
  104. package/dist/lifecycle/handlers/enrich-runtime-result.js +191 -0
  105. package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -0
  106. package/dist/lifecycle/handlers/git-commit-handler.d.ts +3 -2
  107. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  108. package/dist/lifecycle/handlers/git-commit-handler.js +158 -114
  109. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  110. package/dist/lifecycle/handlers/implement-stage.d.ts +10 -0
  111. package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -0
  112. package/dist/lifecycle/handlers/implement-stage.js +206 -0
  113. package/dist/lifecycle/handlers/implement-stage.js.map +1 -0
  114. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +7 -13
  115. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
  116. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +72 -49
  117. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
  118. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +2 -1
  119. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +1 -1
  120. package/dist/lifecycle/handlers/register-context-block-handlers.js +35 -14
  121. package/dist/lifecycle/handlers/register-context-block-handlers.js.map +1 -1
  122. package/dist/lifecycle/handlers/review-stage.d.ts +4 -0
  123. package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -0
  124. package/dist/lifecycle/handlers/review-stage.js +184 -0
  125. package/dist/lifecycle/handlers/review-stage.js.map +1 -0
  126. package/dist/lifecycle/handlers/rework-stage.d.ts +4 -0
  127. package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -0
  128. package/dist/lifecycle/handlers/{rework-handler.js → rework-stage.js} +79 -15
  129. package/dist/lifecycle/handlers/rework-stage.js.map +1 -0
  130. package/dist/lifecycle/handlers/terminal-handlers.d.ts +22 -0
  131. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  132. package/dist/lifecycle/handlers/terminal-handlers.js +86 -5
  133. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  134. package/dist/lifecycle/lifecycle-context.d.ts +41 -7
  135. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  136. package/dist/lifecycle/lifecycle-dispatcher.d.ts +19 -20
  137. package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +1 -1
  138. package/dist/lifecycle/lifecycle-dispatcher.js +39 -23
  139. package/dist/lifecycle/lifecycle-dispatcher.js.map +1 -1
  140. package/dist/lifecycle/lifecycle-driver.d.ts +15 -8
  141. package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -1
  142. package/dist/lifecycle/lifecycle-driver.js +130 -29
  143. package/dist/lifecycle/lifecycle-driver.js.map +1 -1
  144. package/dist/lifecycle/merge-stage-stats.d.ts +3 -3
  145. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  146. package/dist/lifecycle/merge-stage-stats.js +2 -2
  147. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  148. package/dist/lifecycle/normalize-output-targets.d.ts +2 -0
  149. package/dist/lifecycle/normalize-output-targets.d.ts.map +1 -0
  150. package/dist/lifecycle/normalize-output-targets.js +14 -0
  151. package/dist/lifecycle/normalize-output-targets.js.map +1 -0
  152. package/dist/lifecycle/perform-implementation.d.ts +3 -0
  153. package/dist/lifecycle/perform-implementation.d.ts.map +1 -0
  154. package/dist/lifecycle/perform-implementation.js +301 -0
  155. package/dist/lifecycle/perform-implementation.js.map +1 -0
  156. package/dist/lifecycle/repo-hygiene.d.ts +14 -0
  157. package/dist/lifecycle/repo-hygiene.d.ts.map +1 -0
  158. package/dist/lifecycle/repo-hygiene.js +71 -0
  159. package/dist/lifecycle/repo-hygiene.js.map +1 -0
  160. package/dist/lifecycle/rework-budget.d.ts +3 -0
  161. package/dist/lifecycle/rework-budget.d.ts.map +1 -0
  162. package/dist/lifecycle/rework-budget.js +9 -0
  163. package/dist/lifecycle/rework-budget.js.map +1 -0
  164. package/dist/lifecycle/shared-compute.d.ts +4 -4
  165. package/dist/lifecycle/shared-compute.d.ts.map +1 -1
  166. package/dist/lifecycle/shared-compute.js +1 -1
  167. package/dist/lifecycle/shared-compute.js.map +1 -1
  168. package/dist/lifecycle/stage-io.d.ts +140 -0
  169. package/dist/lifecycle/stage-io.d.ts.map +1 -0
  170. package/dist/lifecycle/stage-io.js +20 -0
  171. package/dist/lifecycle/stage-io.js.map +1 -0
  172. package/dist/lifecycle/stage-plan-builder.d.ts +3 -3
  173. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  174. package/dist/lifecycle/stage-plan-builder.js +157 -128
  175. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  176. package/dist/lifecycle/stage-plan-types.d.ts +6 -25
  177. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  178. package/dist/lifecycle/stage-progression.d.ts +3 -15
  179. package/dist/lifecycle/stage-progression.d.ts.map +1 -1
  180. package/dist/lifecycle/stage-progression.js +48 -91
  181. package/dist/lifecycle/stage-progression.js.map +1 -1
  182. package/dist/lifecycle/task-completion-summary.d.ts +2 -2
  183. package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
  184. package/dist/lifecycle/task-completion-summary.js +0 -7
  185. package/dist/lifecycle/task-completion-summary.js.map +1 -1
  186. package/dist/lifecycle/task-executor.d.ts +23 -0
  187. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  188. package/dist/lifecycle/task-executor.js +79 -6
  189. package/dist/lifecycle/task-executor.js.map +1 -1
  190. package/dist/lifecycle/task-grouping.d.ts +19 -0
  191. package/dist/lifecycle/task-grouping.d.ts.map +1 -0
  192. package/dist/lifecycle/task-grouping.js +48 -0
  193. package/dist/lifecycle/task-grouping.js.map +1 -0
  194. package/dist/lifecycle/task-runner.d.ts +25 -8
  195. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  196. package/dist/lifecycle/task-runner.js +123 -313
  197. package/dist/lifecycle/task-runner.js.map +1 -1
  198. package/dist/lifecycle/tool-config-types.d.ts +9 -0
  199. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  200. package/dist/lifecycle/worker-output-contract.d.ts +9 -15
  201. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -1
  202. package/dist/lifecycle/worker-output-contract.js +45 -30
  203. package/dist/lifecycle/worker-output-contract.js.map +1 -1
  204. package/dist/providers/agent-resolver.d.ts.map +1 -0
  205. package/dist/{escalation → providers}/agent-resolver.js +1 -1
  206. package/dist/providers/agent-resolver.js.map +1 -0
  207. package/dist/providers/assemble-run-result.d.ts +3 -3
  208. package/dist/providers/assemble-run-result.d.ts.map +1 -1
  209. package/dist/providers/assemble-run-result.js +20 -11
  210. package/dist/providers/assemble-run-result.js.map +1 -1
  211. package/dist/providers/claude-session.d.ts +12 -0
  212. package/dist/providers/claude-session.d.ts.map +1 -1
  213. package/dist/providers/claude-session.js +39 -1
  214. package/dist/providers/claude-session.js.map +1 -1
  215. package/dist/providers/claude.js.map +1 -1
  216. package/dist/providers/codex-cli-launch.js +1 -1
  217. package/dist/providers/codex-cli-launch.js.map +1 -1
  218. package/dist/providers/codex-cli-session.d.ts +20 -2
  219. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  220. package/dist/providers/codex-cli-session.js +148 -52
  221. package/dist/providers/codex-cli-session.js.map +1 -1
  222. package/dist/providers/codex.js.map +1 -1
  223. package/dist/providers/index.d.ts +1 -0
  224. package/dist/providers/index.d.ts.map +1 -1
  225. package/dist/providers/index.js +1 -0
  226. package/dist/providers/index.js.map +1 -1
  227. package/dist/providers/normalize-claude.d.ts +2 -0
  228. package/dist/providers/normalize-claude.d.ts.map +1 -1
  229. package/dist/providers/normalize-claude.js +2 -1
  230. package/dist/providers/normalize-claude.js.map +1 -1
  231. package/dist/providers/provider-factory.d.ts +8 -0
  232. package/dist/providers/provider-factory.d.ts.map +1 -1
  233. package/dist/providers/provider-factory.js +64 -3
  234. package/dist/providers/provider-factory.js.map +1 -1
  235. package/dist/providers/run-annotator-turn.d.ts +24 -0
  236. package/dist/providers/run-annotator-turn.d.ts.map +1 -0
  237. package/dist/providers/run-annotator-turn.js +44 -0
  238. package/dist/providers/run-annotator-turn.js.map +1 -0
  239. package/dist/providers/run-worker-turn.d.ts +26 -0
  240. package/dist/providers/run-worker-turn.d.ts.map +1 -0
  241. package/dist/providers/run-worker-turn.js +57 -0
  242. package/dist/providers/run-worker-turn.js.map +1 -0
  243. package/dist/providers/runner-types.d.ts +6 -7
  244. package/dist/providers/runner-types.d.ts.map +1 -1
  245. package/dist/providers/stall-detector.d.ts +1 -1
  246. package/dist/providers/stall-detector.d.ts.map +1 -1
  247. package/dist/providers/stall-detector.js +1 -1
  248. package/dist/providers/stall-detector.js.map +1 -1
  249. package/dist/reporting/derive-investigate-status.d.ts +1 -1
  250. package/dist/reporting/derive-investigate-status.d.ts.map +1 -1
  251. package/dist/reporting/headline-composer.d.ts +3 -3
  252. package/dist/reporting/headline-composer.d.ts.map +1 -1
  253. package/dist/reporting/headline-templates/investigate.d.ts +1 -1
  254. package/dist/reporting/headline-templates/investigate.d.ts.map +1 -1
  255. package/dist/reporting/headline-templates/research.d.ts.map +1 -1
  256. package/dist/reporting/headline-templates/research.js +0 -1
  257. package/dist/reporting/headline-templates/research.js.map +1 -1
  258. package/dist/reporting/terminal-status-deriver.d.ts +1 -1
  259. package/dist/reporting/terminal-status-deriver.d.ts.map +1 -1
  260. package/dist/reporting/terminal-status-deriver.js +1 -4
  261. package/dist/reporting/terminal-status-deriver.js.map +1 -1
  262. package/dist/review/index.d.ts +4 -3
  263. package/dist/review/index.d.ts.map +1 -1
  264. package/dist/review/index.js +7 -4
  265. package/dist/review/index.js.map +1 -1
  266. package/dist/review/parse-review-report.d.ts +7 -1
  267. package/dist/review/parse-review-report.d.ts.map +1 -1
  268. package/dist/review/parse-review-report.js +13 -21
  269. package/dist/review/parse-review-report.js.map +1 -1
  270. package/dist/review/review-verdict-mapping.d.ts +3 -3
  271. package/dist/review/review-verdict-mapping.d.ts.map +1 -1
  272. package/dist/review/review-verdict-mapping.js +1 -1
  273. package/dist/review/review-verdict-mapping.js.map +1 -1
  274. package/dist/review/run-reviewer.d.ts +40 -0
  275. package/dist/review/run-reviewer.d.ts.map +1 -0
  276. package/dist/review/run-reviewer.js +55 -0
  277. package/dist/review/run-reviewer.js.map +1 -0
  278. package/dist/review/templates/quality-review.d.ts +5 -0
  279. package/dist/review/templates/quality-review.d.ts.map +1 -1
  280. package/dist/review/templates/quality-review.js +35 -25
  281. package/dist/review/templates/quality-review.js.map +1 -1
  282. package/dist/review/templates/spec-review.d.ts +6 -0
  283. package/dist/review/templates/spec-review.d.ts.map +1 -1
  284. package/dist/review/templates/spec-review.js +36 -8
  285. package/dist/review/templates/spec-review.js.map +1 -1
  286. package/dist/stores/batch-cache.d.ts +3 -3
  287. package/dist/stores/batch-cache.d.ts.map +1 -1
  288. package/dist/stores/batch-cache.js.map +1 -1
  289. package/dist/stores/batch-registry.d.ts +46 -1
  290. package/dist/stores/batch-registry.d.ts.map +1 -1
  291. package/dist/stores/batch-registry.js +39 -0
  292. package/dist/stores/batch-registry.js.map +1 -1
  293. package/dist/tool-surface/tool-surface-registry.d.ts +1 -1
  294. package/dist/tool-surface/tool-surface-registry.d.ts.map +1 -1
  295. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  296. package/dist/tools/audit/tool-config.js +0 -1
  297. package/dist/tools/audit/tool-config.js.map +1 -1
  298. package/dist/tools/debug/tool-config.d.ts.map +1 -1
  299. package/dist/tools/debug/tool-config.js +1 -2
  300. package/dist/tools/debug/tool-config.js.map +1 -1
  301. package/dist/tools/delegate/schema.d.ts +1 -1
  302. package/dist/tools/delegate/schema.d.ts.map +1 -1
  303. package/dist/tools/delegate/schema.js +2 -1
  304. package/dist/tools/delegate/schema.js.map +1 -1
  305. package/dist/tools/delegate/tool-config.d.ts +0 -1
  306. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  307. package/dist/tools/delegate/tool-config.js +3 -3
  308. package/dist/tools/delegate/tool-config.js.map +1 -1
  309. package/dist/tools/execute-plan/schema.d.ts +1 -1
  310. package/dist/tools/execute-plan/schema.d.ts.map +1 -1
  311. package/dist/tools/execute-plan/schema.js +2 -2
  312. package/dist/tools/execute-plan/schema.js.map +1 -1
  313. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  314. package/dist/tools/execute-plan/tool-config.js +3 -2
  315. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  316. package/dist/tools/investigate/tool-config.d.ts.map +1 -1
  317. package/dist/tools/investigate/tool-config.js +1 -2
  318. package/dist/tools/investigate/tool-config.js.map +1 -1
  319. package/dist/tools/register-context-block/tool-config.d.ts.map +1 -1
  320. package/dist/tools/register-context-block/tool-config.js +0 -1
  321. package/dist/tools/register-context-block/tool-config.js.map +1 -1
  322. package/dist/tools/research/tool-config.d.ts.map +1 -1
  323. package/dist/tools/research/tool-config.js +0 -1
  324. package/dist/tools/research/tool-config.js.map +1 -1
  325. package/dist/tools/retry/tool-config.d.ts.map +1 -1
  326. package/dist/tools/retry/tool-config.js +0 -1
  327. package/dist/tools/retry/tool-config.js.map +1 -1
  328. package/dist/tools/review/tool-config.d.ts.map +1 -1
  329. package/dist/tools/review/tool-config.js +0 -1
  330. package/dist/tools/review/tool-config.js.map +1 -1
  331. package/dist/types/config.d.ts +0 -1
  332. package/dist/types/config.d.ts.map +1 -1
  333. package/dist/types/enums.d.ts +0 -3
  334. package/dist/types/enums.d.ts.map +1 -1
  335. package/dist/types/enums.js +3 -3
  336. package/dist/types/enums.js.map +1 -1
  337. package/dist/types/run-result.d.ts +177 -213
  338. package/dist/types/run-result.d.ts.map +1 -1
  339. package/dist/types/run-result.js +17 -0
  340. package/dist/types/run-result.js.map +1 -1
  341. package/dist/types/task-spec.d.ts +1 -1
  342. package/dist/types/task-spec.d.ts.map +1 -1
  343. package/dist/types.d.ts +1 -1
  344. package/dist/types.d.ts.map +1 -1
  345. package/package.json +1 -1
  346. package/dist/bounded-execution/cost-meter.d.ts +0 -20
  347. package/dist/bounded-execution/cost-meter.d.ts.map +0 -1
  348. package/dist/bounded-execution/cost-meter.js +0 -21
  349. package/dist/bounded-execution/cost-meter.js.map +0 -1
  350. package/dist/bounded-execution/error-classifier.d.ts +0 -11
  351. package/dist/bounded-execution/error-classifier.d.ts.map +0 -1
  352. package/dist/bounded-execution/error-classifier.js +0 -23
  353. package/dist/bounded-execution/error-classifier.js.map +0 -1
  354. package/dist/bounded-execution/idle-guard.d.ts +0 -8
  355. package/dist/bounded-execution/idle-guard.d.ts.map +0 -1
  356. package/dist/bounded-execution/idle-guard.js +0 -18
  357. package/dist/bounded-execution/idle-guard.js.map +0 -1
  358. package/dist/bounded-execution/index.d.ts +0 -10
  359. package/dist/bounded-execution/index.d.ts.map +0 -1
  360. package/dist/bounded-execution/index.js +0 -11
  361. package/dist/bounded-execution/index.js.map +0 -1
  362. package/dist/bounded-execution/safety-max-turns.d.ts +0 -17
  363. package/dist/bounded-execution/safety-max-turns.d.ts.map +0 -1
  364. package/dist/bounded-execution/safety-max-turns.js +0 -17
  365. package/dist/bounded-execution/safety-max-turns.js.map +0 -1
  366. package/dist/cleanup/batch-retention-sweeper.d.ts +0 -7
  367. package/dist/cleanup/batch-retention-sweeper.d.ts.map +0 -1
  368. package/dist/cleanup/batch-retention-sweeper.js +0 -10
  369. package/dist/cleanup/batch-retention-sweeper.js.map +0 -1
  370. package/dist/cleanup/context-block-gc-sweeper.d.ts +0 -8
  371. package/dist/cleanup/context-block-gc-sweeper.d.ts.map +0 -1
  372. package/dist/cleanup/context-block-gc-sweeper.js +0 -12
  373. package/dist/cleanup/context-block-gc-sweeper.js.map +0 -1
  374. package/dist/cleanup/index.d.ts +0 -5
  375. package/dist/cleanup/index.d.ts.map +0 -1
  376. package/dist/cleanup/index.js +0 -6
  377. package/dist/cleanup/index.js.map +0 -1
  378. package/dist/cleanup/project-idle-cleanup.d.ts +0 -7
  379. package/dist/cleanup/project-idle-cleanup.d.ts.map +0 -1
  380. package/dist/cleanup/project-idle-cleanup.js +0 -15
  381. package/dist/cleanup/project-idle-cleanup.js.map +0 -1
  382. package/dist/cleanup/shutdown-coordinator.d.ts +0 -7
  383. package/dist/cleanup/shutdown-coordinator.d.ts.map +0 -1
  384. package/dist/cleanup/shutdown-coordinator.js +0 -13
  385. package/dist/cleanup/shutdown-coordinator.js.map +0 -1
  386. package/dist/config/index.d.ts +0 -8
  387. package/dist/config/index.d.ts.map +0 -1
  388. package/dist/config/index.js +0 -9
  389. package/dist/config/index.js.map +0 -1
  390. package/dist/config/pricing-table.d.ts +0 -16
  391. package/dist/config/pricing-table.d.ts.map +0 -1
  392. package/dist/config/pricing-table.js +0 -51
  393. package/dist/config/pricing-table.js.map +0 -1
  394. package/dist/escalation/agent-resolver.d.ts.map +0 -1
  395. package/dist/escalation/agent-resolver.js.map +0 -1
  396. package/dist/escalation/delegate-with-escalation.d.ts +0 -52
  397. package/dist/escalation/delegate-with-escalation.d.ts.map +0 -1
  398. package/dist/escalation/delegate-with-escalation.js +0 -207
  399. package/dist/escalation/delegate-with-escalation.js.map +0 -1
  400. package/dist/escalation/escalation-policy.d.ts +0 -18
  401. package/dist/escalation/escalation-policy.d.ts.map +0 -1
  402. package/dist/escalation/escalation-policy.js +0 -33
  403. package/dist/escalation/escalation-policy.js.map +0 -1
  404. package/dist/escalation/fallback-helpers.d.ts +0 -22
  405. package/dist/escalation/fallback-helpers.d.ts.map +0 -1
  406. package/dist/escalation/fallback-helpers.js +0 -45
  407. package/dist/escalation/fallback-helpers.js.map +0 -1
  408. package/dist/escalation/fallback-types.d.ts +0 -60
  409. package/dist/escalation/fallback-types.d.ts.map +0 -1
  410. package/dist/escalation/fallback-types.js +0 -11
  411. package/dist/escalation/fallback-types.js.map +0 -1
  412. package/dist/escalation/fallback.d.ts +0 -5
  413. package/dist/escalation/fallback.d.ts.map +0 -1
  414. package/dist/escalation/fallback.js +0 -387
  415. package/dist/escalation/fallback.js.map +0 -1
  416. package/dist/escalation/index.d.ts +0 -3
  417. package/dist/escalation/index.d.ts.map +0 -1
  418. package/dist/escalation/index.js +0 -4
  419. package/dist/escalation/index.js.map +0 -1
  420. package/dist/escalation/policy.d.ts +0 -37
  421. package/dist/escalation/policy.d.ts.map +0 -1
  422. package/dist/escalation/policy.js +0 -67
  423. package/dist/escalation/policy.js.map +0 -1
  424. package/dist/escalation/types.d.ts +0 -15
  425. package/dist/escalation/types.d.ts.map +0 -1
  426. package/dist/escalation/types.js +0 -2
  427. package/dist/escalation/types.js.map +0 -1
  428. package/dist/events/running-headline-sink.d.ts +0 -27
  429. package/dist/events/running-headline-sink.d.ts.map +0 -1
  430. package/dist/events/running-headline-sink.js +0 -156
  431. package/dist/events/running-headline-sink.js.map +0 -1
  432. package/dist/lifecycle/handlers/annotator.d.ts.map +0 -1
  433. package/dist/lifecycle/handlers/annotator.js +0 -59
  434. package/dist/lifecycle/handlers/annotator.js.map +0 -1
  435. package/dist/lifecycle/handlers/derive-terminal-status.d.ts +0 -10
  436. package/dist/lifecycle/handlers/derive-terminal-status.d.ts.map +0 -1
  437. package/dist/lifecycle/handlers/derive-terminal-status.js +0 -35
  438. package/dist/lifecycle/handlers/derive-terminal-status.js.map +0 -1
  439. package/dist/lifecycle/handlers/files-written-cross-check.d.ts +0 -27
  440. package/dist/lifecycle/handlers/files-written-cross-check.d.ts.map +0 -1
  441. package/dist/lifecycle/handlers/files-written-cross-check.js +0 -91
  442. package/dist/lifecycle/handlers/files-written-cross-check.js.map +0 -1
  443. package/dist/lifecycle/handlers/review-handler.d.ts +0 -3
  444. package/dist/lifecycle/handlers/review-handler.d.ts.map +0 -1
  445. package/dist/lifecycle/handlers/review-handler.js +0 -169
  446. package/dist/lifecycle/handlers/review-handler.js.map +0 -1
  447. package/dist/lifecycle/handlers/rework-handler.d.ts +0 -3
  448. package/dist/lifecycle/handlers/rework-handler.d.ts.map +0 -1
  449. package/dist/lifecycle/handlers/rework-handler.js.map +0 -1
  450. package/dist/lifecycle/handlers/task-executor.d.ts +0 -9
  451. package/dist/lifecycle/handlers/task-executor.d.ts.map +0 -1
  452. package/dist/lifecycle/handlers/task-executor.js +0 -98
  453. package/dist/lifecycle/handlers/task-executor.js.map +0 -1
  454. package/dist/lifecycle/handlers/verify-stage.d.ts +0 -37
  455. package/dist/lifecycle/handlers/verify-stage.d.ts.map +0 -1
  456. package/dist/lifecycle/handlers/verify-stage.js +0 -208
  457. package/dist/lifecycle/handlers/verify-stage.js.map +0 -1
  458. package/dist/lifecycle/metadata-repair.d.ts +0 -15
  459. package/dist/lifecycle/metadata-repair.d.ts.map +0 -1
  460. package/dist/lifecycle/metadata-repair.js +0 -33
  461. package/dist/lifecycle/metadata-repair.js.map +0 -1
  462. package/dist/review/default-engines.d.ts +0 -3
  463. package/dist/review/default-engines.d.ts.map +0 -1
  464. package/dist/review/default-engines.js +0 -22
  465. package/dist/review/default-engines.js.map +0 -1
  466. package/dist/review/reviewer-engine.d.ts +0 -53
  467. package/dist/review/reviewer-engine.d.ts.map +0 -1
  468. package/dist/review/reviewer-engine.js +0 -47
  469. package/dist/review/reviewer-engine.js.map +0 -1
  470. package/dist/review/reviewer-output-parser.d.ts +0 -12
  471. package/dist/review/reviewer-output-parser.d.ts.map +0 -1
  472. package/dist/review/reviewer-output-parser.js +0 -213
  473. package/dist/review/reviewer-output-parser.js.map +0 -1
  474. package/dist/review/reviewer-prompt-builder.d.ts +0 -21
  475. package/dist/review/reviewer-prompt-builder.d.ts.map +0 -1
  476. package/dist/review/reviewer-prompt-builder.js +0 -22
  477. package/dist/review/reviewer-prompt-builder.js.map +0 -1
  478. package/dist/review/templates/annotate-completion.d.ts +0 -12
  479. package/dist/review/templates/annotate-completion.d.ts.map +0 -1
  480. package/dist/review/templates/annotate-completion.js +0 -72
  481. package/dist/review/templates/annotate-completion.js.map +0 -1
  482. /package/dist/{escalation → providers}/agent-resolver.d.ts +0 -0
@@ -0,0 +1,20 @@
1
+ // One canonical place for stage I/O contracts. Imported by stage-plan-builder,
2
+ // lifecycle-driver, every handler, and compose.
3
+ // All routes that flow through the per-task lifecycle (implement → review →
4
+ // rework → commit → annotate → compose → terminal). `retry` and `research`
5
+ // share the same flow as their underlying route — retry re-runs a prior
6
+ // batch's tasks; research is an alias for explore's worker shape.
7
+ export const ALL_TASK_ROUTES = ['delegate', 'execute-plan', 'retry', 'audit', 'review', 'debug', 'investigate', 'explore', 'research'];
8
+ export const WRITE_ROUTES = ['delegate', 'execute-plan', 'retry'];
9
+ // ───── Helpers ─────
10
+ /** Canonical "current work artifact" lookup used by commit/annotate/compose. */
11
+ export function currentWork(state) {
12
+ const rework = state.gates['rework'];
13
+ if (rework?.outcome === 'advance')
14
+ return rework.payload;
15
+ const implement = state.gates['implement'];
16
+ if (implement?.outcome === 'advance')
17
+ return implement.payload;
18
+ return null;
19
+ }
20
+ //# sourceMappingURL=stage-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-io.js","sourceRoot":"","sources":["../../src/lifecycle/stage-io.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gDAAgD;AAOhD,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,kEAAkE;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAEhJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAU,CAAC;AA4I3E,sBAAsB;AAEtB,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,KAAoD;IAG9E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,OAAwB,CAAC;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,OAA2B,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { StagePlan } from './stage-plan-types.js';
2
- import type { ToolCategory } from '../escalation/escalation-policy.js';
3
- export declare function buildStagePlan(category: ToolCategory): StagePlan;
1
+ import type { StageDefinition } from './stage-io.js';
2
+ /** v5 canonical stage plan single source of truth for stage order + gates. */
3
+ export declare const STAGE_PLAN: StageDefinition<unknown>[];
4
4
  //# sourceMappingURL=stage-plan-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-plan-builder.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAkIhE"}
1
+ {"version":3,"file":"stage-plan-builder.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAEO,MAAM,eAAe,CAAC;AAmB1D,gFAAgF;AAChF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,EAyIhD,CAAC"}
@@ -1,130 +1,159 @@
1
- export function buildStagePlan(category) {
2
- const isAP = category === 'artifact_producing';
3
- const isRO = category === 'read_only';
4
- // Research category has no per-row gate constant (unlike isAP/isRO). Instead,
5
- // explore tasks inject reviewPolicy: 'none' (explore.ts:445), which causes
6
- // all review-linked rows (4.1, 4.6, 4.10.x, 4.11, 5.1, 5.2) to skip —
7
- // reviewPolicy is the general-purpose review-skip mechanism, not per-category
8
- // booleans. See workflow-matrix.md appendix #4. The void expression exists
9
- // solely to satisfy the ESLint no-unused-vars rule for the 'category' param.
10
- const rows = [
11
- // Stage 1 Ingress (rows 1.1–1.4; spec C10 lines 1284–1290)
12
- { rowId: '1.1', stageName: 'accept_http_request', runCondition: () => true, isRework: false, handlerKey: 'accept_http_request' },
13
- { rowId: '1.2', stageName: 'verify_loopback', runCondition: () => true, isRework: false, handlerKey: 'verify_loopback' },
14
- { rowId: '1.3', stageName: 'validate_workspace', runCondition: () => true, isRework: false, handlerKey: 'validate_workspace' },
15
- { rowId: '1.4', stageName: 'load_project_state', runCondition: () => true, isRework: false, handlerKey: 'load_project_state' },
16
- // Stage 2 — Intake (rows 2.1–2.5; spec C10 lines 1291–1295)
17
- { rowId: '2.1', stageName: 'parse_brief', runCondition: () => true, isRework: false, handlerKey: 'parse_brief' },
18
- { rowId: '2.2', stageName: 'verify_referenced_blocks', runCondition: (s) => Array.isArray(s.contextBlockIds) && s.contextBlockIds.length > 0,
19
- isRework: false, handlerKey: 'verify_referenced_blocks' },
20
- { rowId: '2.3', stageName: 'apply_defaults', runCondition: () => true, isRework: false, handlerKey: 'apply_defaults' },
21
- { rowId: '2.4', stageName: 'mark_intake_complete', runCondition: () => true, isRework: false, handlerKey: 'mark_intake_complete' },
22
- // 2.5: prepare_execution_context — runs after intake so cwd/userMessage/systemPrompt are available
23
- { rowId: '2.5', stageName: 'prepare_execution_context', runCondition: () => true, isRework: false, handlerKey: 'prepare_execution_context' },
24
- // Stage 3 — Initial Run (row 3.1; route 'register-context-block' skips this)
25
- { rowId: '3.1', stageName: 'run_initial_impl', schemaStage: 'implementing',
26
- runCondition: (s) => !s.terminal && s.route !== 'register-context-block',
27
- isRework: false, handlerKey: 'run_initial_impl' },
28
- // 3.5: check_files_written — early-exit when artifact-producing impl wrote zero files.
29
- // When fired, the handler sets state.terminal=true so review chains, verify, and
30
- // commit short-circuit.
31
- {
32
- rowId: '3.5', stageName: 'check_files_written',
33
- runCondition: (s) => isAP
34
- && s.reviewPolicy !== 'quality_only'
35
- && !!s.lastRunResult
36
- && Array.isArray(s.lastRunResult.filesWritten)
37
- && (s.lastRunResult.filesWritten?.length ?? 0) === 0
38
- && !s.terminal,
39
- isRework: false, handlerKey: 'check_files_written',
40
- },
41
- // ── Stage 4 — v4.4.x five-stage pipeline ───────────────────────────────
42
- // Implementing → Review → Rework → Committing → Annotating
43
- //
44
- // 4.1: review (single complex session: spec then quality sequentially).
45
- // Emits state.reviewVerdict + state.reviewConcerns.
46
- // 4.2: rework (standard tier, full tools, single pass). Skipped when
47
- // reviewVerdict === 'approved'.
48
- // 4.3: committing (write routes only; per-task git commit with full
49
- // gate logic: no_repo / no_diff / validation_failed /
50
- // validation_stale / worker_committed_out_of_band / hook_failed).
51
- // 4.4: annotating (pure transform; builds the unified StructuredReport
52
- // from lastRunResult + review state + commit outcome).
53
- { rowId: '4.1', stageName: 'review', schemaStage: 'review',
54
- runCondition: (s) => isAP && s.reviewPolicy !== 'none' && !s.terminal,
55
- isRework: false, handlerKey: 'review' },
56
- { rowId: '4.2', stageName: 'rework', schemaStage: 'rework',
57
- runCondition: (s) => isAP
58
- && s.reviewPolicy !== 'none'
59
- && s.reviewVerdict === 'changes_required'
60
- && !s.terminal,
61
- isRework: true, handlerKey: 'rework' },
62
- // 4.3: committing — fires before annotating so the commit outcome
63
- // (sha / message / skipReason) is available to the annotator's report.
64
- // Gate is permissive at the stage-plan level; the handler enforces
65
- // no_repo / no_diff / validation_failed / etc. internally.
66
- { rowId: '4.3', stageName: 'git_commit', schemaStage: 'committing',
67
- runCondition: (s) => {
68
- if (s.autoCommit !== true)
69
- return false;
70
- if (s.readOnlyTask)
71
- return false;
72
- if (s.terminal)
73
- return false;
74
- // After review: only commit when reviewer approved, or when there
75
- // was no review at all (reviewPolicy === 'none').
76
- if (s.reviewPolicy !== 'none' && s.reviewVerdict !== 'approved')
77
- return false;
78
- return true;
79
- },
80
- isRework: false, handlerKey: 'git_commit' },
81
- // 4.4: annotating — unified pure transform for read + write routes.
82
- { rowId: '4.4', stageName: 'annotating', schemaStage: 'annotating',
83
- runCondition: (s) => !s.terminal,
84
- isRework: false, handlerKey: 'annotating' },
85
- // 5.3.rcb: register_to_block_store — fires for register-context-block
86
- // route only, before compose_response. Sets state.blockRegistration
87
- // which compose_response reads to emit {id, size, ttlMs}.
88
- { rowId: '5.3.rcb', stageName: 'register_to_block_store',
89
- runCondition: (s) => s.route === 'register-context-block' && !s.terminal,
90
- isRework: false, handlerKey: 'register_to_block_store' },
91
- // 5.3: compose_response — always fires (even after terminal=true) so the
92
- // response envelope reflects the failure shape correctly.
93
- { rowId: '5.3', stageName: 'compose_response',
94
- runCondition: () => true, isRework: false, handlerKey: 'compose_response',
95
- runOnTerminal: true },
96
- // 5.3.5: register_terminal_block — every task except register_context_block.
97
- // Must fire on terminal=true so failed tasks still get a terminal context block.
98
- { rowId: '5.3.5', stageName: 'register_terminal_block',
99
- runCondition: (s) => s.route !== 'register-context-block',
100
- isRework: false, handlerKey: 'register_terminal_block', runOnTerminal: true },
101
- // 5.4: emit_task_terminal — fires the per-task terminal event after register_terminal_block
102
- { rowId: '5.4', stageName: 'emit_task_terminal',
103
- runCondition: () => true, isRework: false, handlerKey: 'emit_task_terminal',
104
- runOnTerminal: true },
105
- // 5.5: persist_to_batch_registry — always
106
- { rowId: '5.5', stageName: 'persist_to_batch_registry',
107
- runCondition: () => true, isRework: false, handlerKey: 'persist_to_batch_registry',
108
- runOnTerminal: true },
109
- // 5.6: record_task_completed — server-only; calls ctx.recorder.recordTaskCompleted
110
- // to enqueue the cloud task.completed wire event. No-ops on CLI/test paths
111
- // (no recorder). Must run on terminal so failures still record.
112
- { rowId: '5.6', stageName: 'record_task_completed',
113
- runCondition: () => true, isRework: false, handlerKey: 'record_task_completed',
114
- runOnTerminal: true },
115
- // Stage 6 — emit + cleanup (rows 6.1–6.3)
116
- // 6.1: flush_telemetry — always; fires on terminal so failure events drain
117
- { rowId: '6.1', stageName: 'flush_telemetry',
118
- runCondition: () => true, isRework: false, handlerKey: 'flush_telemetry',
119
- runOnTerminal: true },
120
- // 6.2: project_idle_cleanup_tick — TIMER-DRIVEN (per spec C14); the row exists for plan completeness
121
- // but never fires from per-request iteration. Returns false so LifecycleDriver skips it.
122
- { rowId: '6.2', stageName: 'project_idle_cleanup_tick',
123
- runCondition: () => false, isRework: false, handlerKey: 'project_idle_cleanup_tick' },
124
- // 6.3: batch_retention_sweep_tick — TIMER-DRIVEN; same
125
- { rowId: '6.3', stageName: 'batch_retention_sweep_tick',
126
- runCondition: () => false, isRework: false, handlerKey: 'batch_retention_sweep_tick' },
127
- ];
128
- return { toolCategory: category, rows };
1
+ // ─── v5 STAGE_PLAN ────────────────────────────────────────────────────────────
2
+ //
3
+ // Canonical 9-stage definition array per spec §3-4. Each stage declares static
4
+ // route applicability (Layer 1: applicableRoutes) and dynamic state-level
5
+ // participation (Layer 2: shouldRun). The new driver walks this in order.
6
+ import { ALL_TASK_ROUTES, WRITE_ROUTES, currentWork } from './stage-io.js';
7
+ // We import handler functions where they exist as exports; this is fine for
8
+ // modules with no circular deps. Where the v5 handler is gated to opt-in,
9
+ // the wrapper falls back to a no-op.
10
+ import { prepareExecutionContextHandler } from './handlers/prepare-execution-context-handler.js';
11
+ import { registerToBlockStoreHandler } from './handlers/register-context-block-handlers.js';
12
+ const ALL_TASK_ROUTES_ARR = ALL_TASK_ROUTES;
13
+ const WRITE_ROUTES_ARR = WRITE_ROUTES;
14
+ function alwaysRun() { return { run: true }; }
15
+ // Lazy import to avoid bootstrap-time circular deps.
16
+ async function loadHandler(loader) {
17
+ return await loader();
129
18
  }
19
+ /** v5 canonical stage plan — single source of truth for stage order + gates. */
20
+ export const STAGE_PLAN = [
21
+ {
22
+ name: 'prepare',
23
+ runOnHalt: false,
24
+ applicableRoutes: 'all',
25
+ shouldRun: alwaysRun,
26
+ handler: async (state) => {
27
+ const t0 = Date.now();
28
+ try {
29
+ await prepareExecutionContextHandler(state);
30
+ return {
31
+ outcome: 'advance',
32
+ payload: null,
33
+ telemetry: { stageLabel: 'prepare', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'normal' },
34
+ };
35
+ }
36
+ catch (err) {
37
+ const msg = err instanceof Error ? err.message : String(err);
38
+ const code = /brief schema|invalid brief/i.test(msg) ? 'brief_invalid'
39
+ : /workspace|traversal|sandbox/i.test(msg) ? 'workspace_violation'
40
+ : /context_block|missing/i.test(msg) ? 'context_block_missing'
41
+ : 'prepare_failed';
42
+ return {
43
+ outcome: 'halt',
44
+ comment: `${code}: ${msg}`,
45
+ payload: null,
46
+ telemetry: { stageLabel: 'prepare', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'transport_error' },
47
+ };
48
+ }
49
+ },
50
+ },
51
+ {
52
+ name: 'register-block',
53
+ runOnHalt: false,
54
+ applicableRoutes: ['register-context-block'],
55
+ shouldRun: alwaysRun,
56
+ handler: async (state) => {
57
+ return await registerToBlockStoreHandler(state);
58
+ },
59
+ },
60
+ {
61
+ name: 'implement',
62
+ runOnHalt: false,
63
+ applicableRoutes: ALL_TASK_ROUTES_ARR,
64
+ shouldRun: alwaysRun,
65
+ handler: async (state) => {
66
+ const mod = await loadHandler(() => import('./handlers/implement-stage.js'));
67
+ return mod.implementHandler(state);
68
+ },
69
+ },
70
+ {
71
+ name: 'review',
72
+ runOnHalt: false,
73
+ applicableRoutes: WRITE_ROUTES_ARR,
74
+ shouldRun: (state) => {
75
+ const impl = state.gates?.['implement'];
76
+ if (impl?.outcome !== 'advance') {
77
+ return { run: false, comment: 'review skipped because implement did not advance' };
78
+ }
79
+ if (state.reviewPolicy === 'none') {
80
+ return { run: false, comment: 'review skipped because reviewPolicy=none' };
81
+ }
82
+ return { run: true };
83
+ },
84
+ handler: async (state) => {
85
+ const mod = await loadHandler(() => import('./handlers/review-stage.js'));
86
+ return mod.reviewHandler(state);
87
+ },
88
+ },
89
+ {
90
+ name: 'rework',
91
+ runOnHalt: false,
92
+ applicableRoutes: WRITE_ROUTES_ARR,
93
+ shouldRun: (state) => {
94
+ const review = state.gates?.['review'];
95
+ if (review?.outcome !== 'advance') {
96
+ return { run: false, comment: 'rework skipped because review did not produce a verdict' };
97
+ }
98
+ const verdict = review.payload?.verdict;
99
+ if (verdict === 'approved') {
100
+ return { run: false, comment: 'rework skipped because review approved' };
101
+ }
102
+ return { run: true };
103
+ },
104
+ handler: async (state) => {
105
+ const mod = await loadHandler(() => import('./handlers/rework-stage.js'));
106
+ return mod.reworkHandler(state);
107
+ },
108
+ },
109
+ {
110
+ name: 'commit',
111
+ runOnHalt: false,
112
+ applicableRoutes: WRITE_ROUTES_ARR,
113
+ shouldRun: (state) => {
114
+ if (state.autoCommit === false) {
115
+ return { run: false, comment: 'commit skipped because autoCommit disabled' };
116
+ }
117
+ const work = currentWork({ gates: (state.gates ?? {}) });
118
+ if (!work || work.filesChanged?.length === 0) {
119
+ return { run: false, comment: 'commit skipped because no files changed' };
120
+ }
121
+ return { run: true };
122
+ },
123
+ handler: async (state) => {
124
+ const mod = await loadHandler(() => import('./handlers/git-commit-handler.js'));
125
+ return mod.commitHandler(state);
126
+ },
127
+ },
128
+ {
129
+ name: 'annotate',
130
+ runOnHalt: false,
131
+ applicableRoutes: ALL_TASK_ROUTES_ARR,
132
+ shouldRun: alwaysRun,
133
+ handler: async (state) => {
134
+ const mod = await loadHandler(() => import('./handlers/annotate-stage.js'));
135
+ return mod.annotator(state);
136
+ },
137
+ },
138
+ {
139
+ name: 'compose',
140
+ runOnHalt: true,
141
+ applicableRoutes: 'all',
142
+ shouldRun: alwaysRun,
143
+ handler: async (state) => {
144
+ const mod = await loadHandler(() => import('./handlers/baseline-handlers.js'));
145
+ return mod.composeHandler(state);
146
+ },
147
+ },
148
+ {
149
+ name: 'terminal',
150
+ runOnHalt: true,
151
+ applicableRoutes: 'all',
152
+ shouldRun: alwaysRun,
153
+ handler: async (state) => {
154
+ const mod = await loadHandler(() => import('./handlers/terminal-handlers.js'));
155
+ return mod.terminalHandler(state);
156
+ },
157
+ },
158
+ ];
130
159
  //# sourceMappingURL=stage-plan-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-plan-builder.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-plan-builder.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,5 @@
1
- import type { ToolCategory } from '../escalation/escalation-policy.js';
1
+ import type { ToolCategory } from './rework-budget.js';
2
2
  import type { ProjectContext } from '../stores/project-context-registry.js';
3
- export interface StageRow {
4
- rowId: string;
5
- stageName: string;
6
- schemaStage?: string;
7
- runCondition: (state: LifecycleState) => boolean;
8
- isRework: boolean;
9
- handlerKey: string;
10
- /**
11
- * When true, this row's handler runs even after a prior row set
12
- * `state.terminal = true`. Used by settle/compose/terminal/persist/flush
13
- * rows that must populate authoritative chain-pass + envelope state on
14
- * hard-fail paths. The driver loop honors this attribute; non-terminal-safe
15
- * rows (the default) short-circuit when `state.terminal` is set.
16
- */
17
- runOnTerminal?: boolean;
18
- }
19
- export interface StagePlan {
20
- toolCategory: ToolCategory;
21
- rows: StageRow[];
22
- }
23
3
  /**
24
4
  * Per-round review verdict shape. Matches the verdict values that
25
5
  * spec-reviewer.ts and quality-reviewer.ts actually produce. `'concerns'` was
@@ -31,8 +11,13 @@ type SpecRoundVerdict = 'approved' | 'changes_required' | 'error' | 'skipped';
31
11
  type QualityRoundVerdict = 'approved' | 'changes_required' | 'annotated' | 'error' | 'skipped';
32
12
  type DiffEnvelopeVerdict = 'approved' | 'changes_required' | 'error' | 'skipped';
33
13
  type DiffReviewKind = 'approve' | 'concerns' | 'reject' | 'transport_failure';
14
+ import type { StageGate } from './stage-io.js';
34
15
  export interface LifecycleState {
35
16
  terminal: boolean;
17
+ /** v5: per-stage gate record written by the driver. Empty until prepare runs. */
18
+ gates?: Record<string, StageGate<unknown>>;
19
+ /** v5: halted flag set when any stage returns outcome:'halt'. Driver-only. */
20
+ halted?: boolean;
36
21
  workerStatus?: string;
37
22
  reviewVerdict?: 'approved' | 'concerns' | 'changes_required' | 'error' | 'skipped';
38
23
  attemptIndex: number;
@@ -56,10 +41,6 @@ export interface LifecycleState {
56
41
  qualityReworkFailed?: boolean;
57
42
  specChainAttemptIndex?: number;
58
43
  qualityChainAttemptIndex?: number;
59
- specUnavailable?: import('../escalation/fallback.js').UnavailableMap;
60
- qualityUnavailable?: import('../escalation/fallback.js').UnavailableMap;
61
- diffUnavailable?: import('../escalation/fallback.js').UnavailableMap;
62
- executor?: (rawRequest: unknown, state: LifecycleState) => Promise<unknown>;
63
44
  executorResult?: unknown;
64
45
  responseEnvelope?: unknown;
65
46
  autoCommit?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"stage-plan-types.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-plan-types.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,8 @@
1
- /** Build the user-facing stage label list for a route by simulating each
2
- * StagePlan row's runCondition under the route's defaults. Distinct
3
- * schemaStages whose runCondition returns true become the user-facing
4
- * stages, in plan order. Route-specific label overrides + a tail
5
- * "Finalizing" slot give the agent a stable bracket. */
1
+ /** Build the user-facing stage label list for a route by walking STAGE_PLAN
2
+ * and including each stage whose Layer-1 (applicableRoutes) AND Layer-2
3
+ * (shouldRun under simulated state) both pass. */
6
4
  export declare function stageOrderForRoute(route: string): string[];
7
- /** Public accessor mirroring the legacy `STAGE_ORDER_BY_ROUTE[route]` shape
8
- * but driven by the StagePlan. Returns an empty array (treated as "1/1")
9
- * for unknown routes. */
10
5
  export declare const STAGE_ORDER_BY_ROUTE: Record<string, readonly string[]>;
11
- /** Normalize a runtime stageLabel ("Spec rework round 1") to a coarse
12
- * label that exists in `stageOrderForRoute(route)`. Reworks map to their
13
- * own coarse slot ("Spec rework" / "Quality rework"), not back to the
14
- * review slot — the StagePlan-derived order DOES contain a rework slot
15
- * (because spec_rework / quality_rework are distinct schemaStages), so
16
- * the bracket advances correctly when a rework fires. */
17
6
  export declare function normalizeStageLabel(label: string): string;
18
- /** "(X/Y)" stage-progress bracket for a route + current stageLabel. */
19
7
  export declare function stageProgress(route: string, stageLabel: string | undefined): string;
20
8
  //# sourceMappingURL=stage-progression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-progression.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"AAqHA;;;;yDAIyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B1D;AAOD;;0BAE0B;AAC1B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAa7B,CAAC;AAEvC;;;;;0DAK0D;AAC1D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CASnF"}
1
+ {"version":3,"file":"stage-progression.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"AA4EA;;mDAEmD;AACnD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB1D;AAID,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAa7B,CAAC;AAEvC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CASnF"}