@oddessentials/odd-ai-reviewers 1.0.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 (370) hide show
  1. package/README.md +190 -0
  2. package/dist/__tests__/hermetic-setup.d.ts +55 -0
  3. package/dist/__tests__/hermetic-setup.d.ts.map +1 -0
  4. package/dist/__tests__/hermetic-setup.js +62 -0
  5. package/dist/__tests__/hermetic-setup.js.map +1 -0
  6. package/dist/__tests__/test-utils/hermetic.d.ts +84 -0
  7. package/dist/__tests__/test-utils/hermetic.d.ts.map +1 -0
  8. package/dist/__tests__/test-utils/hermetic.js +147 -0
  9. package/dist/__tests__/test-utils/hermetic.js.map +1 -0
  10. package/dist/agents/ai_semantic_review.d.ts +12 -0
  11. package/dist/agents/ai_semantic_review.d.ts.map +1 -0
  12. package/dist/agents/ai_semantic_review.js +317 -0
  13. package/dist/agents/ai_semantic_review.js.map +1 -0
  14. package/dist/agents/control_flow/budget.d.ts +162 -0
  15. package/dist/agents/control_flow/budget.d.ts.map +1 -0
  16. package/dist/agents/control_flow/budget.js +331 -0
  17. package/dist/agents/control_flow/budget.js.map +1 -0
  18. package/dist/agents/control_flow/cfg-builder.d.ts +26 -0
  19. package/dist/agents/control_flow/cfg-builder.d.ts.map +1 -0
  20. package/dist/agents/control_flow/cfg-builder.js +776 -0
  21. package/dist/agents/control_flow/cfg-builder.js.map +1 -0
  22. package/dist/agents/control_flow/cfg-types.d.ts +186 -0
  23. package/dist/agents/control_flow/cfg-types.d.ts.map +1 -0
  24. package/dist/agents/control_flow/cfg-types.js +114 -0
  25. package/dist/agents/control_flow/cfg-types.js.map +1 -0
  26. package/dist/agents/control_flow/finding-generator.d.ts +118 -0
  27. package/dist/agents/control_flow/finding-generator.d.ts.map +1 -0
  28. package/dist/agents/control_flow/finding-generator.js +354 -0
  29. package/dist/agents/control_flow/finding-generator.js.map +1 -0
  30. package/dist/agents/control_flow/index.d.ts +39 -0
  31. package/dist/agents/control_flow/index.d.ts.map +1 -0
  32. package/dist/agents/control_flow/index.js +270 -0
  33. package/dist/agents/control_flow/index.js.map +1 -0
  34. package/dist/agents/control_flow/logger.d.ts +333 -0
  35. package/dist/agents/control_flow/logger.d.ts.map +1 -0
  36. package/dist/agents/control_flow/logger.js +607 -0
  37. package/dist/agents/control_flow/logger.js.map +1 -0
  38. package/dist/agents/control_flow/mitigation-detector.d.ts +207 -0
  39. package/dist/agents/control_flow/mitigation-detector.d.ts.map +1 -0
  40. package/dist/agents/control_flow/mitigation-detector.js +625 -0
  41. package/dist/agents/control_flow/mitigation-detector.js.map +1 -0
  42. package/dist/agents/control_flow/mitigation-patterns.d.ts +53 -0
  43. package/dist/agents/control_flow/mitigation-patterns.d.ts.map +1 -0
  44. package/dist/agents/control_flow/mitigation-patterns.js +620 -0
  45. package/dist/agents/control_flow/mitigation-patterns.js.map +1 -0
  46. package/dist/agents/control_flow/path-analyzer.d.ts +287 -0
  47. package/dist/agents/control_flow/path-analyzer.d.ts.map +1 -0
  48. package/dist/agents/control_flow/path-analyzer.js +695 -0
  49. package/dist/agents/control_flow/path-analyzer.js.map +1 -0
  50. package/dist/agents/control_flow/pattern-validator.d.ts +132 -0
  51. package/dist/agents/control_flow/pattern-validator.d.ts.map +1 -0
  52. package/dist/agents/control_flow/pattern-validator.js +420 -0
  53. package/dist/agents/control_flow/pattern-validator.js.map +1 -0
  54. package/dist/agents/control_flow/timeout-regex.d.ts +144 -0
  55. package/dist/agents/control_flow/timeout-regex.d.ts.map +1 -0
  56. package/dist/agents/control_flow/timeout-regex.js +339 -0
  57. package/dist/agents/control_flow/timeout-regex.js.map +1 -0
  58. package/dist/agents/control_flow/types.d.ts +782 -0
  59. package/dist/agents/control_flow/types.d.ts.map +1 -0
  60. package/dist/agents/control_flow/types.js +428 -0
  61. package/dist/agents/control_flow/types.js.map +1 -0
  62. package/dist/agents/control_flow/vulnerability-detector.d.ts +85 -0
  63. package/dist/agents/control_flow/vulnerability-detector.d.ts.map +1 -0
  64. package/dist/agents/control_flow/vulnerability-detector.js +493 -0
  65. package/dist/agents/control_flow/vulnerability-detector.js.map +1 -0
  66. package/dist/agents/date-utils.d.ts +19 -0
  67. package/dist/agents/date-utils.d.ts.map +1 -0
  68. package/dist/agents/date-utils.js +29 -0
  69. package/dist/agents/date-utils.js.map +1 -0
  70. package/dist/agents/index.d.ts +25 -0
  71. package/dist/agents/index.d.ts.map +1 -0
  72. package/dist/agents/index.js +50 -0
  73. package/dist/agents/index.js.map +1 -0
  74. package/dist/agents/json-utils.d.ts +34 -0
  75. package/dist/agents/json-utils.d.ts.map +1 -0
  76. package/dist/agents/json-utils.js +62 -0
  77. package/dist/agents/json-utils.js.map +1 -0
  78. package/dist/agents/local_llm.d.ts +24 -0
  79. package/dist/agents/local_llm.d.ts.map +1 -0
  80. package/dist/agents/local_llm.js +566 -0
  81. package/dist/agents/local_llm.js.map +1 -0
  82. package/dist/agents/metadata.d.ts +57 -0
  83. package/dist/agents/metadata.d.ts.map +1 -0
  84. package/dist/agents/metadata.js +45 -0
  85. package/dist/agents/metadata.js.map +1 -0
  86. package/dist/agents/opencode.d.ts +18 -0
  87. package/dist/agents/opencode.d.ts.map +1 -0
  88. package/dist/agents/opencode.js +364 -0
  89. package/dist/agents/opencode.js.map +1 -0
  90. package/dist/agents/path-filter.d.ts +25 -0
  91. package/dist/agents/path-filter.d.ts.map +1 -0
  92. package/dist/agents/path-filter.js +43 -0
  93. package/dist/agents/path-filter.js.map +1 -0
  94. package/dist/agents/pr_agent.d.ts +3 -0
  95. package/dist/agents/pr_agent.d.ts.map +1 -0
  96. package/dist/agents/pr_agent.js +312 -0
  97. package/dist/agents/pr_agent.js.map +1 -0
  98. package/dist/agents/retry.d.ts +12 -0
  99. package/dist/agents/retry.d.ts.map +1 -0
  100. package/dist/agents/retry.js +65 -0
  101. package/dist/agents/retry.js.map +1 -0
  102. package/dist/agents/reviewdog.d.ts +24 -0
  103. package/dist/agents/reviewdog.d.ts.map +1 -0
  104. package/dist/agents/reviewdog.js +259 -0
  105. package/dist/agents/reviewdog.js.map +1 -0
  106. package/dist/agents/security.d.ts +49 -0
  107. package/dist/agents/security.d.ts.map +1 -0
  108. package/dist/agents/security.js +302 -0
  109. package/dist/agents/security.js.map +1 -0
  110. package/dist/agents/semgrep.d.ts +8 -0
  111. package/dist/agents/semgrep.d.ts.map +1 -0
  112. package/dist/agents/semgrep.js +157 -0
  113. package/dist/agents/semgrep.js.map +1 -0
  114. package/dist/agents/types.d.ts +450 -0
  115. package/dist/agents/types.d.ts.map +1 -0
  116. package/dist/agents/types.js +127 -0
  117. package/dist/agents/types.js.map +1 -0
  118. package/dist/budget.d.ts +59 -0
  119. package/dist/budget.d.ts.map +1 -0
  120. package/dist/budget.js +82 -0
  121. package/dist/budget.js.map +1 -0
  122. package/dist/cache/key.d.ts +49 -0
  123. package/dist/cache/key.d.ts.map +1 -0
  124. package/dist/cache/key.js +71 -0
  125. package/dist/cache/key.js.map +1 -0
  126. package/dist/cache/store.d.ts +47 -0
  127. package/dist/cache/store.d.ts.map +1 -0
  128. package/dist/cache/store.js +328 -0
  129. package/dist/cache/store.js.map +1 -0
  130. package/dist/cli/commands/check.d.ts +60 -0
  131. package/dist/cli/commands/check.d.ts.map +1 -0
  132. package/dist/cli/commands/check.js +163 -0
  133. package/dist/cli/commands/check.js.map +1 -0
  134. package/dist/cli/commands/index.d.ts +12 -0
  135. package/dist/cli/commands/index.d.ts.map +1 -0
  136. package/dist/cli/commands/index.js +12 -0
  137. package/dist/cli/commands/index.js.map +1 -0
  138. package/dist/cli/commands/local-review.d.ts +149 -0
  139. package/dist/cli/commands/local-review.d.ts.map +1 -0
  140. package/dist/cli/commands/local-review.js +755 -0
  141. package/dist/cli/commands/local-review.js.map +1 -0
  142. package/dist/cli/config-wizard.d.ts +87 -0
  143. package/dist/cli/config-wizard.d.ts.map +1 -0
  144. package/dist/cli/config-wizard.js +240 -0
  145. package/dist/cli/config-wizard.js.map +1 -0
  146. package/dist/cli/dependencies/catalog.d.ts +44 -0
  147. package/dist/cli/dependencies/catalog.d.ts.map +1 -0
  148. package/dist/cli/dependencies/catalog.js +89 -0
  149. package/dist/cli/dependencies/catalog.js.map +1 -0
  150. package/dist/cli/dependencies/checker.d.ts +42 -0
  151. package/dist/cli/dependencies/checker.d.ts.map +1 -0
  152. package/dist/cli/dependencies/checker.js +240 -0
  153. package/dist/cli/dependencies/checker.js.map +1 -0
  154. package/dist/cli/dependencies/index.d.ts +16 -0
  155. package/dist/cli/dependencies/index.d.ts.map +1 -0
  156. package/dist/cli/dependencies/index.js +16 -0
  157. package/dist/cli/dependencies/index.js.map +1 -0
  158. package/dist/cli/dependencies/messages.d.ts +58 -0
  159. package/dist/cli/dependencies/messages.d.ts.map +1 -0
  160. package/dist/cli/dependencies/messages.js +183 -0
  161. package/dist/cli/dependencies/messages.js.map +1 -0
  162. package/dist/cli/dependencies/platform.d.ts +25 -0
  163. package/dist/cli/dependencies/platform.d.ts.map +1 -0
  164. package/dist/cli/dependencies/platform.js +42 -0
  165. package/dist/cli/dependencies/platform.js.map +1 -0
  166. package/dist/cli/dependencies/schemas.d.ts +65 -0
  167. package/dist/cli/dependencies/schemas.d.ts.map +1 -0
  168. package/dist/cli/dependencies/schemas.js +42 -0
  169. package/dist/cli/dependencies/schemas.js.map +1 -0
  170. package/dist/cli/dependencies/types.d.ts +112 -0
  171. package/dist/cli/dependencies/types.d.ts.map +1 -0
  172. package/dist/cli/dependencies/types.js +6 -0
  173. package/dist/cli/dependencies/types.js.map +1 -0
  174. package/dist/cli/dependencies/version.d.ts +67 -0
  175. package/dist/cli/dependencies/version.d.ts.map +1 -0
  176. package/dist/cli/dependencies/version.js +125 -0
  177. package/dist/cli/dependencies/version.js.map +1 -0
  178. package/dist/cli/git-context.d.ts +105 -0
  179. package/dist/cli/git-context.d.ts.map +1 -0
  180. package/dist/cli/git-context.js +313 -0
  181. package/dist/cli/git-context.js.map +1 -0
  182. package/dist/cli/interactive-prompts.d.ts +126 -0
  183. package/dist/cli/interactive-prompts.d.ts.map +1 -0
  184. package/dist/cli/interactive-prompts.js +128 -0
  185. package/dist/cli/interactive-prompts.js.map +1 -0
  186. package/dist/cli/options/index.d.ts +7 -0
  187. package/dist/cli/options/index.d.ts.map +1 -0
  188. package/dist/cli/options/index.js +11 -0
  189. package/dist/cli/options/index.js.map +1 -0
  190. package/dist/cli/options/local-review-options.d.ts +221 -0
  191. package/dist/cli/options/local-review-options.d.ts.map +1 -0
  192. package/dist/cli/options/local-review-options.js +332 -0
  193. package/dist/cli/options/local-review-options.js.map +1 -0
  194. package/dist/cli/output/colors.d.ts +154 -0
  195. package/dist/cli/output/colors.d.ts.map +1 -0
  196. package/dist/cli/output/colors.js +255 -0
  197. package/dist/cli/output/colors.js.map +1 -0
  198. package/dist/cli/output/errors.d.ts +157 -0
  199. package/dist/cli/output/errors.d.ts.map +1 -0
  200. package/dist/cli/output/errors.js +266 -0
  201. package/dist/cli/output/errors.js.map +1 -0
  202. package/dist/cli/output/index.d.ts +12 -0
  203. package/dist/cli/output/index.d.ts.map +1 -0
  204. package/dist/cli/output/index.js +15 -0
  205. package/dist/cli/output/index.js.map +1 -0
  206. package/dist/cli/output/progress.d.ts +237 -0
  207. package/dist/cli/output/progress.d.ts.map +1 -0
  208. package/dist/cli/output/progress.js +405 -0
  209. package/dist/cli/output/progress.js.map +1 -0
  210. package/dist/cli/signals.d.ts +145 -0
  211. package/dist/cli/signals.d.ts.map +1 -0
  212. package/dist/cli/signals.js +223 -0
  213. package/dist/cli/signals.js.map +1 -0
  214. package/dist/cli/validation-report.d.ts +106 -0
  215. package/dist/cli/validation-report.d.ts.map +1 -0
  216. package/dist/cli/validation-report.js +108 -0
  217. package/dist/cli/validation-report.js.map +1 -0
  218. package/dist/config/index.d.ts +9 -0
  219. package/dist/config/index.d.ts.map +1 -0
  220. package/dist/config/index.js +12 -0
  221. package/dist/config/index.js.map +1 -0
  222. package/dist/config/mitigation-config.d.ts +94 -0
  223. package/dist/config/mitigation-config.d.ts.map +1 -0
  224. package/dist/config/mitigation-config.js +430 -0
  225. package/dist/config/mitigation-config.js.map +1 -0
  226. package/dist/config/providers.d.ts +118 -0
  227. package/dist/config/providers.d.ts.map +1 -0
  228. package/dist/config/providers.js +229 -0
  229. package/dist/config/providers.js.map +1 -0
  230. package/dist/config/schemas.d.ts +278 -0
  231. package/dist/config/schemas.d.ts.map +1 -0
  232. package/dist/config/schemas.js +111 -0
  233. package/dist/config/schemas.js.map +1 -0
  234. package/dist/config/zero-config.d.ts +126 -0
  235. package/dist/config/zero-config.d.ts.map +1 -0
  236. package/dist/config/zero-config.js +243 -0
  237. package/dist/config/zero-config.js.map +1 -0
  238. package/dist/config.d.ts +110 -0
  239. package/dist/config.d.ts.map +1 -0
  240. package/dist/config.js +302 -0
  241. package/dist/config.js.map +1 -0
  242. package/dist/diff.d.ts +224 -0
  243. package/dist/diff.d.ts.map +1 -0
  244. package/dist/diff.js +832 -0
  245. package/dist/diff.js.map +1 -0
  246. package/dist/git-validators.d.ts +106 -0
  247. package/dist/git-validators.d.ts.map +1 -0
  248. package/dist/git-validators.js +224 -0
  249. package/dist/git-validators.js.map +1 -0
  250. package/dist/main.d.ts +61 -0
  251. package/dist/main.d.ts.map +1 -0
  252. package/dist/main.js +704 -0
  253. package/dist/main.js.map +1 -0
  254. package/dist/phases/execute.d.ts +60 -0
  255. package/dist/phases/execute.d.ts.map +1 -0
  256. package/dist/phases/execute.js +168 -0
  257. package/dist/phases/execute.js.map +1 -0
  258. package/dist/phases/index.d.ts +9 -0
  259. package/dist/phases/index.d.ts.map +1 -0
  260. package/dist/phases/index.js +9 -0
  261. package/dist/phases/index.js.map +1 -0
  262. package/dist/phases/preflight.d.ts +40 -0
  263. package/dist/phases/preflight.d.ts.map +1 -0
  264. package/dist/phases/preflight.js +122 -0
  265. package/dist/phases/preflight.js.map +1 -0
  266. package/dist/phases/report.d.ts +51 -0
  267. package/dist/phases/report.d.ts.map +1 -0
  268. package/dist/phases/report.js +152 -0
  269. package/dist/phases/report.js.map +1 -0
  270. package/dist/policy.d.ts +33 -0
  271. package/dist/policy.d.ts.map +1 -0
  272. package/dist/policy.js +34 -0
  273. package/dist/policy.js.map +1 -0
  274. package/dist/preflight.d.ts +181 -0
  275. package/dist/preflight.d.ts.map +1 -0
  276. package/dist/preflight.js +627 -0
  277. package/dist/preflight.js.map +1 -0
  278. package/dist/report/ado.d.ts +53 -0
  279. package/dist/report/ado.d.ts.map +1 -0
  280. package/dist/report/ado.js +411 -0
  281. package/dist/report/ado.js.map +1 -0
  282. package/dist/report/agent-icons.d.ts +36 -0
  283. package/dist/report/agent-icons.d.ts.map +1 -0
  284. package/dist/report/agent-icons.js +46 -0
  285. package/dist/report/agent-icons.js.map +1 -0
  286. package/dist/report/base.d.ts +30 -0
  287. package/dist/report/base.d.ts.map +1 -0
  288. package/dist/report/base.js +64 -0
  289. package/dist/report/base.js.map +1 -0
  290. package/dist/report/formats.d.ts +206 -0
  291. package/dist/report/formats.d.ts.map +1 -0
  292. package/dist/report/formats.js +481 -0
  293. package/dist/report/formats.js.map +1 -0
  294. package/dist/report/github.d.ts +44 -0
  295. package/dist/report/github.d.ts.map +1 -0
  296. package/dist/report/github.js +409 -0
  297. package/dist/report/github.js.map +1 -0
  298. package/dist/report/line-resolver.d.ts +208 -0
  299. package/dist/report/line-resolver.d.ts.map +1 -0
  300. package/dist/report/line-resolver.js +578 -0
  301. package/dist/report/line-resolver.js.map +1 -0
  302. package/dist/report/resolution.d.ts +158 -0
  303. package/dist/report/resolution.d.ts.map +1 -0
  304. package/dist/report/resolution.js +272 -0
  305. package/dist/report/resolution.js.map +1 -0
  306. package/dist/report/sanitize.d.ts +32 -0
  307. package/dist/report/sanitize.d.ts.map +1 -0
  308. package/dist/report/sanitize.js +84 -0
  309. package/dist/report/sanitize.js.map +1 -0
  310. package/dist/report/terminal.d.ts +440 -0
  311. package/dist/report/terminal.d.ts.map +1 -0
  312. package/dist/report/terminal.js +840 -0
  313. package/dist/report/terminal.js.map +1 -0
  314. package/dist/reviewignore.d.ts +125 -0
  315. package/dist/reviewignore.d.ts.map +1 -0
  316. package/dist/reviewignore.js +335 -0
  317. package/dist/reviewignore.js.map +1 -0
  318. package/dist/security-logger.d.ts +178 -0
  319. package/dist/security-logger.d.ts.map +1 -0
  320. package/dist/security-logger.js +256 -0
  321. package/dist/security-logger.js.map +1 -0
  322. package/dist/telemetry/backends/console.d.ts +24 -0
  323. package/dist/telemetry/backends/console.d.ts.map +1 -0
  324. package/dist/telemetry/backends/console.js +54 -0
  325. package/dist/telemetry/backends/console.js.map +1 -0
  326. package/dist/telemetry/backends/jsonl.d.ts +31 -0
  327. package/dist/telemetry/backends/jsonl.d.ts.map +1 -0
  328. package/dist/telemetry/backends/jsonl.js +121 -0
  329. package/dist/telemetry/backends/jsonl.js.map +1 -0
  330. package/dist/telemetry/emitter.d.ts +43 -0
  331. package/dist/telemetry/emitter.d.ts.map +1 -0
  332. package/dist/telemetry/emitter.js +83 -0
  333. package/dist/telemetry/emitter.js.map +1 -0
  334. package/dist/telemetry/hook.d.ts +53 -0
  335. package/dist/telemetry/hook.d.ts.map +1 -0
  336. package/dist/telemetry/hook.js +118 -0
  337. package/dist/telemetry/hook.js.map +1 -0
  338. package/dist/telemetry/index.d.ts +58 -0
  339. package/dist/telemetry/index.d.ts.map +1 -0
  340. package/dist/telemetry/index.js +143 -0
  341. package/dist/telemetry/index.js.map +1 -0
  342. package/dist/telemetry/types.d.ts +139 -0
  343. package/dist/telemetry/types.d.ts.map +1 -0
  344. package/dist/telemetry/types.js +133 -0
  345. package/dist/telemetry/types.js.map +1 -0
  346. package/dist/trust.d.ts +65 -0
  347. package/dist/trust.d.ts.map +1 -0
  348. package/dist/trust.js +78 -0
  349. package/dist/trust.js.map +1 -0
  350. package/dist/types/assert-never.d.ts +30 -0
  351. package/dist/types/assert-never.d.ts.map +1 -0
  352. package/dist/types/assert-never.js +32 -0
  353. package/dist/types/assert-never.js.map +1 -0
  354. package/dist/types/branded.d.ts +172 -0
  355. package/dist/types/branded.d.ts.map +1 -0
  356. package/dist/types/branded.js +262 -0
  357. package/dist/types/branded.js.map +1 -0
  358. package/dist/types/errors.d.ts +320 -0
  359. package/dist/types/errors.d.ts.map +1 -0
  360. package/dist/types/errors.js +551 -0
  361. package/dist/types/errors.js.map +1 -0
  362. package/dist/types/index.d.ts +37 -0
  363. package/dist/types/index.d.ts.map +1 -0
  364. package/dist/types/index.js +77 -0
  365. package/dist/types/index.js.map +1 -0
  366. package/dist/types/result.d.ts +323 -0
  367. package/dist/types/result.d.ts.map +1 -0
  368. package/dist/types/result.js +423 -0
  369. package/dist/types/result.js.map +1 -0
  370. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Pass Execution Module
3
+ *
4
+ * Handles execution of all agent passes with proper caching, budget checks,
5
+ * and error handling. Extracted from main.ts lines 315-427.
6
+ */
7
+ import type { Config } from '../config.js';
8
+ import type { AgentContext, AgentResult, Finding } from '../agents/types.js';
9
+ import type { BudgetCheck } from '../budget.js';
10
+ export interface SkippedAgent {
11
+ id: string;
12
+ name: string;
13
+ reason: string;
14
+ }
15
+ /**
16
+ * Annotate findings with provenance metadata (FR-002)
17
+ *
18
+ * Sets the provenance field to indicate whether findings came from a
19
+ * successful agent ('complete') or a failed agent ('partial').
20
+ *
21
+ * @param findings - Array of findings to annotate
22
+ * @param provenance - The provenance value to set
23
+ * @returns New array with provenance field set on each finding
24
+ */
25
+ export declare function annotateProvenance<P extends 'complete' | 'partial'>(findings: Finding[], provenance: P): (Finding & {
26
+ provenance: P;
27
+ })[];
28
+ export interface ExecuteOptions {
29
+ pr?: number;
30
+ head?: string;
31
+ configHash: string;
32
+ }
33
+ /**
34
+ * Result from executing all agent passes.
35
+ *
36
+ * (012-fix-agent-result-regressions) - Changed from allFindings to separate collections:
37
+ * - completeFindings: From successful agents, with provenance: 'complete'
38
+ * - partialFindings: From failed agents, with provenance: 'partial'
39
+ *
40
+ * This ensures partial findings are preserved and rendered in a dedicated section.
41
+ */
42
+ export interface ExecuteResult {
43
+ /** Findings from successful agents (FR-001, FR-008: used for gating) */
44
+ completeFindings: Finding[];
45
+ /** Findings from failed agents (FR-001, FR-007: rendered in separate section) */
46
+ partialFindings: Finding[];
47
+ allResults: AgentResult[];
48
+ skippedAgents: SkippedAgent[];
49
+ }
50
+ /**
51
+ * Execute all enabled passes and their agents.
52
+ *
53
+ * Handles:
54
+ * - Pass-level budget enforcement (skip optional paid LLM passes when over budget)
55
+ * - Agent-level caching (cache hits skip execution)
56
+ * - Policy enforcement (forbid in-process LLM on main branch push)
57
+ * - Error handling (required agents fail fast, optional agents continue)
58
+ */
59
+ export declare function executeAllPasses(config: Config, agentContext: AgentContext, routerEnv: Record<string, string | undefined>, budgetCheck: BudgetCheck, options: ExecuteOptions): Promise<ExecuteResult>;
60
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/phases/execute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EACjE,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,CAAC,GACZ,CAAC,OAAO,GAAG;IAAE,UAAU,EAAE,CAAC,CAAA;CAAE,CAAC,EAAE,CAEjC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,iFAAiF;IACjF,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAqJxB"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Pass Execution Module
3
+ *
4
+ * Handles execution of all agent passes with proper caching, budget checks,
5
+ * and error handling. Extracted from main.ts lines 315-427.
6
+ */
7
+ import { isSuccess, isFailure, isSkipped } from '../agents/types.js';
8
+ import { assertNever } from '../types/assert-never.js';
9
+ import { getAgentsByIds } from '../agents/index.js';
10
+ import { resolveProvider } from '../config.js';
11
+ import { buildAgentEnv, isKnownAgentId } from '../agents/security.js';
12
+ import { getCached, setCache } from '../cache/store.js';
13
+ import { generateCacheKey } from '../cache/key.js';
14
+ import { isMainBranchPush, isAgentForbiddenOnMain } from '../policy.js';
15
+ /**
16
+ * Annotate findings with provenance metadata (FR-002)
17
+ *
18
+ * Sets the provenance field to indicate whether findings came from a
19
+ * successful agent ('complete') or a failed agent ('partial').
20
+ *
21
+ * @param findings - Array of findings to annotate
22
+ * @param provenance - The provenance value to set
23
+ * @returns New array with provenance field set on each finding
24
+ */
25
+ export function annotateProvenance(findings, provenance) {
26
+ return findings.map((f) => ({ ...f, provenance }));
27
+ }
28
+ /**
29
+ * Execute all enabled passes and their agents.
30
+ *
31
+ * Handles:
32
+ * - Pass-level budget enforcement (skip optional paid LLM passes when over budget)
33
+ * - Agent-level caching (cache hits skip execution)
34
+ * - Policy enforcement (forbid in-process LLM on main branch push)
35
+ * - Error handling (required agents fail fast, optional agents continue)
36
+ */
37
+ export async function executeAllPasses(config, agentContext, routerEnv, budgetCheck, options) {
38
+ const completeFindings = [];
39
+ const partialFindings = [];
40
+ const allResults = [];
41
+ const skippedAgents = [];
42
+ for (const pass of config.passes) {
43
+ if (!pass.enabled) {
44
+ console.log(`[router] Skipping disabled pass: ${pass.name}`);
45
+ continue;
46
+ }
47
+ console.log(`[router] Running pass: ${pass.name} (required: ${pass.required})`);
48
+ const agents = getAgentsByIds(pass.agents);
49
+ // Check if this pass uses PAID LLM services and we're over budget
50
+ // Local LLM (Ollama) is exempt from budget checks since it's free
51
+ const usesPaidLlm = agents.some((a) => a.usesLlm && a.id !== 'local_llm');
52
+ if (usesPaidLlm && !budgetCheck.allowed) {
53
+ if (pass.required) {
54
+ console.error(`[router] ❌ Required pass ${pass.name} blocked by budget limit`);
55
+ process.exit(1);
56
+ }
57
+ console.log(`[router] Skipping optional paid LLM pass due to budget: ${pass.name}`);
58
+ for (const agent of agents) {
59
+ skippedAgents.push({ id: agent.id, name: agent.name, reason: 'Budget limit exceeded' });
60
+ }
61
+ continue;
62
+ }
63
+ for (const agent of agents) {
64
+ console.log(`[router] Running agent: ${agent.name} (${agent.id})`);
65
+ try {
66
+ if (!isKnownAgentId(agent.id)) {
67
+ throw new Error(`Unknown agent id "${agent.id}" has no allowlisted environment`);
68
+ }
69
+ // Check if LLM agent is forbidden on main branch pushes
70
+ // Note: PRs targeting main are allowed (isMainBranchPush returns false for PRs)
71
+ if (isMainBranchPush(routerEnv) && isAgentForbiddenOnMain(agent.id)) {
72
+ console.error(`[router] Policy violation: in-process LLM agent "${agent.id}" is forbidden on direct main push`);
73
+ process.exit(1);
74
+ }
75
+ const scopedContext = {
76
+ ...agentContext,
77
+ env: buildAgentEnv(agent.id, routerEnv),
78
+ // Pass config.provider to honor explicit user override (T010)
79
+ provider: resolveProvider(agent.id, routerEnv, config.provider),
80
+ };
81
+ let result = null;
82
+ // Check cache
83
+ if (options.pr && options.head) {
84
+ const cacheKey = generateCacheKey({
85
+ prNumber: options.pr,
86
+ headSha: options.head,
87
+ configHash: options.configHash,
88
+ agentId: agent.id,
89
+ });
90
+ const cached = await getCached(cacheKey);
91
+ if (cached) {
92
+ console.log(`[router] Cache hit for ${agent.id}`);
93
+ result = cached;
94
+ }
95
+ }
96
+ // Execute agent if not cached
97
+ if (!result) {
98
+ result = await agent.run(scopedContext);
99
+ // Cache successful results
100
+ if (options.pr && options.head && isSuccess(result)) {
101
+ const cacheKey = generateCacheKey({
102
+ prNumber: options.pr,
103
+ headSha: options.head,
104
+ configHash: options.configHash,
105
+ agentId: agent.id,
106
+ });
107
+ await setCache(cacheKey, result);
108
+ }
109
+ }
110
+ allResults.push(result);
111
+ if (isSuccess(result)) {
112
+ console.log(`[router] ${agent.name}: ${result.findings.length} findings in ${result.metrics.durationMs}ms`);
113
+ // FR-002: Annotate findings with provenance: 'complete'
114
+ completeFindings.push(...annotateProvenance(result.findings, 'complete'));
115
+ }
116
+ else if (isFailure(result)) {
117
+ // FR-001: Collect partialFindings from failed agents into separate collection
118
+ if (result.partialFindings.length > 0) {
119
+ // FR-002: Annotate findings with provenance: 'partial'
120
+ partialFindings.push(...annotateProvenance(result.partialFindings, 'partial'));
121
+ console.log(`[router] ${agent.name}: collected ${result.partialFindings.length} partial findings before failure`);
122
+ }
123
+ // Agent failed - check if pass is required
124
+ if (pass.required) {
125
+ console.error(`[router] ❌ Required agent ${agent.name} failed: ${result.error}`);
126
+ process.exit(1);
127
+ }
128
+ // Optional agent failed - log skip reason and continue
129
+ console.log(`[router] ⏭️ Optional agent ${agent.name} skipped: ${result.error}`);
130
+ skippedAgents.push({
131
+ id: agent.id,
132
+ name: agent.name,
133
+ reason: result.error,
134
+ });
135
+ }
136
+ else if (isSkipped(result)) {
137
+ // Agent skipped itself - log and continue
138
+ console.log(`[router] ⏭️ Agent ${agent.name} skipped: ${result.reason}`);
139
+ skippedAgents.push({
140
+ id: agent.id,
141
+ name: agent.name,
142
+ reason: result.reason,
143
+ });
144
+ }
145
+ else {
146
+ // Exhaustive check - compile error if new variant added (FR-003)
147
+ assertNever(result);
148
+ }
149
+ }
150
+ catch (error) {
151
+ const errorMsg = error instanceof Error ? error.message : String(error);
152
+ if (pass.required) {
153
+ console.error(`[router] ❌ Required agent ${agent.name} crashed: ${errorMsg}`);
154
+ process.exit(1);
155
+ }
156
+ console.error(`[router] ⏭️ Optional agent ${agent.name} crashed: ${errorMsg}`);
157
+ skippedAgents.push({ id: agent.id, name: agent.name, reason: errorMsg });
158
+ }
159
+ }
160
+ }
161
+ return {
162
+ completeFindings,
163
+ partialFindings,
164
+ allResults,
165
+ skippedAgents,
166
+ };
167
+ }
168
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/phases/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Phases Module
3
+ *
4
+ * Export all phase functions for orchestration from main.ts.
5
+ */
6
+ export { runPreflightChecks, type PreflightResult } from './preflight.js';
7
+ export { executeAllPasses, type ExecuteOptions, type ExecuteResult, type SkippedAgent, } from './execute.js';
8
+ export { processFindings, dispatchReport, checkGating, type Platform, type ReportOptions, type ProcessedFindings, } from './report.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Phases Module
3
+ *
4
+ * Export all phase functions for orchestration from main.ts.
5
+ */
6
+ export { runPreflightChecks } from './preflight.js';
7
+ export { executeAllPasses, } from './execute.js';
8
+ export { processFindings, dispatchReport, checkGating, } from './report.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAwB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,GAIZ,MAAM,aAAa,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Preflight Checks Module
3
+ *
4
+ * Consolidates all validation that must pass before agent execution.
5
+ * Extracted from main.ts lines 238-313.
6
+ *
7
+ * FR-011: Logs the resolved configuration tuple for debugging and reproducibility.
8
+ */
9
+ import { type Config, type ResolvedConfigTuple } from '../config.js';
10
+ import type { AgentContext } from '../agents/types.js';
11
+ export interface PreflightResult {
12
+ valid: boolean;
13
+ errors: string[];
14
+ /** Warnings that do not block execution (FR-020: warnings never cause non-zero exit) */
15
+ warnings: string[];
16
+ /** Resolved config tuple for logging (FR-011) */
17
+ resolved?: ResolvedConfigTuple;
18
+ }
19
+ /**
20
+ * Run all preflight validation checks.
21
+ * Returns a consolidated result with all errors collected.
22
+ *
23
+ * Order of checks:
24
+ * 1. Agent secrets (API keys for enabled agents)
25
+ * 2. Model configuration (MODEL env or config.models.default or auto-apply)
26
+ * 3. Model-provider match (cloud AI agents have available provider)
27
+ * 4. Provider-model compatibility (resolved provider matches model family)
28
+ * 5. Azure deployment validation (if Azure configured)
29
+ * 6. Ollama config validation (if local_llm enabled)
30
+ * 7. Chat model compatibility (reject completions-only models for cloud agents)
31
+ *
32
+ * FR-011: On success, builds and logs the resolved configuration tuple.
33
+ *
34
+ * @param config - Loaded configuration
35
+ * @param agentContext - Agent context with effective model
36
+ * @param env - Environment variables
37
+ * @param configPath - Optional path to config file (for resolved tuple logging)
38
+ */
39
+ export declare function runPreflightChecks(config: Config, agentContext: AgentContext, env: Record<string, string | undefined>, configPath?: string): PreflightResult;
40
+ //# sourceMappingURL=preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,MAAM,EACX,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wFAAwF;IACxF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,CAqHjB"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Preflight Checks Module
3
+ *
4
+ * Consolidates all validation that must pass before agent execution.
5
+ * Extracted from main.ts lines 238-313.
6
+ *
7
+ * FR-011: Logs the resolved configuration tuple for debugging and reproducibility.
8
+ */
9
+ import { resolveProvider, buildResolvedConfigTuple, } from '../config.js';
10
+ import { validateAgentSecrets, validateModelConfig, validateModelProviderMatch, validateProviderModelCompatibility, validateAzureDeployment, validateOllamaConfig, validateChatModelCompatibility, validateMultiKeyAmbiguity, validateExplicitProviderKeys, resolveEffectiveModelWithDefaults, } from '../preflight.js';
11
+ /**
12
+ * Run all preflight validation checks.
13
+ * Returns a consolidated result with all errors collected.
14
+ *
15
+ * Order of checks:
16
+ * 1. Agent secrets (API keys for enabled agents)
17
+ * 2. Model configuration (MODEL env or config.models.default or auto-apply)
18
+ * 3. Model-provider match (cloud AI agents have available provider)
19
+ * 4. Provider-model compatibility (resolved provider matches model family)
20
+ * 5. Azure deployment validation (if Azure configured)
21
+ * 6. Ollama config validation (if local_llm enabled)
22
+ * 7. Chat model compatibility (reject completions-only models for cloud agents)
23
+ *
24
+ * FR-011: On success, builds and logs the resolved configuration tuple.
25
+ *
26
+ * @param config - Loaded configuration
27
+ * @param agentContext - Agent context with effective model
28
+ * @param env - Environment variables
29
+ * @param configPath - Optional path to config file (for resolved tuple logging)
30
+ */
31
+ export function runPreflightChecks(config, agentContext, env, configPath) {
32
+ const allErrors = [];
33
+ const allWarnings = [];
34
+ // 1. Agent secrets validation
35
+ const secretsCheck = validateAgentSecrets(config, env);
36
+ if (!secretsCheck.valid) {
37
+ allErrors.push(...secretsCheck.errors);
38
+ }
39
+ // Resolve effective model with auto-apply for single-key setups (FR-001)
40
+ const { model: resolvedModel, autoApplied } = resolveEffectiveModelWithDefaults(config, env);
41
+ // Use auto-applied model if available, otherwise use context model
42
+ const effectiveModel = resolvedModel || agentContext.effectiveModel;
43
+ // Log auto-apply behavior (to stderr to keep stdout JSON-clean for --json)
44
+ if (autoApplied && resolvedModel) {
45
+ console.error(`[preflight] Auto-applied default model: ${resolvedModel}`);
46
+ }
47
+ // 2. Model config validation
48
+ const modelCheck = validateModelConfig(effectiveModel, env);
49
+ if (!modelCheck.valid) {
50
+ allErrors.push(...modelCheck.errors);
51
+ }
52
+ // 3. Model-provider match validation
53
+ const matchCheck = validateModelProviderMatch(config, effectiveModel, env);
54
+ if (!matchCheck.valid) {
55
+ allErrors.push(...matchCheck.errors);
56
+ }
57
+ // 4. Provider-model compatibility
58
+ const compatCheck = validateProviderModelCompatibility(config, effectiveModel, env);
59
+ if (!compatCheck.valid) {
60
+ allErrors.push(...compatCheck.errors);
61
+ }
62
+ // 5. Azure deployment validation
63
+ const azureCheck = validateAzureDeployment(env);
64
+ if (!azureCheck.valid) {
65
+ allErrors.push(...azureCheck.errors);
66
+ }
67
+ // 6. Ollama config validation
68
+ const ollamaCheck = validateOllamaConfig(config, env);
69
+ if (!ollamaCheck.valid) {
70
+ allErrors.push(...ollamaCheck.errors);
71
+ }
72
+ // 7. Chat model compatibility (reject codex/completions-only models)
73
+ const chatCheck = validateChatModelCompatibility(config, effectiveModel, env);
74
+ if (!chatCheck.valid) {
75
+ allErrors.push(...chatCheck.errors);
76
+ }
77
+ // 8. Multi-key ambiguity check (T024/T028 - FR-004)
78
+ const multiKeyCheck = validateMultiKeyAmbiguity(config, env);
79
+ if (!multiKeyCheck.valid) {
80
+ allErrors.push(...multiKeyCheck.errors);
81
+ }
82
+ // 9. Explicit provider key check (T026/T028)
83
+ const explicitProviderCheck = validateExplicitProviderKeys(config, env);
84
+ if (!explicitProviderCheck.valid) {
85
+ allErrors.push(...explicitProviderCheck.errors);
86
+ }
87
+ // 10. Platform environment detection for "both" platform (T040-T042, FR-013, FR-014, FR-017)
88
+ // When config has both reporting.github AND reporting.ado, warn if neither platform env is detected
89
+ if (config.reporting.github && config.reporting.ado) {
90
+ const hasGitHub = env['GITHUB_ACTIONS'] === 'true';
91
+ const hasADO = env['TF_BUILD'] === 'True' || !!env['SYSTEM_TEAMFOUNDATIONCOLLECTIONURI'];
92
+ if (!hasGitHub && !hasADO) {
93
+ // FR-017: Warning lists exact env vars checked
94
+ // FR-014, FR-020: This is a warning, not an error (exit 0)
95
+ allWarnings.push('Dual-platform config detected but no CI environment found. ' +
96
+ 'Checked: GITHUB_ACTIONS, TF_BUILD, SYSTEM_TEAMFOUNDATIONCOLLECTIONURI. ' +
97
+ 'Reporting will be skipped unless running in a supported CI environment.');
98
+ }
99
+ }
100
+ // Build resolved config tuple (T018)
101
+ // For provider resolution, pick the first cloud AI agent or fallback to opencode
102
+ const cloudAgents = ['opencode', 'pr_agent', 'ai_semantic_review'];
103
+ const firstCloudAgent = config.passes
104
+ .filter((p) => p.enabled)
105
+ .flatMap((p) => p.agents)
106
+ .find((a) => cloudAgents.includes(a));
107
+ const resolvedProvider = firstCloudAgent
108
+ ? resolveProvider(firstCloudAgent, env, config.provider)
109
+ : null;
110
+ const resolvedTuple = buildResolvedConfigTuple(resolvedProvider, effectiveModel, env, config, configPath);
111
+ // FR-011 / T019: Log resolved config tuple as JSON on success (to stderr to keep stdout JSON-clean)
112
+ if (allErrors.length === 0) {
113
+ console.error(`[preflight] Resolved configuration: ${JSON.stringify(resolvedTuple)}`);
114
+ }
115
+ return {
116
+ valid: allErrors.length === 0,
117
+ errors: allErrors,
118
+ warnings: allWarnings,
119
+ resolved: resolvedTuple,
120
+ };
121
+ }
122
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Report Dispatch Module
3
+ *
4
+ * Handles platform-specific reporting dispatch.
5
+ * Extracted from main.ts lines 449-500.
6
+ */
7
+ import type { Config } from '../config.js';
8
+ import { type Finding, type AgentResult } from '../agents/types.js';
9
+ import type { DiffFile } from '../diff.js';
10
+ import type { SkippedAgent } from './execute.js';
11
+ export type Platform = 'github' | 'ado' | 'unknown';
12
+ export interface ReportOptions {
13
+ dryRun?: boolean;
14
+ owner?: string;
15
+ repoName?: string;
16
+ pr?: number;
17
+ head: string;
18
+ /** Optional: use this SHA for GitHub check runs when the review head is not in the base repo */
19
+ githubHeadSha?: string;
20
+ checkRunId?: number;
21
+ }
22
+ export interface ProcessedFindings {
23
+ deduplicated: Finding[];
24
+ sorted: Finding[];
25
+ partialSorted: Finding[];
26
+ summary: string;
27
+ }
28
+ /**
29
+ * Process findings: deduplicate, sanitize, sort, and generate summary.
30
+ *
31
+ * (012-fix-agent-result-regressions) - Updated to handle completeFindings and partialFindings
32
+ * separately. Partial findings are rendered in a dedicated section but NOT used for gating.
33
+ */
34
+ export declare function processFindings(completeFindings: Finding[], partialFindings: Finding[], allResults: AgentResult[], skippedAgents: SkippedAgent[]): ProcessedFindings;
35
+ /**
36
+ * Dispatch report to the appropriate platform.
37
+ *
38
+ * (012-fix-agent-result-regressions) - Now accepts partialFindings to include
39
+ * in GitHub/ADO reports. Partial findings are rendered in a dedicated section
40
+ * that makes clear they're from failed agents and don't affect gating.
41
+ */
42
+ export declare function dispatchReport(platform: Platform, findings: Finding[], partialFindings: Finding[], config: Config, diffFiles: DiffFile[], routerEnv: Record<string, string | undefined>, prNumber: number, options: ReportOptions): Promise<void>;
43
+ /**
44
+ * Check gating and exit if blocking findings present.
45
+ *
46
+ * FR-008: Gating uses ONLY completeFindings (from successful agents).
47
+ * Partial findings from failed agents are rendered in reports but do NOT block merges.
48
+ * This ensures that agent failures don't cause unexpected CI failures.
49
+ */
50
+ export declare function checkGating(config: Config, completeFindings: Finding[]): void;
51
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,YAAY,EAAE,GAC5B,iBAAiB,CAiEnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmEf;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}