@zhixuan92/multi-model-agent-core 4.5.3 → 4.6.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 (271) hide show
  1. package/README.md +8 -3
  2. package/dist/escalation/delegate-with-escalation.d.ts +2 -2
  3. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
  4. package/dist/escalation/delegate-with-escalation.js +11 -17
  5. package/dist/escalation/delegate-with-escalation.js.map +1 -1
  6. package/dist/escalation/fallback-helpers.d.ts +5 -5
  7. package/dist/escalation/fallback-helpers.d.ts.map +1 -1
  8. package/dist/escalation/fallback-helpers.js +5 -3
  9. package/dist/escalation/fallback-helpers.js.map +1 -1
  10. package/dist/events/event-builder.d.ts +36 -5
  11. package/dist/events/event-builder.d.ts.map +1 -1
  12. package/dist/events/event-builder.js +175 -33
  13. package/dist/events/event-builder.js.map +1 -1
  14. package/dist/events/observability-events.d.ts +6 -0
  15. package/dist/events/observability-events.d.ts.map +1 -1
  16. package/dist/events/observability-events.js +5 -0
  17. package/dist/events/observability-events.js.map +1 -1
  18. package/dist/events/telemetry-types.d.ts +10 -0
  19. package/dist/events/telemetry-types.d.ts.map +1 -1
  20. package/dist/events/verbose-log-channel.d.ts +7 -7
  21. package/dist/events/verbose-log-channel.js +10 -10
  22. package/dist/index.d.ts +9 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +8 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/lifecycle/annotate-parser.d.ts +9 -0
  27. package/dist/lifecycle/annotate-parser.d.ts.map +1 -0
  28. package/dist/lifecycle/annotate-parser.js +83 -0
  29. package/dist/lifecycle/annotate-parser.js.map +1 -0
  30. package/dist/lifecycle/annotate-prompts.d.ts +9 -0
  31. package/dist/lifecycle/annotate-prompts.d.ts.map +1 -0
  32. package/dist/lifecycle/annotate-prompts.js +86 -0
  33. package/dist/lifecycle/annotate-prompts.js.map +1 -0
  34. package/dist/lifecycle/auto-register-context-block.d.ts +2 -2
  35. package/dist/lifecycle/auto-register-context-block.d.ts.map +1 -1
  36. package/dist/lifecycle/auto-register-context-block.js.map +1 -1
  37. package/dist/lifecycle/build-cancelled-result.d.ts +11 -0
  38. package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -0
  39. package/dist/lifecycle/build-cancelled-result.js +27 -0
  40. package/dist/lifecycle/build-cancelled-result.js.map +1 -0
  41. package/dist/lifecycle/executor-output-types.d.ts +2 -2
  42. package/dist/lifecycle/executor-output-types.d.ts.map +1 -1
  43. package/dist/lifecycle/fallback-report.d.ts +2 -2
  44. package/dist/lifecycle/fallback-report.d.ts.map +1 -1
  45. package/dist/lifecycle/fallback-report.js.map +1 -1
  46. package/dist/lifecycle/findings-parser.d.ts +2 -0
  47. package/dist/lifecycle/findings-parser.d.ts.map +1 -1
  48. package/dist/lifecycle/findings-parser.js +9 -4
  49. package/dist/lifecycle/findings-parser.js.map +1 -1
  50. package/dist/lifecycle/git-toplevel.d.ts +12 -0
  51. package/dist/lifecycle/git-toplevel.d.ts.map +1 -0
  52. package/dist/lifecycle/git-toplevel.js +49 -0
  53. package/dist/lifecycle/git-toplevel.js.map +1 -0
  54. package/dist/lifecycle/handlers/annotator.d.ts +2 -1
  55. package/dist/lifecycle/handlers/annotator.d.ts.map +1 -1
  56. package/dist/lifecycle/handlers/annotator.js +225 -7
  57. package/dist/lifecycle/handlers/annotator.js.map +1 -1
  58. package/dist/lifecycle/handlers/baseline-handlers.d.ts +10 -5
  59. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  60. package/dist/lifecycle/handlers/baseline-handlers.js +206 -316
  61. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  62. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +3 -0
  63. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -0
  64. package/dist/lifecycle/handlers/enrich-runtime-result.js +191 -0
  65. package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -0
  66. package/dist/lifecycle/handlers/git-commit-handler.d.ts +3 -2
  67. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  68. package/dist/lifecycle/handlers/git-commit-handler.js +139 -110
  69. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  70. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +7 -13
  71. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
  72. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +72 -49
  73. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
  74. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +2 -1
  75. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +1 -1
  76. package/dist/lifecycle/handlers/register-context-block-handlers.js +35 -14
  77. package/dist/lifecycle/handlers/register-context-block-handlers.js.map +1 -1
  78. package/dist/lifecycle/handlers/review-handler.d.ts +2 -1
  79. package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
  80. package/dist/lifecycle/handlers/review-handler.js +152 -154
  81. package/dist/lifecycle/handlers/review-handler.js.map +1 -1
  82. package/dist/lifecycle/handlers/rework-handler.d.ts +2 -1
  83. package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
  84. package/dist/lifecycle/handlers/rework-handler.js +62 -14
  85. package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
  86. package/dist/lifecycle/handlers/task-executor.d.ts +5 -4
  87. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
  88. package/dist/lifecycle/handlers/task-executor.js +153 -74
  89. package/dist/lifecycle/handlers/task-executor.js.map +1 -1
  90. package/dist/lifecycle/handlers/terminal-handlers.d.ts +22 -0
  91. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  92. package/dist/lifecycle/handlers/terminal-handlers.js +86 -5
  93. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  94. package/dist/lifecycle/lifecycle-context.d.ts +31 -3
  95. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  96. package/dist/lifecycle/lifecycle-dispatcher.d.ts +18 -19
  97. package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +1 -1
  98. package/dist/lifecycle/lifecycle-dispatcher.js +38 -22
  99. package/dist/lifecycle/lifecycle-dispatcher.js.map +1 -1
  100. package/dist/lifecycle/lifecycle-driver.d.ts +15 -8
  101. package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -1
  102. package/dist/lifecycle/lifecycle-driver.js +110 -29
  103. package/dist/lifecycle/lifecycle-driver.js.map +1 -1
  104. package/dist/lifecycle/merge-stage-stats.d.ts +3 -3
  105. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  106. package/dist/lifecycle/merge-stage-stats.js +2 -2
  107. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  108. package/dist/lifecycle/perform-implementation.d.ts +3 -0
  109. package/dist/lifecycle/perform-implementation.d.ts.map +1 -0
  110. package/dist/lifecycle/perform-implementation.js +264 -0
  111. package/dist/lifecycle/perform-implementation.js.map +1 -0
  112. package/dist/lifecycle/repo-hygiene.d.ts +14 -0
  113. package/dist/lifecycle/repo-hygiene.d.ts.map +1 -0
  114. package/dist/lifecycle/repo-hygiene.js +71 -0
  115. package/dist/lifecycle/repo-hygiene.js.map +1 -0
  116. package/dist/lifecycle/shared-compute.d.ts +4 -4
  117. package/dist/lifecycle/shared-compute.d.ts.map +1 -1
  118. package/dist/lifecycle/shared-compute.js +1 -1
  119. package/dist/lifecycle/shared-compute.js.map +1 -1
  120. package/dist/lifecycle/stage-io.d.ts +139 -0
  121. package/dist/lifecycle/stage-io.d.ts.map +1 -0
  122. package/dist/lifecycle/stage-io.js +20 -0
  123. package/dist/lifecycle/stage-io.js.map +1 -0
  124. package/dist/lifecycle/stage-plan-builder.d.ts +3 -3
  125. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  126. package/dist/lifecycle/stage-plan-builder.js +157 -128
  127. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  128. package/dist/lifecycle/stage-plan-types.d.ts +5 -21
  129. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  130. package/dist/lifecycle/stage-progression.d.ts +3 -15
  131. package/dist/lifecycle/stage-progression.d.ts.map +1 -1
  132. package/dist/lifecycle/stage-progression.js +48 -91
  133. package/dist/lifecycle/stage-progression.js.map +1 -1
  134. package/dist/lifecycle/task-completion-summary.d.ts +2 -2
  135. package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
  136. package/dist/lifecycle/task-completion-summary.js +0 -6
  137. package/dist/lifecycle/task-completion-summary.js.map +1 -1
  138. package/dist/lifecycle/task-executor.d.ts +23 -0
  139. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  140. package/dist/lifecycle/task-executor.js +77 -5
  141. package/dist/lifecycle/task-executor.js.map +1 -1
  142. package/dist/lifecycle/task-grouping.d.ts +19 -0
  143. package/dist/lifecycle/task-grouping.d.ts.map +1 -0
  144. package/dist/lifecycle/task-grouping.js +48 -0
  145. package/dist/lifecycle/task-grouping.js.map +1 -0
  146. package/dist/lifecycle/task-runner.d.ts +20 -7
  147. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  148. package/dist/lifecycle/task-runner.js +42 -278
  149. package/dist/lifecycle/task-runner.js.map +1 -1
  150. package/dist/lifecycle/tool-config-types.d.ts +9 -0
  151. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  152. package/dist/lifecycle/worker-output-contract.d.ts +9 -15
  153. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -1
  154. package/dist/lifecycle/worker-output-contract.js +45 -30
  155. package/dist/lifecycle/worker-output-contract.js.map +1 -1
  156. package/dist/providers/assemble-run-result.d.ts +3 -3
  157. package/dist/providers/assemble-run-result.d.ts.map +1 -1
  158. package/dist/providers/assemble-run-result.js +20 -9
  159. package/dist/providers/assemble-run-result.js.map +1 -1
  160. package/dist/providers/claude-session.d.ts.map +1 -1
  161. package/dist/providers/claude-session.js +1 -0
  162. package/dist/providers/claude-session.js.map +1 -1
  163. package/dist/providers/claude.js.map +1 -1
  164. package/dist/providers/codex-cli-launch.js +1 -1
  165. package/dist/providers/codex-cli-launch.js.map +1 -1
  166. package/dist/providers/codex-cli-session.d.ts +4 -1
  167. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  168. package/dist/providers/codex-cli-session.js +73 -46
  169. package/dist/providers/codex-cli-session.js.map +1 -1
  170. package/dist/providers/codex.js.map +1 -1
  171. package/dist/providers/index.d.ts +1 -0
  172. package/dist/providers/index.d.ts.map +1 -1
  173. package/dist/providers/index.js +1 -0
  174. package/dist/providers/index.js.map +1 -1
  175. package/dist/providers/normalize-claude.d.ts +2 -0
  176. package/dist/providers/normalize-claude.d.ts.map +1 -1
  177. package/dist/providers/normalize-claude.js +1 -0
  178. package/dist/providers/normalize-claude.js.map +1 -1
  179. package/dist/providers/run-annotator-turn.d.ts +24 -0
  180. package/dist/providers/run-annotator-turn.d.ts.map +1 -0
  181. package/dist/providers/run-annotator-turn.js +43 -0
  182. package/dist/providers/run-annotator-turn.js.map +1 -0
  183. package/dist/providers/run-worker-turn.d.ts +26 -0
  184. package/dist/providers/run-worker-turn.d.ts.map +1 -0
  185. package/dist/providers/run-worker-turn.js +58 -0
  186. package/dist/providers/run-worker-turn.js.map +1 -0
  187. package/dist/providers/runner-types.d.ts +1 -1
  188. package/dist/providers/runner-types.d.ts.map +1 -1
  189. package/dist/reporting/headline-composer.d.ts +3 -3
  190. package/dist/reporting/headline-composer.d.ts.map +1 -1
  191. package/dist/review/index.d.ts +4 -3
  192. package/dist/review/index.d.ts.map +1 -1
  193. package/dist/review/index.js +7 -4
  194. package/dist/review/index.js.map +1 -1
  195. package/dist/review/parse-review-report.d.ts +7 -1
  196. package/dist/review/parse-review-report.d.ts.map +1 -1
  197. package/dist/review/parse-review-report.js +13 -21
  198. package/dist/review/parse-review-report.js.map +1 -1
  199. package/dist/review/review-verdict-mapping.d.ts +3 -3
  200. package/dist/review/review-verdict-mapping.d.ts.map +1 -1
  201. package/dist/review/review-verdict-mapping.js +1 -1
  202. package/dist/review/review-verdict-mapping.js.map +1 -1
  203. package/dist/review/run-reviewer.d.ts +40 -0
  204. package/dist/review/run-reviewer.d.ts.map +1 -0
  205. package/dist/review/run-reviewer.js +54 -0
  206. package/dist/review/run-reviewer.js.map +1 -0
  207. package/dist/review/templates/quality-review.d.ts +5 -0
  208. package/dist/review/templates/quality-review.d.ts.map +1 -1
  209. package/dist/review/templates/quality-review.js +35 -25
  210. package/dist/review/templates/quality-review.js.map +1 -1
  211. package/dist/review/templates/spec-review.d.ts +6 -0
  212. package/dist/review/templates/spec-review.d.ts.map +1 -1
  213. package/dist/review/templates/spec-review.js +36 -8
  214. package/dist/review/templates/spec-review.js.map +1 -1
  215. package/dist/stores/batch-cache.d.ts +3 -3
  216. package/dist/stores/batch-cache.d.ts.map +1 -1
  217. package/dist/stores/batch-cache.js.map +1 -1
  218. package/dist/stores/batch-registry.d.ts +31 -0
  219. package/dist/stores/batch-registry.d.ts.map +1 -1
  220. package/dist/stores/batch-registry.js +12 -0
  221. package/dist/stores/batch-registry.js.map +1 -1
  222. package/dist/tools/debug/tool-config.js +1 -1
  223. package/dist/tools/debug/tool-config.js.map +1 -1
  224. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  225. package/dist/tools/delegate/tool-config.js +3 -1
  226. package/dist/tools/delegate/tool-config.js.map +1 -1
  227. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  228. package/dist/tools/execute-plan/tool-config.js +3 -1
  229. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  230. package/dist/tools/investigate/tool-config.js +1 -1
  231. package/dist/tools/investigate/tool-config.js.map +1 -1
  232. package/dist/tools/retry/tool-config.js.map +1 -1
  233. package/dist/types/run-result.d.ts +164 -213
  234. package/dist/types/run-result.d.ts.map +1 -1
  235. package/dist/types/run-result.js +17 -0
  236. package/dist/types/run-result.js.map +1 -1
  237. package/dist/types.d.ts +1 -1
  238. package/dist/types.d.ts.map +1 -1
  239. package/package.json +1 -1
  240. package/dist/lifecycle/handlers/derive-terminal-status.d.ts +0 -10
  241. package/dist/lifecycle/handlers/derive-terminal-status.d.ts.map +0 -1
  242. package/dist/lifecycle/handlers/derive-terminal-status.js +0 -35
  243. package/dist/lifecycle/handlers/derive-terminal-status.js.map +0 -1
  244. package/dist/lifecycle/handlers/files-written-cross-check.d.ts +0 -27
  245. package/dist/lifecycle/handlers/files-written-cross-check.d.ts.map +0 -1
  246. package/dist/lifecycle/handlers/files-written-cross-check.js +0 -91
  247. package/dist/lifecycle/handlers/files-written-cross-check.js.map +0 -1
  248. package/dist/lifecycle/handlers/verify-stage.d.ts +0 -37
  249. package/dist/lifecycle/handlers/verify-stage.d.ts.map +0 -1
  250. package/dist/lifecycle/handlers/verify-stage.js +0 -208
  251. package/dist/lifecycle/handlers/verify-stage.js.map +0 -1
  252. package/dist/review/default-engines.d.ts +0 -3
  253. package/dist/review/default-engines.d.ts.map +0 -1
  254. package/dist/review/default-engines.js +0 -22
  255. package/dist/review/default-engines.js.map +0 -1
  256. package/dist/review/reviewer-engine.d.ts +0 -53
  257. package/dist/review/reviewer-engine.d.ts.map +0 -1
  258. package/dist/review/reviewer-engine.js +0 -47
  259. package/dist/review/reviewer-engine.js.map +0 -1
  260. package/dist/review/reviewer-output-parser.d.ts +0 -12
  261. package/dist/review/reviewer-output-parser.d.ts.map +0 -1
  262. package/dist/review/reviewer-output-parser.js +0 -213
  263. package/dist/review/reviewer-output-parser.js.map +0 -1
  264. package/dist/review/reviewer-prompt-builder.d.ts +0 -21
  265. package/dist/review/reviewer-prompt-builder.d.ts.map +0 -1
  266. package/dist/review/reviewer-prompt-builder.js +0 -22
  267. package/dist/review/reviewer-prompt-builder.js.map +0 -1
  268. package/dist/review/templates/annotate-completion.d.ts +0 -12
  269. package/dist/review/templates/annotate-completion.d.ts.map +0 -1
  270. package/dist/review/templates/annotate-completion.js +0 -72
  271. package/dist/review/templates/annotate-completion.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ import { spawn } from 'node:child_process';
2
+ /**
3
+ * Returns the canonical absolute path of the git toplevel for `cwd`, or
4
+ * null if `cwd` is not in a git repo, git is unavailable, the directory
5
+ * does not exist, or the spawn times out (default 5 s).
6
+ *
7
+ * Pure function of (cwd, filesystem state). Never throws.
8
+ */
9
+ export async function resolveGitToplevel(cwd, opts = {}) {
10
+ const timeoutMs = opts.timeoutMs ?? 5000;
11
+ return new Promise((resolve) => {
12
+ let settled = false;
13
+ const settle = (value) => {
14
+ if (settled)
15
+ return;
16
+ settled = true;
17
+ resolve(value);
18
+ };
19
+ let child;
20
+ try {
21
+ child = spawn('git', ['-C', cwd, 'rev-parse', '--show-toplevel'], {
22
+ stdio: ['ignore', 'pipe', 'pipe'],
23
+ });
24
+ }
25
+ catch {
26
+ settle(null);
27
+ return;
28
+ }
29
+ let stdout = '';
30
+ child.stdout?.on('data', (b) => { stdout += b.toString('utf8'); });
31
+ child.stderr?.on('data', () => { });
32
+ child.on('error', () => settle(null));
33
+ child.on('exit', (code) => {
34
+ if (code === 0)
35
+ settle(stdout.trim() || null);
36
+ else
37
+ settle(null);
38
+ });
39
+ const t = setTimeout(() => {
40
+ try {
41
+ child.kill('SIGKILL');
42
+ }
43
+ catch { /* ignore */ }
44
+ settle(null);
45
+ }, timeoutMs);
46
+ child.on('exit', () => clearTimeout(t));
47
+ });
48
+ }
49
+ //# sourceMappingURL=git-toplevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-toplevel.js","sourceRoot":"","sources":["../../src/lifecycle/git-toplevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAM3C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAW,EACX,OAAuB,EAAE;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAE,EAAE;YACtC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE;gBAChE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;;gBACzC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { LifecycleState } from '../stage-plan-types.js';
2
2
  import { type ResearchSourcesUsedEntry } from '../../reporting/report-parser-slots/research-report.js';
3
+ import type { AnnotatePayload, StageGate } from '../stage-io.js';
3
4
  export interface StructuredReport {
4
5
  summary: string;
5
6
  workerStatus: 'done' | 'done_with_concerns' | 'blocked' | 'failed';
@@ -31,5 +32,5 @@ export interface StructuredReport {
31
32
  * every other route (audit/review/debug/investigate/write routes). */
32
33
  sourcesUsed?: ResearchSourcesUsedEntry[];
33
34
  }
34
- export declare function annotator(state: LifecycleState): Promise<void>;
35
+ export declare function annotator(state: LifecycleState): Promise<StageGate<AnnotatePayload>>;
35
36
  //# sourceMappingURL=annotator.d.ts.map
@@ -1 +1 @@
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
+ {"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,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIjE,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,SAAS,CAAC,eAAe,CAAC,CAAC,CA0O1F"}
@@ -7,6 +7,9 @@
7
7
  // nulls on the other side so the orchestrator parses one shape.
8
8
  import { mergeStageStats } from '../merge-stage-stats.js';
9
9
  import { parseSourcesUsed, } from '../../reporting/report-parser-slots/research-report.js';
10
+ import { applyAnnotatePreconditions } from '../annotate-parser.js';
11
+ import { annotatePromptWrite, annotatePromptRead } from '../annotate-prompts.js';
12
+ import { runAnnotatorTurn } from '../../providers/run-annotator-turn.js';
10
13
  const READ_ROUTES = new Set(['audit', 'review', 'debug', 'investigate', 'research']);
11
14
  export async function annotator(state) {
12
15
  const t0 = Date.now();
@@ -36,18 +39,174 @@ export async function annotator(state) {
36
39
  report.sourcesUsed = parseSourcesUsed(lastOutput);
37
40
  }
38
41
  state.structuredReport = report;
42
+ // v5: prompt-budget truncation per spec §14 assumption 7 + AC-30 to AC-33.
43
+ // Three tiers, applied progressively when config.truncateAnnotatePromptTier
44
+ // signals overflow:
45
+ // tier 1 → strip Finding.evidence
46
+ // tier 2 → also strip summary fields (set to '')
47
+ // tier 3 → fallback mode: emit deterministic AnnotatePayload with verbatim
48
+ // spec-text message; completed=false; findings passthrough.
49
+ const cfg = state.config ?? {};
50
+ const tier = cfg.truncateAnnotatePromptTier ?? 0;
51
+ const bus = state.executionContext?.bus;
52
+ const reviewGate = state.gates?.['review'];
53
+ const implementGate = state.gates?.['implement'];
54
+ const aggregatedFindings = [
55
+ ...(last.findings ?? []),
56
+ ...((reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? []),
57
+ ...((implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? []),
58
+ ];
59
+ // Dedupe by claim+evidence (preserve first occurrence)
60
+ const seen = new Set();
61
+ const dedupedFindings = [];
62
+ for (const f of aggregatedFindings) {
63
+ const key = `${f.claim ?? ''}|${f.evidence ?? ''}`;
64
+ if (seen.has(key))
65
+ continue;
66
+ seen.add(key);
67
+ dedupedFindings.push(f);
68
+ }
69
+ // Mechanical filesChanged + commitSha derivation (spec §5.7 rule 4)
70
+ const commitGate = state.gates?.['commit'];
71
+ const mechanicalFilesChanged = commitGate?.outcome === 'advance' &&
72
+ commitGate.payload?.kind === 'committed'
73
+ ? commitGate.payload.filesChanged ?? []
74
+ : (isRead ? [] : report.filesChanged);
75
+ const mechanicalCommitSha = commitGate?.outcome === 'advance' &&
76
+ commitGate.payload?.kind === 'committed'
77
+ ? (commitGate.payload.commitSha ?? null)
78
+ : (isRead ? null : (report.commitSha ?? null));
79
+ let truncatedFindings = dedupedFindings.slice();
80
+ let truncatedSummary = report.summary;
81
+ let fallbackMode = false;
82
+ if (tier >= 1) {
83
+ const droppedEvidenceCount = truncatedFindings.filter(f => f.evidence !== undefined).length;
84
+ truncatedFindings = truncatedFindings.map(f => {
85
+ const cp = { ...f };
86
+ delete cp.evidence;
87
+ return cp;
88
+ });
89
+ bus?.emit({ event: 'annotate_truncation', ts: new Date().toISOString(), tier: 1, droppedFieldCount: droppedEvidenceCount });
90
+ }
91
+ if (tier >= 2) {
92
+ const dropped = truncatedSummary ? 1 : 0;
93
+ truncatedSummary = '';
94
+ bus?.emit({ event: 'annotate_truncation', ts: new Date().toISOString(), tier: 2, droppedFieldCount: dropped });
95
+ }
96
+ if (tier >= 3) {
97
+ // Tier 3 = fallback mode per spec §5.7.3
98
+ fallbackMode = true;
99
+ bus?.emit({ event: 'annotate_truncation', ts: new Date().toISOString(), tier: 3, droppedFieldCount: 0 });
100
+ }
101
+ let annotated;
102
+ // LLM judge layer (spec §5.7.2). The annotator stage runs an LLM turn
103
+ // unless tier-3 truncation kicked us into fallback mode. The LLM is the
104
+ // proposer; the deterministic parser is the enforcer — applyAnnotatePreconditions
105
+ // always runs on the LLM-proposed payload and may flip completed=false. On
106
+ // transport error we fall back to mechanical synthesis (same path that ran
107
+ // before this layer was added).
108
+ let llmCostUSD = 0;
109
+ let llmDurationMs = 0;
110
+ let llmTurnsUsed = 0;
111
+ let llmTransportFailed = false;
112
+ let llmModel = null;
113
+ let llmInputTokens = 0;
114
+ let llmOutputTokens = 0;
115
+ let llmCachedReadTokens = 0;
116
+ let llmCachedNonReadTokens = 0;
117
+ if (fallbackMode) {
118
+ // Fallback findings: only gate-sourced findings flow through (gates.review,
119
+ // gates.implement). lastRunResult.findings are dropped as part of tier-3
120
+ // citation/non-gate-evidence clearing (spec §5.7.3 / AC-32).
121
+ const fallbackFindings = [];
122
+ const fbSeen = new Set();
123
+ const reviewFindings = (reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? [];
124
+ const implementFindings = (implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? [];
125
+ for (const f of [...reviewFindings, ...implementFindings]) {
126
+ const k = `${f.claim ?? ''}|${f.evidence ?? ''}`;
127
+ if (fbSeen.has(k))
128
+ continue;
129
+ fbSeen.add(k);
130
+ const cp = { ...f };
131
+ delete cp.evidence;
132
+ fallbackFindings.push(cp);
133
+ }
134
+ annotated = {
135
+ completed: false,
136
+ message: 'annotator prompt budget exceeded after tier-3 truncation; verdict computed mechanically from upstream gates',
137
+ findings: fallbackFindings,
138
+ summary: '',
139
+ filesChanged: mechanicalFilesChanged,
140
+ commitSha: mechanicalCommitSha,
141
+ };
142
+ }
143
+ else {
144
+ // Default mechanical proposal — used directly when LLM fails or returns
145
+ // unparseable output. The parser still gets the final say either way.
146
+ const mechanical = {
147
+ completed: true,
148
+ message: truncatedSummary || (isRead ? 'investigation completed' : 'task completed'),
149
+ findings: truncatedFindings,
150
+ summary: truncatedSummary,
151
+ filesChanged: mechanicalFilesChanged,
152
+ commitSha: mechanicalCommitSha,
153
+ };
154
+ let proposed = mechanical;
155
+ const ctx = state.executionContext;
156
+ if (ctx && typeof ctx.getSession === 'function') {
157
+ const prompt = isRead ? annotatePromptRead(state) : annotatePromptWrite(state);
158
+ const tres = await runAnnotatorTurn({ prompt, ctx: ctx, tier: 'standard' });
159
+ if (tres.kind === 'ok') {
160
+ llmCostUSD = tres.costUSD ?? 0;
161
+ llmModel = tres.model;
162
+ llmDurationMs = tres.ms;
163
+ llmTurnsUsed = tres.turnsUsed;
164
+ llmInputTokens = tres.inputTokens;
165
+ llmOutputTokens = tres.outputTokens;
166
+ llmCachedReadTokens = tres.cachedReadTokens;
167
+ llmCachedNonReadTokens = tres.cachedNonReadTokens;
168
+ const parsed = extractAnnotateJson(tres.text);
169
+ if (parsed) {
170
+ // Authoritative fields come from upstream gates (mechanicalFilesChanged,
171
+ // mechanicalCommitSha, dedupedFindings). The LLM gets to propose
172
+ // completed + message + summary; everything mechanical we override.
173
+ proposed = {
174
+ completed: typeof parsed.completed === 'boolean' ? parsed.completed : mechanical.completed,
175
+ message: typeof parsed.message === 'string' && parsed.message.length > 0 ? parsed.message : mechanical.message,
176
+ summary: typeof parsed.summary === 'string' ? parsed.summary : mechanical.summary,
177
+ findings: truncatedFindings,
178
+ filesChanged: mechanicalFilesChanged,
179
+ commitSha: mechanicalCommitSha,
180
+ };
181
+ }
182
+ // parsed === null → keep mechanical (parser unaffected)
183
+ }
184
+ else {
185
+ // transport_error — fall through to mechanical synthesis
186
+ llmTransportFailed = true;
187
+ llmDurationMs = tres.ms;
188
+ bus?.emit({ event: 'annotate_llm_transport_error', ts: new Date().toISOString(), message: tres.message, durationMs: tres.ms });
189
+ }
190
+ }
191
+ annotated = applyAnnotatePreconditions(proposed, state);
192
+ }
193
+ state.annotatePayload = annotated;
39
194
  mergeStageStats(state, 'annotating', {
40
- inputTokens: 0,
41
- outputTokens: 0,
42
- cachedReadTokens: 0,
43
- cachedNonReadTokens: 0,
44
- turnCount: 0,
195
+ inputTokens: llmInputTokens,
196
+ outputTokens: llmOutputTokens,
197
+ cachedReadTokens: llmCachedReadTokens,
198
+ cachedNonReadTokens: llmCachedNonReadTokens,
199
+ turnCount: llmTurnsUsed,
45
200
  toolCallCount: 0,
46
- costUSD: 0,
201
+ costUSD: llmCostUSD,
47
202
  durationMs: Date.now() - t0,
48
203
  filesReadCount: 0,
49
204
  filesWrittenCount: 0,
50
- }, { tier: null, model: null });
205
+ }, { tier: llmTurnsUsed > 0 ? 'standard' : null, model: llmModel });
206
+ // suppress unused-variable warning while keeping the durationMs field for
207
+ // diagnostics callers; mergeStageStats already captured the value above.
208
+ void llmDurationMs;
209
+ void llmTransportFailed;
51
210
  const annotatingStats = state.lastRunResult
52
211
  ?.stageStats?.annotating;
53
212
  if (annotatingStats) {
@@ -55,5 +214,64 @@ export async function annotator(state) {
55
214
  annotatingStats.maxIdleMs = 0;
56
215
  annotatingStats.totalIdleMs = 0;
57
216
  }
217
+ return {
218
+ outcome: 'advance',
219
+ payload: annotated,
220
+ telemetry: {
221
+ stageLabel: 'annotate',
222
+ durationMs: Date.now() - t0,
223
+ costUSD: llmCostUSD,
224
+ turnsUsed: llmTurnsUsed,
225
+ stopReason: 'normal',
226
+ },
227
+ };
228
+ }
229
+ /**
230
+ * Extract a single JSON object from the LLM's response.
231
+ *
232
+ * Accepts:
233
+ * - A fenced ```json …``` block (preferred form per annotate prompts)
234
+ * - A fenced ``` …``` block (no language tag)
235
+ * - The first balanced `{…}` substring in the text
236
+ *
237
+ * Returns `null` if no parseable JSON is found, signalling the caller to keep
238
+ * the mechanical proposal. This is intentional: a malformed LLM response
239
+ * should not cause stage failure — the parser already has a deterministic
240
+ * answer it can fall back on.
241
+ */
242
+ function extractAnnotateJson(text) {
243
+ if (!text)
244
+ return null;
245
+ const fencedJson = text.match(/```(?:json)?\s*\n([\s\S]*?)\n```/i);
246
+ const candidate = fencedJson ? fencedJson[1] : firstBalancedBraces(text);
247
+ if (!candidate)
248
+ return null;
249
+ try {
250
+ const parsed = JSON.parse(candidate);
251
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
252
+ return parsed;
253
+ }
254
+ }
255
+ catch {
256
+ /* fall through */
257
+ }
258
+ return null;
259
+ }
260
+ function firstBalancedBraces(text) {
261
+ const start = text.indexOf('{');
262
+ if (start < 0)
263
+ return null;
264
+ let depth = 0;
265
+ for (let i = start; i < text.length; i++) {
266
+ const ch = text[i];
267
+ if (ch === '{')
268
+ depth++;
269
+ else if (ch === '}') {
270
+ depth--;
271
+ if (depth === 0)
272
+ return text.slice(start, i + 1);
273
+ }
274
+ }
275
+ return null;
58
276
  }
59
277
  //# sourceMappingURL=annotator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
- import type { StageHandler } from '../lifecycle-driver.js';
2
1
  import type { LifecycleState } from '../stage-plan-types.js';
3
- export type RouteExecutor = (rawRequest: unknown, state: LifecycleState) => Promise<unknown>;
4
- export interface DispatcherDeps {
5
- }
6
- export declare function buildStageHandlers(deps: DispatcherDeps): Record<string, StageHandler>;
2
+ import type { ComposePayload, StageGate } from '../stage-io.js';
3
+ /**
4
+ * v5 compose: pure serialization of the wire envelope from state.gates.
5
+ * Four paths (spec §5.8):
6
+ * 1. normal — annotate.payload copied verbatim
7
+ * 2. register-block — synthesize from register-block gate
8
+ * 3. pre-annotate halt — synthesize from halting gate
9
+ * 4. internal_state_corrupted — degenerate fallback
10
+ */
11
+ export declare function composeHandler(state: LifecycleState): Promise<StageGate<ComposePayload>>;
7
12
  //# sourceMappingURL=baseline-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseline-handlers.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/baseline-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsB7D,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,cAAc,KAClB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,cAAc;CAC9B;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAqUrF"}
1
+ {"version":3,"file":"baseline-handlers.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/baseline-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAyC,MAAM,gBAAgB,CAAC;AA6HvG;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAoG9F"}