@zhixuan92/multi-model-agent-core 4.0.3 → 4.0.5

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 (294) hide show
  1. package/README.md +10 -12
  2. package/dist/events/cloud-events.d.ts +1 -3
  3. package/dist/events/cloud-events.d.ts.map +1 -1
  4. package/dist/events/event-builder.d.ts +1 -1
  5. package/dist/events/event-builder.d.ts.map +1 -1
  6. package/dist/events/observability-events.d.ts +3 -111
  7. package/dist/events/observability-events.d.ts.map +1 -1
  8. package/dist/events/observability-events.js +0 -58
  9. package/dist/events/observability-events.js.map +1 -1
  10. package/dist/events/telemetry-types.d.ts +3 -3
  11. package/dist/events/telemetry-types.js +1 -1
  12. package/dist/events/telemetry-types.js.map +1 -1
  13. package/dist/index.d.ts +2 -7
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -7
  16. package/dist/index.js.map +1 -1
  17. package/dist/intake/brief-compiler-slots/debug.d.ts +0 -26
  18. package/dist/intake/brief-compiler-slots/debug.d.ts.map +1 -1
  19. package/dist/intake/brief-compiler-slots/debug.js +5 -44
  20. package/dist/intake/brief-compiler-slots/debug.js.map +1 -1
  21. package/dist/intake/brief-compiler-slots/delegate.d.ts +0 -24
  22. package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -1
  23. package/dist/intake/brief-compiler-slots/delegate.js +2 -45
  24. package/dist/intake/brief-compiler-slots/delegate.js.map +1 -1
  25. package/dist/intake/brief-compiler-slots/research.d.ts +18 -0
  26. package/dist/intake/brief-compiler-slots/research.d.ts.map +1 -0
  27. package/dist/intake/brief-compiler-slots/research.js +43 -0
  28. package/dist/intake/brief-compiler-slots/research.js.map +1 -0
  29. package/dist/intake/brief-compiler-slots/review.d.ts +0 -23
  30. package/dist/intake/brief-compiler-slots/review.d.ts.map +1 -1
  31. package/dist/intake/brief-compiler-slots/review.js +0 -62
  32. package/dist/intake/brief-compiler-slots/review.js.map +1 -1
  33. package/dist/lifecycle/diff-tracker.d.ts +72 -0
  34. package/dist/lifecycle/diff-tracker.d.ts.map +1 -0
  35. package/dist/lifecycle/diff-tracker.js +316 -0
  36. package/dist/lifecycle/diff-tracker.js.map +1 -0
  37. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +1 -1
  38. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
  39. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +23 -1
  40. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
  41. package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -1
  42. package/dist/lifecycle/handlers/quality-chain-handlers.js +57 -6
  43. package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -1
  44. package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +1 -1
  45. package/dist/lifecycle/handlers/review-diff-handler.js +38 -12
  46. package/dist/lifecycle/handlers/review-diff-handler.js.map +1 -1
  47. package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +1 -1
  48. package/dist/lifecycle/handlers/spec-chain-handlers.js +38 -10
  49. package/dist/lifecycle/handlers/spec-chain-handlers.js.map +1 -1
  50. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  51. package/dist/lifecycle/handlers/terminal-handlers.js +17 -2
  52. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  53. package/dist/lifecycle/merge-stage-stats.d.ts +27 -0
  54. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  55. package/dist/lifecycle/merge-stage-stats.js +56 -0
  56. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  57. package/dist/lifecycle/stage-plan-types.d.ts +15 -0
  58. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  59. package/dist/lifecycle/stage-progression.d.ts.map +1 -1
  60. package/dist/lifecycle/stage-progression.js +1 -0
  61. package/dist/lifecycle/stage-progression.js.map +1 -1
  62. package/dist/lifecycle/task-runner.js +1 -1
  63. package/dist/lifecycle/task-runner.js.map +1 -1
  64. package/dist/providers/provider-factory.d.ts.map +1 -1
  65. package/dist/providers/provider-factory.js +6 -0
  66. package/dist/providers/provider-factory.js.map +1 -1
  67. package/dist/reporting/headline-templates/audit.d.ts.map +1 -1
  68. package/dist/reporting/headline-templates/audit.js +17 -8
  69. package/dist/reporting/headline-templates/audit.js.map +1 -1
  70. package/dist/reporting/headline-templates/debug.d.ts +22 -3
  71. package/dist/reporting/headline-templates/debug.d.ts.map +1 -1
  72. package/dist/reporting/headline-templates/debug.js +38 -8
  73. package/dist/reporting/headline-templates/debug.js.map +1 -1
  74. package/dist/reporting/headline-templates/delegate.d.ts.map +1 -1
  75. package/dist/reporting/headline-templates/delegate.js +14 -3
  76. package/dist/reporting/headline-templates/delegate.js.map +1 -1
  77. package/dist/reporting/headline-templates/execute-plan.d.ts.map +1 -1
  78. package/dist/reporting/headline-templates/execute-plan.js +17 -8
  79. package/dist/reporting/headline-templates/execute-plan.js.map +1 -1
  80. package/dist/reporting/headline-templates/research.d.ts +3 -0
  81. package/dist/reporting/headline-templates/research.d.ts.map +1 -0
  82. package/dist/reporting/headline-templates/research.js +23 -0
  83. package/dist/reporting/headline-templates/research.js.map +1 -0
  84. package/dist/reporting/headline-templates/review.d.ts.map +1 -1
  85. package/dist/reporting/headline-templates/review.js +23 -6
  86. package/dist/reporting/headline-templates/review.js.map +1 -1
  87. package/dist/reporting/headline-templates/verify.d.ts.map +1 -1
  88. package/dist/reporting/headline-templates/verify.js +23 -6
  89. package/dist/reporting/headline-templates/verify.js.map +1 -1
  90. package/dist/reporting/headline-text.d.ts +5 -0
  91. package/dist/reporting/headline-text.d.ts.map +1 -1
  92. package/dist/reporting/headline-text.js +36 -5
  93. package/dist/reporting/headline-text.js.map +1 -1
  94. package/dist/reporting/report-parser-slots/research-report.d.ts +30 -0
  95. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -0
  96. package/dist/reporting/report-parser-slots/research-report.js +94 -0
  97. package/dist/reporting/report-parser-slots/research-report.js.map +1 -0
  98. package/dist/reporting/report-parser-slots/verify-report.d.ts +17 -0
  99. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +1 -1
  100. package/dist/reporting/report-parser-slots/verify-report.js +45 -3
  101. package/dist/reporting/report-parser-slots/verify-report.js.map +1 -1
  102. package/dist/reporting/severity.d.ts +22 -0
  103. package/dist/reporting/severity.d.ts.map +1 -1
  104. package/dist/reporting/severity.js +36 -0
  105. package/dist/reporting/severity.js.map +1 -1
  106. package/dist/review/annotator-output-parser.d.ts.map +1 -1
  107. package/dist/review/annotator-output-parser.js +94 -14
  108. package/dist/review/annotator-output-parser.js.map +1 -1
  109. package/dist/review/annotator-prompt-builder.d.ts +20 -0
  110. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  111. package/dist/review/annotator-prompt-builder.js +54 -3
  112. package/dist/review/annotator-prompt-builder.js.map +1 -1
  113. package/dist/review/reviewer-engine.d.ts +15 -1
  114. package/dist/review/reviewer-engine.d.ts.map +1 -1
  115. package/dist/review/reviewer-engine.js.map +1 -1
  116. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  117. package/dist/review/reviewer-output-parser.js +171 -16
  118. package/dist/review/reviewer-output-parser.js.map +1 -1
  119. package/dist/review/reviewer-prompt-builder.d.ts +5 -13
  120. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  121. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  122. package/dist/review/templates/annotator-audit.d.ts.map +1 -1
  123. package/dist/review/templates/annotator-audit.js +13 -0
  124. package/dist/review/templates/annotator-audit.js.map +1 -1
  125. package/dist/review/templates/annotator-debug.d.ts.map +1 -1
  126. package/dist/review/templates/annotator-debug.js +11 -1
  127. package/dist/review/templates/annotator-debug.js.map +1 -1
  128. package/dist/review/templates/annotator-investigate.d.ts.map +1 -1
  129. package/dist/review/templates/annotator-investigate.js +10 -1
  130. package/dist/review/templates/annotator-investigate.js.map +1 -1
  131. package/dist/review/templates/annotator-review.d.ts.map +1 -1
  132. package/dist/review/templates/annotator-review.js +10 -0
  133. package/dist/review/templates/annotator-review.js.map +1 -1
  134. package/dist/review/templates/annotator-shared.d.ts +7 -1
  135. package/dist/review/templates/annotator-shared.d.ts.map +1 -1
  136. package/dist/review/templates/annotator-shared.js +18 -29
  137. package/dist/review/templates/annotator-shared.js.map +1 -1
  138. package/dist/review/templates/annotator-verify.d.ts.map +1 -1
  139. package/dist/review/templates/annotator-verify.js +11 -1
  140. package/dist/review/templates/annotator-verify.js.map +1 -1
  141. package/dist/review/templates/diff-review.d.ts +8 -0
  142. package/dist/review/templates/diff-review.d.ts.map +1 -1
  143. package/dist/review/templates/diff-review.js +34 -2
  144. package/dist/review/templates/diff-review.js.map +1 -1
  145. package/dist/review/templates/finding-criteria.d.ts +15 -0
  146. package/dist/review/templates/finding-criteria.d.ts.map +1 -0
  147. package/dist/review/templates/finding-criteria.js +39 -0
  148. package/dist/review/templates/finding-criteria.js.map +1 -0
  149. package/dist/review/templates/quality-review-artifact.d.ts +13 -0
  150. package/dist/review/templates/quality-review-artifact.d.ts.map +1 -1
  151. package/dist/review/templates/quality-review-artifact.js +41 -3
  152. package/dist/review/templates/quality-review-artifact.js.map +1 -1
  153. package/dist/review/templates/quality-review-audit.d.ts.map +1 -1
  154. package/dist/review/templates/quality-review-audit.js +3 -2
  155. package/dist/review/templates/quality-review-audit.js.map +1 -1
  156. package/dist/review/templates/quality-review-debug.d.ts.map +1 -1
  157. package/dist/review/templates/quality-review-debug.js +3 -2
  158. package/dist/review/templates/quality-review-debug.js.map +1 -1
  159. package/dist/review/templates/quality-review-investigate.d.ts.map +1 -1
  160. package/dist/review/templates/quality-review-investigate.js +3 -2
  161. package/dist/review/templates/quality-review-investigate.js.map +1 -1
  162. package/dist/review/templates/quality-review-review.d.ts.map +1 -1
  163. package/dist/review/templates/quality-review-review.js +3 -2
  164. package/dist/review/templates/quality-review-review.js.map +1 -1
  165. package/dist/review/templates/quality-review-verify.d.ts.map +1 -1
  166. package/dist/review/templates/quality-review-verify.js +3 -2
  167. package/dist/review/templates/quality-review-verify.js.map +1 -1
  168. package/dist/review/templates/shared.d.ts +22 -5
  169. package/dist/review/templates/shared.d.ts.map +1 -1
  170. package/dist/review/templates/spec-review.d.ts +15 -0
  171. package/dist/review/templates/spec-review.d.ts.map +1 -1
  172. package/dist/review/templates/spec-review.js +43 -3
  173. package/dist/review/templates/spec-review.js.map +1 -1
  174. package/dist/stores/file-backed-context-block-store.d.ts +5 -1
  175. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  176. package/dist/stores/file-backed-context-block-store.js +16 -19
  177. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  178. package/dist/stores/project-context-registry.d.ts +5 -3
  179. package/dist/stores/project-context-registry.d.ts.map +1 -1
  180. package/dist/stores/project-context-registry.js.map +1 -1
  181. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  182. package/dist/tool-surface/openapi-generator.js +4 -4
  183. package/dist/tool-surface/openapi-generator.js.map +1 -1
  184. package/dist/tool-surface/register-all-tools.js +3 -3
  185. package/dist/tool-surface/register-all-tools.js.map +1 -1
  186. package/dist/tools/audit/implementer-criteria.d.ts +17 -0
  187. package/dist/tools/audit/implementer-criteria.d.ts.map +1 -0
  188. package/dist/tools/audit/implementer-criteria.js +36 -0
  189. package/dist/tools/audit/implementer-criteria.js.map +1 -0
  190. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  191. package/dist/tools/audit/tool-config.js +24 -6
  192. package/dist/tools/audit/tool-config.js.map +1 -1
  193. package/dist/tools/debug/implementer-criteria.d.ts +12 -0
  194. package/dist/tools/debug/implementer-criteria.d.ts.map +1 -0
  195. package/dist/tools/debug/implementer-criteria.js +29 -0
  196. package/dist/tools/debug/implementer-criteria.js.map +1 -0
  197. package/dist/tools/debug/tool-config.d.ts.map +1 -1
  198. package/dist/tools/debug/tool-config.js +18 -4
  199. package/dist/tools/debug/tool-config.js.map +1 -1
  200. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  201. package/dist/tools/execute-plan/tool-config.js +5 -1
  202. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  203. package/dist/tools/index.d.ts +0 -1
  204. package/dist/tools/index.d.ts.map +1 -1
  205. package/dist/tools/index.js +0 -1
  206. package/dist/tools/index.js.map +1 -1
  207. package/dist/tools/investigate/implementer-criteria.d.ts +17 -0
  208. package/dist/tools/investigate/implementer-criteria.d.ts.map +1 -0
  209. package/dist/tools/investigate/implementer-criteria.js +33 -0
  210. package/dist/tools/investigate/implementer-criteria.js.map +1 -0
  211. package/dist/tools/investigate/tool-config.d.ts +13 -1
  212. package/dist/tools/investigate/tool-config.d.ts.map +1 -1
  213. package/dist/tools/investigate/tool-config.js +34 -4
  214. package/dist/tools/investigate/tool-config.js.map +1 -1
  215. package/dist/tools/research/implementer-criteria.d.ts +15 -0
  216. package/dist/tools/research/implementer-criteria.d.ts.map +1 -0
  217. package/dist/tools/research/implementer-criteria.js +37 -0
  218. package/dist/tools/research/implementer-criteria.js.map +1 -0
  219. package/dist/tools/{explore → research}/schema.d.ts +2 -3
  220. package/dist/tools/research/schema.d.ts.map +1 -0
  221. package/dist/tools/{explore → research}/schema.js +10 -16
  222. package/dist/tools/research/schema.js.map +1 -0
  223. package/dist/tools/research/tool-config.d.ts +20 -0
  224. package/dist/tools/research/tool-config.d.ts.map +1 -0
  225. package/dist/tools/research/tool-config.js +51 -0
  226. package/dist/tools/research/tool-config.js.map +1 -0
  227. package/dist/tools/retry/tool-config.d.ts.map +1 -1
  228. package/dist/tools/retry/tool-config.js +27 -4
  229. package/dist/tools/retry/tool-config.js.map +1 -1
  230. package/dist/tools/review/implementer-criteria.d.ts +11 -0
  231. package/dist/tools/review/implementer-criteria.d.ts.map +1 -0
  232. package/dist/tools/review/implementer-criteria.js +27 -0
  233. package/dist/tools/review/implementer-criteria.js.map +1 -0
  234. package/dist/tools/review/tool-config.d.ts.map +1 -1
  235. package/dist/tools/review/tool-config.js +43 -4
  236. package/dist/tools/review/tool-config.js.map +1 -1
  237. package/dist/tools/verify/implementer-criteria.d.ts +12 -0
  238. package/dist/tools/verify/implementer-criteria.d.ts.map +1 -0
  239. package/dist/tools/verify/implementer-criteria.js +29 -0
  240. package/dist/tools/verify/implementer-criteria.js.map +1 -0
  241. package/dist/tools/verify/tool-config.d.ts.map +1 -1
  242. package/dist/tools/verify/tool-config.js +18 -4
  243. package/dist/tools/verify/tool-config.js.map +1 -1
  244. package/dist/types/enums.d.ts +1 -11
  245. package/dist/types/enums.d.ts.map +1 -1
  246. package/dist/types/enums.js +2 -4
  247. package/dist/types/enums.js.map +1 -1
  248. package/package.json +12 -40
  249. package/dist/intake/brief-compiler-slots/audit.d.ts +0 -23
  250. package/dist/intake/brief-compiler-slots/audit.d.ts.map +0 -1
  251. package/dist/intake/brief-compiler-slots/audit.js +0 -61
  252. package/dist/intake/brief-compiler-slots/audit.js.map +0 -1
  253. package/dist/intake/brief-compiler-slots/explore.d.ts +0 -43
  254. package/dist/intake/brief-compiler-slots/explore.d.ts.map +0 -1
  255. package/dist/intake/brief-compiler-slots/explore.js +0 -116
  256. package/dist/intake/brief-compiler-slots/explore.js.map +0 -1
  257. package/dist/intake/brief-compiler-slots/investigate.d.ts +0 -26
  258. package/dist/intake/brief-compiler-slots/investigate.d.ts.map +0 -1
  259. package/dist/intake/brief-compiler-slots/investigate.js +0 -42
  260. package/dist/intake/brief-compiler-slots/investigate.js.map +0 -1
  261. package/dist/intake/brief-compiler-slots/verify.d.ts +0 -21
  262. package/dist/intake/brief-compiler-slots/verify.d.ts.map +0 -1
  263. package/dist/intake/brief-compiler-slots/verify.js +0 -62
  264. package/dist/intake/brief-compiler-slots/verify.js.map +0 -1
  265. package/dist/reporting/compose-explore-headline.d.ts +0 -14
  266. package/dist/reporting/compose-explore-headline.d.ts.map +0 -1
  267. package/dist/reporting/compose-explore-headline.js +0 -14
  268. package/dist/reporting/compose-explore-headline.js.map +0 -1
  269. package/dist/reporting/derive-explore-status.d.ts +0 -18
  270. package/dist/reporting/derive-explore-status.d.ts.map +0 -1
  271. package/dist/reporting/derive-explore-status.js +0 -15
  272. package/dist/reporting/derive-explore-status.js.map +0 -1
  273. package/dist/reporting/headline-templates/explore.d.ts +0 -3
  274. package/dist/reporting/headline-templates/explore.d.ts.map +0 -1
  275. package/dist/reporting/headline-templates/explore.js +0 -13
  276. package/dist/reporting/headline-templates/explore.js.map +0 -1
  277. package/dist/reporting/parse-explore-report.d.ts +0 -38
  278. package/dist/reporting/parse-explore-report.d.ts.map +0 -1
  279. package/dist/reporting/parse-explore-report.js +0 -185
  280. package/dist/reporting/parse-explore-report.js.map +0 -1
  281. package/dist/reporting/report-parser-slots/explore-report.d.ts +0 -17
  282. package/dist/reporting/report-parser-slots/explore-report.d.ts.map +0 -1
  283. package/dist/reporting/report-parser-slots/explore-report.js +0 -9
  284. package/dist/reporting/report-parser-slots/explore-report.js.map +0 -1
  285. package/dist/research/explore-orchestrator.d.ts +0 -14
  286. package/dist/research/explore-orchestrator.d.ts.map +0 -1
  287. package/dist/research/explore-orchestrator.js +0 -362
  288. package/dist/research/explore-orchestrator.js.map +0 -1
  289. package/dist/tools/explore/schema.d.ts.map +0 -1
  290. package/dist/tools/explore/schema.js.map +0 -1
  291. package/dist/tools/explore/tool-config.d.ts +0 -7
  292. package/dist/tools/explore/tool-config.d.ts.map +0 -1
  293. package/dist/tools/explore/tool-config.js +0 -36
  294. package/dist/tools/explore/tool-config.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/research-report.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,22 @@ export interface VerifyReport {
6
6
  evidence: string;
7
7
  }>;
8
8
  }
9
+ /**
10
+ * Extract verify checklist results from `## Finding N:` narrative blocks.
11
+ *
12
+ * The verify tool prompt instructs workers to emit results in this exact
13
+ * format (and explicitly NOT JSON):
14
+ *
15
+ * ## Finding 1: <title>
16
+ * - Severity: low|high|...
17
+ * - Item: <criterion text>
18
+ * - Result: PASS | FAIL
19
+ * - Evidence: <evidence>
20
+ *
21
+ * Returns one entry per finding block. `pass` is true iff the Result line
22
+ * normalizes to "pass" (case-insensitive). Missing labels become empty
23
+ * strings / false (matches the schema's required-field shape).
24
+ */
25
+ export declare function parseVerifyResults(output: string): VerifyReport['results'];
9
26
  export declare const verifyReportSchema: ReportSchema<VerifyReport>;
10
27
  //# sourceMappingURL=verify-report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,YAAY,CAMzD,CAAC"}
1
+ {"version":3,"file":"verify-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,SAAS,CAAC,CAezB;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,YAAY,CAezD,CAAC"}
@@ -1,9 +1,51 @@
1
+ /**
2
+ * Extract verify checklist results from `## Finding N:` narrative blocks.
3
+ *
4
+ * The verify tool prompt instructs workers to emit results in this exact
5
+ * format (and explicitly NOT JSON):
6
+ *
7
+ * ## Finding 1: <title>
8
+ * - Severity: low|high|...
9
+ * - Item: <criterion text>
10
+ * - Result: PASS | FAIL
11
+ * - Evidence: <evidence>
12
+ *
13
+ * Returns one entry per finding block. `pass` is true iff the Result line
14
+ * normalizes to "pass" (case-insensitive). Missing labels become empty
15
+ * strings / false (matches the schema's required-field shape).
16
+ */
17
+ export function parseVerifyResults(output) {
18
+ if (!output || typeof output !== 'string')
19
+ return [];
20
+ const blocks = output.split(/^##\s+Finding\s+\d+\s*:?/im);
21
+ const out = [];
22
+ for (let i = 1; i < blocks.length; i++) {
23
+ const block = blocks[i];
24
+ const itemMatch = block.match(/^\s*[-*]?\s*Item\s*:\s*(.+?)\s*$/im);
25
+ const resultMatch = block.match(/^\s*[-*]?\s*Result\s*:\s*(\w+)/im);
26
+ const evidenceMatch = block.match(/^\s*[-*]?\s*Evidence\s*:\s*([\s\S]+?)(?=\n\s*[-*]\s|\n##|$)/im);
27
+ const item = itemMatch ? itemMatch[1].trim() : '';
28
+ const pass = resultMatch ? /^pass$/i.test(resultMatch[1].trim()) : false;
29
+ const evidence = evidenceMatch ? evidenceMatch[1].trim() : '';
30
+ out.push({ item, pass, evidence });
31
+ }
32
+ return out;
33
+ }
1
34
  export const verifyReportSchema = {
2
35
  parse(text) {
36
+ // Primary path: JSON block (legacy; some workers may still emit it).
3
37
  const m = text.match(/```json\n([\s\S]+?)\n```/);
4
- if (!m)
5
- throw new Error('verify report missing JSON block');
6
- return JSON.parse(m[1]);
38
+ if (m)
39
+ return JSON.parse(m[1]);
40
+ // Narrative path (the actual prompt format — the verify prompt
41
+ // explicitly says "Do NOT emit JSON"). Recover one result per
42
+ // `## Finding N:` block. If neither path produced anything,
43
+ // throw so the parent falls back to notApplicable.
44
+ const narrative = parseVerifyResults(text);
45
+ if (narrative.length === 0) {
46
+ throw new Error('verify report missing JSON block and no `## Finding N:` narrative results');
47
+ }
48
+ return { results: narrative };
7
49
  },
8
50
  };
9
51
  //# sourceMappingURL=verify-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"verify-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc;IAEd,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,KAAK,CAAC,IAAY;QAChB,qEAAqE;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,+DAA+D;QAC/D,8DAA8D;QAC9D,4DAA4D;QAC5D,mDAAmD;QACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;CACF,CAAC"}
@@ -37,4 +37,26 @@ export declare function countHighOrCritical(findings: ReadonlyArray<{
37
37
  export declare function bucketFindingsBySeverity(findings: ReadonlyArray<{
38
38
  severity?: unknown;
39
39
  }>): Record<FindingSeverity, number>;
40
+ /**
41
+ * Extract findings from an implementer's narrative `## Finding N:` output
42
+ * block-by-block. The audit / review / verify / debug / investigate
43
+ * tool prompts instruct workers to emit findings in this exact format:
44
+ *
45
+ * ## Finding 1: <title>
46
+ * - Severity: critical | high | medium | low
47
+ * - Location: file:line
48
+ * - Issue: ...
49
+ * - Suggestion: ...
50
+ *
51
+ * The annotator normally consumes that narrative and emits a structured
52
+ * JSON array. When the annotator errors (parse failure, exhaustion
53
+ * mid-block, etc.), this helper recovers the findings from the
54
+ * implementer's output so the headline + envelope still report the
55
+ * correct count. Returns one entry per finding with the parsed severity
56
+ * (lowercase canonical, or null if no severity line was found).
57
+ */
58
+ export declare function parseNarrativeFindings(output: string): Array<{
59
+ severity: FindingSeverity | null;
60
+ claim: string;
61
+ }>;
40
62
  //# sourceMappingURL=severity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"severity.d.ts","sourceRoot":"","sources":["../../src/reporting/severity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAIrE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAItE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,CAO3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC9C,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAOjC"}
1
+ {"version":3,"file":"severity.d.ts","sourceRoot":"","sources":["../../src/reporting/severity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAIrE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAItE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,CAO3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC9C,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAOjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GACb,KAAK,CAAC;IAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5D"}
@@ -54,4 +54,40 @@ export function bucketFindingsBySeverity(findings) {
54
54
  }
55
55
  return buckets;
56
56
  }
57
+ /**
58
+ * Extract findings from an implementer's narrative `## Finding N:` output
59
+ * block-by-block. The audit / review / verify / debug / investigate
60
+ * tool prompts instruct workers to emit findings in this exact format:
61
+ *
62
+ * ## Finding 1: <title>
63
+ * - Severity: critical | high | medium | low
64
+ * - Location: file:line
65
+ * - Issue: ...
66
+ * - Suggestion: ...
67
+ *
68
+ * The annotator normally consumes that narrative and emits a structured
69
+ * JSON array. When the annotator errors (parse failure, exhaustion
70
+ * mid-block, etc.), this helper recovers the findings from the
71
+ * implementer's output so the headline + envelope still report the
72
+ * correct count. Returns one entry per finding with the parsed severity
73
+ * (lowercase canonical, or null if no severity line was found).
74
+ */
75
+ export function parseNarrativeFindings(output) {
76
+ if (!output || typeof output !== 'string')
77
+ return [];
78
+ const findings = [];
79
+ // Split on `## Finding N:` headings (case-insensitive, lenient
80
+ // whitespace + colon). Block 0 is everything BEFORE the first
81
+ // heading — discard.
82
+ const blocks = output.split(/^##\s+Finding\s+\d+\s*:?/im);
83
+ for (let i = 1; i < blocks.length; i++) {
84
+ const block = blocks[i];
85
+ const titleMatch = block.match(/^[^\n]+/);
86
+ const claim = titleMatch ? titleMatch[0].trim() : '';
87
+ const sevMatch = block.match(/^\s*[-*]?\s*severity\s*:\s*(\w+)/im);
88
+ const severity = sevMatch ? normalizeSeverity(sevMatch[1]) : null;
89
+ findings.push({ severity, claim });
90
+ }
91
+ return findings;
92
+ }
57
93
  //# sourceMappingURL=severity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/reporting/severity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAqB,CAAC;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA+C;IACjF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,UAAU;YAAE,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+C;IAE/C,MAAM,OAAO,GAAoC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7F,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/reporting/severity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAqB,CAAC;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA+C;IACjF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,UAAU;YAAE,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+C;IAE/C,MAAM,OAAO,GAAoC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7F,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc;IAEd,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,QAAQ,GAA+D,EAAE,CAAC;IAChF,+DAA+D;IAC/D,8DAA8D;IAC9D,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-output-parser.d.ts","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAC/B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,qBAAa,qBAAqB;IAChC,KAAK,CAAC,KAAK,EAAE;QAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB;CAcnG"}
1
+ {"version":3,"file":"annotator-output-parser.d.ts","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAC/B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA4ED,qBAAa,qBAAqB;IAChC,KAAK,CAAC,KAAK,EAAE;QAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB;CAUnG"}
@@ -1,24 +1,104 @@
1
- function extractFencedJson(text) {
2
- const match = text.match(/```json\s*\n([\s\S]*?)\n```/i);
3
- return match ? match[1].trim() : null;
1
+ /**
2
+ * Tool sweep #12 follow-up: same lenient JSON-array extraction as
3
+ * the reviewer-output-parser. Pre-fix this required a fenced
4
+ * ```json ... ``` block. Some models emit:
5
+ * - Bare JSON arrays (no fence)
6
+ * - Fenced with no language tag (just ``` ... ```)
7
+ * - JSON arrays embedded in surrounding prose
8
+ * — all of which were dropped, producing `verdict: 'error'` even when
9
+ * the annotator did its job correctly. Caused verify's wire telemetry
10
+ * to lose all PASS findings (annotated 0 instead of 4).
11
+ *
12
+ * Strategy: try fenced first (legacy), then fenced-without-language-tag,
13
+ * then any balanced `[...]` containing finding-shaped objects in the
14
+ * raw text. Same balanced-walking approach as findFirstParseableJsonVerdict
15
+ * in reviewer-output-parser.ts.
16
+ */
17
+ function extractFindingsArray(text) {
18
+ // Pass 1: ```json ... ``` (legacy).
19
+ const fenced1 = text.match(/```json\s*\n([\s\S]*?)\n```/i);
20
+ const r1 = fenced1 ? tryParseArray(fenced1[1]) : null;
21
+ if (r1)
22
+ return r1;
23
+ // Pass 2: ``` ... ``` (no language tag) — some models drop the json hint.
24
+ const fenced2 = text.match(/```\s*\n([\s\S]*?)\n```/);
25
+ const r2 = fenced2 ? tryParseArray(fenced2[1]) : null;
26
+ if (r2)
27
+ return r2;
28
+ // Pass 3: bare `[...]` array somewhere in the text. Walk every `[`
29
+ // left-to-right, find its matching `]` via balanced bracket counting
30
+ // (string-literal aware), try to parse each candidate.
31
+ for (let start = text.indexOf('['); start !== -1; start = text.indexOf('[', start + 1)) {
32
+ const end = matchingBracket(text, start);
33
+ if (end === -1)
34
+ continue;
35
+ const candidate = text.slice(start, end + 1);
36
+ const r = tryParseArray(candidate);
37
+ if (r)
38
+ return r;
39
+ }
40
+ return null;
41
+ }
42
+ function tryParseArray(jsonText) {
43
+ try {
44
+ const parsed = JSON.parse(jsonText);
45
+ if (Array.isArray(parsed))
46
+ return parsed;
47
+ }
48
+ catch {
49
+ /* not parseable */
50
+ }
51
+ return null;
52
+ }
53
+ /**
54
+ * Return the index of the `]` that balances the `[` at `openPos`,
55
+ * accounting for nested brackets and string literals.
56
+ */
57
+ function matchingBracket(text, openPos) {
58
+ let depth = 0;
59
+ let inString = false;
60
+ let escape = false;
61
+ for (let i = openPos; i < text.length; i++) {
62
+ const ch = text[i];
63
+ if (inString) {
64
+ if (escape) {
65
+ escape = false;
66
+ continue;
67
+ }
68
+ if (ch === '\\') {
69
+ escape = true;
70
+ continue;
71
+ }
72
+ if (ch === '"') {
73
+ inString = false;
74
+ continue;
75
+ }
76
+ continue;
77
+ }
78
+ if (ch === '"') {
79
+ inString = true;
80
+ continue;
81
+ }
82
+ if (ch === '[')
83
+ depth++;
84
+ else if (ch === ']') {
85
+ depth--;
86
+ if (depth === 0)
87
+ return i;
88
+ }
89
+ }
90
+ return -1;
4
91
  }
5
92
  export class AnnotatorOutputParser {
6
93
  parse(input) {
7
94
  if (!input.finalAssistantText) {
8
95
  return { verdict: 'error', annotatedFindings: [], errorReason: input.errorCode ?? 'no output' };
9
96
  }
10
- const json = extractFencedJson(input.finalAssistantText);
11
- if (!json)
12
- return { verdict: 'error', annotatedFindings: [], errorReason: 'no fenced JSON block' };
13
- try {
14
- const findings = JSON.parse(json);
15
- if (!Array.isArray(findings))
16
- return { verdict: 'error', annotatedFindings: [], errorReason: 'expected JSON array' };
17
- return { verdict: 'annotated', annotatedFindings: findings };
18
- }
19
- catch (e) {
20
- return { verdict: 'error', annotatedFindings: [], errorReason: `JSON parse failed: ${e.message}` };
97
+ const findings = extractFindingsArray(input.finalAssistantText);
98
+ if (findings === null) {
99
+ return { verdict: 'error', annotatedFindings: [], errorReason: 'no JSON array found in annotator output' };
21
100
  }
101
+ return { verdict: 'annotated', annotatedFindings: findings };
22
102
  }
23
103
  }
24
104
  //# sourceMappingURL=annotator-output-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-output-parser.js","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"AAQA,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,KAAqE;QACzE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;QAClG,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;QACnG,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;YACrH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,sBAAuB,CAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAChH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"annotator-output-parser.js","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,25 @@ export declare class AnnotatorPromptBuilder {
5
5
  constructor(templates: Record<AnnotatorRoute, AnnotatorTemplate>);
6
6
  build(route: AnnotatorRoute, ctx: AnnotatorPromptContext): string;
7
7
  }
8
+ /**
9
+ * Trim the implementer brief down to the "what was asked" essentials
10
+ * before sending to the annotator. The annotator does NOT need the
11
+ * finding-format spec (it has its own format spec via buildAnnotatorRubric)
12
+ * or the delta-mode instructions. Sending the full brief wastes
13
+ * 1-3KB context per call and mildly distracts the model.
14
+ *
15
+ * Two prompt shapes covered:
16
+ *
17
+ * 1. **Goal-first** (audit / review / verify / debug):
18
+ * `<goal + scope>\n\n<format spec at the END>` — slice off the
19
+ * format spec, keep everything before it.
20
+ *
21
+ * 2. **Spec-first** (investigate): the brief opens with the
22
+ * structured-format instructions and ends with `Question: <text>`.
23
+ * Pull the question line out as the compact brief.
24
+ *
25
+ * If neither shape applies, the brief is returned unchanged.
26
+ */
27
+ export declare function trimBriefForAnnotator(brief: string): string;
8
28
  export declare function assembleAnnotatorPrompt(template: AnnotatorTemplate, ctx: AnnotatorPromptContext): string;
9
29
  //# sourceMappingURL=annotator-prompt-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAExH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAErF,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAG9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;CAGlE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAgBxG"}
1
+ {"version":3,"file":"annotator-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE5H,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAErF,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAG9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;CAGlE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAoBxG"}
@@ -1,4 +1,4 @@
1
- import { ANNOTATOR_RUBRIC } from './templates/annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './templates/annotator-shared.js';
2
2
  export class AnnotatorPromptBuilder {
3
3
  templates;
4
4
  constructor(templates) {
@@ -8,12 +8,63 @@ export class AnnotatorPromptBuilder {
8
8
  return assembleAnnotatorPrompt(this.templates[route], ctx);
9
9
  }
10
10
  }
11
+ /**
12
+ * Trim the implementer brief down to the "what was asked" essentials
13
+ * before sending to the annotator. The annotator does NOT need the
14
+ * finding-format spec (it has its own format spec via buildAnnotatorRubric)
15
+ * or the delta-mode instructions. Sending the full brief wastes
16
+ * 1-3KB context per call and mildly distracts the model.
17
+ *
18
+ * Two prompt shapes covered:
19
+ *
20
+ * 1. **Goal-first** (audit / review / verify / debug):
21
+ * `<goal + scope>\n\n<format spec at the END>` — slice off the
22
+ * format spec, keep everything before it.
23
+ *
24
+ * 2. **Spec-first** (investigate): the brief opens with the
25
+ * structured-format instructions and ends with `Question: <text>`.
26
+ * Pull the question line out as the compact brief.
27
+ *
28
+ * If neither shape applies, the brief is returned unchanged.
29
+ */
30
+ export function trimBriefForAnnotator(brief) {
31
+ if (typeof brief !== 'string' || brief.length === 0)
32
+ return brief;
33
+ // Shape 2 (investigate): pull the `Question: ...` line out.
34
+ const questionMatch = brief.match(/^\s*Question:\s+(.+)$/m);
35
+ if (questionMatch) {
36
+ return `Question: ${questionMatch[1].trim()}`;
37
+ }
38
+ // Shape 1 (audit / review / verify / debug): slice before the first
39
+ // format-spec marker. Each per-tool implementer prompt structures
40
+ // the goal at the top, format spec at the bottom — so this gives
41
+ // the annotator the goal + scope without the duplicated format
42
+ // instructions.
43
+ const markers = [
44
+ /\nProduce a narrative .* report\./i,
45
+ /\nFor each checklist item, use this EXACT/i,
46
+ /\nUse hypothesis-driven debugging\./i,
47
+ /\n## Finding 1:/i,
48
+ /\nUse this EXACT per-finding format/i,
49
+ ];
50
+ let cut = brief.length;
51
+ for (const m of markers) {
52
+ const idx = brief.search(m);
53
+ if (idx >= 0 && idx < cut)
54
+ cut = idx;
55
+ }
56
+ return brief.slice(0, cut).trim();
57
+ }
11
58
  export function assembleAnnotatorPrompt(template, ctx) {
59
+ // Tool sweep #11: trim the brief — the format-spec section is
60
+ // duplicated by buildAnnotatorRubric below, so sending it again is
61
+ // redundant + costly.
62
+ const compactBrief = trimBriefForAnnotator(ctx.brief);
12
63
  return `You are reviewing a ${template.role} produced by a worker.
13
64
 
14
65
  The user requested a ${template.role}. The brief was:
15
66
 
16
- ${ctx.brief}
67
+ ${compactBrief}
17
68
 
18
69
  ## On-brief check (per finding)
19
70
 
@@ -23,6 +74,6 @@ ${template.onBriefCheck}
23
74
 
24
75
  ${ctx.workerOutput}
25
76
 
26
- ${ANNOTATOR_RUBRIC}`;
77
+ ${buildAnnotatorRubric(template)}`;
27
78
  }
28
79
  //# sourceMappingURL=annotator-prompt-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-prompt-builder.js","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuD,MAAM,iCAAiC,CAAC;AAIxH,MAAM,OAAO,sBAAsB;IAEvB;IADV,YACU,SAAoD;QAApD,cAAS,GAAT,SAAS,CAA2C;IAC3D,CAAC;IAEJ,KAAK,CAAC,KAAqB,EAAE,GAA2B;QACtD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAA2B;IAC9F,OAAO,uBAAuB,QAAQ,CAAC,IAAI;;uBAEtB,QAAQ,CAAC,IAAI;;EAElC,GAAG,CAAC,KAAK;;;;EAIT,QAAQ,CAAC,YAAY;;;;EAIrB,GAAG,CAAC,YAAY;;EAEhB,gBAAgB,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"annotator-prompt-builder.js","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuD,MAAM,iCAAiC,CAAC;AAI5H,MAAM,OAAO,sBAAsB;IAEvB;IADV,YACU,SAAoD;QAApD,cAAS,GAAT,SAAS,CAA2C;IAC3D,CAAC;IAEJ,KAAK,CAAC,KAAqB,EAAE,GAA2B;QACtD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAElE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,gBAAgB;IAChB,MAAM,OAAO,GAAG;QACd,oCAAoC;QACpC,4CAA4C;QAC5C,sCAAsC;QACtC,kBAAkB;QAClB,sCAAsC;KACvC,CAAC;IACF,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG;YAAE,GAAG,GAAG,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAA2B;IAC9F,8DAA8D;IAC9D,mEAAmE;IACnE,sBAAsB;IACtB,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,uBAAuB,QAAQ,CAAC,IAAI;;uBAEtB,QAAQ,CAAC,IAAI;;EAElC,YAAY;;;;EAIZ,QAAQ,CAAC,YAAY;;;;EAIrB,GAAG,CAAC,YAAY;;EAEhB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnC,CAAC"}
@@ -12,7 +12,7 @@ export { qualityDebugTemplate } from './templates/quality-review-debug.js';
12
12
  export { qualityInvestigateTemplate } from './templates/quality-review-investigate.js';
13
13
  export { ReviewerPromptBuilder } from './reviewer-prompt-builder.js';
14
14
  export type { QualityReviewRoute } from './reviewer-prompt-builder.js';
15
- export type ReviewRoute = 'delegate' | 'execute-plan' | 'audit' | 'review' | 'verify' | 'investigate' | 'debug' | 'explore';
15
+ export type ReviewRoute = 'delegate' | 'execute-plan' | 'audit' | 'review' | 'verify' | 'investigate' | 'debug' | 'research';
16
16
  export interface ReviewerInput {
17
17
  workerOutput: string;
18
18
  brief: string;
@@ -21,6 +21,20 @@ export interface ReviewerInput {
21
21
  fileContents?: Record<string, string>;
22
22
  toolCallLog?: string[];
23
23
  filesWritten?: string[];
24
+ /**
25
+ * Cumulative unified diff of every change made since task start.
26
+ * Tool sweep #6: reviewer prompts include this so the LLM can
27
+ * judge work against actual code changes, not the worker's text
28
+ * claim. Empty when no files changed (or read-only routes).
29
+ */
30
+ diff?: string;
31
+ /**
32
+ * Concrete concerns raised by previous reviewer rounds in this
33
+ * chain (round 1 = empty, round N+1 = concerns from round 1..N).
34
+ * Lets the reviewer verify the rework addressed prior issues
35
+ * without re-deriving them.
36
+ */
37
+ priorConcerns?: string[];
24
38
  abortSignal?: AbortSignal;
25
39
  deadlineMs?: number;
26
40
  /** Forwarded to RunInput so the running-headline sink + verbose stderr
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-engine.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-engine.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAwB,KAAK,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAM/I,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,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,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7H,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;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;gEAG4D;IAC5D,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,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,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,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgB9E,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBnF,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAezF;AAcD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-engine.js","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-engine.js","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAA0D,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAO/I,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,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;AAgDrE,MAAM,OAAO,cAAc;IAEL;IADZ,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC5C,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,KAAkB,EAAE,KAAoB;QACpD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;YAC1D,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAkB,EAAE,KAAoB;QACzD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;YAC1D,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAkB,EAAE,KAAoB;QACpD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;YAC1D,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAAuN;IAC1O,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;QACtC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACvB,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;QACvC,4FAA4F;QAC5F,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI;QACjE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;KACjC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA6CD,qBAAa,oBAAoB;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAuBxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB;CAgBjD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAC5B"}
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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAwKD,qBAAa,oBAAoB;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAkCxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB;CAgBjD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAC5B"}