@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
@@ -1,156 +0,0 @@
1
- // Tool-name sets are centralized in providers/tool-name-sets.ts —
2
- // historically the sink had WRITE_TOOLS = {writeFile, write_file}
3
- // while runner-shell had {..., editFile, edit_file}. Drift caused the
4
- // polling headline to report "0 write" even though `edit_file` modified
5
- // files. Single source of truth eliminates the risk (Gap 14, 4.0.3+).
6
- import { READ_TOOL_NAMES as READ_TOOLS, WRITE_TOOL_NAMES as WRITE_TOOLS } from '../providers/tool-name-sets.js';
7
- // Coarse stage ordering per tool route lives in lifecycle/stage-progression.ts
8
- // (single source of truth, shared with async-dispatch + test fixtures).
9
- import { stageProgress } from '../lifecycle/stage-progression.js';
10
- function capitalizeTier(tier) {
11
- if (!tier)
12
- return undefined;
13
- return tier.charAt(0).toUpperCase() + tier.slice(1);
14
- }
15
- export class RunningHeadlineSink {
16
- batchRegistry;
17
- name = 'running-headline';
18
- progress = new Map();
19
- constructor(batchRegistry) {
20
- this.batchRegistry = batchRegistry;
21
- }
22
- emit(event) {
23
- if (event['event'] !== 'runner_turn_completed')
24
- return;
25
- const batchId = typeof event['batchId'] === 'string' ? event['batchId'] : undefined;
26
- if (!batchId)
27
- return;
28
- // taskIndex defaults to 0 so older code paths that don't yet plumb it
29
- // still produce a single-task headline. New parallel-fan-out tasks pass
30
- // a real taskIndex and get separate snapshots.
31
- const taskIndex = typeof event['taskIndex'] === 'number' ? event['taskIndex'] : 0;
32
- const toolCalls = event['toolCalls'] ?? {};
33
- const shellWritesDelta = typeof event['shellWrites'] === 'number' ? event['shellWrites'] : 0;
34
- const stageLabel = typeof event['stageLabel'] === 'string' ? event['stageLabel'] : undefined;
35
- const tier = typeof event['tier'] === 'string' ? event['tier'] : undefined;
36
- const pathsReadThisTurn = Array.isArray(event['pathsReadThisTurn'])
37
- ? event['pathsReadThisTurn'].filter((s) => typeof s === 'string')
38
- : undefined;
39
- const pathsWrittenThisTurn = Array.isArray(event['pathsWrittenThisTurn'])
40
- ? event['pathsWrittenThisTurn'].filter((s) => typeof s === 'string')
41
- : undefined;
42
- let perBatch = this.progress.get(batchId);
43
- if (!perBatch) {
44
- perBatch = new Map();
45
- this.progress.set(batchId, perBatch);
46
- }
47
- const prior = perBatch.get(taskIndex);
48
- const nextCounts = { ...(prior?.toolCounts ?? {}) };
49
- for (const [name, count] of Object.entries(toolCalls)) {
50
- nextCounts[name] = (nextCounts[name] ?? 0) + count;
51
- }
52
- const readPaths = new Set(prior?.readPaths ?? []);
53
- const writtenPaths = new Set(prior?.writtenPaths ?? []);
54
- if (pathsReadThisTurn)
55
- for (const p of pathsReadThisTurn)
56
- readPaths.add(p);
57
- if (pathsWrittenThisTurn)
58
- for (const p of pathsWrittenThisTurn)
59
- writtenPaths.add(p);
60
- const toolCallCountDelta = typeof event['toolCallCount'] === 'number' ? event['toolCallCount'] : 0;
61
- const next = {
62
- toolCounts: nextCounts,
63
- totalToolCalls: (prior?.totalToolCalls ?? 0) + toolCallCountDelta,
64
- readPaths,
65
- writtenPaths,
66
- shellWrites: (prior?.shellWrites ?? 0) + shellWritesDelta,
67
- stageLabel: stageLabel ?? prior?.stageLabel,
68
- tier: tier ?? prior?.tier,
69
- startedAt: prior?.startedAt ?? Date.now(),
70
- };
71
- perBatch.set(taskIndex, next);
72
- const entry = this.batchRegistry.get(batchId);
73
- if (!entry)
74
- return;
75
- // A4b.0 (4.2.2+): prefer path-Set sizes when the runner emitted
76
- // pathsRead/pathsWritten arrays. Fall back to the bucket-count
77
- // semantics for legacy events / test fixtures that send
78
- // `toolCalls: { name: count }` only.
79
- let read = 0;
80
- let write = 0;
81
- // A4b.0: prefer the cumulative raw `toolCallCount` deltas (every
82
- // invocation including repeats). Fall back to bucket sum for legacy
83
- // events that send `toolCalls: { name: count }` only.
84
- let total = next.totalToolCalls;
85
- if (total === 0) {
86
- for (const count of Object.values(nextCounts))
87
- total += count;
88
- }
89
- if (next.readPaths.size > 0 || pathsReadThisTurn !== undefined) {
90
- read = next.readPaths.size;
91
- }
92
- else {
93
- for (const [name, count] of Object.entries(nextCounts)) {
94
- if (READ_TOOLS.has(name))
95
- read += count;
96
- }
97
- }
98
- if (next.writtenPaths.size > 0 || pathsWrittenThisTurn !== undefined) {
99
- write = next.writtenPaths.size;
100
- }
101
- else {
102
- for (const [name, count] of Object.entries(nextCounts)) {
103
- if (WRITE_TOOLS.has(name))
104
- write += count;
105
- }
106
- }
107
- // Gap 11 (4.0.3+): include run_shell calls that wrote to the FS so
108
- // the headline shows real activity instead of "0 write" while
109
- // sed -i / cat > / tee actively produces artifacts.
110
- write += next.shellWrites;
111
- const stage = next.stageLabel ?? 'Running';
112
- const tierStr = capitalizeTier(next.tier);
113
- const workerClause = tierStr ? ` by ${tierStr} worker` : '';
114
- const progress = stageProgress(entry.tool, next.stageLabel);
115
- const [progDoneStr, progTotalStr] = progress.split('/');
116
- const stageDone = Number(progDoneStr);
117
- const stageTotal = Number(progTotalStr);
118
- // Per-task snapshot. Carries both the legacy pre-rendered prefix/statsClause
119
- // (still consumed when no aggregation is possible) AND the structured fields
120
- // the batch handler uses to compose ONE aggregated line for batches.
121
- // Final single-task shape:
122
- // [1/1] Implementing by Standard worker (1/7) - 5m 40s, 2 read, 0 write, 15 tool calls
123
- const prefix = `${stage}${workerClause} (${progress}) - `;
124
- const fallback = `${stage}${workerClause} (${progress})`;
125
- const statsClause = `, ${read} read, ${write} write, ${total} tool calls`;
126
- this.batchRegistry.updatePerTaskHeadlineSnapshot(batchId, taskIndex, {
127
- prefix,
128
- statsClause,
129
- dispatchedAt: next.startedAt,
130
- fallback,
131
- stageLabel: stage,
132
- tier: tierStr,
133
- stageDone: Number.isFinite(stageDone) ? stageDone : undefined,
134
- stageTotal: Number.isFinite(stageTotal) ? stageTotal : undefined,
135
- toolReads: read,
136
- toolWrites: write,
137
- toolTotal: total,
138
- });
139
- // Also update the legacy single-snapshot field so any consumer that
140
- // hasn't migrated to per-task still sees something current.
141
- this.batchRegistry.updateRunningHeadlineSnapshot(batchId, {
142
- prefix,
143
- statsClause,
144
- dispatchedAt: entry.runningHeadlineSnapshot.dispatchedAt,
145
- fallback,
146
- stageLabel: stage,
147
- tier: tierStr,
148
- stageDone: Number.isFinite(stageDone) ? stageDone : undefined,
149
- stageTotal: Number.isFinite(stageTotal) ? stageTotal : undefined,
150
- toolReads: read,
151
- toolWrites: write,
152
- toolTotal: total,
153
- });
154
- }
155
- }
156
- //# sourceMappingURL=running-headline-sink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"running-headline-sink.js","sourceRoot":"","sources":["../../src/events/running-headline-sink.ts"],"names":[],"mappings":"AAoBA,kEAAkE;AAClE,kEAAkE;AAClE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,OAAO,EAAE,eAAe,IAAI,UAAU,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEhH,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAgClE,SAAS,cAAc,CAAC,IAAwB;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,OAAO,mBAAmB;IAID;IAHpB,IAAI,GAAG,kBAAkB,CAAC;IAC3B,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEnE,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,IAAI,CAAC,KAA8B;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,uBAAuB;YAAE,OAAO;QACvD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,sEAAsE;QACtE,wEAAwE;QACxE,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,WAAW,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9F,MAAM,SAAS,GAAI,KAAK,CAAC,WAAW,CAAwC,IAAI,EAAE,CAAC;QACnF,MAAM,gBAAgB,GAAG,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,aAAa,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjE,CAAC,CAAE,KAAK,CAAC,mBAAmB,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7F,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACvE,CAAC,CAAE,KAAK,CAAC,sBAAsB,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAChG,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,iBAAiB;YAAE,KAAK,MAAM,CAAC,IAAI,iBAAiB;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,oBAAoB;YAAE,KAAK,MAAM,CAAC,IAAI,oBAAoB;gBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,kBAAkB,GAAG,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,eAAe,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,GAAoB;YAC5B,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC,GAAG,kBAAkB;YACjE,SAAS;YACT,YAAY;YACZ,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,gBAAgB;YACzD,UAAU,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU;YAC3C,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI;YACzB,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SAC1C,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,gEAAgE;QAChE,+DAA+D;QAC/D,wDAAwD;QACxD,qCAAqC;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,iEAAiE;QACjE,oEAAoE;QACpE,sDAAsD;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;gBAAE,KAAK,IAAI,KAAK,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC/D,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,IAAI,KAAK,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrE,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,KAAK,IAAI,KAAK,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,8DAA8D;QAC9D,oDAAoD;QACpD,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;QAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExC,6EAA6E;QAC7E,6EAA6E;QAC7E,qEAAqE;QACrE,2BAA2B;QAC3B,yFAAyF;QACzF,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,YAAY,KAAK,QAAQ,MAAM,CAAC;QAC1D,MAAM,QAAQ,GAAG,GAAG,KAAK,GAAG,YAAY,KAAK,QAAQ,GAAG,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,IAAI,UAAU,KAAK,WAAW,KAAK,aAAa,CAAC;QAE1E,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE;YACnE,MAAM;YACN,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,QAAQ;YACR,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC7D,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAChE,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,OAAO,EAAE;YACxD,MAAM;YACN,WAAW;YACX,YAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC,YAAY;YACxD,QAAQ;YACR,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC7D,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAChE,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wDAAwD,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1G,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD;2EACuE;IACvE,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDpE"}
@@ -1,59 +0,0 @@
1
- // v4.4.x — unified Annotating stage.
2
- //
3
- // Pure transform: builds the canonical StructuredReport from
4
- // state.lastRunResult, the Review stage's verdict + concerns, the
5
- // Rework flag, and the Committing stage's outcome. Same handler for
6
- // read and write routes — route-specific fields hold empty arrays /
7
- // nulls on the other side so the orchestrator parses one shape.
8
- import { mergeStageStats } from '../merge-stage-stats.js';
9
- import { parseSourcesUsed, } from '../../reporting/report-parser-slots/research-report.js';
10
- const READ_ROUTES = new Set(['audit', 'review', 'debug', 'investigate', 'research']);
11
- export async function annotator(state) {
12
- const t0 = Date.now();
13
- const last = (state.lastRunResult ?? {});
14
- const route = state.route;
15
- const isRead = !!route && READ_ROUTES.has(route);
16
- const findings = last.findings ?? [];
17
- const summary = last.summary
18
- ?? (isRead ? `produced ${findings.length} findings` : (last.output ?? '').slice(0, 200));
19
- const report = {
20
- summary,
21
- workerStatus: last.workerStatus ?? (isRead ? 'done' : 'failed'),
22
- unresolved: last.unresolved ?? [],
23
- filesChanged: isRead ? [] : (last.filesChanged ?? []),
24
- reviewVerdict: isRead ? null : ((state.reviewVerdict) ?? null),
25
- reviewConcerns: isRead ? [] : ((state.reviewConcerns) ?? []),
26
- reworkApplied: isRead ? false : Boolean(state.reworkApplied),
27
- validationsRun: isRead ? [] : (last.validationsRun ?? []),
28
- commitSha: isRead ? null : (last.commitSha ?? null),
29
- commitMessage: isRead ? null : (last.commitMessage ?? null),
30
- commitSkipReason: isRead ? null : (last.commitSkipReason ?? null),
31
- findings: isRead ? findings : [],
32
- criteriaErrors: isRead ? (last.criteriaErrors ?? []) : [],
33
- };
34
- if (route === 'research') {
35
- const lastOutput = last.output ?? '';
36
- report.sourcesUsed = parseSourcesUsed(lastOutput);
37
- }
38
- state.structuredReport = report;
39
- mergeStageStats(state, 'annotating', {
40
- inputTokens: 0,
41
- outputTokens: 0,
42
- cachedReadTokens: 0,
43
- cachedNonReadTokens: 0,
44
- turnCount: 0,
45
- toolCallCount: 0,
46
- costUSD: 0,
47
- durationMs: Date.now() - t0,
48
- filesReadCount: 0,
49
- filesWrittenCount: 0,
50
- }, { tier: null, model: null });
51
- const annotatingStats = state.lastRunResult
52
- ?.stageStats?.annotating;
53
- if (annotatingStats) {
54
- annotatingStats.outcome = 'transformed';
55
- annotatingStats.maxIdleMs = 0;
56
- annotatingStats.totalIdleMs = 0;
57
- }
58
- }
59
- //# sourceMappingURL=annotator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { LifecycleState } from '../stage-plan-types.js';
2
- import type { TerminalStatusDeriver } from '../../reporting/terminal-status-deriver.js';
3
- import type { ShutdownCoordinator } from '../../cleanup/shutdown-coordinator.js';
4
- export declare class DeriveTerminalStatusHandler {
5
- private deriver;
6
- private coordinator;
7
- constructor(deriver: TerminalStatusDeriver, coordinator: ShutdownCoordinator);
8
- handler: (state: LifecycleState) => void;
9
- }
10
- //# sourceMappingURL=derive-terminal-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-terminal-status.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/derive-terminal-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAqF,MAAM,4CAA4C,CAAC;AAC3K,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,OAAO;IAAyB,OAAO,CAAC,WAAW;gBAAnD,OAAO,EAAE,qBAAqB,EAAU,WAAW,EAAE,mBAAmB;IAE5F,OAAO,GAAI,OAAO,cAAc,KAAG,IAAI,CAyBrC;CACH"}
@@ -1,35 +0,0 @@
1
- export class DeriveTerminalStatusHandler {
2
- deriver;
3
- coordinator;
4
- constructor(deriver, coordinator) {
5
- this.deriver = deriver;
6
- this.coordinator = coordinator;
7
- }
8
- handler = (state) => {
9
- const inputs = {
10
- shutdownInProgress: this.coordinator.isShutdownInProgress(),
11
- workerStatus: state.workerStatus || 'done',
12
- overallReviewVerdict: state.reviewVerdict || 'not_applicable',
13
- artifactsCheck: state.artifactsCheck || 'not_applicable',
14
- verifyOutcome: state.verifyOutcome || 'not_applicable',
15
- guardFires: state.guardFires || [],
16
- errorCode: state.errorCode || null,
17
- };
18
- const decision = this.deriver.derive(inputs);
19
- state.terminalStatus = decision.terminalStatus;
20
- state.terminationReason = decision.errorCode;
21
- // CRITICAL: do NOT set state.terminal=true here. This handler is wired as
22
- // the compose_response row (5.3); rows 5.3.5 (register_terminal_block),
23
- // 5.4 (emit_task_terminal), 5.5 (persist_to_batch_registry), and 6.1
24
- // (flush_telemetry) MUST still fire after this handler runs. The
25
- // LifecycleDriver short-circuits on state.terminal === true, so setting
26
- // it here would prevent terminal-block registration, telemetry flush, and
27
- // batch persistence — silently breaking every task's tail.
28
- //
29
- // terminalStatus is the system-verdict field (caller-facing); terminal
30
- // is the lifecycle-driver short-circuit flag — they are different things.
31
- // Only error-path handlers (intake errors, guard fires) set
32
- // state.terminal = true to skip the rest of the lifecycle.
33
- };
34
- }
35
- //# sourceMappingURL=derive-terminal-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-terminal-status.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/derive-terminal-status.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,2BAA2B;IAClB;IAAwC;IAA5D,YAAoB,OAA8B,EAAU,WAAgC;QAAxE,YAAO,GAAP,OAAO,CAAuB;QAAU,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;IAEhG,OAAO,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACxC,MAAM,MAAM,GAAmB;YAC7B,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;YAC3D,YAAY,EAAG,KAAK,CAAC,YAA6B,IAAI,MAAM;YAC5D,oBAAoB,EAAG,KAAK,CAAC,aAAsC,IAAI,gBAAgB;YACvF,cAAc,EAAG,KAAK,CAAC,cAAiC,IAAI,gBAAgB;YAC5E,aAAa,EAAG,KAAK,CAAC,aAA+B,IAAI,gBAAgB;YACzE,UAAU,EAAG,KAAK,CAAC,UAAuB,IAAI,EAAE;YAChD,SAAS,EAAG,KAAK,CAAC,SAAoB,IAAI,IAAI;SAC/C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC7C,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,wEAAwE;QACxE,0EAA0E;QAC1E,2DAA2D;QAC3D,EAAE;QACF,uEAAuE;QACvE,0EAA0E;QAC1E,4DAA4D;QAC5D,2DAA2D;IAC7D,CAAC,CAAC;CACH"}
@@ -1,27 +0,0 @@
1
- export interface CrossCheckInputs {
2
- /** Canonical (realpath) cwd from request. */
3
- cwd: string;
4
- /** Already filtered per A4b §2a — relative paths only, no shell entries. */
5
- filesWritten: string[];
6
- workerSelfAssessment: 'done' | 'in_progress' | 'no_op' | null | undefined;
7
- toolsMode: 'full' | 'readonly' | 'none' | undefined;
8
- autoCommit: boolean | undefined;
9
- /** True iff the worker actually attempted any filesystem write — either a
10
- * real path landed in `filesWritten`, the path-validity filter pushed at
11
- * least one entry to `filesWrittenRejected`, or a shell heredoc fired.
12
- * When false, the worker never tried to write — `writes_unverifiable` is
13
- * a false positive (e.g., a chat-only response that didn't need a file). */
14
- writeAttempted?: boolean;
15
- }
16
- export interface CrossCheckResult {
17
- /** Possibly trimmed of nonexistent or absolute-path entries. */
18
- filesWritten: string[];
19
- /** Entries that didn't pass stat (or were absolute — sandbox guard). */
20
- filesWrittenMissing: string[];
21
- /** Set only when the downgrade fires. */
22
- workerStatus?: 'error';
23
- errorCode?: 'writes_unverifiable';
24
- errorMessage?: string;
25
- }
26
- export declare function crossCheckFilesWritten(inputs: CrossCheckInputs): CrossCheckResult;
27
- //# sourceMappingURL=files-written-cross-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files-written-cross-check.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/files-written-cross-check.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1E,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;iFAI6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,yCAAyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA2DjF"}
@@ -1,91 +0,0 @@
1
- /**
2
- * A4b §2b — terminal-stage cross-check of worker-reported `filesWritten`
3
- * against the actual filesystem.
4
- *
5
- * Inputs come from the per-task lifecycle state at the moment the task
6
- * transitions to terminal (cause `finished` or `cancelled`, not `error`).
7
- * Outputs are merged into the result envelope:
8
- *
9
- * - `filesWritten` is trimmed to only entries whose `path.join(cwd, p)`
10
- * stat()s successfully as a file or directory.
11
- * - `filesWrittenMissing` carries the entries that didn't pass stat
12
- * (defense-in-depth: also catches absolute paths if any slipped past
13
- * the §2a filter).
14
- * - `workerStatus = 'error'` + `errorCode = 'writes_unverifiable'` when
15
- * all of:
16
- * 1. `filesWritten.length === 0` (post-stat trimming)
17
- * 2. `workerSelfAssessment === 'done'`
18
- * 3. `toolsMode === 'full'` (worker had write capability)
19
- *
20
- * The downgrade ONLY fires on the `done` claim with no evidence on a
21
- * write-capable worker. A worker that legitimately produced no
22
- * artifacts (e.g., a no-op task confirming "nothing to change") must
23
- * self-assess as `no_op`, not `done`. `readonly` / `none` workers are
24
- * also exempt — they aren't expected to produce artifacts.
25
- *
26
- * The optional `git status` merge (when autoCommit=true) is a follow-up
27
- * (see plan A4b.2 step 2 alternative) — out of scope for this initial
28
- * commit. autoCommit is accepted in the inputs for forward-compat.
29
- */
30
- import * as fs from 'node:fs';
31
- import * as path from 'node:path';
32
- const WRITES_UNVERIFIABLE_MESSAGE = "Worker self-assessed as 'done' but no verifiable file artifacts were " +
33
- "produced. Likely cause: writes were issued via shell commands (cat/echo/" +
34
- "python -c heredocs) that bypass the platform's file-write accounting.";
35
- export function crossCheckFilesWritten(inputs) {
36
- const real = [];
37
- const missing = [];
38
- for (const entry of inputs.filesWritten) {
39
- // Defense-in-depth: reject absolutes here too. The path-validity
40
- // filter at A4b §2a should have already removed them, but if any
41
- // slip through, `path.join(cwd, '/etc/passwd')` would silently
42
- // resolve to `/etc/passwd` — sandbox escape. Categorize as missing
43
- // (not a real write under cwd).
44
- if (entry.startsWith('/')) {
45
- missing.push(entry);
46
- continue;
47
- }
48
- const absPath = path.join(inputs.cwd, entry);
49
- try {
50
- const st = fs.statSync(absPath);
51
- if (st.isFile() || st.isDirectory()) {
52
- real.push(entry);
53
- }
54
- else {
55
- missing.push(entry);
56
- }
57
- }
58
- catch {
59
- missing.push(entry);
60
- }
61
- }
62
- // Verdict downgrade per spec §2b step 3.
63
- let workerStatus;
64
- let errorCode;
65
- let errorMessage;
66
- // When the caller can prove the worker never tried to write (no rejected
67
- // paths, no successful writes, no shell heredocs), skip the downgrade —
68
- // it's a false positive for chat-only responses. Default = true (preserve
69
- // pre-existing callers that don't pass the flag).
70
- const attempted = inputs.writeAttempted ?? true;
71
- if (real.length === 0 &&
72
- inputs.workerSelfAssessment === 'done' &&
73
- inputs.toolsMode === 'full' &&
74
- attempted) {
75
- workerStatus = 'error';
76
- errorCode = 'writes_unverifiable';
77
- errorMessage = WRITES_UNVERIFIABLE_MESSAGE;
78
- }
79
- // The optional autoCommit-gated `git status --porcelain` merge is a
80
- // follow-up. Reading it here without implementing keeps the contract
81
- // forward-compat for callers that already pass autoCommit.
82
- void inputs.autoCommit;
83
- return {
84
- filesWritten: real,
85
- filesWrittenMissing: missing,
86
- ...(workerStatus !== undefined && { workerStatus }),
87
- ...(errorCode !== undefined && { errorCode }),
88
- ...(errorMessage !== undefined && { errorMessage }),
89
- };
90
- }
91
- //# sourceMappingURL=files-written-cross-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files-written-cross-check.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/files-written-cross-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA6BlC,MAAM,2BAA2B,GAC/B,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE,CAAC;AAE1E,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,iEAAiE;QACjE,iEAAiE;QACjE,+DAA+D;QAC/D,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,YAAiC,CAAC;IACtC,IAAI,SAA4C,CAAC;IACjD,IAAI,YAAgC,CAAC;IACrC,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;IAChD,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,MAAM,CAAC,oBAAoB,KAAK,MAAM;QACtC,MAAM,CAAC,SAAS,KAAK,MAAM;QAC3B,SAAS,EACT,CAAC;QACD,YAAY,GAAG,OAAO,CAAC;QACvB,SAAS,GAAG,qBAAqB,CAAC;QAClC,YAAY,GAAG,2BAA2B,CAAC;IAC7C,CAAC;IAED,oEAAoE;IACpE,qEAAqE;IACrE,2DAA2D;IAC3D,KAAK,MAAM,CAAC,UAAU,CAAC;IAEvB,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,OAAO;QAC5B,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { LifecycleState } from '../stage-plan-types.js';
2
- export declare function reviewHandler(state: LifecycleState): Promise<void>;
3
- //# sourceMappingURL=review-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/review-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4C7D,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIxE"}
@@ -1,169 +0,0 @@
1
- // v4.4.x — Review stage.
2
- //
3
- // One complex session, two sequential turns: spec review, then quality
4
- // review. Same session = same cached prefix on the 2nd turn. Combined
5
- // verdict is `approved` only if BOTH reviewers approve; otherwise
6
- // `changes_required`. Combined `reviewConcerns` is the concat of both
7
- // reviewers' concerns.
8
- import { specLintTemplate } from '../../review/templates/spec-review.js';
9
- import { qualityLintTemplate } from '../../review/templates/quality-review.js';
10
- import { parseReviewReport } from '../../review/parse-review-report.js';
11
- import { mergeStageStats } from '../merge-stage-stats.js';
12
- import { HUMAN_LABEL } from '../stage-labels.js';
13
- import { buildWarmFollowupMessage } from '../warm-followup.js';
14
- async function runOneReviewer(session, task, source, diff, workerOutput, isWarmFollowup) {
15
- const template = source === 'spec' ? specLintTemplate : qualityLintTemplate;
16
- const promptCtx = {
17
- brief: task.prompt ?? '',
18
- workerOutput,
19
- diff,
20
- planContext: task.planContext,
21
- };
22
- // Warm follow-up: the same reviewer session already loaded brief +
23
- // diff + planContext on turn 1. Send only the new instruction via
24
- // the standard preamble. systemPrompt is intentionally not
25
- // re-prepended — it lives in the resumed session's history.
26
- // Cold open: full system prompt + brief + diff + planContext.
27
- const fullPrompt = isWarmFollowup && template.buildWarmFollowup
28
- ? buildWarmFollowupMessage(template.buildWarmFollowup(promptCtx))
29
- : template.systemPrompt + '\n\n' + template.buildUserPrompt(promptCtx);
30
- try {
31
- const turn = await session.send(fullPrompt, { stageLabel: HUMAN_LABEL.review });
32
- return { turn };
33
- }
34
- catch (err) {
35
- return { transportError: err instanceof Error ? err.message : String(err) };
36
- }
37
- }
38
- export async function reviewHandler(state) {
39
- if (state.terminal)
40
- return;
41
- if (state.reviewVerdict !== undefined)
42
- return;
43
- const ctx = state.executionContext;
44
- const task = state.task;
45
- const last = state.lastRunResult;
46
- if (!ctx || !task || !last)
47
- return;
48
- if (state.reviewPolicy === 'none') {
49
- state.reviewVerdict = 'approved';
50
- state.reviewFindings = [];
51
- return;
52
- }
53
- let cumulativeDiff = '';
54
- if (state.diffTracker) {
55
- try {
56
- cumulativeDiff = await state.diffTracker.cumulativeDiff();
57
- }
58
- catch { /* tolerated */ }
59
- }
60
- const workerOutput = last.output ?? '';
61
- // v4.4.x: spec and quality run sequentially on the SAME complex
62
- // session so the second call benefits from the cached prefix.
63
- const reviewerTier = ctx.assignedTier === 'standard' ? 'complex' : 'standard';
64
- if (!ctx.providers[reviewerTier]) {
65
- state.reviewVerdict = 'changes_required';
66
- state.reviewError = `no provider available for tier ${reviewerTier}`;
67
- state.reviewFindings = [];
68
- return;
69
- }
70
- // Which sub-reviews to run, per reviewPolicy.
71
- const runSpec = state.reviewPolicy === 'full';
72
- const runQuality = state.reviewPolicy === 'full'
73
- || state.reviewPolicy === 'quality_only'
74
- || state.reviewPolicy === 'diff_only';
75
- const sources = [];
76
- if (runSpec)
77
- sources.push('spec');
78
- if (runQuality)
79
- sources.push('quality');
80
- if (sources.length === 0) {
81
- state.reviewVerdict = 'approved';
82
- state.reviewFindings = [];
83
- return;
84
- }
85
- const findings = [];
86
- const errors = [];
87
- let anyChangesRequired = false;
88
- let anySuccess = false;
89
- // Sequential — second turn hits the cached prefix on the same session.
90
- // The warm-follow-up form is valid ONLY when iteration > 0 AND the
91
- // session reference is the same as iteration 0. Today ctx.getSession
92
- // is idempotent on tier so both iterations see the same session; the
93
- // identity guard exists so a future change that rotates the reviewer
94
- // session mid-stage (escalation rotation, retry-after-failure) falls
95
- // back to cold-open automatically rather than sending a warm follow-up
96
- // into a fresh thread that lacks the prior history.
97
- const settled = [];
98
- let firstSession = null;
99
- for (let iteration = 0; iteration < sources.length; iteration++) {
100
- const source = sources[iteration];
101
- const currentSession = ctx.getSession(reviewerTier);
102
- if (iteration === 0)
103
- firstSession = currentSession;
104
- const isWarmFollowup = iteration > 0 && currentSession === firstSession;
105
- const outcome = await runOneReviewer(currentSession, task, source, cumulativeDiff, workerOutput, isWarmFollowup);
106
- settled.push({ source, outcome });
107
- }
108
- let combinedInput = 0, combinedOutput = 0, combinedCached = 0, combinedNonRead = 0;
109
- let combinedTurns = 0;
110
- let combinedCost = null;
111
- let combinedDuration = 0;
112
- for (const { source, outcome } of settled) {
113
- if ('transportError' in outcome) {
114
- if (source === 'spec')
115
- state.specReviewError = outcome.transportError;
116
- else
117
- state.qualityReviewError = outcome.transportError;
118
- errors.push(`${source}: ${outcome.transportError}`);
119
- process.stderr.write(`[review-handler] ${source} transportError: ${outcome.transportError}\n`);
120
- continue;
121
- }
122
- anySuccess = true;
123
- const parsed = parseReviewReport(outcome.turn.output ?? '');
124
- if (source === 'spec') {
125
- state.specReviewerNotes = outcome.turn.output;
126
- state.specReviewVerdict = parsed.verdict;
127
- }
128
- else {
129
- state.qualityReviewerNotes = outcome.turn.output;
130
- state.qualityReviewVerdict = parsed.verdict;
131
- }
132
- if (parsed.verdict === 'changes_required')
133
- anyChangesRequired = true;
134
- for (const dev of parsed.deviations)
135
- findings.push({ source, text: dev });
136
- combinedInput += outcome.turn.usage?.inputTokens ?? 0;
137
- combinedOutput += outcome.turn.usage?.outputTokens ?? 0;
138
- combinedCached += outcome.turn.usage?.cachedReadTokens ?? 0;
139
- combinedNonRead += outcome.turn.usage?.cachedNonReadTokens ?? 0;
140
- combinedTurns += outcome.turn.turns ?? 1;
141
- combinedDuration += outcome.turn.durationMs ?? 0;
142
- const c = outcome.turn.costUSD;
143
- if (c !== null && c !== undefined)
144
- combinedCost = (combinedCost ?? 0) + c;
145
- }
146
- state.reviewFindings = findings;
147
- state.reviewConcerns = findings.map((f) => f.text);
148
- if (!anySuccess) {
149
- state.reviewVerdict = 'changes_required';
150
- state.reviewError = errors.join(' | ');
151
- return;
152
- }
153
- state.reviewVerdict = anyChangesRequired ? 'changes_required' : 'approved';
154
- mergeStageStats(state, 'review', {
155
- inputTokens: combinedInput,
156
- outputTokens: combinedOutput,
157
- cachedReadTokens: combinedCached,
158
- cachedNonReadTokens: combinedNonRead,
159
- turnCount: combinedTurns,
160
- toolCallCount: 0,
161
- costUSD: combinedCost,
162
- durationMs: combinedDuration || null,
163
- }, {
164
- tier: reviewerTier,
165
- model: ctx.providers[reviewerTier]?.config?.model ?? null,
166
- verdict: state.reviewVerdict,
167
- });
168
- }
169
- //# sourceMappingURL=review-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-handler.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/review-handler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { LifecycleState } from '../stage-plan-types.js';
2
- export declare function reworkHandler(state: LifecycleState): Promise<void>;
3
- //# sourceMappingURL=rework-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rework-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/rework-handler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAa7D,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIxE"}