@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
@@ -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,37 +0,0 @@
1
- export type VerifyStepStatus = 'passed' | 'failed_exit' | 'spawn_error' | 'timeout' | 'signal' | 'system_error';
2
- export interface VerifyStepResult {
3
- command: string;
4
- status: VerifyStepStatus;
5
- exitCode: number | null;
6
- signal: string | null;
7
- durationMs: number;
8
- stdoutTail: string;
9
- stderrTail: string;
10
- errorMessage: string | null;
11
- errorCode?: string;
12
- }
13
- export interface VerifyStageInput {
14
- cwd: string;
15
- verifyCommand: string[] | undefined;
16
- taskTimeoutMs: number;
17
- taskStartMs: number;
18
- /** Env-var names to forward to the child process. When undefined, the child
19
- * inherits the full parent environment. When provided, only those named vars
20
- * (plus a few essential implicit ones: PATH, HOME, SHELL, TMPDIR, LANG) are
21
- * forwarded — secrets and unknown vars are excluded. */
22
- permittedEnv?: string[];
23
- /** When true, runs `git status --porcelain` in cwd after verification and
24
- * populates `dirtyFiles` with any modified/new paths. */
25
- checkDirtyTree?: boolean;
26
- }
27
- export interface VerifyStageResult {
28
- status: 'passed' | 'failed' | 'skipped' | 'error';
29
- steps: VerifyStepResult[];
30
- totalDurationMs: number;
31
- skipReason?: 'no_command';
32
- /** File paths that were modified by the verify command (only populated when
33
- * `checkDirtyTree: true` was set and git reported changes). */
34
- dirtyFiles?: string[];
35
- }
36
- export declare function runVerifyStage(input: VerifyStageInput): Promise<VerifyStageResult>;
37
- //# sourceMappingURL=verify-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-stage.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/verify-stage.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEhH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB;;;6DAGyD;IACzD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;8DAC0D;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;oEACgE;IAChE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAkKD,wBAAsB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsDxF"}
@@ -1,208 +0,0 @@
1
- import { spawn, execFile } from 'node:child_process';
2
- import { promisify } from 'node:util';
3
- const execFileP = promisify(execFile);
4
- const TAIL_BYTES = 8 * 1024;
5
- // Rolling tail buffer that retains only the last TAIL_BYTES bytes of UTF-8 input.
6
- // This avoids unbounded memory growth on noisy verification commands (Audit-r2 plan finding 8).
7
- class RollingTail {
8
- chunks = [];
9
- bytes = 0;
10
- push(s) {
11
- const buf = Buffer.from(s, 'utf8');
12
- this.chunks.push(buf);
13
- this.bytes += buf.length;
14
- while (this.chunks.length > 0 && this.bytes - this.chunks[0].length >= TAIL_BYTES) {
15
- this.bytes -= this.chunks.shift().length;
16
- }
17
- }
18
- toString() {
19
- if (this.bytes === 0)
20
- return '';
21
- const concat = Buffer.concat(this.chunks);
22
- if (concat.length <= TAIL_BYTES)
23
- return concat.toString('utf8');
24
- // Truncate at TAIL_BYTES from the end. This may cut a UTF-8 boundary;
25
- // toString('utf8') replaces invalid leading bytes with the replacement char.
26
- // For 3.3.0 we accept this; reviewer prompts already say tails are best-effort. (Audit-r2 plan #9)
27
- return concat.subarray(concat.length - TAIL_BYTES).toString('utf8');
28
- }
29
- }
30
- const IMPLICIT_ENV = ['PATH', 'HOME', 'SHELL', 'TMPDIR', 'LANG', 'PWD', 'USER', 'LOGNAME', 'TERM'];
31
- function buildEnv(permittedEnv) {
32
- if (permittedEnv === undefined)
33
- return undefined; // inherit full parent env
34
- const filtered = {};
35
- for (const name of [...IMPLICIT_ENV, ...permittedEnv]) {
36
- if (process.env[name] !== undefined)
37
- filtered[name] = process.env[name];
38
- }
39
- return filtered;
40
- }
41
- async function runStep(cmd, cwd, timeoutMs, errorMessageHint, permittedEnv) {
42
- const start = Date.now();
43
- return new Promise((resolve) => {
44
- const stdout = new RollingTail();
45
- const stderr = new RollingTail();
46
- let resolved = false;
47
- // Use explicit `bash -lc <cmd>` on POSIX for deterministic behavior; `shell: true` on Windows.
48
- // detached=true on POSIX so we can kill the process group (catches grandchildren).
49
- // (Audit-r2 plan finding 7.)
50
- const spawnOpts = { cwd, env: buildEnv(permittedEnv) };
51
- if (process.platform !== 'win32')
52
- spawnOpts.detached = true;
53
- const child = process.platform === 'win32'
54
- ? spawn(cmd, { shell: true, ...spawnOpts })
55
- : spawn('/bin/bash', ['-lc', cmd], spawnOpts);
56
- const finish = (r) => {
57
- if (!resolved) {
58
- resolved = true;
59
- resolve(r);
60
- }
61
- };
62
- const makeTimeoutResult = () => ({
63
- command: cmd,
64
- status: 'timeout',
65
- exitCode: null,
66
- signal: null,
67
- durationMs: Date.now() - start,
68
- stdoutTail: stdout.toString(),
69
- stderrTail: stderr.toString(),
70
- errorMessage: errorMessageHint ?? 'per_step_timeout',
71
- errorCode: 'validator_verify_command_failed',
72
- });
73
- const to = setTimeout(() => {
74
- if (resolved)
75
- return;
76
- finish(makeTimeoutResult());
77
- try {
78
- if (process.platform === 'win32')
79
- child.kill('SIGKILL');
80
- else if (typeof child.pid === 'number')
81
- process.kill(-child.pid, 'SIGKILL');
82
- }
83
- catch {
84
- // Best-effort kill; the timeout result has already been recorded.
85
- }
86
- }, Math.max(1, timeoutMs));
87
- child.stdout?.on('data', (d) => stdout.push(d.toString()));
88
- child.stderr?.on('data', (d) => stderr.push(d.toString()));
89
- child.on('error', (err) => {
90
- clearTimeout(to);
91
- finish({
92
- command: cmd,
93
- status: 'spawn_error',
94
- exitCode: null,
95
- signal: null,
96
- durationMs: Date.now() - start,
97
- stdoutTail: stdout.toString(),
98
- stderrTail: stderr.toString(),
99
- errorMessage: err.message,
100
- errorCode: 'validator_verify_command_failed',
101
- });
102
- });
103
- child.on('close', (code, sig) => {
104
- clearTimeout(to);
105
- if (resolved)
106
- return;
107
- if (sig) {
108
- finish({
109
- command: cmd,
110
- status: 'signal',
111
- exitCode: null,
112
- signal: sig,
113
- durationMs: Date.now() - start,
114
- stdoutTail: stdout.toString(),
115
- stderrTail: stderr.toString(),
116
- errorMessage: `terminated by ${sig}`,
117
- errorCode: 'validator_verify_command_failed',
118
- });
119
- }
120
- else if (code === 0) {
121
- finish({
122
- command: cmd,
123
- status: 'passed',
124
- exitCode: 0,
125
- signal: null,
126
- durationMs: Date.now() - start,
127
- stdoutTail: stdout.toString(),
128
- stderrTail: stderr.toString(),
129
- errorMessage: null,
130
- });
131
- }
132
- else {
133
- finish({
134
- command: cmd,
135
- status: 'failed_exit',
136
- exitCode: code ?? null,
137
- signal: null,
138
- durationMs: Date.now() - start,
139
- stdoutTail: stdout.toString(),
140
- stderrTail: stderr.toString(),
141
- errorMessage: null,
142
- errorCode: 'validator_verify_command_failed',
143
- });
144
- }
145
- });
146
- });
147
- }
148
- function aggregateStatus(steps) {
149
- if (steps.length === 0)
150
- return 'skipped';
151
- const last = steps[steps.length - 1];
152
- if (last.status === 'passed')
153
- return 'passed';
154
- if (last.status === 'failed_exit')
155
- return 'failed';
156
- return 'error';
157
- }
158
- export async function runVerifyStage(input) {
159
- if (!input.verifyCommand || input.verifyCommand.length === 0) {
160
- return { status: 'skipped', steps: [], totalDurationMs: 0, skipReason: 'no_command' };
161
- }
162
- const overallStart = Date.now();
163
- const steps = [];
164
- for (const cmd of input.verifyCommand) {
165
- const elapsed = Date.now() - input.taskStartMs;
166
- const remaining = Math.max(0, input.taskTimeoutMs - elapsed);
167
- const stepTimeout = Math.min(input.taskTimeoutMs / 4, 600_000, remaining);
168
- if (stepTimeout <= 0) {
169
- steps.push({
170
- command: cmd,
171
- status: 'timeout',
172
- exitCode: null,
173
- signal: null,
174
- durationMs: 0,
175
- stdoutTail: '',
176
- stderrTail: '',
177
- errorMessage: 'task_timeout_budget_exhausted',
178
- errorCode: 'validator_verify_command_failed',
179
- });
180
- break;
181
- }
182
- const step = await runStep(cmd, input.cwd, stepTimeout, null, input.permittedEnv);
183
- steps.push(step);
184
- if (step.status !== 'passed')
185
- break;
186
- }
187
- const result = {
188
- status: aggregateStatus(steps),
189
- steps,
190
- totalDurationMs: Date.now() - overallStart,
191
- };
192
- // Dirty-tree check: run `git status --porcelain` after verification to detect
193
- // if the verify command modified the worktree. Do NOT auto-commit these changes.
194
- if (input.checkDirtyTree) {
195
- try {
196
- const { stdout } = await execFileP('git', ['status', '--porcelain'], { cwd: input.cwd, timeout: 10000 });
197
- const dirtyFiles = stdout.trim().split('\n').filter(Boolean);
198
- if (dirtyFiles.length > 0) {
199
- result.dirtyFiles = dirtyFiles;
200
- }
201
- }
202
- catch {
203
- // If git status fails (e.g., not a git repo), leave dirtyFiles undefined.
204
- }
205
- }
206
- return result;
207
- }
208
- //# sourceMappingURL=verify-stage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-stage.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/verify-stage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ReviewerEngine } from './reviewer-engine.js';
2
- export declare function createDefaultReviewerEngine(): ReviewerEngine;
3
- //# sourceMappingURL=default-engines.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-engines.d.ts","sourceRoot":"","sources":["../../src/review/default-engines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD,wBAAgB,2BAA2B,IAAI,cAAc,CAY5D"}
@@ -1,22 +0,0 @@
1
- import { ReviewerEngine } from './reviewer-engine.js';
2
- import { ReviewerPromptBuilder } from './reviewer-prompt-builder.js';
3
- // Pipeline-redesign (4.3.0+): spec/quality-AP/diff templates removed.
4
- // Their callers (spec-chain-handlers, quality-chain-handlers, review-diff-handler)
5
- // were also removed. Read-only route templates remain — they power /audit, /review,
6
- // /debug, /investigate via the parallel-criteria + annotator path
7
- // (separate from the execute-plan / delegate pipeline this redesign affects).
8
- import { specLintTemplate } from './templates/spec-review.js';
9
- import { qualityLintTemplate } from './templates/quality-review.js';
10
- import { qualityAuditTemplate } from './templates/quality-review-audit.js';
11
- import { qualityReviewTemplate } from './templates/quality-review-review.js';
12
- import { qualityDebugTemplate } from './templates/quality-review-debug.js';
13
- import { qualityInvestigateTemplate } from './templates/quality-review-investigate.js';
14
- export function createDefaultReviewerEngine() {
15
- return new ReviewerEngine(new ReviewerPromptBuilder({ spec: specLintTemplate, qualityForAP: qualityLintTemplate }, {
16
- audit: qualityAuditTemplate,
17
- review: qualityReviewTemplate,
18
- debug: qualityDebugTemplate,
19
- investigate: qualityInvestigateTemplate,
20
- }));
21
- }
22
- //# sourceMappingURL=default-engines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-engines.js","sourceRoot":"","sources":["../../src/review/default-engines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,sEAAsE;AACtE,mFAAmF;AACnF,oFAAoF;AACpF,kEAAkE;AAClE,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,cAAc,CACvB,IAAI,qBAAqB,CACvB,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAC7D;QACE,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0BAA0B;KACxC,CACF,CACF,CAAC;AACJ,CAAC"}
@@ -1,53 +0,0 @@
1
- import type { Session } from '../types/run-result.js';
2
- import { ReviewerPromptBuilder } from './reviewer-prompt-builder.js';
3
- import { type ReviewerParseResult, ReviewerParseError } from './reviewer-output-parser.js';
4
- export type { ReviewTemplate } from './templates/shared.js';
5
- export { specLintTemplate } from './templates/spec-review.js';
6
- export { qualityLintTemplate } from './templates/quality-review.js';
7
- export { reworkTemplate } from './templates/rework.js';
8
- export { annotateCompletionTemplate } from './templates/annotate-completion.js';
9
- export { qualityAuditTemplate } from './templates/quality-review-audit.js';
10
- export { qualityReviewTemplate } from './templates/quality-review-review.js';
11
- export { qualityDebugTemplate } from './templates/quality-review-debug.js';
12
- export { qualityInvestigateTemplate } from './templates/quality-review-investigate.js';
13
- export { ReviewerPromptBuilder } from './reviewer-prompt-builder.js';
14
- export type { QualityReviewRoute } from './reviewer-prompt-builder.js';
15
- export type ReviewRoute = 'delegate' | 'execute-plan' | 'audit' | 'review' | 'investigate' | 'debug' | 'research';
16
- export interface ReviewerInput {
17
- workerOutput: string;
18
- brief: string;
19
- cwd: string;
20
- route?: ReviewRoute;
21
- fileContents?: Record<string, string>;
22
- toolCallLog?: string[];
23
- filesWritten?: string[];
24
- diff?: string;
25
- priorConcerns?: string[];
26
- planContext?: string;
27
- abortSignal?: AbortSignal;
28
- deadlineMs?: number;
29
- bus?: import('../events/event-emitter.js').EventEmitter;
30
- batchId?: string;
31
- taskIndex?: number;
32
- tier?: string;
33
- stageLabel?: string;
34
- }
35
- export interface ReviewerCallResult extends ReviewerParseResult {
36
- cost: {
37
- inputTokens: number;
38
- outputTokens: number;
39
- turnCount: number;
40
- toolCallCount: number;
41
- costUSD: number | null;
42
- durationMs: number | null;
43
- };
44
- }
45
- export declare class ReviewerEngine {
46
- private builder;
47
- private parser;
48
- constructor(builder: ReviewerPromptBuilder);
49
- runSpec(session: Session, input: ReviewerInput): Promise<ReviewerCallResult>;
50
- runQualityAP(session: Session, input: ReviewerInput): Promise<ReviewerCallResult>;
51
- }
52
- export { ReviewerParseError };
53
- //# sourceMappingURL=reviewer-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewer-engine.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAwB,KAAK,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAWjH,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAElH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAClJ;AAED,qBAAa,cAAc;IAEb,OAAO,CAAC,OAAO;IAD3B,OAAO,CAAC,MAAM,CAA8B;gBACxB,OAAO,EAAE,qBAAqB;IAE5C,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS5E,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;CASxF;AAcD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,47 +0,0 @@
1
- import { ReviewerOutputParser, ReviewerParseError } from './reviewer-output-parser.js';
2
- import { HUMAN_LABEL } from '../lifecycle/stage-labels.js';
3
- export { specLintTemplate } from './templates/spec-review.js';
4
- export { qualityLintTemplate } from './templates/quality-review.js';
5
- export { reworkTemplate } from './templates/rework.js';
6
- export { annotateCompletionTemplate } from './templates/annotate-completion.js';
7
- export { qualityAuditTemplate } from './templates/quality-review-audit.js';
8
- export { qualityReviewTemplate } from './templates/quality-review-review.js';
9
- export { qualityDebugTemplate } from './templates/quality-review-debug.js';
10
- export { qualityInvestigateTemplate } from './templates/quality-review-investigate.js';
11
- export { ReviewerPromptBuilder } from './reviewer-prompt-builder.js';
12
- export class ReviewerEngine {
13
- builder;
14
- parser = new ReviewerOutputParser();
15
- constructor(builder) {
16
- this.builder = builder;
17
- }
18
- async runSpec(session, input) {
19
- const { systemPrompt, userPrompt } = this.builder.buildSpec({ ...input });
20
- const turn = await session.send(`${systemPrompt}\n\n${userPrompt}`, {
21
- stageLabel: input.stageLabel ?? HUMAN_LABEL.review,
22
- });
23
- const parsed = this.parser.parse(turn.output ?? '');
24
- return { ...parsed, cost: extractCost(turn) };
25
- }
26
- async runQualityAP(session, input) {
27
- const { systemPrompt, userPrompt } = this.builder.buildQualityAP({ ...input });
28
- const turn = await session.send(`${systemPrompt}\n\n${userPrompt}`, {
29
- stageLabel: input.stageLabel ?? HUMAN_LABEL.review,
30
- });
31
- const parsed = this.parser.parse(turn.output ?? '');
32
- return { ...parsed, cost: extractCost(turn) };
33
- }
34
- }
35
- function extractCost(turn) {
36
- const toolCallTotal = Object.values(turn.toolCallsByName).reduce((a, b) => a + b, 0);
37
- return {
38
- inputTokens: turn.usage.inputTokens ?? 0,
39
- outputTokens: turn.usage.outputTokens ?? 0,
40
- turnCount: turn.turns ?? 0,
41
- toolCallCount: toolCallTotal,
42
- costUSD: turn.costUSD ?? null,
43
- durationMs: turn.durationMs ?? null,
44
- };
45
- }
46
- export { ReviewerParseError };
47
- //# sourceMappingURL=reviewer-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewer-engine.js","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { ReviewerVerdict } from './review-types.js';
2
- export interface ReviewerParseResult {
3
- verdict: ReviewerVerdict;
4
- concerns: string[];
5
- }
6
- export declare class ReviewerOutputParser {
7
- parse(text: string): ReviewerParseResult;
8
- }
9
- export declare class ReviewerParseError extends Error {
10
- constructor(message: string);
11
- }
12
- //# sourceMappingURL=reviewer-output-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewer-output-parser.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-output-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgKD,qBAAa,oBAAoB;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;CAkCzC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAC5B"}