@zhixuan92/multi-model-agent-core 3.12.7 → 4.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 (1486) hide show
  1. package/README.md +135 -2
  2. package/dist/bounded-execution/activity-tracker-types.d.ts +77 -0
  3. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -0
  4. package/dist/bounded-execution/activity-tracker-types.js +23 -0
  5. package/dist/bounded-execution/activity-tracker-types.js.map +1 -0
  6. package/dist/bounded-execution/activity-tracker.d.ts +67 -0
  7. package/dist/bounded-execution/activity-tracker.d.ts.map +1 -0
  8. package/dist/bounded-execution/activity-tracker.js +381 -0
  9. package/dist/bounded-execution/activity-tracker.js.map +1 -0
  10. package/dist/bounded-execution/cost-compute.d.ts +27 -0
  11. package/dist/bounded-execution/cost-compute.d.ts.map +1 -0
  12. package/dist/bounded-execution/cost-compute.js +72 -0
  13. package/dist/bounded-execution/cost-compute.js.map +1 -0
  14. package/dist/bounded-execution/cost-meter.d.ts +20 -0
  15. package/dist/bounded-execution/cost-meter.d.ts.map +1 -0
  16. package/dist/bounded-execution/cost-meter.js +21 -0
  17. package/dist/bounded-execution/cost-meter.js.map +1 -0
  18. package/dist/bounded-execution/cost-rollup.d.ts +17 -0
  19. package/dist/bounded-execution/cost-rollup.d.ts.map +1 -0
  20. package/dist/bounded-execution/cost-rollup.js +40 -0
  21. package/dist/bounded-execution/cost-rollup.js.map +1 -0
  22. package/dist/bounded-execution/error-classifier.d.ts +11 -0
  23. package/dist/bounded-execution/error-classifier.d.ts.map +1 -0
  24. package/dist/bounded-execution/error-classifier.js +23 -0
  25. package/dist/bounded-execution/error-classifier.js.map +1 -0
  26. package/dist/bounded-execution/file-artifact-check.d.ts.map +1 -0
  27. package/dist/bounded-execution/file-artifact-check.js.map +1 -0
  28. package/dist/bounded-execution/idle-guard.d.ts +8 -0
  29. package/dist/bounded-execution/idle-guard.d.ts.map +1 -0
  30. package/dist/bounded-execution/idle-guard.js +18 -0
  31. package/dist/bounded-execution/idle-guard.js.map +1 -0
  32. package/dist/bounded-execution/index.d.ts +7 -0
  33. package/dist/bounded-execution/index.d.ts.map +1 -0
  34. package/dist/bounded-execution/index.js +8 -0
  35. package/dist/bounded-execution/index.js.map +1 -0
  36. package/dist/bounded-execution/wall-clock-guard.d.ts +8 -0
  37. package/dist/bounded-execution/wall-clock-guard.d.ts.map +1 -0
  38. package/dist/bounded-execution/wall-clock-guard.js +27 -0
  39. package/dist/bounded-execution/wall-clock-guard.js.map +1 -0
  40. package/dist/cleanup/batch-retention-sweeper.d.ts +7 -0
  41. package/dist/cleanup/batch-retention-sweeper.d.ts.map +1 -0
  42. package/dist/cleanup/batch-retention-sweeper.js +10 -0
  43. package/dist/cleanup/batch-retention-sweeper.js.map +1 -0
  44. package/dist/cleanup/context-block-gc-sweeper.d.ts +8 -0
  45. package/dist/cleanup/context-block-gc-sweeper.d.ts.map +1 -0
  46. package/dist/cleanup/context-block-gc-sweeper.js +12 -0
  47. package/dist/cleanup/context-block-gc-sweeper.js.map +1 -0
  48. package/dist/cleanup/index.d.ts +5 -0
  49. package/dist/cleanup/index.d.ts.map +1 -0
  50. package/dist/cleanup/index.js +6 -0
  51. package/dist/cleanup/index.js.map +1 -0
  52. package/dist/cleanup/project-idle-cleanup.d.ts +7 -0
  53. package/dist/cleanup/project-idle-cleanup.d.ts.map +1 -0
  54. package/dist/cleanup/project-idle-cleanup.js +15 -0
  55. package/dist/cleanup/project-idle-cleanup.js.map +1 -0
  56. package/dist/cleanup/shutdown-coordinator.d.ts +7 -0
  57. package/dist/cleanup/shutdown-coordinator.d.ts.map +1 -0
  58. package/dist/cleanup/shutdown-coordinator.js +13 -0
  59. package/dist/cleanup/shutdown-coordinator.js.map +1 -0
  60. package/dist/config/canonical-model-identity.d.ts.map +1 -0
  61. package/dist/config/canonical-model-identity.js.map +1 -0
  62. package/dist/config/config-resolver.d.ts +47 -0
  63. package/dist/config/config-resolver.d.ts.map +1 -0
  64. package/dist/config/config-resolver.js +57 -0
  65. package/dist/config/config-resolver.js.map +1 -0
  66. package/dist/config/index.d.ts +8 -0
  67. package/dist/config/index.d.ts.map +1 -0
  68. package/dist/config/index.js +9 -0
  69. package/dist/config/index.js.map +1 -0
  70. package/dist/config/load.d.ts +2 -7
  71. package/dist/config/load.d.ts.map +1 -1
  72. package/dist/config/load.js +4 -16
  73. package/dist/config/load.js.map +1 -1
  74. package/dist/config/model-profile-registry.d.ts +121 -0
  75. package/dist/config/model-profile-registry.d.ts.map +1 -0
  76. package/dist/config/model-profile-registry.js +382 -0
  77. package/dist/config/model-profile-registry.js.map +1 -0
  78. package/dist/config/pricing-table.d.ts +16 -0
  79. package/dist/config/pricing-table.d.ts.map +1 -0
  80. package/dist/config/pricing-table.js +51 -0
  81. package/dist/config/pricing-table.js.map +1 -0
  82. package/dist/config/schema.d.ts +8 -72
  83. package/dist/config/schema.d.ts.map +1 -1
  84. package/dist/config/schema.js +8 -12
  85. package/dist/config/schema.js.map +1 -1
  86. package/dist/config/tier-policy-registry.d.ts +12 -0
  87. package/dist/config/tier-policy-registry.d.ts.map +1 -0
  88. package/dist/config/tier-policy-registry.js +13 -0
  89. package/dist/config/tier-policy-registry.js.map +1 -0
  90. package/dist/error-codes.d.ts +36 -1
  91. package/dist/error-codes.d.ts.map +1 -1
  92. package/dist/error-codes.js +52 -1
  93. package/dist/error-codes.js.map +1 -1
  94. package/dist/escalation/agent-resolver.d.ts +7 -0
  95. package/dist/escalation/agent-resolver.d.ts.map +1 -0
  96. package/dist/escalation/agent-resolver.js +16 -0
  97. package/dist/escalation/agent-resolver.js.map +1 -0
  98. package/dist/escalation/delegate-with-escalation.d.ts +28 -0
  99. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -0
  100. package/dist/escalation/delegate-with-escalation.js +205 -0
  101. package/dist/escalation/delegate-with-escalation.js.map +1 -0
  102. package/dist/escalation/escalation-policy.d.ts +18 -0
  103. package/dist/escalation/escalation-policy.d.ts.map +1 -0
  104. package/dist/escalation/escalation-policy.js +34 -0
  105. package/dist/escalation/escalation-policy.js.map +1 -0
  106. package/dist/escalation/fallback-helpers.d.ts +22 -0
  107. package/dist/escalation/fallback-helpers.d.ts.map +1 -0
  108. package/dist/escalation/fallback-helpers.js +46 -0
  109. package/dist/escalation/fallback-helpers.js.map +1 -0
  110. package/dist/escalation/fallback-types.d.ts +60 -0
  111. package/dist/escalation/fallback-types.d.ts.map +1 -0
  112. package/dist/escalation/fallback-types.js +11 -0
  113. package/dist/escalation/fallback-types.js.map +1 -0
  114. package/dist/escalation/fallback.d.ts +3 -85
  115. package/dist/escalation/fallback.d.ts.map +1 -1
  116. package/dist/escalation/fallback.js +26 -130
  117. package/dist/escalation/fallback.js.map +1 -1
  118. package/dist/escalation/index.d.ts +3 -0
  119. package/dist/escalation/index.d.ts.map +1 -0
  120. package/dist/escalation/index.js +4 -0
  121. package/dist/escalation/index.js.map +1 -0
  122. package/dist/escalation/types.d.ts.map +1 -0
  123. package/dist/escalation/types.js.map +1 -0
  124. package/dist/events/caller-response-channel.d.ts +17 -0
  125. package/dist/events/caller-response-channel.d.ts.map +1 -0
  126. package/dist/events/caller-response-channel.js +10 -0
  127. package/dist/events/caller-response-channel.js.map +1 -0
  128. package/dist/events/clamp.d.ts.map +1 -0
  129. package/dist/events/clamp.js.map +1 -0
  130. package/dist/events/cloud-events.d.ts +114 -0
  131. package/dist/events/cloud-events.d.ts.map +1 -0
  132. package/dist/events/cloud-events.js +59 -0
  133. package/dist/events/cloud-events.js.map +1 -0
  134. package/dist/events/concern-classifier.d.ts +9 -0
  135. package/dist/events/concern-classifier.d.ts.map +1 -0
  136. package/dist/events/concern-classifier.js.map +1 -0
  137. package/dist/events/consent-rules.d.ts.map +1 -0
  138. package/dist/events/consent-rules.js.map +1 -0
  139. package/dist/events/diagnostics-types.d.ts +65 -0
  140. package/dist/events/diagnostics-types.d.ts.map +1 -0
  141. package/dist/events/diagnostics-types.js +2 -0
  142. package/dist/events/diagnostics-types.js.map +1 -0
  143. package/dist/events/event-base.d.ts +14 -0
  144. package/dist/events/event-base.d.ts.map +1 -0
  145. package/dist/events/event-base.js +24 -0
  146. package/dist/events/event-base.js.map +1 -0
  147. package/dist/events/event-builder.d.ts +20 -0
  148. package/dist/events/event-builder.d.ts.map +1 -0
  149. package/dist/events/event-builder.js +347 -0
  150. package/dist/events/event-builder.js.map +1 -0
  151. package/dist/events/event-emitter.d.ts +30 -0
  152. package/dist/events/event-emitter.d.ts.map +1 -0
  153. package/dist/events/event-emitter.js +58 -0
  154. package/dist/events/event-emitter.js.map +1 -0
  155. package/dist/events/http-server-log.d.ts +63 -0
  156. package/dist/events/http-server-log.d.ts.map +1 -0
  157. package/dist/events/http-server-log.js.map +1 -0
  158. package/dist/events/index.d.ts +6 -0
  159. package/dist/events/index.d.ts.map +1 -0
  160. package/dist/events/index.js +7 -0
  161. package/dist/events/index.js.map +1 -0
  162. package/dist/events/jsonl-writer.d.ts.map +1 -0
  163. package/dist/events/jsonl-writer.js.map +1 -0
  164. package/dist/events/local-log-sink.d.ts +10 -0
  165. package/dist/events/local-log-sink.d.ts.map +1 -0
  166. package/dist/events/local-log-sink.js.map +1 -0
  167. package/dist/events/normalize.d.ts +18 -0
  168. package/dist/events/normalize.d.ts.map +1 -0
  169. package/dist/events/normalize.js +18 -0
  170. package/dist/events/normalize.js.map +1 -0
  171. package/dist/events/observability-events.d.ts +1196 -0
  172. package/dist/events/observability-events.d.ts.map +1 -0
  173. package/dist/events/observability-events.js +380 -0
  174. package/dist/events/observability-events.js.map +1 -0
  175. package/dist/events/privacy-filter.d.ts +2 -0
  176. package/dist/events/privacy-filter.d.ts.map +1 -0
  177. package/dist/events/privacy-filter.js +10 -0
  178. package/dist/events/privacy-filter.js.map +1 -0
  179. package/dist/events/request-spill.d.ts.map +1 -0
  180. package/dist/events/request-spill.js.map +1 -0
  181. package/dist/events/telemetry-channel.d.ts +9 -0
  182. package/dist/events/telemetry-channel.d.ts.map +1 -0
  183. package/dist/events/telemetry-channel.js +16 -0
  184. package/dist/events/telemetry-channel.js.map +1 -0
  185. package/dist/events/telemetry-sink.d.ts +12 -0
  186. package/dist/events/telemetry-sink.d.ts.map +1 -0
  187. package/dist/events/telemetry-sink.js +24 -0
  188. package/dist/events/telemetry-sink.js.map +1 -0
  189. package/dist/events/telemetry-types.d.ts +1509 -0
  190. package/dist/events/telemetry-types.d.ts.map +1 -0
  191. package/dist/events/telemetry-types.js +289 -0
  192. package/dist/events/telemetry-types.js.map +1 -0
  193. package/dist/events/verbose-line.d.ts.map +1 -0
  194. package/dist/events/verbose-line.js +99 -0
  195. package/dist/events/verbose-line.js.map +1 -0
  196. package/dist/events/verbose-log-channel.d.ts +9 -0
  197. package/dist/events/verbose-log-channel.d.ts.map +1 -0
  198. package/dist/events/verbose-log-channel.js +26 -0
  199. package/dist/events/verbose-log-channel.js.map +1 -0
  200. package/dist/identity/auth-token-store.d.ts +17 -0
  201. package/dist/identity/auth-token-store.d.ts.map +1 -0
  202. package/dist/identity/auth-token-store.js +67 -0
  203. package/dist/identity/auth-token-store.js.map +1 -0
  204. package/dist/identity/cwd-validator.d.ts +6 -0
  205. package/dist/identity/cwd-validator.d.ts.map +1 -0
  206. package/dist/identity/cwd-validator.js +16 -0
  207. package/dist/identity/cwd-validator.js.map +1 -0
  208. package/dist/identity/host-allowlist.d.ts +6 -0
  209. package/dist/identity/host-allowlist.d.ts.map +1 -0
  210. package/dist/identity/host-allowlist.js +11 -0
  211. package/dist/identity/host-allowlist.js.map +1 -0
  212. package/dist/identity/index.d.ts +6 -0
  213. package/dist/identity/index.d.ts.map +1 -0
  214. package/dist/identity/index.js +7 -0
  215. package/dist/identity/index.js.map +1 -0
  216. package/dist/identity/secret-redactor.d.ts +2 -0
  217. package/dist/identity/secret-redactor.d.ts.map +1 -0
  218. package/dist/identity/secret-redactor.js +35 -0
  219. package/dist/identity/secret-redactor.js.map +1 -0
  220. package/dist/identity/ssrf-guard.d.ts +4 -0
  221. package/dist/identity/ssrf-guard.d.ts.map +1 -0
  222. package/dist/identity/ssrf-guard.js +19 -0
  223. package/dist/identity/ssrf-guard.js.map +1 -0
  224. package/dist/index.d.ts +69 -46
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +48 -30
  227. package/dist/index.js.map +1 -1
  228. package/dist/intake/brief-compiler-slots/audit.d.ts +23 -0
  229. package/dist/intake/brief-compiler-slots/audit.d.ts.map +1 -0
  230. package/dist/intake/brief-compiler-slots/audit.js +61 -0
  231. package/dist/intake/brief-compiler-slots/audit.js.map +1 -0
  232. package/dist/intake/brief-compiler-slots/debug.d.ts +41 -0
  233. package/dist/intake/brief-compiler-slots/debug.d.ts.map +1 -0
  234. package/dist/intake/brief-compiler-slots/debug.js +49 -0
  235. package/dist/intake/brief-compiler-slots/debug.js.map +1 -0
  236. package/dist/intake/brief-compiler-slots/delegate.d.ts +29 -0
  237. package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -0
  238. package/dist/intake/brief-compiler-slots/delegate.js +44 -0
  239. package/dist/intake/brief-compiler-slots/delegate.js.map +1 -0
  240. package/dist/intake/brief-compiler-slots/execute-plan.d.ts +49 -0
  241. package/dist/intake/brief-compiler-slots/execute-plan.d.ts.map +1 -0
  242. package/dist/intake/brief-compiler-slots/execute-plan.js +146 -0
  243. package/dist/intake/brief-compiler-slots/execute-plan.js.map +1 -0
  244. package/dist/intake/brief-compiler-slots/explore.d.ts +43 -0
  245. package/dist/intake/brief-compiler-slots/explore.d.ts.map +1 -0
  246. package/dist/intake/brief-compiler-slots/explore.js +116 -0
  247. package/dist/intake/brief-compiler-slots/explore.js.map +1 -0
  248. package/dist/intake/brief-compiler-slots/investigate.d.ts +26 -0
  249. package/dist/intake/brief-compiler-slots/investigate.d.ts.map +1 -0
  250. package/dist/intake/brief-compiler-slots/investigate.js +42 -0
  251. package/dist/intake/brief-compiler-slots/investigate.js.map +1 -0
  252. package/dist/intake/brief-compiler-slots/register-context-block.d.ts +17 -0
  253. package/dist/intake/brief-compiler-slots/register-context-block.d.ts.map +1 -0
  254. package/dist/intake/brief-compiler-slots/register-context-block.js +17 -0
  255. package/dist/intake/brief-compiler-slots/register-context-block.js.map +1 -0
  256. package/dist/intake/brief-compiler-slots/retry.d.ts +20 -0
  257. package/dist/intake/brief-compiler-slots/retry.d.ts.map +1 -0
  258. package/dist/intake/brief-compiler-slots/retry.js +37 -0
  259. package/dist/intake/brief-compiler-slots/retry.js.map +1 -0
  260. package/dist/intake/brief-compiler-slots/review.d.ts +34 -0
  261. package/dist/intake/brief-compiler-slots/review.d.ts.map +1 -0
  262. package/dist/intake/brief-compiler-slots/review.js +85 -0
  263. package/dist/intake/brief-compiler-slots/review.js.map +1 -0
  264. package/dist/intake/brief-compiler-slots/verify.d.ts +21 -0
  265. package/dist/intake/brief-compiler-slots/verify.d.ts.map +1 -0
  266. package/dist/intake/brief-compiler-slots/verify.js +62 -0
  267. package/dist/intake/brief-compiler-slots/verify.js.map +1 -0
  268. package/dist/intake/brief-compiler.d.ts +9 -0
  269. package/dist/intake/brief-compiler.d.ts.map +1 -0
  270. package/dist/intake/brief-compiler.js +8 -0
  271. package/dist/intake/brief-compiler.js.map +1 -0
  272. package/dist/intake/classify.d.ts.map +1 -1
  273. package/dist/intake/classify.js +3 -2
  274. package/dist/intake/classify.js.map +1 -1
  275. package/dist/intake/field-inferer.d.ts +10 -0
  276. package/dist/intake/field-inferer.d.ts.map +1 -0
  277. package/dist/intake/field-inferer.js +57 -0
  278. package/dist/intake/field-inferer.js.map +1 -0
  279. package/dist/intake/host-allowlist-builder.d.ts +25 -0
  280. package/dist/intake/host-allowlist-builder.d.ts.map +1 -0
  281. package/dist/intake/host-allowlist-builder.js +102 -0
  282. package/dist/intake/host-allowlist-builder.js.map +1 -0
  283. package/dist/intake/index.d.ts +5 -0
  284. package/dist/intake/index.d.ts.map +1 -0
  285. package/dist/intake/index.js +6 -0
  286. package/dist/intake/index.js.map +1 -0
  287. package/dist/intake/pipeline.d.ts +2 -2
  288. package/dist/intake/pipeline.d.ts.map +1 -1
  289. package/dist/intake/pipeline.js +7 -73
  290. package/dist/intake/pipeline.js.map +1 -1
  291. package/dist/intake/plan-extractor.d.ts +20 -0
  292. package/dist/intake/plan-extractor.d.ts.map +1 -0
  293. package/dist/intake/plan-extractor.js +87 -0
  294. package/dist/intake/plan-extractor.js.map +1 -0
  295. package/dist/intake/resolve.d.ts +2 -3
  296. package/dist/intake/resolve.d.ts.map +1 -1
  297. package/dist/intake/resolve.js +4 -12
  298. package/dist/intake/resolve.js.map +1 -1
  299. package/dist/intake/types.d.ts +3 -53
  300. package/dist/intake/types.d.ts.map +1 -1
  301. package/dist/intake/verify-referenced-blocks.d.ts +5 -0
  302. package/dist/intake/verify-referenced-blocks.d.ts.map +1 -0
  303. package/dist/intake/verify-referenced-blocks.js +9 -0
  304. package/dist/intake/verify-referenced-blocks.js.map +1 -0
  305. package/dist/lifecycle/auto-commit.d.ts +18 -0
  306. package/dist/lifecycle/auto-commit.d.ts.map +1 -0
  307. package/dist/lifecycle/auto-commit.js.map +1 -0
  308. package/dist/lifecycle/auto-register-context-block.d.ts +11 -0
  309. package/dist/lifecycle/auto-register-context-block.d.ts.map +1 -0
  310. package/dist/lifecycle/auto-register-context-block.js +18 -0
  311. package/dist/lifecycle/auto-register-context-block.js.map +1 -0
  312. package/dist/lifecycle/executor-output-types.d.ts +51 -0
  313. package/dist/lifecycle/executor-output-types.d.ts.map +1 -0
  314. package/dist/lifecycle/executor-output-types.js +2 -0
  315. package/dist/lifecycle/executor-output-types.js.map +1 -0
  316. package/dist/lifecycle/fallback-report.d.ts.map +1 -0
  317. package/dist/lifecycle/fallback-report.js.map +1 -0
  318. package/dist/lifecycle/handlers/baseline-handlers.d.ts +7 -0
  319. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -0
  320. package/dist/lifecycle/handlers/baseline-handlers.js +193 -0
  321. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -0
  322. package/dist/lifecycle/handlers/commit-stage.d.ts +16 -0
  323. package/dist/lifecycle/handlers/commit-stage.d.ts.map +1 -0
  324. package/dist/lifecycle/handlers/commit-stage.js +52 -0
  325. package/dist/lifecycle/handlers/commit-stage.js.map +1 -0
  326. package/dist/lifecycle/handlers/derive-terminal-status.d.ts +10 -0
  327. package/dist/lifecycle/handlers/derive-terminal-status.d.ts.map +1 -0
  328. package/dist/lifecycle/handlers/derive-terminal-status.js +35 -0
  329. package/dist/lifecycle/handlers/derive-terminal-status.js.map +1 -0
  330. package/dist/lifecycle/handlers/execution-context-builder.d.ts +5 -0
  331. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +1 -0
  332. package/dist/lifecycle/handlers/execution-context-builder.js +16 -0
  333. package/dist/lifecycle/handlers/execution-context-builder.js.map +1 -0
  334. package/dist/lifecycle/handlers/git-commit-handler.d.ts +19 -0
  335. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -0
  336. package/dist/lifecycle/handlers/git-commit-handler.js +52 -0
  337. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -0
  338. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +19 -0
  339. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -0
  340. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +38 -0
  341. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -0
  342. package/dist/lifecycle/handlers/quality-chain-handlers.d.ts +22 -0
  343. package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -0
  344. package/dist/lifecycle/handlers/quality-chain-handlers.js +189 -0
  345. package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -0
  346. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +3 -0
  347. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +1 -0
  348. package/dist/lifecycle/handlers/register-context-block-handlers.js +18 -0
  349. package/dist/lifecycle/handlers/register-context-block-handlers.js.map +1 -0
  350. package/dist/lifecycle/handlers/review-diff-handler.d.ts +31 -0
  351. package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +1 -0
  352. package/dist/lifecycle/handlers/review-diff-handler.js +107 -0
  353. package/dist/lifecycle/handlers/review-diff-handler.js.map +1 -0
  354. package/dist/lifecycle/handlers/run-verify-command-handler.d.ts +25 -0
  355. package/dist/lifecycle/handlers/run-verify-command-handler.d.ts.map +1 -0
  356. package/dist/lifecycle/handlers/run-verify-command-handler.js +75 -0
  357. package/dist/lifecycle/handlers/run-verify-command-handler.js.map +1 -0
  358. package/dist/lifecycle/handlers/spec-chain-handlers.d.ts +21 -0
  359. package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +1 -0
  360. package/dist/lifecycle/handlers/spec-chain-handlers.js +158 -0
  361. package/dist/lifecycle/handlers/spec-chain-handlers.js.map +1 -0
  362. package/dist/lifecycle/handlers/task-executor.d.ts +10 -0
  363. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -0
  364. package/dist/lifecycle/handlers/task-executor.js +16 -0
  365. package/dist/lifecycle/handlers/task-executor.js.map +1 -0
  366. package/dist/lifecycle/handlers/terminal-handlers.d.ts +6 -0
  367. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -0
  368. package/dist/lifecycle/handlers/terminal-handlers.js +106 -0
  369. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -0
  370. package/dist/lifecycle/handlers/verify-stage.d.ts +37 -0
  371. package/dist/lifecycle/handlers/verify-stage.d.ts.map +1 -0
  372. package/dist/lifecycle/handlers/verify-stage.js +208 -0
  373. package/dist/lifecycle/handlers/verify-stage.js.map +1 -0
  374. package/dist/lifecycle/index.d.ts +3 -0
  375. package/dist/lifecycle/index.d.ts.map +1 -0
  376. package/dist/lifecycle/index.js +4 -0
  377. package/dist/lifecycle/index.js.map +1 -0
  378. package/dist/lifecycle/lifecycle-context.d.ts +98 -0
  379. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -0
  380. package/dist/lifecycle/lifecycle-context.js +2 -0
  381. package/dist/lifecycle/lifecycle-context.js.map +1 -0
  382. package/dist/lifecycle/lifecycle-dispatcher.d.ts +36 -0
  383. package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +1 -0
  384. package/dist/lifecycle/lifecycle-dispatcher.js +51 -0
  385. package/dist/lifecycle/lifecycle-dispatcher.js.map +1 -0
  386. package/dist/lifecycle/lifecycle-driver.d.ts +9 -0
  387. package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -0
  388. package/dist/lifecycle/lifecycle-driver.js +30 -0
  389. package/dist/lifecycle/lifecycle-driver.js.map +1 -0
  390. package/dist/lifecycle/metadata-repair.d.ts.map +1 -0
  391. package/dist/lifecycle/metadata-repair.js +33 -0
  392. package/dist/lifecycle/metadata-repair.js.map +1 -0
  393. package/dist/lifecycle/plan-extraction.d.ts.map +1 -0
  394. package/dist/lifecycle/plan-extraction.js.map +1 -0
  395. package/dist/lifecycle/shared-compute.d.ts +5 -0
  396. package/dist/lifecycle/shared-compute.d.ts.map +1 -0
  397. package/dist/lifecycle/shared-compute.js +19 -0
  398. package/dist/lifecycle/shared-compute.js.map +1 -0
  399. package/dist/lifecycle/stage-idle-tracker.d.ts.map +1 -0
  400. package/dist/lifecycle/stage-idle-tracker.js.map +1 -0
  401. package/dist/lifecycle/stage-plan-builder.d.ts +4 -0
  402. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -0
  403. package/dist/lifecycle/stage-plan-builder.js +173 -0
  404. package/dist/lifecycle/stage-plan-builder.js.map +1 -0
  405. package/dist/lifecycle/stage-plan-types.d.ts +102 -0
  406. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -0
  407. package/dist/lifecycle/stage-plan-types.js +2 -0
  408. package/dist/lifecycle/stage-plan-types.js.map +1 -0
  409. package/dist/lifecycle/stage-stats.d.ts +88 -0
  410. package/dist/lifecycle/stage-stats.d.ts.map +1 -0
  411. package/dist/lifecycle/stage-stats.js +156 -0
  412. package/dist/lifecycle/stage-stats.js.map +1 -0
  413. package/dist/lifecycle/task-completion-summary.d.ts.map +1 -0
  414. package/dist/lifecycle/task-completion-summary.js +93 -0
  415. package/dist/lifecycle/task-completion-summary.js.map +1 -0
  416. package/dist/lifecycle/task-executor.d.ts +24 -0
  417. package/dist/lifecycle/task-executor.d.ts.map +1 -0
  418. package/dist/lifecycle/task-executor.js +207 -0
  419. package/dist/lifecycle/task-executor.js.map +1 -0
  420. package/dist/lifecycle/task-runner.d.ts +79 -0
  421. package/dist/lifecycle/task-runner.d.ts.map +1 -0
  422. package/dist/lifecycle/task-runner.js +254 -0
  423. package/dist/lifecycle/task-runner.js.map +1 -0
  424. package/dist/lifecycle/tool-config-types.d.ts +27 -0
  425. package/dist/lifecycle/tool-config-types.d.ts.map +1 -0
  426. package/dist/lifecycle/tool-config-types.js +2 -0
  427. package/dist/lifecycle/tool-config-types.js.map +1 -0
  428. package/dist/lifecycle/worker-status.d.ts +9 -0
  429. package/dist/lifecycle/worker-status.d.ts.map +1 -0
  430. package/dist/lifecycle/worker-status.js +19 -0
  431. package/dist/lifecycle/worker-status.js.map +1 -0
  432. package/dist/model-profiles.json +607 -125
  433. package/dist/providers/anthropic-messages-adapter.d.ts +18 -0
  434. package/dist/providers/anthropic-messages-adapter.d.ts.map +1 -0
  435. package/dist/providers/anthropic-messages-adapter.js +81 -0
  436. package/dist/providers/anthropic-messages-adapter.js.map +1 -0
  437. package/dist/providers/base/research-tools.d.ts.map +1 -0
  438. package/dist/providers/base/research-tools.js.map +1 -0
  439. package/dist/providers/base/result-builders.d.ts +82 -0
  440. package/dist/providers/base/result-builders.d.ts.map +1 -0
  441. package/dist/providers/base/result-builders.js +112 -0
  442. package/dist/providers/base/result-builders.js.map +1 -0
  443. package/dist/providers/base/time-check.d.ts.map +1 -0
  444. package/dist/providers/base/time-check.js.map +1 -0
  445. package/dist/providers/base/types.d.ts +53 -0
  446. package/dist/providers/base/types.d.ts.map +1 -0
  447. package/dist/providers/base/types.js.map +1 -0
  448. package/dist/providers/base/usage-accumulator.d.ts +9 -0
  449. package/dist/providers/base/usage-accumulator.d.ts.map +1 -0
  450. package/dist/providers/base/usage-accumulator.js +20 -0
  451. package/dist/providers/base/usage-accumulator.js.map +1 -0
  452. package/dist/providers/call-cache.d.ts.map +1 -0
  453. package/dist/providers/call-cache.js.map +1 -0
  454. package/dist/providers/error-classification.d.ts +49 -0
  455. package/dist/providers/error-classification.d.ts.map +1 -0
  456. package/dist/providers/error-classification.js +140 -0
  457. package/dist/providers/error-classification.js.map +1 -0
  458. package/dist/providers/file-tracker.d.ts +47 -0
  459. package/dist/providers/file-tracker.d.ts.map +1 -0
  460. package/dist/providers/file-tracker.js +71 -0
  461. package/dist/providers/file-tracker.js.map +1 -0
  462. package/dist/providers/index.d.ts +16 -0
  463. package/dist/providers/index.d.ts.map +1 -0
  464. package/dist/providers/index.js +17 -0
  465. package/dist/providers/index.js.map +1 -0
  466. package/dist/providers/injection-type.d.ts.map +1 -0
  467. package/dist/providers/injection-type.js.map +1 -0
  468. package/dist/providers/make-runner-shell.d.ts +4 -0
  469. package/dist/providers/make-runner-shell.d.ts.map +1 -0
  470. package/dist/providers/make-runner-shell.js +69 -0
  471. package/dist/providers/make-runner-shell.js.map +1 -0
  472. package/dist/providers/openai-chat-adapter.d.ts +17 -0
  473. package/dist/providers/openai-chat-adapter.d.ts.map +1 -0
  474. package/dist/providers/openai-chat-adapter.js +87 -0
  475. package/dist/providers/openai-chat-adapter.js.map +1 -0
  476. package/dist/providers/openai-responses-adapter.d.ts +16 -0
  477. package/dist/providers/openai-responses-adapter.d.ts.map +1 -0
  478. package/dist/providers/openai-responses-adapter.js +109 -0
  479. package/dist/providers/openai-responses-adapter.js.map +1 -0
  480. package/dist/providers/openai-usage-interceptor.d.ts.map +1 -0
  481. package/dist/providers/openai-usage-interceptor.js +121 -0
  482. package/dist/providers/openai-usage-interceptor.js.map +1 -0
  483. package/dist/providers/prevention.d.ts.map +1 -0
  484. package/dist/providers/prevention.js +108 -0
  485. package/dist/providers/prevention.js.map +1 -0
  486. package/dist/providers/provider-factory.d.ts +13 -0
  487. package/dist/providers/provider-factory.d.ts.map +1 -0
  488. package/dist/providers/provider-factory.js +127 -0
  489. package/dist/providers/provider-factory.js.map +1 -0
  490. package/dist/providers/runner-adapter.d.ts +42 -0
  491. package/dist/providers/runner-adapter.d.ts.map +1 -0
  492. package/dist/providers/runner-adapter.js +2 -0
  493. package/dist/providers/runner-adapter.js.map +1 -0
  494. package/dist/providers/runner-shell-types.d.ts +37 -0
  495. package/dist/providers/runner-shell-types.d.ts.map +1 -0
  496. package/dist/providers/runner-shell-types.js +2 -0
  497. package/dist/providers/runner-shell-types.js.map +1 -0
  498. package/dist/providers/runner-shell.d.ts +8 -0
  499. package/dist/providers/runner-shell.d.ts.map +1 -0
  500. package/dist/providers/runner-shell.js +78 -0
  501. package/dist/providers/runner-shell.js.map +1 -0
  502. package/dist/providers/runner-types.d.ts +174 -0
  503. package/dist/providers/runner-types.d.ts.map +1 -0
  504. package/dist/providers/runner-types.js +2 -0
  505. package/dist/providers/runner-types.js.map +1 -0
  506. package/dist/providers/scratchpad-salvager.d.ts +19 -0
  507. package/dist/providers/scratchpad-salvager.d.ts.map +1 -0
  508. package/dist/providers/scratchpad-salvager.js +44 -0
  509. package/dist/providers/scratchpad-salvager.js.map +1 -0
  510. package/dist/providers/stall-detector.d.ts +22 -0
  511. package/dist/providers/stall-detector.d.ts.map +1 -0
  512. package/dist/providers/stall-detector.js +43 -0
  513. package/dist/providers/stall-detector.js.map +1 -0
  514. package/dist/providers/supervision.d.ts +108 -0
  515. package/dist/providers/supervision.d.ts.map +1 -0
  516. package/dist/providers/supervision.js +272 -0
  517. package/dist/providers/supervision.js.map +1 -0
  518. package/dist/providers/text-scratchpad.d.ts +28 -0
  519. package/dist/providers/text-scratchpad.d.ts.map +1 -0
  520. package/dist/providers/text-scratchpad.js +49 -0
  521. package/dist/providers/text-scratchpad.js.map +1 -0
  522. package/dist/providers/tool-definitions.d.ts +6 -0
  523. package/dist/providers/tool-definitions.d.ts.map +1 -0
  524. package/dist/providers/tool-definitions.js +236 -0
  525. package/dist/providers/tool-definitions.js.map +1 -0
  526. package/dist/providers/tool-implementations.d.ts +26 -0
  527. package/dist/providers/tool-implementations.d.ts.map +1 -0
  528. package/dist/providers/tool-implementations.js +221 -0
  529. package/dist/providers/tool-implementations.js.map +1 -0
  530. package/dist/providers/tool-tracker.d.ts +14 -0
  531. package/dist/providers/tool-tracker.d.ts.map +1 -0
  532. package/dist/providers/tool-tracker.js +13 -0
  533. package/dist/providers/tool-tracker.js.map +1 -0
  534. package/dist/reporting/batch-persister.d.ts +4 -0
  535. package/dist/reporting/batch-persister.d.ts.map +1 -0
  536. package/dist/reporting/batch-persister.js +11 -0
  537. package/dist/reporting/batch-persister.js.map +1 -0
  538. package/dist/reporting/commit-stage-runner.d.ts +12 -0
  539. package/dist/reporting/commit-stage-runner.d.ts.map +1 -0
  540. package/dist/reporting/commit-stage-runner.js +43 -0
  541. package/dist/reporting/commit-stage-runner.js.map +1 -0
  542. package/dist/reporting/compose-terminal-headline.d.ts +0 -1
  543. package/dist/reporting/compose-terminal-headline.d.ts.map +1 -1
  544. package/dist/reporting/compose-terminal-headline.js +2 -5
  545. package/dist/reporting/compose-terminal-headline.js.map +1 -1
  546. package/dist/reporting/derive-explore-status.d.ts +1 -1
  547. package/dist/reporting/derive-explore-status.d.ts.map +1 -1
  548. package/dist/reporting/derive-explore-status.js +2 -6
  549. package/dist/reporting/derive-explore-status.js.map +1 -1
  550. package/dist/reporting/derive-investigate-status.d.ts +2 -4
  551. package/dist/reporting/derive-investigate-status.d.ts.map +1 -1
  552. package/dist/reporting/derive-investigate-status.js +3 -10
  553. package/dist/reporting/derive-investigate-status.js.map +1 -1
  554. package/dist/reporting/headline-composer.d.ts +17 -0
  555. package/dist/reporting/headline-composer.d.ts.map +1 -0
  556. package/dist/reporting/headline-composer.js +10 -0
  557. package/dist/reporting/headline-composer.js.map +1 -0
  558. package/dist/reporting/headline-templates/audit.d.ts +3 -0
  559. package/dist/reporting/headline-templates/audit.d.ts.map +1 -0
  560. package/dist/reporting/headline-templates/audit.js +12 -0
  561. package/dist/reporting/headline-templates/audit.js.map +1 -0
  562. package/dist/reporting/headline-templates/debug.d.ts +8 -0
  563. package/dist/reporting/headline-templates/debug.d.ts.map +1 -0
  564. package/dist/reporting/headline-templates/debug.js +15 -0
  565. package/dist/reporting/headline-templates/debug.js.map +1 -0
  566. package/dist/reporting/headline-templates/delegate.d.ts +3 -0
  567. package/dist/reporting/headline-templates/delegate.d.ts.map +1 -0
  568. package/dist/reporting/headline-templates/delegate.js +12 -0
  569. package/dist/reporting/headline-templates/delegate.js.map +1 -0
  570. package/dist/reporting/headline-templates/execute-plan.d.ts +3 -0
  571. package/dist/reporting/headline-templates/execute-plan.d.ts.map +1 -0
  572. package/dist/reporting/headline-templates/execute-plan.js +14 -0
  573. package/dist/reporting/headline-templates/execute-plan.js.map +1 -0
  574. package/dist/reporting/headline-templates/explore.d.ts +3 -0
  575. package/dist/reporting/headline-templates/explore.d.ts.map +1 -0
  576. package/dist/reporting/headline-templates/explore.js +13 -0
  577. package/dist/reporting/headline-templates/explore.js.map +1 -0
  578. package/dist/reporting/headline-templates/investigate.d.ts +13 -0
  579. package/dist/reporting/headline-templates/investigate.d.ts.map +1 -0
  580. package/dist/reporting/headline-templates/investigate.js +53 -0
  581. package/dist/reporting/headline-templates/investigate.js.map +1 -0
  582. package/dist/reporting/headline-templates/register-context-block.d.ts +3 -0
  583. package/dist/reporting/headline-templates/register-context-block.d.ts.map +1 -0
  584. package/dist/reporting/headline-templates/register-context-block.js +6 -0
  585. package/dist/reporting/headline-templates/register-context-block.js.map +1 -0
  586. package/dist/reporting/headline-templates/retry.d.ts +3 -0
  587. package/dist/reporting/headline-templates/retry.d.ts.map +1 -0
  588. package/dist/reporting/headline-templates/retry.js +9 -0
  589. package/dist/reporting/headline-templates/retry.js.map +1 -0
  590. package/dist/reporting/headline-templates/review.d.ts +3 -0
  591. package/dist/reporting/headline-templates/review.d.ts.map +1 -0
  592. package/dist/reporting/headline-templates/review.js +15 -0
  593. package/dist/reporting/headline-templates/review.js.map +1 -0
  594. package/dist/reporting/headline-templates/verify.d.ts +3 -0
  595. package/dist/reporting/headline-templates/verify.d.ts.map +1 -0
  596. package/dist/reporting/headline-templates/verify.js +12 -0
  597. package/dist/reporting/headline-templates/verify.js.map +1 -0
  598. package/dist/reporting/index.d.ts +9 -0
  599. package/dist/reporting/index.d.ts.map +1 -0
  600. package/dist/reporting/index.js +10 -0
  601. package/dist/reporting/index.js.map +1 -0
  602. package/dist/reporting/report-parser-slots/audit-report.d.ts +13 -0
  603. package/dist/reporting/report-parser-slots/audit-report.d.ts.map +1 -0
  604. package/dist/reporting/report-parser-slots/audit-report.js +9 -0
  605. package/dist/reporting/report-parser-slots/audit-report.js.map +1 -0
  606. package/dist/reporting/report-parser-slots/debug-report.d.ts +9 -0
  607. package/dist/reporting/report-parser-slots/debug-report.d.ts.map +1 -0
  608. package/dist/reporting/report-parser-slots/debug-report.js +9 -0
  609. package/dist/reporting/report-parser-slots/debug-report.js.map +1 -0
  610. package/dist/reporting/report-parser-slots/delegate-report.d.ts +8 -0
  611. package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +1 -0
  612. package/dist/reporting/report-parser-slots/delegate-report.js +19 -0
  613. package/dist/reporting/report-parser-slots/delegate-report.js.map +1 -0
  614. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +11 -0
  615. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +1 -0
  616. package/dist/reporting/report-parser-slots/execute-plan-report.js +9 -0
  617. package/dist/reporting/report-parser-slots/execute-plan-report.js.map +1 -0
  618. package/dist/reporting/report-parser-slots/explore-report.d.ts +17 -0
  619. package/dist/reporting/report-parser-slots/explore-report.d.ts.map +1 -0
  620. package/dist/reporting/report-parser-slots/explore-report.js +9 -0
  621. package/dist/reporting/report-parser-slots/explore-report.js.map +1 -0
  622. package/dist/reporting/report-parser-slots/investigate-report.d.ts +46 -0
  623. package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +1 -0
  624. package/dist/reporting/report-parser-slots/investigate-report.js +159 -0
  625. package/dist/reporting/report-parser-slots/investigate-report.js.map +1 -0
  626. package/dist/reporting/report-parser-slots/register-context-block-report.d.ts +8 -0
  627. package/dist/reporting/report-parser-slots/register-context-block-report.d.ts.map +1 -0
  628. package/dist/reporting/report-parser-slots/register-context-block-report.js +9 -0
  629. package/dist/reporting/report-parser-slots/register-context-block-report.js.map +1 -0
  630. package/dist/reporting/report-parser-slots/retry-report.d.ts +8 -0
  631. package/dist/reporting/report-parser-slots/retry-report.d.ts.map +1 -0
  632. package/dist/reporting/report-parser-slots/retry-report.js +9 -0
  633. package/dist/reporting/report-parser-slots/retry-report.js.map +1 -0
  634. package/dist/reporting/report-parser-slots/review-report.d.ts +14 -0
  635. package/dist/reporting/report-parser-slots/review-report.d.ts.map +1 -0
  636. package/dist/reporting/report-parser-slots/review-report.js +9 -0
  637. package/dist/reporting/report-parser-slots/review-report.js.map +1 -0
  638. package/dist/reporting/report-parser-slots/verify-report.d.ts +10 -0
  639. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +1 -0
  640. package/dist/reporting/report-parser-slots/verify-report.js +9 -0
  641. package/dist/reporting/report-parser-slots/verify-report.js.map +1 -0
  642. package/dist/reporting/response-envelope-builder.d.ts +32 -0
  643. package/dist/reporting/response-envelope-builder.d.ts.map +1 -0
  644. package/dist/reporting/response-envelope-builder.js +26 -0
  645. package/dist/reporting/response-envelope-builder.js.map +1 -0
  646. package/dist/reporting/structured-report-parser.d.ts +9 -0
  647. package/dist/reporting/structured-report-parser.d.ts.map +1 -0
  648. package/dist/reporting/structured-report-parser.js +8 -0
  649. package/dist/reporting/structured-report-parser.js.map +1 -0
  650. package/dist/reporting/structured-report.js +1 -1
  651. package/dist/reporting/terminal-block-registrar.d.ts +14 -0
  652. package/dist/reporting/terminal-block-registrar.d.ts.map +1 -0
  653. package/dist/reporting/terminal-block-registrar.js +17 -0
  654. package/dist/reporting/terminal-block-registrar.js.map +1 -0
  655. package/dist/reporting/terminal-status-deriver.d.ts +22 -0
  656. package/dist/reporting/terminal-status-deriver.d.ts.map +1 -0
  657. package/dist/reporting/terminal-status-deriver.js +38 -0
  658. package/dist/reporting/terminal-status-deriver.js.map +1 -0
  659. package/dist/reporting/verify-stage-runner.d.ts +21 -0
  660. package/dist/reporting/verify-stage-runner.d.ts.map +1 -0
  661. package/dist/reporting/verify-stage-runner.js +102 -0
  662. package/dist/reporting/verify-stage-runner.js.map +1 -0
  663. package/dist/research/explore-orchestrator.d.ts +14 -0
  664. package/dist/research/explore-orchestrator.d.ts.map +1 -0
  665. package/dist/research/explore-orchestrator.js +363 -0
  666. package/dist/research/explore-orchestrator.js.map +1 -0
  667. package/dist/research/index.d.ts +3 -0
  668. package/dist/research/index.d.ts.map +1 -0
  669. package/dist/research/index.js +4 -0
  670. package/dist/research/index.js.map +1 -0
  671. package/dist/research/web-fetch-helpers.d.ts +48 -0
  672. package/dist/research/web-fetch-helpers.d.ts.map +1 -0
  673. package/dist/research/web-fetch-helpers.js +225 -0
  674. package/dist/research/web-fetch-helpers.js.map +1 -0
  675. package/dist/research/web-fetch.d.ts.map +1 -1
  676. package/dist/research/web-fetch.js +1 -230
  677. package/dist/research/web-fetch.js.map +1 -1
  678. package/dist/review/annotator-engine.d.ts +30 -0
  679. package/dist/review/annotator-engine.d.ts.map +1 -0
  680. package/dist/review/annotator-engine.js +40 -0
  681. package/dist/review/annotator-engine.js.map +1 -0
  682. package/dist/review/annotator-output-parser.d.ts +13 -0
  683. package/dist/review/annotator-output-parser.d.ts.map +1 -0
  684. package/dist/review/annotator-output-parser.js +24 -0
  685. package/dist/review/annotator-output-parser.js.map +1 -0
  686. package/dist/review/annotator-prompt-builder.d.ts +9 -0
  687. package/dist/review/annotator-prompt-builder.d.ts.map +1 -0
  688. package/dist/review/annotator-prompt-builder.js +28 -0
  689. package/dist/review/annotator-prompt-builder.js.map +1 -0
  690. package/dist/review/default-engines.d.ts +5 -0
  691. package/dist/review/default-engines.d.ts.map +1 -0
  692. package/dist/review/default-engines.js +24 -0
  693. package/dist/review/default-engines.js.map +1 -0
  694. package/dist/review/index.d.ts +8 -0
  695. package/dist/review/index.d.ts.map +1 -0
  696. package/dist/review/index.js +9 -0
  697. package/dist/review/index.js.map +1 -0
  698. package/dist/review/review-types.d.ts +15 -0
  699. package/dist/review/review-types.d.ts.map +1 -0
  700. package/dist/review/review-types.js +3 -0
  701. package/dist/review/review-types.js.map +1 -0
  702. package/dist/review/review-verdict-aggregator.d.ts +17 -0
  703. package/dist/review/review-verdict-aggregator.d.ts.map +1 -0
  704. package/dist/review/review-verdict-aggregator.js +30 -0
  705. package/dist/review/review-verdict-aggregator.js.map +1 -0
  706. package/dist/review/review-verdict-mapping.d.ts +16 -0
  707. package/dist/review/review-verdict-mapping.d.ts.map +1 -0
  708. package/dist/review/review-verdict-mapping.js +24 -0
  709. package/dist/review/review-verdict-mapping.js.map +1 -0
  710. package/dist/review/reviewer-engine.d.ts +54 -0
  711. package/dist/review/reviewer-engine.d.ts.map +1 -0
  712. package/dist/review/reviewer-engine.js +58 -0
  713. package/dist/review/reviewer-engine.js.map +1 -0
  714. package/dist/review/reviewer-output-parser.d.ts +17 -0
  715. package/dist/review/reviewer-output-parser.d.ts.map +1 -0
  716. package/dist/review/reviewer-output-parser.js +62 -0
  717. package/dist/review/reviewer-output-parser.js.map +1 -0
  718. package/dist/review/reviewer-prompt-builder.d.ts +34 -0
  719. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -0
  720. package/dist/review/reviewer-prompt-builder.js +28 -0
  721. package/dist/review/reviewer-prompt-builder.js.map +1 -0
  722. package/dist/review/templates/annotator-audit.d.ts +3 -0
  723. package/dist/review/templates/annotator-audit.d.ts.map +1 -0
  724. package/dist/review/templates/annotator-audit.js +5 -0
  725. package/dist/review/templates/annotator-audit.js.map +1 -0
  726. package/dist/review/templates/annotator-debug.d.ts +3 -0
  727. package/dist/review/templates/annotator-debug.d.ts.map +1 -0
  728. package/dist/review/templates/annotator-debug.js +5 -0
  729. package/dist/review/templates/annotator-debug.js.map +1 -0
  730. package/dist/review/templates/annotator-investigate.d.ts +3 -0
  731. package/dist/review/templates/annotator-investigate.d.ts.map +1 -0
  732. package/dist/review/templates/annotator-investigate.js +5 -0
  733. package/dist/review/templates/annotator-investigate.js.map +1 -0
  734. package/dist/review/templates/annotator-review.d.ts +3 -0
  735. package/dist/review/templates/annotator-review.d.ts.map +1 -0
  736. package/dist/review/templates/annotator-review.js +5 -0
  737. package/dist/review/templates/annotator-review.js.map +1 -0
  738. package/dist/review/templates/annotator-shared.d.ts +10 -0
  739. package/dist/review/templates/annotator-shared.d.ts.map +1 -0
  740. package/dist/review/templates/annotator-shared.js +62 -0
  741. package/dist/review/templates/annotator-shared.js.map +1 -0
  742. package/dist/review/templates/annotator-verify.d.ts +3 -0
  743. package/dist/review/templates/annotator-verify.d.ts.map +1 -0
  744. package/dist/review/templates/annotator-verify.js +5 -0
  745. package/dist/review/templates/annotator-verify.js.map +1 -0
  746. package/dist/review/templates/diff-review.d.ts +3 -0
  747. package/dist/review/templates/diff-review.d.ts.map +1 -0
  748. package/dist/review/templates/diff-review.js +7 -0
  749. package/dist/review/templates/diff-review.js.map +1 -0
  750. package/dist/review/templates/quality-review-artifact.d.ts +3 -0
  751. package/dist/review/templates/quality-review-artifact.d.ts.map +1 -0
  752. package/dist/review/templates/quality-review-artifact.js +8 -0
  753. package/dist/review/templates/quality-review-artifact.js.map +1 -0
  754. package/dist/review/templates/quality-review-audit.d.ts +3 -0
  755. package/dist/review/templates/quality-review-audit.d.ts.map +1 -0
  756. package/dist/review/templates/quality-review-audit.js +9 -0
  757. package/dist/review/templates/quality-review-audit.js.map +1 -0
  758. package/dist/review/templates/quality-review-debug.d.ts +3 -0
  759. package/dist/review/templates/quality-review-debug.d.ts.map +1 -0
  760. package/dist/review/templates/quality-review-debug.js +9 -0
  761. package/dist/review/templates/quality-review-debug.js.map +1 -0
  762. package/dist/review/templates/quality-review-investigate.d.ts +3 -0
  763. package/dist/review/templates/quality-review-investigate.d.ts.map +1 -0
  764. package/dist/review/templates/quality-review-investigate.js +9 -0
  765. package/dist/review/templates/quality-review-investigate.js.map +1 -0
  766. package/dist/review/templates/quality-review-review.d.ts +3 -0
  767. package/dist/review/templates/quality-review-review.d.ts.map +1 -0
  768. package/dist/review/templates/quality-review-review.js +9 -0
  769. package/dist/review/templates/quality-review-review.js.map +1 -0
  770. package/dist/review/templates/quality-review-verify.d.ts +3 -0
  771. package/dist/review/templates/quality-review-verify.d.ts.map +1 -0
  772. package/dist/review/templates/quality-review-verify.js +9 -0
  773. package/dist/review/templates/quality-review-verify.js.map +1 -0
  774. package/dist/review/templates/shared.d.ts +9 -0
  775. package/dist/review/templates/shared.d.ts.map +1 -0
  776. package/dist/review/templates/shared.js +2 -0
  777. package/dist/review/templates/shared.js.map +1 -0
  778. package/dist/review/templates/spec-review.d.ts +3 -0
  779. package/dist/review/templates/spec-review.d.ts.map +1 -0
  780. package/dist/review/templates/spec-review.js +8 -0
  781. package/dist/review/templates/spec-review.js.map +1 -0
  782. package/dist/stores/batch-cache.d.ts +29 -0
  783. package/dist/stores/batch-cache.d.ts.map +1 -0
  784. package/dist/stores/batch-cache.js +89 -0
  785. package/dist/stores/batch-cache.js.map +1 -0
  786. package/dist/stores/batch-registry.d.ts +101 -0
  787. package/dist/stores/batch-registry.d.ts.map +1 -0
  788. package/dist/stores/batch-registry.js +171 -0
  789. package/dist/stores/batch-registry.js.map +1 -0
  790. package/dist/stores/context-block-tool.d.ts +92 -0
  791. package/dist/stores/context-block-tool.d.ts.map +1 -0
  792. package/dist/stores/context-block-tool.js +137 -0
  793. package/dist/stores/context-block-tool.js.map +1 -0
  794. package/dist/stores/expand-context-blocks.d.ts +20 -0
  795. package/dist/stores/expand-context-blocks.d.ts.map +1 -0
  796. package/dist/stores/expand-context-blocks.js +46 -0
  797. package/dist/stores/expand-context-blocks.js.map +1 -0
  798. package/dist/stores/index.d.ts +4 -0
  799. package/dist/stores/index.d.ts.map +1 -0
  800. package/dist/stores/index.js +5 -0
  801. package/dist/stores/index.js.map +1 -0
  802. package/dist/stores/project-context-registry.d.ts +17 -0
  803. package/dist/stores/project-context-registry.d.ts.map +1 -0
  804. package/dist/stores/project-context-registry.js +16 -0
  805. package/dist/stores/project-context-registry.js.map +1 -0
  806. package/dist/tool-surface/discover.d.ts +27 -0
  807. package/dist/tool-surface/discover.d.ts.map +1 -0
  808. package/dist/tool-surface/discover.js +87 -0
  809. package/dist/tool-surface/discover.js.map +1 -0
  810. package/dist/tool-surface/include-utils.d.ts +27 -0
  811. package/dist/tool-surface/include-utils.d.ts.map +1 -0
  812. package/dist/tool-surface/include-utils.js +90 -0
  813. package/dist/tool-surface/include-utils.js.map +1 -0
  814. package/dist/tool-surface/index.d.ts +6 -0
  815. package/dist/tool-surface/index.d.ts.map +1 -0
  816. package/dist/tool-surface/index.js +7 -0
  817. package/dist/tool-surface/index.js.map +1 -0
  818. package/dist/tool-surface/manifest.d.ts +94 -0
  819. package/dist/tool-surface/manifest.d.ts.map +1 -0
  820. package/dist/tool-surface/manifest.js +234 -0
  821. package/dist/tool-surface/manifest.js.map +1 -0
  822. package/dist/tool-surface/openapi-generator.d.ts +15 -0
  823. package/dist/tool-surface/openapi-generator.d.ts.map +1 -0
  824. package/dist/tool-surface/openapi-generator.js +261 -0
  825. package/dist/tool-surface/openapi-generator.js.map +1 -0
  826. package/dist/tool-surface/register-all-tools.d.ts +4 -0
  827. package/dist/tool-surface/register-all-tools.d.ts.map +1 -0
  828. package/dist/tool-surface/register-all-tools.js +33 -0
  829. package/dist/tool-surface/register-all-tools.js.map +1 -0
  830. package/dist/tool-surface/skill-installer-common.d.ts +48 -0
  831. package/dist/tool-surface/skill-installer-common.d.ts.map +1 -0
  832. package/dist/tool-surface/skill-installer-common.js +195 -0
  833. package/dist/tool-surface/skill-installer-common.js.map +1 -0
  834. package/dist/tool-surface/skill-installer.d.ts +10 -0
  835. package/dist/tool-surface/skill-installer.d.ts.map +1 -0
  836. package/dist/tool-surface/skill-installer.js +20 -0
  837. package/dist/tool-surface/skill-installer.js.map +1 -0
  838. package/dist/tool-surface/skill-installers/claude-code.d.ts +43 -0
  839. package/dist/tool-surface/skill-installers/claude-code.d.ts.map +1 -0
  840. package/dist/tool-surface/skill-installers/claude-code.js +65 -0
  841. package/dist/tool-surface/skill-installers/claude-code.js.map +1 -0
  842. package/dist/tool-surface/skill-installers/codex-cli.d.ts +27 -0
  843. package/dist/tool-surface/skill-installers/codex-cli.d.ts.map +1 -0
  844. package/dist/tool-surface/skill-installers/codex-cli.js +84 -0
  845. package/dist/tool-surface/skill-installers/codex-cli.js.map +1 -0
  846. package/dist/tool-surface/skill-installers/cursor.d.ts +72 -0
  847. package/dist/tool-surface/skill-installers/cursor.d.ts.map +1 -0
  848. package/dist/tool-surface/skill-installers/cursor.js +81 -0
  849. package/dist/tool-surface/skill-installers/cursor.js.map +1 -0
  850. package/dist/tool-surface/skill-installers/gemini-cli.d.ts +66 -0
  851. package/dist/tool-surface/skill-installers/gemini-cli.d.ts.map +1 -0
  852. package/dist/tool-surface/skill-installers/gemini-cli.js +111 -0
  853. package/dist/tool-surface/skill-installers/gemini-cli.js.map +1 -0
  854. package/dist/tool-surface/skill-manifest-sync.d.ts +11 -0
  855. package/dist/tool-surface/skill-manifest-sync.d.ts.map +1 -0
  856. package/dist/tool-surface/skill-manifest-sync.js +65 -0
  857. package/dist/tool-surface/skill-manifest-sync.js.map +1 -0
  858. package/dist/tool-surface/tool-surface-registry.d.ts +34 -0
  859. package/dist/tool-surface/tool-surface-registry.d.ts.map +1 -0
  860. package/dist/tool-surface/tool-surface-registry.js +23 -0
  861. package/dist/tool-surface/tool-surface-registry.js.map +1 -0
  862. package/dist/tools/audit/schema.d.ts +67 -0
  863. package/dist/tools/audit/schema.d.ts.map +1 -0
  864. package/dist/tools/audit/schema.js +19 -0
  865. package/dist/tools/audit/schema.js.map +1 -0
  866. package/dist/tools/audit/tool-config.d.ts +17 -0
  867. package/dist/tools/audit/tool-config.d.ts.map +1 -0
  868. package/dist/tools/audit/tool-config.js +144 -0
  869. package/dist/tools/audit/tool-config.js.map +1 -0
  870. package/dist/tools/debug/schema.d.ts +57 -0
  871. package/dist/tools/debug/schema.d.ts.map +1 -0
  872. package/dist/tools/debug/schema.js +16 -0
  873. package/dist/tools/debug/schema.js.map +1 -0
  874. package/dist/tools/debug/tool-config.d.ts +7 -0
  875. package/dist/tools/debug/tool-config.d.ts.map +1 -0
  876. package/dist/tools/debug/tool-config.js +79 -0
  877. package/dist/tools/debug/tool-config.js.map +1 -0
  878. package/dist/tools/delegate/schema.d.ts +70 -0
  879. package/dist/tools/delegate/schema.d.ts.map +1 -0
  880. package/dist/tools/delegate/schema.js +18 -0
  881. package/dist/tools/delegate/schema.js.map +1 -0
  882. package/dist/tools/delegate/tool-config.d.ts +17 -0
  883. package/dist/tools/delegate/tool-config.d.ts.map +1 -0
  884. package/dist/tools/delegate/tool-config.js +56 -0
  885. package/dist/tools/delegate/tool-config.js.map +1 -0
  886. package/dist/tools/execute-plan/schema.d.ts +66 -0
  887. package/dist/tools/execute-plan/schema.d.ts.map +1 -0
  888. package/dist/tools/execute-plan/schema.js +34 -0
  889. package/dist/tools/execute-plan/schema.js.map +1 -0
  890. package/dist/tools/execute-plan/tool-config.d.ts +21 -0
  891. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -0
  892. package/dist/tools/execute-plan/tool-config.js +76 -0
  893. package/dist/tools/execute-plan/tool-config.js.map +1 -0
  894. package/dist/tools/explore/schema.d.ts +9 -0
  895. package/dist/tools/explore/schema.d.ts.map +1 -0
  896. package/dist/tools/explore/schema.js +64 -0
  897. package/dist/tools/explore/schema.js.map +1 -0
  898. package/dist/tools/explore/tool-config.d.ts +7 -0
  899. package/dist/tools/explore/tool-config.d.ts.map +1 -0
  900. package/dist/tools/explore/tool-config.js +36 -0
  901. package/dist/tools/explore/tool-config.js.map +1 -0
  902. package/dist/tools/index.d.ts +11 -0
  903. package/dist/tools/index.d.ts.map +1 -0
  904. package/dist/tools/index.js +16 -0
  905. package/dist/tools/index.js.map +1 -0
  906. package/dist/tools/investigate/schema.d.ts +59 -0
  907. package/dist/tools/investigate/schema.d.ts.map +1 -0
  908. package/dist/tools/investigate/schema.js +12 -0
  909. package/dist/tools/investigate/schema.js.map +1 -0
  910. package/dist/tools/investigate/tool-config.d.ts +23 -0
  911. package/dist/tools/investigate/tool-config.d.ts.map +1 -0
  912. package/dist/tools/investigate/tool-config.js +93 -0
  913. package/dist/tools/investigate/tool-config.js.map +1 -0
  914. package/dist/tools/register-context-block/schema.d.ts +8 -0
  915. package/dist/tools/register-context-block/schema.d.ts.map +1 -0
  916. package/dist/tools/register-context-block/schema.js +7 -0
  917. package/dist/tools/register-context-block/schema.js.map +1 -0
  918. package/dist/tools/register-context-block/tool-config.d.ts +6 -0
  919. package/dist/tools/register-context-block/tool-config.d.ts.map +1 -0
  920. package/dist/tools/register-context-block/tool-config.js +38 -0
  921. package/dist/tools/register-context-block/tool-config.js.map +1 -0
  922. package/dist/tools/retry/schema.d.ts +54 -0
  923. package/dist/tools/retry/schema.d.ts.map +1 -0
  924. package/dist/tools/retry/schema.js +12 -0
  925. package/dist/tools/retry/schema.js.map +1 -0
  926. package/dist/tools/retry/tool-config.d.ts +11 -0
  927. package/dist/tools/retry/tool-config.d.ts.map +1 -0
  928. package/dist/tools/retry/tool-config.js +60 -0
  929. package/dist/tools/retry/tool-config.js.map +1 -0
  930. package/dist/tools/review/schema.d.ts +61 -0
  931. package/dist/tools/review/schema.d.ts.map +1 -0
  932. package/dist/tools/review/schema.js +16 -0
  933. package/dist/tools/review/schema.js.map +1 -0
  934. package/dist/tools/review/tool-config.d.ts +7 -0
  935. package/dist/tools/review/tool-config.d.ts.map +1 -0
  936. package/dist/tools/review/tool-config.js +85 -0
  937. package/dist/tools/review/tool-config.js.map +1 -0
  938. package/dist/tools/shared-output.d.ts +56 -0
  939. package/dist/tools/shared-output.d.ts.map +1 -0
  940. package/dist/tools/shared-output.js +33 -0
  941. package/dist/tools/shared-output.js.map +1 -0
  942. package/dist/tools/verify/schema.d.ts +56 -0
  943. package/dist/tools/verify/schema.d.ts.map +1 -0
  944. package/dist/tools/verify/schema.js +16 -0
  945. package/dist/tools/verify/schema.js.map +1 -0
  946. package/dist/tools/verify/tool-config.d.ts +14 -0
  947. package/dist/tools/verify/tool-config.d.ts.map +1 -0
  948. package/dist/tools/verify/tool-config.js +112 -0
  949. package/dist/tools/verify/tool-config.js.map +1 -0
  950. package/dist/transport/http-listener.d.ts +37 -0
  951. package/dist/transport/http-listener.d.ts.map +1 -0
  952. package/dist/transport/http-listener.js +50 -0
  953. package/dist/transport/http-listener.js.map +1 -0
  954. package/dist/transport/index.d.ts +4 -0
  955. package/dist/transport/index.d.ts.map +1 -0
  956. package/dist/transport/index.js +4 -0
  957. package/dist/transport/index.js.map +1 -0
  958. package/dist/transport/loopback-enforcer.d.ts +29 -0
  959. package/dist/transport/loopback-enforcer.d.ts.map +1 -0
  960. package/dist/transport/loopback-enforcer.js +71 -0
  961. package/dist/transport/loopback-enforcer.js.map +1 -0
  962. package/dist/transport/route-dispatcher.d.ts +34 -0
  963. package/dist/transport/route-dispatcher.d.ts.map +1 -0
  964. package/dist/transport/route-dispatcher.js +62 -0
  965. package/dist/transport/route-dispatcher.js.map +1 -0
  966. package/dist/types/config.d.ts +138 -0
  967. package/dist/types/config.d.ts.map +1 -0
  968. package/dist/types/config.js +2 -0
  969. package/dist/types/config.js.map +1 -0
  970. package/dist/types/enums.d.ts +168 -0
  971. package/dist/types/enums.d.ts.map +1 -0
  972. package/dist/types/enums.js +113 -0
  973. package/dist/types/enums.js.map +1 -0
  974. package/dist/types/run-result.d.ts +130 -0
  975. package/dist/types/run-result.d.ts.map +1 -0
  976. package/dist/types/run-result.js +2 -0
  977. package/dist/types/run-result.js.map +1 -0
  978. package/dist/types/stage-stats.d.ts +85 -0
  979. package/dist/types/stage-stats.d.ts.map +1 -0
  980. package/dist/types/stage-stats.js +6 -0
  981. package/dist/types/stage-stats.js.map +1 -0
  982. package/dist/types/task-spec.d.ts +48 -0
  983. package/dist/types/task-spec.d.ts.map +1 -0
  984. package/dist/types/task-spec.js +2 -0
  985. package/dist/types/task-spec.js.map +1 -0
  986. package/dist/types.d.ts +5 -405
  987. package/dist/types.d.ts.map +1 -1
  988. package/dist/types.js +5 -26
  989. package/dist/types.js.map +1 -1
  990. package/package.json +221 -204
  991. package/dist/auth/claude-oauth.d.ts +0 -6
  992. package/dist/auth/claude-oauth.d.ts.map +0 -1
  993. package/dist/auth/claude-oauth.js +0 -8
  994. package/dist/auth/claude-oauth.js.map +0 -1
  995. package/dist/auth/codex-oauth.d.ts +0 -6
  996. package/dist/auth/codex-oauth.d.ts.map +0 -1
  997. package/dist/auth/codex-oauth.js +0 -50
  998. package/dist/auth/codex-oauth.js.map +0 -1
  999. package/dist/auto-commit.d.ts +0 -18
  1000. package/dist/auto-commit.d.ts.map +0 -1
  1001. package/dist/auto-commit.js.map +0 -1
  1002. package/dist/batch-cache.d.ts +0 -27
  1003. package/dist/batch-cache.d.ts.map +0 -1
  1004. package/dist/batch-cache.js +0 -71
  1005. package/dist/batch-cache.js.map +0 -1
  1006. package/dist/batch-registry.d.ts +0 -85
  1007. package/dist/batch-registry.d.ts.map +0 -1
  1008. package/dist/batch-registry.js +0 -170
  1009. package/dist/batch-registry.js.map +0 -1
  1010. package/dist/config/read-only-review-flag.d.ts +0 -8
  1011. package/dist/config/read-only-review-flag.d.ts.map +0 -1
  1012. package/dist/config/read-only-review-flag.js +0 -14
  1013. package/dist/config/read-only-review-flag.js.map +0 -1
  1014. package/dist/context/context-block-store.d.ts +0 -85
  1015. package/dist/context/context-block-store.d.ts.map +0 -1
  1016. package/dist/context/context-block-store.js +0 -114
  1017. package/dist/context/context-block-store.js.map +0 -1
  1018. package/dist/context/expand-context-blocks.d.ts +0 -20
  1019. package/dist/context/expand-context-blocks.d.ts.map +0 -1
  1020. package/dist/context/expand-context-blocks.js +0 -46
  1021. package/dist/context/expand-context-blocks.js.map +0 -1
  1022. package/dist/cost/compute.d.ts +0 -33
  1023. package/dist/cost/compute.d.ts.map +0 -1
  1024. package/dist/cost/compute.js +0 -67
  1025. package/dist/cost/compute.js.map +0 -1
  1026. package/dist/cost/cost-meter.d.ts +0 -13
  1027. package/dist/cost/cost-meter.d.ts.map +0 -1
  1028. package/dist/cost/cost-meter.js +0 -20
  1029. package/dist/cost/cost-meter.js.map +0 -1
  1030. package/dist/cost/rollup.d.ts +0 -18
  1031. package/dist/cost/rollup.d.ts.map +0 -1
  1032. package/dist/cost/rollup.js +0 -43
  1033. package/dist/cost/rollup.js.map +0 -1
  1034. package/dist/delegate-with-escalation.d.ts +0 -28
  1035. package/dist/delegate-with-escalation.d.ts.map +0 -1
  1036. package/dist/delegate-with-escalation.js +0 -205
  1037. package/dist/delegate-with-escalation.js.map +0 -1
  1038. package/dist/diagnostics/http-server-log.d.ts +0 -63
  1039. package/dist/diagnostics/http-server-log.d.ts.map +0 -1
  1040. package/dist/diagnostics/http-server-log.js.map +0 -1
  1041. package/dist/diagnostics/jsonl-writer.d.ts.map +0 -1
  1042. package/dist/diagnostics/jsonl-writer.js.map +0 -1
  1043. package/dist/diagnostics/request-spill.d.ts.map +0 -1
  1044. package/dist/diagnostics/request-spill.js.map +0 -1
  1045. package/dist/diagnostics/types.d.ts +0 -65
  1046. package/dist/diagnostics/types.d.ts.map +0 -1
  1047. package/dist/diagnostics/types.js.map +0 -1
  1048. package/dist/diagnostics/verbose-line.d.ts.map +0 -1
  1049. package/dist/diagnostics/verbose-line.js +0 -99
  1050. package/dist/diagnostics/verbose-line.js.map +0 -1
  1051. package/dist/effort-inference.d.ts +0 -7
  1052. package/dist/effort-inference.d.ts.map +0 -1
  1053. package/dist/effort-inference.js +0 -22
  1054. package/dist/effort-inference.js.map +0 -1
  1055. package/dist/executors/_shared/findings-schema.d.ts +0 -103
  1056. package/dist/executors/_shared/findings-schema.d.ts.map +0 -1
  1057. package/dist/executors/_shared/findings-schema.js +0 -73
  1058. package/dist/executors/_shared/findings-schema.js.map +0 -1
  1059. package/dist/executors/_shared/review-verdict-mapping.d.ts +0 -16
  1060. package/dist/executors/_shared/review-verdict-mapping.d.ts.map +0 -1
  1061. package/dist/executors/_shared/review-verdict-mapping.js +0 -24
  1062. package/dist/executors/_shared/review-verdict-mapping.js.map +0 -1
  1063. package/dist/executors/audit.d.ts +0 -7
  1064. package/dist/executors/audit.d.ts.map +0 -1
  1065. package/dist/executors/audit.js +0 -181
  1066. package/dist/executors/audit.js.map +0 -1
  1067. package/dist/executors/debug.d.ts +0 -7
  1068. package/dist/executors/debug.d.ts.map +0 -1
  1069. package/dist/executors/debug.js +0 -88
  1070. package/dist/executors/debug.js.map +0 -1
  1071. package/dist/executors/delegate.d.ts +0 -40
  1072. package/dist/executors/delegate.d.ts.map +0 -1
  1073. package/dist/executors/delegate.js +0 -151
  1074. package/dist/executors/delegate.js.map +0 -1
  1075. package/dist/executors/execute-plan.d.ts +0 -11
  1076. package/dist/executors/execute-plan.d.ts.map +0 -1
  1077. package/dist/executors/execute-plan.js +0 -160
  1078. package/dist/executors/execute-plan.js.map +0 -1
  1079. package/dist/executors/execution-context.d.ts +0 -3
  1080. package/dist/executors/execution-context.d.ts.map +0 -1
  1081. package/dist/executors/execution-context.js +0 -25
  1082. package/dist/executors/execution-context.js.map +0 -1
  1083. package/dist/executors/explore.d.ts +0 -13
  1084. package/dist/executors/explore.d.ts.map +0 -1
  1085. package/dist/executors/explore.js +0 -352
  1086. package/dist/executors/explore.js.map +0 -1
  1087. package/dist/executors/index.d.ts +0 -10
  1088. package/dist/executors/index.d.ts.map +0 -1
  1089. package/dist/executors/index.js +0 -11
  1090. package/dist/executors/index.js.map +0 -1
  1091. package/dist/executors/investigate.d.ts +0 -11
  1092. package/dist/executors/investigate.d.ts.map +0 -1
  1093. package/dist/executors/investigate.js +0 -131
  1094. package/dist/executors/investigate.js.map +0 -1
  1095. package/dist/executors/retry.d.ts +0 -20
  1096. package/dist/executors/retry.d.ts.map +0 -1
  1097. package/dist/executors/retry.js +0 -99
  1098. package/dist/executors/retry.js.map +0 -1
  1099. package/dist/executors/review.d.ts +0 -7
  1100. package/dist/executors/review.d.ts.map +0 -1
  1101. package/dist/executors/review.js +0 -152
  1102. package/dist/executors/review.js.map +0 -1
  1103. package/dist/executors/shared-compute.d.ts +0 -5
  1104. package/dist/executors/shared-compute.d.ts.map +0 -1
  1105. package/dist/executors/shared-compute.js +0 -19
  1106. package/dist/executors/shared-compute.js.map +0 -1
  1107. package/dist/executors/types.d.ts +0 -129
  1108. package/dist/executors/types.d.ts.map +0 -1
  1109. package/dist/executors/types.js.map +0 -1
  1110. package/dist/executors/verify.d.ts +0 -7
  1111. package/dist/executors/verify.d.ts.map +0 -1
  1112. package/dist/executors/verify.js +0 -163
  1113. package/dist/executors/verify.js.map +0 -1
  1114. package/dist/file-artifact-check.d.ts.map +0 -1
  1115. package/dist/file-artifact-check.js.map +0 -1
  1116. package/dist/heartbeat.d.ts +0 -139
  1117. package/dist/heartbeat.d.ts.map +0 -1
  1118. package/dist/heartbeat.js +0 -401
  1119. package/dist/heartbeat.js.map +0 -1
  1120. package/dist/intake/clarification-store.d.ts +0 -23
  1121. package/dist/intake/clarification-store.d.ts.map +0 -1
  1122. package/dist/intake/clarification-store.js +0 -106
  1123. package/dist/intake/clarification-store.js.map +0 -1
  1124. package/dist/intake/compilers/audit.d.ts +0 -8
  1125. package/dist/intake/compilers/audit.d.ts.map +0 -1
  1126. package/dist/intake/compilers/audit.js +0 -50
  1127. package/dist/intake/compilers/audit.js.map +0 -1
  1128. package/dist/intake/compilers/debug.d.ts +0 -9
  1129. package/dist/intake/compilers/debug.d.ts.map +0 -1
  1130. package/dist/intake/compilers/debug.js +0 -32
  1131. package/dist/intake/compilers/debug.js.map +0 -1
  1132. package/dist/intake/compilers/delegate.d.ts +0 -16
  1133. package/dist/intake/compilers/delegate.d.ts.map +0 -1
  1134. package/dist/intake/compilers/delegate.js +0 -32
  1135. package/dist/intake/compilers/delegate.js.map +0 -1
  1136. package/dist/intake/compilers/execute-plan.d.ts +0 -14
  1137. package/dist/intake/compilers/execute-plan.d.ts.map +0 -1
  1138. package/dist/intake/compilers/execute-plan.js +0 -49
  1139. package/dist/intake/compilers/execute-plan.js.map +0 -1
  1140. package/dist/intake/compilers/explore.d.ts +0 -29
  1141. package/dist/intake/compilers/explore.d.ts.map +0 -1
  1142. package/dist/intake/compilers/explore.js +0 -108
  1143. package/dist/intake/compilers/explore.js.map +0 -1
  1144. package/dist/intake/compilers/investigate.d.ts +0 -12
  1145. package/dist/intake/compilers/investigate.d.ts.map +0 -1
  1146. package/dist/intake/compilers/investigate.js +0 -34
  1147. package/dist/intake/compilers/investigate.js.map +0 -1
  1148. package/dist/intake/compilers/review.d.ts +0 -9
  1149. package/dist/intake/compilers/review.d.ts.map +0 -1
  1150. package/dist/intake/compilers/review.js +0 -51
  1151. package/dist/intake/compilers/review.js.map +0 -1
  1152. package/dist/intake/compilers/verify.d.ts +0 -8
  1153. package/dist/intake/compilers/verify.d.ts.map +0 -1
  1154. package/dist/intake/compilers/verify.js +0 -52
  1155. package/dist/intake/compilers/verify.js.map +0 -1
  1156. package/dist/intake/confirm.d.ts +0 -7
  1157. package/dist/intake/confirm.d.ts.map +0 -1
  1158. package/dist/intake/confirm.js +0 -109
  1159. package/dist/intake/confirm.js.map +0 -1
  1160. package/dist/intake/feature-flag.d.ts +0 -6
  1161. package/dist/intake/feature-flag.d.ts.map +0 -1
  1162. package/dist/intake/feature-flag.js +0 -13
  1163. package/dist/intake/feature-flag.js.map +0 -1
  1164. package/dist/intake/force-clarification.d.ts +0 -5
  1165. package/dist/intake/force-clarification.d.ts.map +0 -1
  1166. package/dist/intake/force-clarification.js +0 -44
  1167. package/dist/intake/force-clarification.js.map +0 -1
  1168. package/dist/intake/infer.d.ts +0 -3
  1169. package/dist/intake/infer.d.ts.map +0 -1
  1170. package/dist/intake/infer.js +0 -42
  1171. package/dist/intake/infer.js.map +0 -1
  1172. package/dist/observability/buckets.d.ts +0 -3
  1173. package/dist/observability/buckets.d.ts.map +0 -1
  1174. package/dist/observability/buckets.js +0 -21
  1175. package/dist/observability/buckets.js.map +0 -1
  1176. package/dist/observability/bus.d.ts +0 -11
  1177. package/dist/observability/bus.d.ts.map +0 -1
  1178. package/dist/observability/bus.js +0 -37
  1179. package/dist/observability/bus.js.map +0 -1
  1180. package/dist/observability/events.d.ts +0 -1276
  1181. package/dist/observability/events.d.ts.map +0 -1
  1182. package/dist/observability/events.js +0 -476
  1183. package/dist/observability/events.js.map +0 -1
  1184. package/dist/observability/local-log-sink.d.ts +0 -10
  1185. package/dist/observability/local-log-sink.d.ts.map +0 -1
  1186. package/dist/observability/local-log-sink.js.map +0 -1
  1187. package/dist/observability/telemetry-sink.d.ts +0 -12
  1188. package/dist/observability/telemetry-sink.d.ts.map +0 -1
  1189. package/dist/observability/telemetry-sink.js +0 -24
  1190. package/dist/observability/telemetry-sink.js.map +0 -1
  1191. package/dist/project-context.d.ts +0 -19
  1192. package/dist/project-context.d.ts.map +0 -1
  1193. package/dist/project-context.js +0 -18
  1194. package/dist/project-context.js.map +0 -1
  1195. package/dist/provider.d.ts +0 -5
  1196. package/dist/provider.d.ts.map +0 -1
  1197. package/dist/provider.js +0 -127
  1198. package/dist/provider.js.map +0 -1
  1199. package/dist/readiness/readiness.d.ts +0 -14
  1200. package/dist/readiness/readiness.d.ts.map +0 -1
  1201. package/dist/readiness/readiness.js +0 -162
  1202. package/dist/readiness/readiness.js.map +0 -1
  1203. package/dist/reporting/compose-investigate-headline.d.ts +0 -11
  1204. package/dist/reporting/compose-investigate-headline.d.ts.map +0 -1
  1205. package/dist/reporting/compose-investigate-headline.js +0 -29
  1206. package/dist/reporting/compose-investigate-headline.js.map +0 -1
  1207. package/dist/reporting/parse-investigation-report.d.ts +0 -39
  1208. package/dist/reporting/parse-investigation-report.d.ts.map +0 -1
  1209. package/dist/reporting/parse-investigation-report.js +0 -150
  1210. package/dist/reporting/parse-investigation-report.js.map +0 -1
  1211. package/dist/research/allowlist.d.ts +0 -25
  1212. package/dist/research/allowlist.d.ts.map +0 -1
  1213. package/dist/research/allowlist.js +0 -102
  1214. package/dist/research/allowlist.js.map +0 -1
  1215. package/dist/review/aggregate-result.d.ts +0 -5
  1216. package/dist/review/aggregate-result.d.ts.map +0 -1
  1217. package/dist/review/aggregate-result.js +0 -35
  1218. package/dist/review/aggregate-result.js.map +0 -1
  1219. package/dist/review/diff-review.d.ts +0 -46
  1220. package/dist/review/diff-review.d.ts.map +0 -1
  1221. package/dist/review/diff-review.js +0 -65
  1222. package/dist/review/diff-review.js.map +0 -1
  1223. package/dist/review/evidence.d.ts +0 -15
  1224. package/dist/review/evidence.d.ts.map +0 -1
  1225. package/dist/review/evidence.js +0 -26
  1226. package/dist/review/evidence.js.map +0 -1
  1227. package/dist/review/fallback-extraction.d.ts +0 -17
  1228. package/dist/review/fallback-extraction.d.ts.map +0 -1
  1229. package/dist/review/fallback-extraction.js +0 -189
  1230. package/dist/review/fallback-extraction.js.map +0 -1
  1231. package/dist/review/parse-reviewer-findings.d.ts +0 -26
  1232. package/dist/review/parse-reviewer-findings.d.ts.map +0 -1
  1233. package/dist/review/parse-reviewer-findings.js +0 -73
  1234. package/dist/review/parse-reviewer-findings.js.map +0 -1
  1235. package/dist/review/quality-only-prompts.d.ts +0 -33
  1236. package/dist/review/quality-only-prompts.d.ts.map +0 -1
  1237. package/dist/review/quality-only-prompts.js +0 -106
  1238. package/dist/review/quality-only-prompts.js.map +0 -1
  1239. package/dist/review/quality-reviewer.d.ts +0 -67
  1240. package/dist/review/quality-reviewer.d.ts.map +0 -1
  1241. package/dist/review/quality-reviewer.js +0 -200
  1242. package/dist/review/quality-reviewer.js.map +0 -1
  1243. package/dist/review/reviewer-prompt.d.ts +0 -14
  1244. package/dist/review/reviewer-prompt.d.ts.map +0 -1
  1245. package/dist/review/reviewer-prompt.js +0 -54
  1246. package/dist/review/reviewer-prompt.js.map +0 -1
  1247. package/dist/review/spec-reviewer.d.ts +0 -26
  1248. package/dist/review/spec-reviewer.d.ts.map +0 -1
  1249. package/dist/review/spec-reviewer.js +0 -85
  1250. package/dist/review/spec-reviewer.js.map +0 -1
  1251. package/dist/routing/canonical-model-identity.d.ts.map +0 -1
  1252. package/dist/routing/canonical-model-identity.js.map +0 -1
  1253. package/dist/routing/canonical-model.d.ts +0 -7
  1254. package/dist/routing/canonical-model.d.ts.map +0 -1
  1255. package/dist/routing/canonical-model.js +0 -11
  1256. package/dist/routing/canonical-model.js.map +0 -1
  1257. package/dist/routing/model-profiles.d.ts +0 -126
  1258. package/dist/routing/model-profiles.d.ts.map +0 -1
  1259. package/dist/routing/model-profiles.js +0 -393
  1260. package/dist/routing/model-profiles.js.map +0 -1
  1261. package/dist/routing/resolve-agent.d.ts +0 -8
  1262. package/dist/routing/resolve-agent.d.ts.map +0 -1
  1263. package/dist/routing/resolve-agent.js +0 -45
  1264. package/dist/routing/resolve-agent.js.map +0 -1
  1265. package/dist/routing/types.d.ts.map +0 -1
  1266. package/dist/routing/types.js +0 -2
  1267. package/dist/routing/types.js.map +0 -1
  1268. package/dist/run-tasks/commit-stage.d.ts +0 -16
  1269. package/dist/run-tasks/commit-stage.d.ts.map +0 -1
  1270. package/dist/run-tasks/commit-stage.js +0 -52
  1271. package/dist/run-tasks/commit-stage.js.map +0 -1
  1272. package/dist/run-tasks/derive-terminal-status.d.ts +0 -4
  1273. package/dist/run-tasks/derive-terminal-status.d.ts.map +0 -1
  1274. package/dist/run-tasks/derive-terminal-status.js +0 -25
  1275. package/dist/run-tasks/derive-terminal-status.js.map +0 -1
  1276. package/dist/run-tasks/execute-task.d.ts +0 -20
  1277. package/dist/run-tasks/execute-task.d.ts.map +0 -1
  1278. package/dist/run-tasks/execute-task.js +0 -30
  1279. package/dist/run-tasks/execute-task.js.map +0 -1
  1280. package/dist/run-tasks/fallback-report.d.ts.map +0 -1
  1281. package/dist/run-tasks/fallback-report.js.map +0 -1
  1282. package/dist/run-tasks/index.d.ts +0 -59
  1283. package/dist/run-tasks/index.d.ts.map +0 -1
  1284. package/dist/run-tasks/index.js +0 -119
  1285. package/dist/run-tasks/index.js.map +0 -1
  1286. package/dist/run-tasks/metadata-repair.d.ts.map +0 -1
  1287. package/dist/run-tasks/metadata-repair.js +0 -29
  1288. package/dist/run-tasks/metadata-repair.js.map +0 -1
  1289. package/dist/run-tasks/plan-extraction.d.ts.map +0 -1
  1290. package/dist/run-tasks/plan-extraction.js.map +0 -1
  1291. package/dist/run-tasks/reviewed-lifecycle.d.ts +0 -113
  1292. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +0 -1
  1293. package/dist/run-tasks/reviewed-lifecycle.js +0 -1899
  1294. package/dist/run-tasks/reviewed-lifecycle.js.map +0 -1
  1295. package/dist/run-tasks/stage-idle-tracker.d.ts.map +0 -1
  1296. package/dist/run-tasks/stage-idle-tracker.js.map +0 -1
  1297. package/dist/run-tasks/task-completion-summary.d.ts.map +0 -1
  1298. package/dist/run-tasks/task-completion-summary.js +0 -70
  1299. package/dist/run-tasks/task-completion-summary.js.map +0 -1
  1300. package/dist/run-tasks/verify-stage.d.ts +0 -25
  1301. package/dist/run-tasks/verify-stage.d.ts.map +0 -1
  1302. package/dist/run-tasks/verify-stage.js +0 -168
  1303. package/dist/run-tasks/verify-stage.js.map +0 -1
  1304. package/dist/run-tasks/worker-status.d.ts +0 -9
  1305. package/dist/run-tasks/worker-status.d.ts.map +0 -1
  1306. package/dist/run-tasks/worker-status.js +0 -19
  1307. package/dist/run-tasks/worker-status.js.map +0 -1
  1308. package/dist/runners/base/research-tools.d.ts.map +0 -1
  1309. package/dist/runners/base/research-tools.js.map +0 -1
  1310. package/dist/runners/base/result-builders.d.ts +0 -94
  1311. package/dist/runners/base/result-builders.d.ts.map +0 -1
  1312. package/dist/runners/base/result-builders.js +0 -134
  1313. package/dist/runners/base/result-builders.js.map +0 -1
  1314. package/dist/runners/base/time-check.d.ts.map +0 -1
  1315. package/dist/runners/base/time-check.js.map +0 -1
  1316. package/dist/runners/base/types.d.ts +0 -53
  1317. package/dist/runners/base/types.d.ts.map +0 -1
  1318. package/dist/runners/base/types.js +0 -2
  1319. package/dist/runners/base/types.js.map +0 -1
  1320. package/dist/runners/base/usage-accumulator.d.ts +0 -10
  1321. package/dist/runners/base/usage-accumulator.d.ts.map +0 -1
  1322. package/dist/runners/base/usage-accumulator.js +0 -22
  1323. package/dist/runners/base/usage-accumulator.js.map +0 -1
  1324. package/dist/runners/claude-runner.d.ts +0 -17
  1325. package/dist/runners/claude-runner.d.ts.map +0 -1
  1326. package/dist/runners/claude-runner.js +0 -962
  1327. package/dist/runners/claude-runner.js.map +0 -1
  1328. package/dist/runners/codex-runner.d.ts +0 -32
  1329. package/dist/runners/codex-runner.d.ts.map +0 -1
  1330. package/dist/runners/codex-runner.js +0 -992
  1331. package/dist/runners/codex-runner.js.map +0 -1
  1332. package/dist/runners/error-classification.d.ts +0 -49
  1333. package/dist/runners/error-classification.d.ts.map +0 -1
  1334. package/dist/runners/error-classification.js +0 -140
  1335. package/dist/runners/error-classification.js.map +0 -1
  1336. package/dist/runners/injection-type.d.ts.map +0 -1
  1337. package/dist/runners/injection-type.js.map +0 -1
  1338. package/dist/runners/openai-runner.d.ts +0 -74
  1339. package/dist/runners/openai-runner.d.ts.map +0 -1
  1340. package/dist/runners/openai-runner.js +0 -934
  1341. package/dist/runners/openai-runner.js.map +0 -1
  1342. package/dist/runners/openai-usage-interceptor.d.ts.map +0 -1
  1343. package/dist/runners/openai-usage-interceptor.js +0 -121
  1344. package/dist/runners/openai-usage-interceptor.js.map +0 -1
  1345. package/dist/runners/prevention.d.ts.map +0 -1
  1346. package/dist/runners/prevention.js +0 -108
  1347. package/dist/runners/prevention.js.map +0 -1
  1348. package/dist/runners/supervision.d.ts +0 -129
  1349. package/dist/runners/supervision.d.ts.map +0 -1
  1350. package/dist/runners/supervision.js +0 -310
  1351. package/dist/runners/supervision.js.map +0 -1
  1352. package/dist/runners/types.d.ts +0 -174
  1353. package/dist/runners/types.d.ts.map +0 -1
  1354. package/dist/runners/types.js +0 -2
  1355. package/dist/runners/types.js.map +0 -1
  1356. package/dist/telemetry/bucketing.d.ts +0 -13
  1357. package/dist/telemetry/bucketing.d.ts.map +0 -1
  1358. package/dist/telemetry/bucketing.js +0 -61
  1359. package/dist/telemetry/bucketing.js.map +0 -1
  1360. package/dist/telemetry/clamp.d.ts.map +0 -1
  1361. package/dist/telemetry/clamp.js.map +0 -1
  1362. package/dist/telemetry/concern-classifier.d.ts +0 -9
  1363. package/dist/telemetry/concern-classifier.d.ts.map +0 -1
  1364. package/dist/telemetry/concern-classifier.js.map +0 -1
  1365. package/dist/telemetry/consent-rules.d.ts.map +0 -1
  1366. package/dist/telemetry/consent-rules.js.map +0 -1
  1367. package/dist/telemetry/event-builder.d.ts +0 -15
  1368. package/dist/telemetry/event-builder.d.ts.map +0 -1
  1369. package/dist/telemetry/event-builder.js +0 -327
  1370. package/dist/telemetry/event-builder.js.map +0 -1
  1371. package/dist/telemetry/field-coverage.d.ts +0 -17
  1372. package/dist/telemetry/field-coverage.d.ts.map +0 -1
  1373. package/dist/telemetry/field-coverage.js +0 -110
  1374. package/dist/telemetry/field-coverage.js.map +0 -1
  1375. package/dist/telemetry/normalize.d.ts +0 -18
  1376. package/dist/telemetry/normalize.d.ts.map +0 -1
  1377. package/dist/telemetry/normalize.js +0 -18
  1378. package/dist/telemetry/normalize.js.map +0 -1
  1379. package/dist/telemetry/types.d.ts +0 -1517
  1380. package/dist/telemetry/types.d.ts.map +0 -1
  1381. package/dist/telemetry/types.js +0 -320
  1382. package/dist/telemetry/types.js.map +0 -1
  1383. package/dist/tool-schemas/audit.d.ts +0 -71
  1384. package/dist/tool-schemas/audit.d.ts.map +0 -1
  1385. package/dist/tool-schemas/audit.js +0 -19
  1386. package/dist/tool-schemas/audit.js.map +0 -1
  1387. package/dist/tool-schemas/debug.d.ts +0 -61
  1388. package/dist/tool-schemas/debug.d.ts.map +0 -1
  1389. package/dist/tool-schemas/debug.js +0 -16
  1390. package/dist/tool-schemas/debug.js.map +0 -1
  1391. package/dist/tool-schemas/delegate.d.ts +0 -71
  1392. package/dist/tool-schemas/delegate.d.ts.map +0 -1
  1393. package/dist/tool-schemas/delegate.js +0 -21
  1394. package/dist/tool-schemas/delegate.js.map +0 -1
  1395. package/dist/tool-schemas/execute-plan.d.ts +0 -70
  1396. package/dist/tool-schemas/execute-plan.d.ts.map +0 -1
  1397. package/dist/tool-schemas/execute-plan.js +0 -34
  1398. package/dist/tool-schemas/execute-plan.js.map +0 -1
  1399. package/dist/tool-schemas/explore.d.ts +0 -9
  1400. package/dist/tool-schemas/explore.d.ts.map +0 -1
  1401. package/dist/tool-schemas/explore.js +0 -64
  1402. package/dist/tool-schemas/explore.js.map +0 -1
  1403. package/dist/tool-schemas/index.d.ts +0 -8
  1404. package/dist/tool-schemas/index.d.ts.map +0 -1
  1405. package/dist/tool-schemas/index.js +0 -9
  1406. package/dist/tool-schemas/index.js.map +0 -1
  1407. package/dist/tool-schemas/investigate.d.ts +0 -63
  1408. package/dist/tool-schemas/investigate.d.ts.map +0 -1
  1409. package/dist/tool-schemas/investigate.js +0 -12
  1410. package/dist/tool-schemas/investigate.js.map +0 -1
  1411. package/dist/tool-schemas/retry.d.ts +0 -58
  1412. package/dist/tool-schemas/retry.d.ts.map +0 -1
  1413. package/dist/tool-schemas/retry.js +0 -12
  1414. package/dist/tool-schemas/retry.js.map +0 -1
  1415. package/dist/tool-schemas/review.d.ts +0 -65
  1416. package/dist/tool-schemas/review.d.ts.map +0 -1
  1417. package/dist/tool-schemas/review.js +0 -16
  1418. package/dist/tool-schemas/review.js.map +0 -1
  1419. package/dist/tool-schemas/shared-output.d.ts +0 -60
  1420. package/dist/tool-schemas/shared-output.d.ts.map +0 -1
  1421. package/dist/tool-schemas/shared-output.js +0 -31
  1422. package/dist/tool-schemas/shared-output.js.map +0 -1
  1423. package/dist/tool-schemas/verify.d.ts +0 -60
  1424. package/dist/tool-schemas/verify.d.ts.map +0 -1
  1425. package/dist/tool-schemas/verify.js +0 -16
  1426. package/dist/tool-schemas/verify.js.map +0 -1
  1427. package/dist/tools/call-cache.d.ts.map +0 -1
  1428. package/dist/tools/call-cache.js.map +0 -1
  1429. package/dist/tools/claude-adapter.d.ts +0 -4
  1430. package/dist/tools/claude-adapter.d.ts.map +0 -1
  1431. package/dist/tools/claude-adapter.js +0 -63
  1432. package/dist/tools/claude-adapter.js.map +0 -1
  1433. package/dist/tools/definitions.d.ts +0 -26
  1434. package/dist/tools/definitions.d.ts.map +0 -1
  1435. package/dist/tools/definitions.js +0 -221
  1436. package/dist/tools/definitions.js.map +0 -1
  1437. package/dist/tools/openai-adapter.d.ts +0 -13
  1438. package/dist/tools/openai-adapter.d.ts.map +0 -1
  1439. package/dist/tools/openai-adapter.js +0 -100
  1440. package/dist/tools/openai-adapter.js.map +0 -1
  1441. package/dist/tools/scratchpad.d.ts +0 -28
  1442. package/dist/tools/scratchpad.d.ts.map +0 -1
  1443. package/dist/tools/scratchpad.js +0 -49
  1444. package/dist/tools/scratchpad.js.map +0 -1
  1445. package/dist/tools/tracker.d.ts +0 -47
  1446. package/dist/tools/tracker.d.ts.map +0 -1
  1447. package/dist/tools/tracker.js +0 -71
  1448. package/dist/tools/tracker.js.map +0 -1
  1449. /package/dist/{file-artifact-check.d.ts → bounded-execution/file-artifact-check.d.ts} +0 -0
  1450. /package/dist/{file-artifact-check.js → bounded-execution/file-artifact-check.js} +0 -0
  1451. /package/dist/{routing → config}/canonical-model-identity.d.ts +0 -0
  1452. /package/dist/{routing → config}/canonical-model-identity.js +0 -0
  1453. /package/dist/{routing → escalation}/types.d.ts +0 -0
  1454. /package/dist/{diagnostics → escalation}/types.js +0 -0
  1455. /package/dist/{telemetry → events}/clamp.d.ts +0 -0
  1456. /package/dist/{telemetry → events}/clamp.js +0 -0
  1457. /package/dist/{telemetry → events}/concern-classifier.js +0 -0
  1458. /package/dist/{telemetry → events}/consent-rules.d.ts +0 -0
  1459. /package/dist/{telemetry → events}/consent-rules.js +0 -0
  1460. /package/dist/{diagnostics → events}/http-server-log.js +0 -0
  1461. /package/dist/{diagnostics → events}/jsonl-writer.d.ts +0 -0
  1462. /package/dist/{diagnostics → events}/jsonl-writer.js +0 -0
  1463. /package/dist/{observability → events}/local-log-sink.js +0 -0
  1464. /package/dist/{diagnostics → events}/request-spill.d.ts +0 -0
  1465. /package/dist/{diagnostics → events}/request-spill.js +0 -0
  1466. /package/dist/{diagnostics → events}/verbose-line.d.ts +0 -0
  1467. /package/dist/{auto-commit.js → lifecycle/auto-commit.js} +0 -0
  1468. /package/dist/{run-tasks → lifecycle}/fallback-report.d.ts +0 -0
  1469. /package/dist/{run-tasks → lifecycle}/fallback-report.js +0 -0
  1470. /package/dist/{run-tasks → lifecycle}/metadata-repair.d.ts +0 -0
  1471. /package/dist/{run-tasks → lifecycle}/plan-extraction.d.ts +0 -0
  1472. /package/dist/{run-tasks → lifecycle}/plan-extraction.js +0 -0
  1473. /package/dist/{run-tasks → lifecycle}/stage-idle-tracker.d.ts +0 -0
  1474. /package/dist/{run-tasks → lifecycle}/stage-idle-tracker.js +0 -0
  1475. /package/dist/{run-tasks → lifecycle}/task-completion-summary.d.ts +0 -0
  1476. /package/dist/{runners → providers}/base/research-tools.d.ts +0 -0
  1477. /package/dist/{runners → providers}/base/research-tools.js +0 -0
  1478. /package/dist/{runners → providers}/base/time-check.d.ts +0 -0
  1479. /package/dist/{runners → providers}/base/time-check.js +0 -0
  1480. /package/dist/{executors → providers/base}/types.js +0 -0
  1481. /package/dist/{tools → providers}/call-cache.d.ts +0 -0
  1482. /package/dist/{tools → providers}/call-cache.js +0 -0
  1483. /package/dist/{runners → providers}/injection-type.d.ts +0 -0
  1484. /package/dist/{runners → providers}/injection-type.js +0 -0
  1485. /package/dist/{runners → providers}/openai-usage-interceptor.d.ts +0 -0
  1486. /package/dist/{runners → providers}/prevention.d.ts +0 -0
@@ -1,934 +0,0 @@
1
- import { Agent, run as agentRun, setTracingDisabled, OpenAIChatCompletionsModel, MaxTurnsExceededError, tool, } from '@openai/agents';
2
- import { createHash } from 'node:crypto';
3
- import { z } from 'zod';
4
- import { withTimeout, } from '../types.js';
5
- import { priceTokens, subtractTokens, resolveRateCard } from '../cost/compute.js';
6
- import { injectionTypeFor } from './injection-type.js';
7
- import { reviewerEmittedFindingSchema, evidenceIsGrounded, } from '../executors/_shared/findings-schema.js';
8
- import { FileTracker } from '../tools/tracker.js';
9
- import { createToolImplementations } from '../tools/definitions.js';
10
- import { createOpenAITools } from '../tools/openai-adapter.js';
11
- import { TextScratchpad } from '../tools/scratchpad.js';
12
- import { CostMeter } from '../cost/cost-meter.js';
13
- import { CallCache } from '../tools/call-cache.js';
14
- import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
15
- import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, THINKING_DIAGNOSTIC_MARKER, hasCompletedWork, MAX_DEGENERATE_RETRIES, STALL_DETECTION_TURNS, detectToolCallLoop, hasNewFileActivity, } from './supervision.js';
16
- import { classifyError, isRateLimit, isProviderContextLimit } from './error-classification.js';
17
- import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildTimeCeilingResult as sharedBuildTimeCeilingResult, } from './base/result-builders.js';
18
- import { checkTimeCeiling } from './base/time-check.js';
19
- // Disable tracing — not all OpenAI-compatible providers support it
20
- setTracingDisabled(true);
21
- /**
22
- * OpenAI Structured Outputs requires an object root (not a bare array). The
23
- * `findings` field carries the array of reviewer-emitted findings. After the
24
- * run, each finding is annotated with `evidenceGrounded` to produce the
25
- * final `AnnotatedFinding[]` stored in `RunResult.parsedFindings`.
26
- */
27
- const reviewerOutputType = z.object({
28
- findings: z.array(reviewerEmittedFindingSchema),
29
- }).strict();
30
- /**
31
- * Normalize a {@link ResearchToolDefinition.inputSchema} to a Zod schema.
32
- * Research adapters supply either a Zod schema directly or a JSON-Schema object;
33
- * the OpenAI Agents SDK requires Zod schemas for tool parameters, so we convert
34
- * JSON-Schema via {@link z.fromJSONSchema} when needed.
35
- */
36
- function normalizeCustomToolSchema(inputSchema) {
37
- if (inputSchema instanceof z.ZodType)
38
- return inputSchema;
39
- try {
40
- const jsonSchema = inputSchema;
41
- return z.fromJSONSchema(jsonSchema);
42
- }
43
- catch {
44
- return z.object({}).passthrough();
45
- }
46
- }
47
- /**
48
- * Remove `<think>...</think>` reasoning blocks from model output.
49
- *
50
- * Several reasoning models (MiniMax, DeepSeek, Qwen variants) emit their
51
- * chain-of-thought inline wrapped in `<think>...</think>` tags. These are
52
- * scratch-pad content and should not surface to the caller. Stripping is
53
- * non-greedy, multi-line, and handles multiple blocks.
54
- *
55
- * If the entire input was reasoning (stripping leaves nothing), return an
56
- * explicit marker instead of an empty string. Silently swallowing
57
- * "all thinking, no answer" responses leaves the caller with `output: ""`
58
- * and no idea what happened — see the openai-runner empty-output diagnostic.
59
- */
60
- export function stripThinkingTags(text) {
61
- if (!text)
62
- return '';
63
- const stripped = text.replace(/<think>[\s\S]*?<\/think>\s*/gi, '').trimStart();
64
- if (!stripped && /<think>[\s\S]*?<\/think>/i.test(text)) {
65
- return THINKING_DIAGNOSTIC_MARKER;
66
- }
67
- return stripped;
68
- }
69
- /**
70
- * Extract every assistant text emission from a single `agentRun(...)` result.
71
- * See the SDK introspection finding in supervision.ts: `result.newItems` is a
72
- * discriminated union and entries of type `"message_output_item"` wrap an
73
- * `AssistantMessageItem` whose `content` is a list of `{ type: 'output_text',
74
- * text }` / `refusal` / `audio` / `image` parts. We concatenate every
75
- * `output_text` part from every assistant `message_output_item`. Refusals
76
- * and non-text parts are ignored (they have no salvage value for a
77
- * text-in-text-out sub-agent).
78
- */
79
- function extractAssistantText(newItems) {
80
- const chunks = [];
81
- for (const item of newItems) {
82
- if (item.type !== 'message_output_item')
83
- continue;
84
- const raw = item.rawItem;
85
- if (raw.role !== 'assistant')
86
- continue;
87
- const content = raw.content;
88
- if (!Array.isArray(content))
89
- continue;
90
- for (const part of content) {
91
- if (part.type === 'output_text' && typeof part.text === 'string') {
92
- chunks.push(part.text);
93
- }
94
- }
95
- }
96
- return chunks.join('');
97
- }
98
- export async function runOpenAI(prompt, options, runner) {
99
- const timeoutMs = options.timeoutMs ?? runner.providerConfig.timeoutMs ?? runner.defaults.timeoutMs;
100
- const toolMode = options.tools ?? runner.defaults.tools;
101
- const cwd = options.cwd ?? process.cwd();
102
- const effort = options.effort ?? runner.providerConfig.effort;
103
- const runMode = options.runMode ?? 'standard';
104
- const sandboxPolicy = options.sandboxPolicy ?? runner.providerConfig.sandboxPolicy ?? 'cwd-only';
105
- const abortController = new AbortController();
106
- // --- Task timing + parent model (Task 9) --------------------------------
107
- const taskStartMs = Date.now();
108
- const parentModel = options.parentModel;
109
- // --- Progress event emission (Task 9) -----------------------------------
110
- //
111
- // `onProgress` is already wrapped in `safeSink` by the orchestrator
112
- // (Task 8), so any throw from the consumer callback is swallowed
113
- // upstream and cannot corrupt this loop. We do not need to wrap it
114
- // again here.
115
- const onProgress = options.onProgress;
116
- const emit = (event) => {
117
- if (onProgress)
118
- onProgress(event);
119
- };
120
- // --- Cost meter (Task 25) ------------------------------------------------
121
- const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
122
- // --- Call cache (Task 25) ------------------------------------------------
123
- const callCache = new CallCache();
124
- const agentType = runner.providerConfig.type ?? 'openai-compatible';
125
- // Hoisted out of `run()` so the withTimeout callback (which runs in a
126
- // different microtask chain) can still read partial usage from the last
127
- // successful agentRun. `run()` updates this on every turn. Declared
128
- // here (before the tracker) so the FileTracker callback closure can
129
- // reference it without a TDZ issue at construction.
130
- let currentResult;
131
- // Track last turn cost for estimating next turn cost (used by runTurnAndBuffer)
132
- let lastTurnCostUSD = 0;
133
- // Per-turn cumulative → delta tracking state (§3.5 point 2)
134
- let lastCumulative = {
135
- inputTokens: 0, outputTokens: 0,
136
- cachedReadTokens: 0, cachedCreationTokens: 0, reasoningTokens: 0,
137
- };
138
- // The tracker fires `onToolCall` synchronously inside every
139
- // `trackToolCall(...)` — which itself is called from inside a tool
140
- // implementation during an `agentRun` turn. That means `currentResult`
141
- // may still hold the PREVIOUS turn's request count when the callback
142
- // fires. We read it with an optional chain + fallback and attribute
143
- // the tool call to the in-flight turn (previous turn + 1).
144
- const tracker = new FileTracker((summary) => {
145
- const inflightTurn = (currentResult?.state.usage.requests ?? 0) + 1;
146
- emit({ kind: 'tool_call', turn: inflightTurn, toolSummary: summary });
147
- });
148
- const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
149
- const fileTools = createOpenAITools(toolImpls, sandboxPolicy, toolMode);
150
- // Add hosted tools (web_search, image_generation, etc.) if configured — only when tools are enabled
151
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
- const hostedTools = toolMode !== 'none'
153
- ? (runner.providerConfig.hostedTools ?? []).map(t => ({ type: t }))
154
- : [];
155
- const tools = [...fileTools, ...hostedTools];
156
- // --- Custom toolset injection (explore executor, taskIndex=1) ---
157
- if (options.customToolset && options.customToolset.length > 0) {
158
- for (const ct of options.customToolset) {
159
- const params = ct.inputSchema instanceof z.ZodType
160
- ? ct.inputSchema
161
- : normalizeCustomToolSchema(ct.inputSchema);
162
- tools.push(tool({
163
- name: ct.name,
164
- description: ct.description,
165
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
166
- parameters: params,
167
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
168
- execute: async (args) => ct.invoke(args),
169
- }));
170
- }
171
- }
172
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
173
- const model = new OpenAIChatCompletionsModel(runner.client, runner.providerConfig.model);
174
- // --- Prevention layer: system prompt + budget hint ---
175
- //
176
- // buildSystemPrompt() is deliberately static and parameter-free. The Task 1
177
- // review rejected speculative `providerLabel` parameters — the system prompt
178
- // is generic ~400 tokens of discipline that applies to every provider.
179
- // Budget information is threaded through buildBudgetHint (prepended to the
180
- // first user prompt) and buildReGroundingMessage (injected every
181
- // RE_GROUNDING_INTERVAL_TURNS turns).
182
- const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
183
- const instructions = options.instructionsSuffix
184
- ? `${systemPrompt}\n\n${options.instructionsSuffix}`
185
- : systemPrompt;
186
- const budgetHint = buildBudgetHint({ timeoutMs, maxCostUSD: options.maxCostUSD });
187
- const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
188
- // --- onInitialRequest (Task 12) ----------------------------------------
189
- //
190
- // Fire once per attempt with the canonical orchestrator-side initial
191
- // brief: `${systemPrompt}\n\n${promptWithBudgetHint}`. This is NOT the
192
- // literal request body the `@openai/agents` SDK transmits — the SDK
193
- // wraps our systemPrompt in the Agent `instructions` field and our
194
- // user prompt in a messages array. We hash the canonical form instead
195
- // so the hash is cross-runner stable: the same canonical brief on any
196
- // of the three runners produces the same hash, even though each SDK's
197
- // wire format differs. This answers "did the orchestrator send the
198
- // same brief across retries?" — not "were the literal wire bytes
199
- // identical?". See `AttemptRecord.initialPromptHash` in types.ts for
200
- // the full caveat. We guard with try/catch because the orchestrator
201
- // owns the callback and a throw would corrupt its closure (symmetry
202
- // with safeSink around onProgress).
203
- if (options.onInitialRequest) {
204
- const canonicalInitialBrief = `${systemPrompt}\n\n${promptWithBudgetHint}`;
205
- try {
206
- options.onInitialRequest({
207
- lengthChars: canonicalInitialBrief.length,
208
- sha256: createHash('sha256').update(canonicalInitialBrief).digest('hex'),
209
- });
210
- }
211
- catch {
212
- // Swallow — a broken callback must not affect dispatch.
213
- }
214
- }
215
- // DeepSeek's V4 hybrid models default to thinking mode and emit a
216
- // `reasoning_content` field on every assistant turn. The OpenAI Chat
217
- // Completions wire format the @openai/agents SDK uses doesn't preserve
218
- // that field across turns, which causes a 400 on the second turn
219
- // ("reasoning_content ... must be passed back to the API"). For users
220
- // who put DeepSeek behind `openai-compatible` we opt out of thinking
221
- // so multi-turn tool use works. Users who want DeepSeek's reasoning ON
222
- // should configure it as `claude-compatible` instead — the Anthropic
223
- // wire format preserves thinking blocks natively.
224
- const baseUrl = runner.providerConfig.baseUrl ?? '';
225
- const isDeepSeek = /(?:^|[\\/.])deepseek\b/i.test(baseUrl)
226
- || /^deepseek-/i.test(runner.providerConfig.model);
227
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
228
- const providerData = {};
229
- if (isDeepSeek)
230
- providerData.thinking = { type: 'disabled' };
231
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
232
- const modelSettings = {};
233
- if (effort && effort !== 'none')
234
- modelSettings.reasoning = { effort };
235
- if (Object.keys(providerData).length > 0)
236
- modelSettings.providerData = providerData;
237
- // outputType is disabled for DeepSeek in review mode. DeepSeek's V4 hybrid
238
- // models either fail schema-conformance enforcement OR the @openai/agents
239
- // SDK's schema-enforcement code path skips usage aggregation on this
240
- // backend specifically, leaving every review call with
241
- // `state.usage = {inputTokens: 0, outputTokens: 0}` despite real tokens
242
- // being burned (3.12.2 telemetry showed every audit's quality_review with
243
- // 30+ turns and 0 cost). The downstream text-parser fallback in
244
- // runAnnotationReview (parseReviewerFindings → fallbackExtractFindings)
245
- // recovers findings from prose, so dropping the schema costs us nothing
246
- // for DeepSeek. Other openai-compatible backends (OpenAI proper,
247
- // structured-output-capable proxies like vLLM) keep outputType.
248
- const useOutputType = runMode === 'review' && !isDeepSeek;
249
- const agent = new Agent({
250
- name: 'sub-agent',
251
- model,
252
- instructions,
253
- tools,
254
- ...(Object.keys(modelSettings).length > 0 && { modelSettings }),
255
- ...(useOutputType && { outputType: reviewerOutputType }),
256
- });
257
- // --- Scratchpad: buffers assistant text across every agentRun() call so
258
- // that every termination path (ok/incomplete/max_turns/error/timeout)
259
- // can return the best text we heard, even if the final message is junk. ---
260
- const scratchpad = new TextScratchpad();
261
- /**
262
- * Build an AgentInputItem[] for continuing `prev` with a new user message.
263
- *
264
- * @openai/agents does NOT expose a `conversation:` option on `run()`. It
265
- * accepts `string | AgentInputItem[] | RunState` as the input. The idiomatic
266
- * way to "continue" a completed run with a new user turn is to pass
267
- * `[...prev.history, { role: 'user', content: newText }]` as the input on
268
- * the next call. `result.history` is the full conversation (system prompt
269
- * + original input + every new item generated during the run), typed as
270
- * `AgentInputItem[]`. See node_modules/@openai/agents-core/dist/run.d.ts
271
- * line 182 and result.d.ts line 84 (history getter).
272
- */
273
- const continueWith = (prev, nextUserMessage) => {
274
- const history = prev.history;
275
- return [
276
- ...history,
277
- { role: 'user', content: nextUserMessage },
278
- ];
279
- };
280
- /**
281
- * Local helper: run one agent turn and buffer its assistant text into
282
- * the scratchpad. Closes over `agent`, `abortController`, `scratchpad`
283
- * and `emit` so every call site in `run()` is just one line AND every
284
- * turn automatically emits the correct `turn_start` / `text_emission`
285
- * / `turn_complete` progress events.
286
- *
287
- * Event ordering:
288
- * 1. `turn_start` — fires BEFORE agentRun. Turn number is the NEXT
289
- * request count (prev + 1) because the SDK won't bump
290
- * `state.usage.requests` until the call completes.
291
- * 2. `text_emission` — fires AFTER scratchpad.append, only when the
292
- * stripped assistant text is non-empty. Skipping empty emissions
293
- * keeps the event stream useful (empty-text turns are observable
294
- * via `turn_complete` alone).
295
- * 3. `turn_complete` — fires AFTER agentRun, with the post-call
296
- * cumulative usage from `result.state.usage`.
297
- */
298
- const runTurnAndBuffer = async (input) => {
299
- const ceilingMs = checkTimeCeiling(taskStartMs, timeoutMs);
300
- if (ceilingMs !== null) {
301
- const err = new Error('time_ceiling');
302
- err.__timeCeiling = ceilingMs;
303
- throw err;
304
- }
305
- const nextTurn = (currentResult?.state.usage.requests ?? 0) + 1;
306
- emit({ kind: 'turn_start', turn: nextTurn, provider: 'openai-compatible', model: runner.providerConfig.model });
307
- const result = (await agentRun(agent, input, {
308
- maxTurns: Number.MAX_SAFE_INTEGER,
309
- signal: abortController.signal,
310
- }));
311
- const text = stripThinkingTags(extractAssistantText(result.newItems));
312
- scratchpad.append(result.state.usage.requests, text);
313
- if (text.length > 0) {
314
- emit({
315
- kind: 'text_emission',
316
- turn: result.state.usage.requests,
317
- chars: text.length,
318
- preview: text.slice(0, 200),
319
- });
320
- }
321
- const cachedRead = sumCachedReadTokens(result.state.usage.inputTokensDetails) ?? 0;
322
- const reasoning = sumReasoningTokens(result.state.usage.outputTokensDetails) ?? 0;
323
- emit({
324
- kind: 'turn_complete',
325
- turn: result.state.usage.requests,
326
- cumulativeInputTokens: result.state.usage.inputTokens,
327
- cumulativeOutputTokens: result.state.usage.outputTokens,
328
- cumulativeCachedReadTokens: cachedRead > 0 ? cachedRead : undefined,
329
- cumulativeReasoningTokens: reasoning > 0 ? reasoning : undefined,
330
- });
331
- // Track cost for this turn using per-turn delta from cumulative
332
- const cur = {
333
- inputTokens: Math.max(0, result.state.usage.inputTokens - cachedRead),
334
- outputTokens: result.state.usage.outputTokens,
335
- cachedReadTokens: cachedRead,
336
- cachedCreationTokens: 0,
337
- reasoningTokens: reasoning,
338
- };
339
- const turnTokens = subtractTokens(cur, lastCumulative);
340
- lastCumulative = cur;
341
- const rateCard = resolveProviderRateCard(runner.providerConfig);
342
- const turnCost = rateCard ? priceTokens(turnTokens, rateCard) : null;
343
- if (turnCost !== null) {
344
- lastTurnCostUSD = turnCost;
345
- costMeter.add(turnCost);
346
- }
347
- return result;
348
- };
349
- const run = async () => {
350
- try {
351
- currentResult = await runTurnAndBuffer(promptWithBudgetHint);
352
- // --- Supervision state: monitor model replaces gatekeeper ---
353
- // Only count degenerate retries when worker has NO tool calls in a turn.
354
- // If the worker is still making tool calls, it's making progress even
355
- // if the output text is degenerate — don't count against budget.
356
- let degenerateRetries = 0;
357
- let stallTurnCounter = 0;
358
- let lastFilesRead = tracker.getReads().length;
359
- let lastFilesWritten = tracker.getWrites().length;
360
- // Continuation-exhausted flag: set when runContinuationTurn catches a
361
- // MaxTurnsExceededError on a re-prompt or re-ground continuation.
362
- // The break below lands in the exhausted handler so we don't conflate
363
- // a continuation-exhaustion with the user-declared limits.
364
- let supervisionExhausted = false;
365
- // Initialized to `null` (NOT ''): on the first turn there is no
366
- // previous degenerate output to compare against, so the
367
- // same-output early-out must be skipped. Initialising to ''
368
- // would cause `sameDegenerateOutput('', '')` to fire on a first-
369
- // turn empty output and break the loop before retries run.
370
- let lastDegenerateOutput = null;
371
- let lastValidationKind = undefined;
372
- /**
373
- * Check if we can afford the next turn based on previous turn cost estimate.
374
- */
375
- function canAffordNextTurn() {
376
- if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
377
- return false;
378
- }
379
- return true;
380
- }
381
- /**
382
- * Build a cost_exceeded result.
383
- */
384
- function buildCostExceededResult(turnsAtFailure) {
385
- const partial = partialUsage(currentResult, runner.providerConfig, parentModel, runner.usageAccumulator);
386
- return {
387
- output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
388
- status: 'cost_exceeded',
389
- usage: partial,
390
- turns: turnsAtFailure,
391
- filesRead: tracker.getReads(),
392
- directoriesListed: tracker.getDirectoriesListed(),
393
- filesWritten: tracker.getWrites(),
394
- toolCalls: tracker.getToolCalls(),
395
- outputIsDiagnostic: true,
396
- escalationLog: [],
397
- durationMs: Date.now() - taskStartMs,
398
- parsedFindings: null,
399
- };
400
- }
401
- /**
402
- * Wraps a continuation turn (re-prompt or re-ground). Time and cost bounds
403
- * are the only effective limits; no turn-count sub-budget is imposed.
404
- * Catches MaxTurnsExceededError from the SDK as a safety net.
405
- */
406
- async function runContinuationTurn(currentResult, instruction) {
407
- try {
408
- const result = await runTurnAndBuffer(continueWith(currentResult, instruction));
409
- return { ok: true, result };
410
- }
411
- catch (err) {
412
- if (err instanceof MaxTurnsExceededError) {
413
- return { ok: false, cause: err, label: 'continuation_exhausted', turnAtFailure: currentResult.state.usage.requests };
414
- }
415
- throw err;
416
- }
417
- }
418
- // Supervision loop. On each iteration we:
419
- // 1. Validate the final message (may re-prompt)
420
- // 2. Inject re-grounding every RE_GROUNDING_INTERVAL_TURNS turns
421
- // A single pass where validateCompletion returns `valid` is the clean
422
- // exit. Otherwise we either re-prompt (and loop) or salvage.
423
- // eslint-disable-next-line no-constant-condition
424
- while (true) {
425
- // --- Validation check ---
426
- // In review mode the SDK returns a structured object in finalOutput
427
- // (from Agent.outputType). Validation text comes from newItems.
428
- const rawOutput = runMode === 'review'
429
- ? extractAssistantText(currentResult.newItems)
430
- : String(currentResult.finalOutput ?? '');
431
- const stripped = stripThinkingTags(rawOutput);
432
- const validation = validateSubAgentOutput(stripped, {
433
- expectedCoverage: options.expectedCoverage,
434
- skipCompletionHeuristic: options.skipCompletionHeuristic,
435
- hasCompletedWork: hasCompletedWork(tracker.getToolCalls()),
436
- });
437
- if (validation.valid) {
438
- const ok = buildOkResult(stripped, currentResult, tracker, runner.providerConfig, Date.now() - taskStartMs, parentModel, runner.usageAccumulator);
439
- if (runMode === 'review' && useOutputType) {
440
- const parsed = reviewerOutputType.safeParse(currentResult.finalOutput);
441
- if (parsed.success) {
442
- ok.parsedFindings = parsed.data.findings.map(f => ({
443
- ...f,
444
- evidenceGrounded: evidenceIsGrounded(f.evidence, stripped),
445
- }));
446
- }
447
- else {
448
- // OpenAI-proper structured-output failure: should be rare since
449
- // OpenAI honors the schema, but if it happens we still don't
450
- // want to discard the call — fall through to the text parser.
451
- ok.parsedFindings = null;
452
- }
453
- }
454
- else {
455
- // Review mode on non-OpenAI provider, OR delegate mode: text-parser
456
- // fallback in runAnnotationReview handles findings extraction.
457
- ok.parsedFindings = null;
458
- }
459
- emit({ kind: 'done', status: ok.status });
460
- return ok;
461
- }
462
- // Track last validation kind so the exhausted handler can report it.
463
- lastValidationKind = validation.kind;
464
- // --- Loop detection (advisory) ---
465
- // After a turn with tool calls, check for repetitive patterns.
466
- // If stuck in a loop, inject re-grounding — don't terminate or count as degenerate.
467
- if (detectToolCallLoop(tracker.getToolCalls())) {
468
- const reground = buildReGroundingMessage({
469
- originalPromptExcerpt: prompt,
470
- elapsedMs: Date.now() - taskStartMs,
471
- timeoutMs,
472
- toolCallsSoFar: tracker.getToolCalls().length,
473
- filesReadSoFar: tracker.getReads().length,
474
- });
475
- emit({
476
- kind: 'injection',
477
- injectionType: 'reground',
478
- turn: currentResult.state.usage.requests,
479
- contentLengthChars: reground.length,
480
- });
481
- if (canAffordNextTurn()) {
482
- const regroundCont = await runContinuationTurn(currentResult, reground);
483
- if (regroundCont.ok) {
484
- currentResult = regroundCont.result;
485
- continue;
486
- }
487
- }
488
- }
489
- // --- Stall detection (advisory) ---
490
- // Track consecutive turns without new file activity.
491
- // If stalled, inject re-grounding — don't terminate.
492
- const currentFilesRead = tracker.getReads().length;
493
- const currentFilesWritten = tracker.getWrites().length;
494
- const hasActivity = hasNewFileActivity(lastFilesRead, lastFilesWritten, currentFilesRead, currentFilesWritten);
495
- if (hasActivity) {
496
- stallTurnCounter = 0;
497
- lastFilesRead = currentFilesRead;
498
- lastFilesWritten = currentFilesWritten;
499
- }
500
- else {
501
- stallTurnCounter++;
502
- if (stallTurnCounter >= STALL_DETECTION_TURNS) {
503
- const reground = buildReGroundingMessage({
504
- originalPromptExcerpt: prompt,
505
- elapsedMs: Date.now() - taskStartMs,
506
- timeoutMs,
507
- toolCallsSoFar: tracker.getToolCalls().length,
508
- filesReadSoFar: tracker.getReads().length,
509
- });
510
- emit({
511
- kind: 'injection',
512
- injectionType: 'reground',
513
- turn: currentResult.state.usage.requests,
514
- contentLengthChars: reground.length,
515
- });
516
- if (canAffordNextTurn()) {
517
- const regroundCont = await runContinuationTurn(currentResult, reground);
518
- if (regroundCont.ok) {
519
- currentResult = regroundCont.result;
520
- stallTurnCounter = 0;
521
- continue;
522
- }
523
- }
524
- }
525
- }
526
- // Degenerate. Apply same-output early-out (only when we have a
527
- // prior degenerate output to compare against) and retry budget.
528
- // Only count as degenerate when worker has NO tool calls in this turn.
529
- if (lastDegenerateOutput !== null && sameDegenerateOutput(stripped, lastDegenerateOutput))
530
- break;
531
- lastDegenerateOutput = stripped;
532
- // Only increment degenerate retries when no tool calls were made this turn.
533
- // If the worker is still calling tools, it's making progress even if the
534
- // output text is incomplete.
535
- if (!hasCompletedWork(tracker.getToolCalls())) {
536
- degenerateRetries++;
537
- if (degenerateRetries >= MAX_DEGENERATE_RETRIES)
538
- break;
539
- }
540
- // --- Re-prompt the model to recover ---
541
- const rePrompt = buildRePrompt(validation);
542
- emit({
543
- kind: 'injection',
544
- injectionType: injectionTypeFor(validation.kind),
545
- turn: currentResult.state.usage.requests,
546
- contentLengthChars: rePrompt.length,
547
- });
548
- // Give the model a small budget to recover. One extra turn per
549
- // retry is enough for the "emit your final answer" nudge.
550
- if (!canAffordNextTurn()) {
551
- const costExceeded = buildCostExceededResult(currentResult.state.usage.requests);
552
- emit({ kind: 'done', status: costExceeded.status });
553
- return costExceeded;
554
- }
555
- const rePromptCont = await runContinuationTurn(currentResult, rePrompt);
556
- if (!rePromptCont.ok) {
557
- supervisionExhausted = true;
558
- break;
559
- }
560
- currentResult = rePromptCont.result;
561
- // --- Periodic re-grounding ---
562
- const turnsSoFar = currentResult.state.usage.requests;
563
- if (turnsSoFar > 0 && turnsSoFar % RE_GROUNDING_INTERVAL_TURNS === 0) {
564
- if (!canAffordNextTurn()) {
565
- const costExceeded = buildCostExceededResult(currentResult.state.usage.requests);
566
- emit({ kind: 'done', status: costExceeded.status });
567
- return costExceeded;
568
- }
569
- const reground = buildReGroundingMessage({
570
- originalPromptExcerpt: prompt,
571
- elapsedMs: Date.now() - taskStartMs,
572
- timeoutMs,
573
- toolCallsSoFar: tracker.getToolCalls().length,
574
- filesReadSoFar: tracker.getReads().length,
575
- });
576
- emit({
577
- kind: 'injection',
578
- injectionType: 'reground',
579
- turn: currentResult.state.usage.requests,
580
- contentLengthChars: reground.length,
581
- });
582
- if (!canAffordNextTurn()) {
583
- const costExceeded = buildCostExceededResult(currentResult.state.usage.requests);
584
- emit({ kind: 'done', status: costExceeded.status });
585
- return costExceeded;
586
- }
587
- const regroundCont = await runContinuationTurn(currentResult, reground);
588
- if (!regroundCont.ok) {
589
- supervisionExhausted = true;
590
- break;
591
- }
592
- currentResult = regroundCont.result;
593
- }
594
- }
595
- // Supervision exhausted (either retry budget or same-output early-out or
596
- // continuation-exhausted break). Salvage from the scratchpad if we have
597
- // anything; otherwise return the existing incomplete diagnostic.
598
- const exhaustedReason = supervisionExhausted
599
- ? `supervision continuation sub-budget exhausted at turn ${currentResult.state.usage.requests}`
600
- : `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${lastValidationKind ?? 'unknown'})`;
601
- const exhausted = buildSupervisionExhaustedResult(currentResult, scratchpad, tracker, runner.providerConfig, Date.now() - taskStartMs, parentModel, { reason: exhaustedReason });
602
- emit({ kind: 'done', status: exhausted.status });
603
- return exhausted;
604
- }
605
- catch (err) {
606
- if (err instanceof MaxTurnsExceededError) {
607
- // MaxTurnsExceededError from the SDK: map to incomplete with degenerate_exhausted.
608
- // Prefer scratchpad salvage over the bare diagnostic.
609
- // Preserve whatever partial usage we accumulated in the last
610
- // successful agentRun so the caller sees real numbers, not zeros.
611
- const filesRead = tracker.getReads();
612
- const filesWritten = tracker.getWrites();
613
- const toolCalls = tracker.getToolCalls();
614
- const partial = partialUsage(currentResult, runner.providerConfig, parentModel, runner.usageAccumulator);
615
- emit({ kind: 'done', status: 'incomplete' });
616
- const hasSalvage = !scratchpad.isEmpty();
617
- const turnsAtFailure = currentResult?.state.usage.requests ?? 0;
618
- return {
619
- output: hasSalvage
620
- ? scratchpad.latest()
621
- : `Agent exceeded time or cost limits.`,
622
- status: 'incomplete',
623
- errorCode: 'degenerate_exhausted',
624
- error: `agent exhausted time/cost budget after ${turnsAtFailure} turns`,
625
- usage: partial,
626
- turns: turnsAtFailure,
627
- filesRead,
628
- directoriesListed: tracker.getDirectoriesListed(),
629
- filesWritten,
630
- toolCalls,
631
- outputIsDiagnostic: !hasSalvage,
632
- escalationLog: [],
633
- durationMs: Date.now() - taskStartMs,
634
- parsedFindings: null,
635
- };
636
- }
637
- if (err instanceof Error && '__timeCeiling' in err) {
638
- const ceilingMs = err.__timeCeiling;
639
- emit({ kind: 'done', status: 'incomplete' });
640
- const partial = partialUsage(currentResult, runner.providerConfig, parentModel, runner.usageAccumulator);
641
- return sharedBuildTimeCeilingResult({
642
- usage: { inputTokens: partial.inputTokens, outputTokens: partial.outputTokens, totalTokens: partial.totalTokens, costUSD: partial.costUSD, costDeltaVsParentUSD: partial.costDeltaVsParentUSD ?? null, cachedTokens: partial.cachedTokens ?? null, reasoningTokens: partial.reasoningTokens ?? null },
643
- turns: currentResult?.state.usage.requests ?? 0,
644
- tracker,
645
- scratchpad,
646
- wallClockMs: ceilingMs,
647
- timeoutMs,
648
- durationMs: Date.now() - taskStartMs,
649
- });
650
- }
651
- // Classify the thrown error into a finer-grained RunStatus so the
652
- // escalation orchestrator (and downstream observers) can distinguish
653
- // abort / network / HTTP-error / generic failure modes. We still
654
- // surface the original error message as the `error` field — the
655
- // classifier's `reason` is deliberately a stable category label and
656
- // NOT the human-readable message.
657
- const { status, reason } = classifyError(err);
658
- const msg = err instanceof Error ? err.message : String(err);
659
- emit({ kind: 'done', status });
660
- const hasSalvage = !scratchpad.isEmpty();
661
- const partial = partialUsage(currentResult, runner.providerConfig, parentModel, runner.usageAccumulator);
662
- return {
663
- output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${msg}`,
664
- status,
665
- usage: partial,
666
- turns: currentResult?.state.usage.requests ?? 0,
667
- filesRead: tracker.getReads(),
668
- directoriesListed: tracker.getDirectoriesListed(),
669
- filesWritten: tracker.getWrites(),
670
- toolCalls: tracker.getToolCalls(),
671
- outputIsDiagnostic: !hasSalvage,
672
- escalationLog: [],
673
- error: msg || reason,
674
- durationMs: Date.now() - taskStartMs,
675
- ...(isRateLimit(err) && {
676
- structuredError: { code: 'rate_limit_exceeded', message: 'rate limited by provider', where: 'runner:openai-compatible' },
677
- }),
678
- ...(isProviderContextLimit(err) && {
679
- errorCode: 'provider_context_limit',
680
- }),
681
- parsedFindings: null,
682
- };
683
- }
684
- };
685
- return withTimeout(run(), timeoutMs, () => {
686
- emit({ kind: 'done', status: 'timeout' });
687
- const hasSalvage = !scratchpad.isEmpty();
688
- const partial = partialUsage(currentResult, runner.providerConfig, parentModel, runner.usageAccumulator);
689
- return {
690
- output: hasSalvage
691
- ? scratchpad.latest()
692
- : `Agent timed out after ${timeoutMs}ms.`,
693
- status: 'timeout',
694
- filesRead: tracker.getReads(),
695
- directoriesListed: tracker.getDirectoriesListed(),
696
- filesWritten: tracker.getWrites(),
697
- toolCalls: tracker.getToolCalls(),
698
- // Preserve partial usage from the last successful agentRun so the
699
- // caller sees real numbers, not zeros, on a timeout.
700
- usage: partial,
701
- turns: currentResult?.state.usage.requests ?? 0,
702
- outputIsDiagnostic: !hasSalvage,
703
- escalationLog: [],
704
- durationMs: Date.now() - taskStartMs,
705
- parsedFindings: null,
706
- };
707
- }, abortController, options.abortSignal);
708
- }
709
- // --- Helpers: canonical return-shape builders -------------------------------
710
- function resolveProviderRateCard(config) {
711
- return resolveRateCard(config.model, {
712
- inputCostPerMTok: config.inputCostPerMTok,
713
- outputCostPerMTok: config.outputCostPerMTok,
714
- });
715
- }
716
- /**
717
- * Sum cached_tokens across inputTokensDetails records.
718
- * OpenAI exposes cache reads only via `cached_tokens` in inputTokensDetails;
719
- * there is no cache creation exposure.
720
- */
721
- function sumCachedReadTokens(details) {
722
- if (!details || details.length === 0)
723
- return null;
724
- let sum = 0;
725
- let hasAny = false;
726
- for (const d of details) {
727
- if (typeof d.cached_tokens === 'number') {
728
- sum += d.cached_tokens;
729
- hasAny = true;
730
- }
731
- }
732
- return hasAny ? sum : null;
733
- }
734
- /**
735
- * Sum reasoning_tokens across outputTokensDetails records.
736
- */
737
- function sumReasoningTokens(details) {
738
- if (!details || details.length === 0)
739
- return null;
740
- let sum = 0;
741
- let hasAny = false;
742
- for (const d of details) {
743
- if (typeof d.reasoning_tokens === 'number') {
744
- sum += d.reasoning_tokens;
745
- hasAny = true;
746
- }
747
- }
748
- return hasAny ? sum : null;
749
- }
750
- /**
751
- * Extract split cache/reasoning tokens into {@link CanonicalUsage} shape (§3.6).
752
- *
753
- * OpenAI exposes cache reads via `cached_tokens` in `inputTokensDetails` and
754
- * reasoning tokens via `reasoning_tokens` in `outputTokensDetails`. There is
755
- * no cache creation dimension in OpenAI's API, so `cachedCreationTokens` is
756
- * always null.
757
- */
758
- function extractCanonicalTokens(usage) {
759
- return {
760
- cachedReadTokens: sumCachedReadTokens(usage.inputTokensDetails),
761
- cachedCreationTokens: null,
762
- reasoningTokens: sumReasoningTokens(usage.outputTokensDetails),
763
- };
764
- }
765
- export function openAIUsage(currentResult, providerConfig, parentModel, usageAccumulator) {
766
- const sdk = currentResult.state.usage;
767
- const sdkExtra = extractCanonicalTokens(sdk);
768
- // SDK fallback path. Use the HTTP-level accumulator (if present) when
769
- // the SDK reports zero input tokens despite at least one completed
770
- // request — the @openai/agents stream consumer is known to drop usage
771
- // on multi-turn DeepSeek calls. Trust SDK numbers when they're present
772
- // (OpenAI proper) so we don't double-count or lose details the
773
- // accumulator can't see (e.g. reasoning tokens for o1-style models).
774
- const sdkLooksDropped = sdk.inputTokens === 0
775
- && sdk.outputTokens === 0
776
- && sdk.requests > 0
777
- && (usageAccumulator?.hasObservedUsage() ?? false);
778
- let inputTokensRaw;
779
- let outputTokens;
780
- let cachedRead;
781
- let reasoning;
782
- if (sdkLooksDropped) {
783
- const snap = usageAccumulator.snapshot();
784
- inputTokensRaw = snap.promptTokens;
785
- outputTokens = snap.completionTokens;
786
- cachedRead = snap.cachedReadTokens;
787
- reasoning = snap.reasoningTokens;
788
- }
789
- else {
790
- inputTokensRaw = sdk.inputTokens;
791
- outputTokens = sdk.outputTokens;
792
- cachedRead = sdkExtra.cachedReadTokens ?? 0;
793
- reasoning = sdkExtra.reasoningTokens ?? 0;
794
- }
795
- const nonCachedInput = Math.max(0, inputTokensRaw - cachedRead);
796
- const workerCard = resolveProviderRateCard(providerConfig);
797
- const tokenCounts = {
798
- inputTokens: nonCachedInput,
799
- outputTokens,
800
- cachedReadTokens: cachedRead,
801
- cachedCreationTokens: 0,
802
- reasoningTokens: reasoning,
803
- };
804
- const costUSD = workerCard ? priceTokens(tokenCounts, workerCard) : null;
805
- let costDeltaVsParentUSD = null;
806
- if (costUSD !== null && parentModel) {
807
- const parentCard = resolveRateCard(parentModel);
808
- if (parentCard) {
809
- costDeltaVsParentUSD = costUSD - priceTokens(tokenCounts, parentCard);
810
- }
811
- }
812
- const totalTokens = inputTokensRaw + outputTokens;
813
- const legacyCached = sdkExtra.cachedReadTokens !== null || sdkLooksDropped ? cachedRead : null;
814
- return {
815
- inputTokens: inputTokensRaw,
816
- outputTokens,
817
- totalTokens,
818
- costUSD,
819
- costDeltaVsParentUSD,
820
- cachedTokens: legacyCached,
821
- cachedReadTokens: sdkLooksDropped ? cachedRead : sdkExtra.cachedReadTokens,
822
- cachedCreationTokens: null,
823
- reasoningTokens: sdkLooksDropped ? reasoning : sdkExtra.reasoningTokens,
824
- };
825
- }
826
- function buildOkResult(output, currentResult, tracker, providerConfig, durationMs, parentModel, usageAccumulator) {
827
- return sharedBuildOkResult({
828
- output,
829
- usage: openAIUsage(currentResult, providerConfig, parentModel, usageAccumulator),
830
- turns: currentResult.state.usage.requests,
831
- tracker,
832
- durationMs,
833
- });
834
- }
835
- function buildSupervisionExhaustedResult(currentResult, scratchpad, tracker, providerConfig, durationMs, parentModel, opts, usageAccumulator) {
836
- return sharedBuildIncompleteResult({
837
- usage: openAIUsage(currentResult, providerConfig, parentModel, usageAccumulator),
838
- turns: currentResult.state.usage.requests,
839
- tracker,
840
- scratchpad,
841
- buildDiagnostic: (ctx) => buildIncompleteDiagnostic({ providerLabel: 'openai-compatible', ...ctx }),
842
- durationMs,
843
- reason: opts?.reason,
844
- stampExhausted: true,
845
- });
846
- }
847
- /**
848
- * Synthesise a diagnostic message for runs that completed without producing
849
- * usable final output. Surfaces enough metadata for the caller to debug:
850
- * how many turns were spent, what the model burnt token-wise, and what files
851
- * the worker actually looked at before giving up.
852
- */
853
- function buildIncompleteDiagnostic(opts) {
854
- const lines = [
855
- `[${opts.providerLabel} sub-agent terminated without producing a final answer]`,
856
- '',
857
- 'The agent loop ended on a message with no tool calls and no plain-text content. ' +
858
- 'This usually means one of:',
859
- ' • the model emitted only <think> reasoning, then stopped',
860
- ' • the model produced a conversational fragment instead of a final answer',
861
- ' • a tool call was malformed and the SDK treated the response as terminal',
862
- '',
863
- `Turns used: ${opts.turns}`,
864
- `Input tokens: ${opts.inputTokens}`,
865
- `Output tokens: ${opts.outputTokens}`,
866
- `Files read: ${opts.filesRead.length}${opts.filesRead.length > 0 ? ` (${formatFileList(opts.filesRead)})` : ''}`,
867
- `Files written: ${opts.filesWritten.length}${opts.filesWritten.length > 0 ? ` (${formatFileList(opts.filesWritten)})` : ''}`,
868
- '',
869
- 'Recommended action: re-dispatch with a tighter, more explicit brief, or escalate to a higher-tier provider.',
870
- ];
871
- return lines.join('\n');
872
- }
873
- function formatFileList(files) {
874
- const MAX_SHOWN = 10;
875
- if (files.length <= MAX_SHOWN)
876
- return files.join(', ');
877
- return `${files.slice(0, MAX_SHOWN).join(', ')}, … ${files.length - MAX_SHOWN} more`;
878
- }
879
- /**
880
- * Read whatever usage we managed to accumulate from the last successful
881
- * `agentRun` before a throw, max_turns, or timeout. Used by every
882
- * non-happy-path return so the caller sees real token counts (and a
883
- * real cost estimate) instead of zeros.
884
- */
885
- function partialUsage(result, providerConfig, parentModel, usageAccumulator) {
886
- if (!result) {
887
- // No SDK result yet — but if the HTTP interceptor saw at least one
888
- // response, surface that as the partial. Otherwise zeros.
889
- if (usageAccumulator?.hasObservedUsage()) {
890
- const snap = usageAccumulator.snapshot();
891
- const tc = {
892
- inputTokens: Math.max(0, snap.promptTokens - snap.cachedReadTokens),
893
- outputTokens: snap.completionTokens,
894
- cachedReadTokens: snap.cachedReadTokens,
895
- cachedCreationTokens: 0,
896
- reasoningTokens: snap.reasoningTokens,
897
- };
898
- const card = resolveProviderRateCard(providerConfig);
899
- const costUSD = card ? priceTokens(tc, card) : null;
900
- const parentCard = parentModel ? resolveRateCard(parentModel) : null;
901
- const costDeltaVsParentUSD = (costUSD !== null && parentCard)
902
- ? costUSD - priceTokens(tc, parentCard)
903
- : null;
904
- return {
905
- inputTokens: snap.promptTokens,
906
- outputTokens: snap.completionTokens,
907
- totalTokens: snap.promptTokens + snap.completionTokens,
908
- costUSD,
909
- costDeltaVsParentUSD,
910
- cachedTokens: snap.cachedReadTokens || null,
911
- cachedReadTokens: snap.cachedReadTokens || null,
912
- cachedCreationTokens: null,
913
- reasoningTokens: snap.reasoningTokens || null,
914
- };
915
- }
916
- return { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null, costDeltaVsParentUSD: null, cachedTokens: null, cachedReadTokens: null, cachedCreationTokens: null, reasoningTokens: null };
917
- }
918
- // Reuse openAIUsage's SDK-vs-accumulator selection logic so the timeout
919
- // / cost-exceeded paths get the same fallback semantics as the ok path.
920
- return openAIUsage(result, providerConfig, parentModel, usageAccumulator);
921
- }
922
- /**
923
- * Review-mode entry: routes `systemPrefix` into Agent.instructions
924
- * (cacheable by OpenAI's prefix-caching rules for instructions > 1024 tokens)
925
- * and `userBody` as the first user message. The standard prevention-layer
926
- * system prompt is prepended to instructions.
927
- */
928
- export async function runOpenAIReview(parts, options, runner) {
929
- return runOpenAI(parts.userBody, {
930
- ...options,
931
- instructionsSuffix: parts.systemPrefix,
932
- }, runner);
933
- }
934
- //# sourceMappingURL=openai-runner.js.map