@zhixuan92/multi-model-agent-core 4.3.0 → 4.4.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 (455) hide show
  1. package/README.md +7 -8
  2. package/dist/bounded-execution/activity-tracker-types.d.ts +1 -1
  3. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  4. package/dist/bounded-execution/activity-tracker-types.js +4 -9
  5. package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
  6. package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
  7. package/dist/bounded-execution/cost-compute.js +10 -0
  8. package/dist/bounded-execution/cost-compute.js.map +1 -1
  9. package/dist/config/config-resolver.d.ts +6 -4
  10. package/dist/config/config-resolver.d.ts.map +1 -1
  11. package/dist/config/config-resolver.js +7 -6
  12. package/dist/config/config-resolver.js.map +1 -1
  13. package/dist/config/schema.d.ts +8 -76
  14. package/dist/config/schema.d.ts.map +1 -1
  15. package/dist/config/schema.js +11 -18
  16. package/dist/config/schema.js.map +1 -1
  17. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
  18. package/dist/escalation/delegate-with-escalation.js +35 -38
  19. package/dist/escalation/delegate-with-escalation.js.map +1 -1
  20. package/dist/escalation/escalation-policy.d.ts +1 -1
  21. package/dist/escalation/escalation-policy.d.ts.map +1 -1
  22. package/dist/escalation/escalation-policy.js +0 -1
  23. package/dist/escalation/escalation-policy.js.map +1 -1
  24. package/dist/events/clamp.d.ts.map +1 -1
  25. package/dist/events/clamp.js +17 -6
  26. package/dist/events/clamp.js.map +1 -1
  27. package/dist/events/cloud-events.d.ts +2 -4
  28. package/dist/events/cloud-events.d.ts.map +1 -1
  29. package/dist/events/event-builder.d.ts +1 -1
  30. package/dist/events/event-builder.d.ts.map +1 -1
  31. package/dist/events/event-builder.js +28 -56
  32. package/dist/events/event-builder.js.map +1 -1
  33. package/dist/events/observability-events.d.ts +21 -110
  34. package/dist/events/observability-events.d.ts.map +1 -1
  35. package/dist/events/observability-events.js +6 -12
  36. package/dist/events/observability-events.js.map +1 -1
  37. package/dist/events/running-headline-sink.d.ts +2 -1
  38. package/dist/events/running-headline-sink.d.ts.map +1 -1
  39. package/dist/events/running-headline-sink.js.map +1 -1
  40. package/dist/events/telemetry-types.d.ts +45 -86
  41. package/dist/events/telemetry-types.d.ts.map +1 -1
  42. package/dist/events/telemetry-types.js +30 -55
  43. package/dist/events/telemetry-types.js.map +1 -1
  44. package/dist/index.d.ts +2 -5
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/intake/source-schema.js +1 -1
  49. package/dist/intake/source-schema.js.map +1 -1
  50. package/dist/intake/types.d.ts +1 -1
  51. package/dist/intake/types.d.ts.map +1 -1
  52. package/dist/intake/verify-command-validator.d.ts +6 -0
  53. package/dist/intake/verify-command-validator.d.ts.map +1 -0
  54. package/dist/intake/verify-command-validator.js +47 -0
  55. package/dist/intake/verify-command-validator.js.map +1 -0
  56. package/dist/lifecycle/findings-parser.d.ts +9 -0
  57. package/dist/lifecycle/findings-parser.d.ts.map +1 -0
  58. package/dist/lifecycle/findings-parser.js +47 -0
  59. package/dist/lifecycle/findings-parser.js.map +1 -0
  60. package/dist/lifecycle/handlers/annotator.d.ts +35 -0
  61. package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
  62. package/dist/lifecycle/handlers/annotator.js +38 -0
  63. package/dist/lifecycle/handlers/annotator.js.map +1 -0
  64. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  65. package/dist/lifecycle/handlers/baseline-handlers.js +34 -37
  66. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  67. package/dist/lifecycle/handlers/files-written-cross-check.d.ts +6 -0
  68. package/dist/lifecycle/handlers/files-written-cross-check.d.ts.map +1 -1
  69. package/dist/lifecycle/handlers/files-written-cross-check.js +7 -1
  70. package/dist/lifecycle/handlers/files-written-cross-check.js.map +1 -1
  71. package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
  72. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  73. package/dist/lifecycle/handlers/git-commit-handler.js +149 -42
  74. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  75. package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
  76. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
  77. package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
  78. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
  79. package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
  80. package/dist/lifecycle/handlers/review-handler.js +98 -70
  81. package/dist/lifecycle/handlers/review-handler.js.map +1 -1
  82. package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
  83. package/dist/lifecycle/handlers/rework-handler.js +64 -25
  84. package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
  85. package/dist/lifecycle/handlers/task-executor.d.ts +1 -3
  86. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
  87. package/dist/lifecycle/handlers/task-executor.js +88 -8
  88. package/dist/lifecycle/handlers/task-executor.js.map +1 -1
  89. package/dist/lifecycle/lifecycle-context.d.ts +13 -0
  90. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  91. package/dist/lifecycle/merge-stage-stats.d.ts +3 -4
  92. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  93. package/dist/lifecycle/merge-stage-stats.js +2 -2
  94. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  95. package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
  96. package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
  97. package/dist/lifecycle/parallel-criteria-routes.js +36 -142
  98. package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
  99. package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
  100. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
  101. package/dist/lifecycle/read-only-subtype-spec.js +2 -0
  102. package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
  103. package/dist/lifecycle/stage-labels.d.ts +22 -0
  104. package/dist/lifecycle/stage-labels.d.ts.map +1 -0
  105. package/dist/lifecycle/stage-labels.js +42 -0
  106. package/dist/lifecycle/stage-labels.js.map +1 -0
  107. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  108. package/dist/lifecycle/stage-plan-builder.js +25 -54
  109. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  110. package/dist/lifecycle/stage-plan-types.d.ts +0 -23
  111. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  112. package/dist/lifecycle/stage-progression.js +10 -10
  113. package/dist/lifecycle/stage-progression.js.map +1 -1
  114. package/dist/lifecycle/stage-stats.d.ts +3 -3
  115. package/dist/lifecycle/stage-stats.d.ts.map +1 -1
  116. package/dist/lifecycle/stage-stats.js +6 -9
  117. package/dist/lifecycle/stage-stats.js.map +1 -1
  118. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  119. package/dist/lifecycle/task-executor.js +20 -17
  120. package/dist/lifecycle/task-executor.js.map +1 -1
  121. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  122. package/dist/lifecycle/task-runner.js +83 -72
  123. package/dist/lifecycle/task-runner.js.map +1 -1
  124. package/dist/lifecycle/tool-config-types.d.ts +1 -2
  125. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  126. package/dist/lifecycle/warm-followup.d.ts +3 -0
  127. package/dist/lifecycle/warm-followup.d.ts.map +1 -0
  128. package/dist/lifecycle/warm-followup.js +16 -0
  129. package/dist/lifecycle/warm-followup.js.map +1 -0
  130. package/dist/lifecycle/worker-output-contract.d.ts +26 -0
  131. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
  132. package/dist/lifecycle/worker-output-contract.js +73 -0
  133. package/dist/lifecycle/worker-output-contract.js.map +1 -0
  134. package/dist/providers/assemble-run-result.d.ts +17 -0
  135. package/dist/providers/assemble-run-result.d.ts.map +1 -0
  136. package/dist/providers/assemble-run-result.js +76 -0
  137. package/dist/providers/assemble-run-result.js.map +1 -0
  138. package/dist/providers/brief-preamble.d.ts +4 -0
  139. package/dist/providers/brief-preamble.d.ts.map +1 -0
  140. package/dist/providers/brief-preamble.js +39 -0
  141. package/dist/providers/brief-preamble.js.map +1 -0
  142. package/dist/providers/claude-session.d.ts +23 -0
  143. package/dist/providers/claude-session.d.ts.map +1 -0
  144. package/dist/providers/claude-session.js +185 -0
  145. package/dist/providers/claude-session.js.map +1 -0
  146. package/dist/providers/claude.d.ts +4 -0
  147. package/dist/providers/claude.d.ts.map +1 -0
  148. package/dist/providers/claude.js +35 -0
  149. package/dist/providers/claude.js.map +1 -0
  150. package/dist/providers/codex-cli-event.d.ts +44 -0
  151. package/dist/providers/codex-cli-event.d.ts.map +1 -0
  152. package/dist/providers/codex-cli-event.js +43 -0
  153. package/dist/providers/codex-cli-event.js.map +1 -0
  154. package/dist/providers/codex-cli-launch.d.ts +26 -0
  155. package/dist/providers/codex-cli-launch.d.ts.map +1 -0
  156. package/dist/providers/codex-cli-launch.js +47 -0
  157. package/dist/providers/codex-cli-launch.js.map +1 -0
  158. package/dist/providers/codex-cli-session.d.ts +55 -0
  159. package/dist/providers/codex-cli-session.d.ts.map +1 -0
  160. package/dist/providers/codex-cli-session.js +417 -0
  161. package/dist/providers/codex-cli-session.js.map +1 -0
  162. package/dist/providers/codex.d.ts +4 -0
  163. package/dist/providers/codex.d.ts.map +1 -0
  164. package/dist/providers/codex.js +28 -0
  165. package/dist/providers/codex.js.map +1 -0
  166. package/dist/providers/index.d.ts +0 -12
  167. package/dist/providers/index.d.ts.map +1 -1
  168. package/dist/providers/index.js +1 -13
  169. package/dist/providers/index.js.map +1 -1
  170. package/dist/providers/normalize-claude.d.ts +10 -0
  171. package/dist/providers/normalize-claude.d.ts.map +1 -0
  172. package/dist/providers/normalize-claude.js +89 -0
  173. package/dist/providers/normalize-claude.js.map +1 -0
  174. package/dist/providers/provider-factory.d.ts +1 -9
  175. package/dist/providers/provider-factory.d.ts.map +1 -1
  176. package/dist/providers/provider-factory.js +35 -167
  177. package/dist/providers/provider-factory.js.map +1 -1
  178. package/dist/providers/runner-adapter.d.ts +5 -16
  179. package/dist/providers/runner-adapter.d.ts.map +1 -1
  180. package/dist/providers/runner-adapter.js +6 -0
  181. package/dist/providers/runner-adapter.js.map +1 -1
  182. package/dist/providers/runner-types.d.ts +21 -3
  183. package/dist/providers/runner-types.d.ts.map +1 -1
  184. package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
  185. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
  186. package/dist/reporting/report-parser-slots/research-report.js +28 -67
  187. package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
  188. package/dist/review/annotator-engine.d.ts +2 -2
  189. package/dist/review/annotator-engine.d.ts.map +1 -1
  190. package/dist/review/annotator-engine.js +16 -20
  191. package/dist/review/annotator-engine.js.map +1 -1
  192. package/dist/review/annotator-prompt-builder.d.ts +1 -1
  193. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  194. package/dist/review/default-engines.d.ts.map +1 -1
  195. package/dist/review/default-engines.js +2 -4
  196. package/dist/review/default-engines.js.map +1 -1
  197. package/dist/review/review-types.d.ts +0 -1
  198. package/dist/review/review-types.d.ts.map +1 -1
  199. package/dist/review/reviewer-engine.d.ts +5 -40
  200. package/dist/review/reviewer-engine.d.ts.map +1 -1
  201. package/dist/review/reviewer-engine.js +19 -49
  202. package/dist/review/reviewer-engine.js.map +1 -1
  203. package/dist/review/reviewer-output-parser.d.ts +1 -6
  204. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  205. package/dist/review/reviewer-output-parser.js +0 -26
  206. package/dist/review/reviewer-output-parser.js.map +1 -1
  207. package/dist/review/reviewer-prompt-builder.d.ts +1 -6
  208. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  209. package/dist/review/reviewer-prompt-builder.js +0 -6
  210. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  211. package/dist/review/templates/quality-review.d.ts.map +1 -1
  212. package/dist/review/templates/quality-review.js +28 -0
  213. package/dist/review/templates/quality-review.js.map +1 -1
  214. package/dist/review/templates/rework.d.ts.map +1 -1
  215. package/dist/review/templates/rework.js +15 -9
  216. package/dist/review/templates/rework.js.map +1 -1
  217. package/dist/review/templates/shared.d.ts +9 -0
  218. package/dist/review/templates/shared.d.ts.map +1 -1
  219. package/dist/stores/context-block-project-cap.d.ts +1 -1
  220. package/dist/stores/context-block-project-cap.d.ts.map +1 -1
  221. package/dist/stores/context-block-project-cap.js +17 -5
  222. package/dist/stores/context-block-project-cap.js.map +1 -1
  223. package/dist/stores/file-backed-context-block-store.d.ts +7 -0
  224. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  225. package/dist/stores/file-backed-context-block-store.js +8 -0
  226. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  227. package/dist/tool-surface/discover.d.ts +1 -1
  228. package/dist/tool-surface/discover.d.ts.map +1 -1
  229. package/dist/tool-surface/discover.js +0 -1
  230. package/dist/tool-surface/discover.js.map +1 -1
  231. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  232. package/dist/tool-surface/openapi-generator.js +0 -2
  233. package/dist/tool-surface/openapi-generator.js.map +1 -1
  234. package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
  235. package/dist/tool-surface/register-all-tools.js +1 -3
  236. package/dist/tool-surface/register-all-tools.js.map +1 -1
  237. package/dist/tools/audit/schema.d.ts +4 -4
  238. package/dist/tools/audit/schema.d.ts.map +1 -1
  239. package/dist/tools/audit/schema.js +4 -4
  240. package/dist/tools/audit/schema.js.map +1 -1
  241. package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
  242. package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
  243. package/dist/tools/audit/skill-audit-criteria.js +51 -0
  244. package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
  245. package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
  246. package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
  247. package/dist/tools/audit/spec-audit-criteria.js +52 -0
  248. package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
  249. package/dist/tools/audit/subtypes.d.ts +4 -0
  250. package/dist/tools/audit/subtypes.d.ts.map +1 -0
  251. package/dist/tools/audit/subtypes.js +67 -0
  252. package/dist/tools/audit/subtypes.js.map +1 -0
  253. package/dist/tools/audit/tool-config.d.ts +4 -4
  254. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  255. package/dist/tools/audit/tool-config.js +31 -29
  256. package/dist/tools/audit/tool-config.js.map +1 -1
  257. package/dist/tools/debug/schema.d.ts +3 -0
  258. package/dist/tools/debug/schema.d.ts.map +1 -1
  259. package/dist/tools/debug/schema.js +1 -0
  260. package/dist/tools/debug/schema.js.map +1 -1
  261. package/dist/tools/debug/subtypes.d.ts +4 -0
  262. package/dist/tools/debug/subtypes.d.ts.map +1 -0
  263. package/dist/tools/debug/subtypes.js +25 -0
  264. package/dist/tools/debug/subtypes.js.map +1 -0
  265. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  266. package/dist/tools/delegate/tool-config.js +0 -1
  267. package/dist/tools/delegate/tool-config.js.map +1 -1
  268. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  269. package/dist/tools/execute-plan/tool-config.js +5 -2
  270. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  271. package/dist/tools/index.d.ts +0 -1
  272. package/dist/tools/index.d.ts.map +1 -1
  273. package/dist/tools/index.js +0 -1
  274. package/dist/tools/index.js.map +1 -1
  275. package/dist/tools/investigate/schema.d.ts +3 -0
  276. package/dist/tools/investigate/schema.d.ts.map +1 -1
  277. package/dist/tools/investigate/schema.js +1 -0
  278. package/dist/tools/investigate/schema.js.map +1 -1
  279. package/dist/tools/investigate/subtypes.d.ts +4 -0
  280. package/dist/tools/investigate/subtypes.d.ts.map +1 -0
  281. package/dist/tools/investigate/subtypes.js +25 -0
  282. package/dist/tools/investigate/subtypes.js.map +1 -0
  283. package/dist/tools/research/implementer-criteria.d.ts +12 -5
  284. package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
  285. package/dist/tools/research/implementer-criteria.js +40 -9
  286. package/dist/tools/research/implementer-criteria.js.map +1 -1
  287. package/dist/tools/research/schema.d.ts +3 -0
  288. package/dist/tools/research/schema.d.ts.map +1 -1
  289. package/dist/tools/research/schema.js +2 -1
  290. package/dist/tools/research/schema.js.map +1 -1
  291. package/dist/tools/research/subtypes.d.ts +4 -0
  292. package/dist/tools/research/subtypes.d.ts.map +1 -0
  293. package/dist/tools/research/subtypes.js +24 -0
  294. package/dist/tools/research/subtypes.js.map +1 -0
  295. package/dist/tools/research/tool-config.js +2 -2
  296. package/dist/tools/research/tool-config.js.map +1 -1
  297. package/dist/tools/review/schema.d.ts +3 -0
  298. package/dist/tools/review/schema.d.ts.map +1 -1
  299. package/dist/tools/review/schema.js +1 -0
  300. package/dist/tools/review/schema.js.map +1 -1
  301. package/dist/tools/review/subtypes.d.ts +4 -0
  302. package/dist/tools/review/subtypes.d.ts.map +1 -0
  303. package/dist/tools/review/subtypes.js +26 -0
  304. package/dist/tools/review/subtypes.js.map +1 -0
  305. package/dist/types/config.d.ts +14 -28
  306. package/dist/types/config.d.ts.map +1 -1
  307. package/dist/types/enums.d.ts +3 -8
  308. package/dist/types/enums.d.ts.map +1 -1
  309. package/dist/types/enums.js +3 -3
  310. package/dist/types/enums.js.map +1 -1
  311. package/dist/types/run-result.d.ts +57 -22
  312. package/dist/types/run-result.d.ts.map +1 -1
  313. package/dist/types/stage-stats.d.ts +10 -29
  314. package/dist/types/stage-stats.d.ts.map +1 -1
  315. package/dist/types/task-spec.d.ts +17 -15
  316. package/dist/types/task-spec.d.ts.map +1 -1
  317. package/dist/types.d.ts +1 -1
  318. package/dist/types.d.ts.map +1 -1
  319. package/package.json +9 -3
  320. package/dist/identity/main-model-resolver.d.ts +0 -14
  321. package/dist/identity/main-model-resolver.d.ts.map +0 -1
  322. package/dist/identity/main-model-resolver.js +0 -83
  323. package/dist/identity/main-model-resolver.js.map +0 -1
  324. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
  325. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
  326. package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -171
  327. package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
  328. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
  329. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
  330. package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -67
  331. package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
  332. package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
  333. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
  334. package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
  335. package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
  336. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
  337. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
  338. package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
  339. package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
  340. package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
  341. package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
  342. package/dist/providers/anthropic-messages-adapter.js +0 -127
  343. package/dist/providers/anthropic-messages-adapter.js.map +0 -1
  344. package/dist/providers/base/research-tools.d.ts +0 -47
  345. package/dist/providers/base/research-tools.d.ts.map +0 -1
  346. package/dist/providers/base/research-tools.js +0 -67
  347. package/dist/providers/base/research-tools.js.map +0 -1
  348. package/dist/providers/base/result-builders.d.ts +0 -82
  349. package/dist/providers/base/result-builders.d.ts.map +0 -1
  350. package/dist/providers/base/result-builders.js +0 -112
  351. package/dist/providers/base/result-builders.js.map +0 -1
  352. package/dist/providers/base/time-check.d.ts +0 -9
  353. package/dist/providers/base/time-check.d.ts.map +0 -1
  354. package/dist/providers/base/time-check.js +0 -18
  355. package/dist/providers/base/time-check.js.map +0 -1
  356. package/dist/providers/base/types.d.ts +0 -53
  357. package/dist/providers/base/types.d.ts.map +0 -1
  358. package/dist/providers/base/types.js +0 -2
  359. package/dist/providers/base/types.js.map +0 -1
  360. package/dist/providers/base/usage-accumulator.d.ts +0 -9
  361. package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
  362. package/dist/providers/base/usage-accumulator.js +0 -20
  363. package/dist/providers/base/usage-accumulator.js.map +0 -1
  364. package/dist/providers/call-cache.d.ts +0 -16
  365. package/dist/providers/call-cache.d.ts.map +0 -1
  366. package/dist/providers/call-cache.js +0 -28
  367. package/dist/providers/call-cache.js.map +0 -1
  368. package/dist/providers/file-tracker.d.ts +0 -80
  369. package/dist/providers/file-tracker.d.ts.map +0 -1
  370. package/dist/providers/file-tracker.js +0 -125
  371. package/dist/providers/file-tracker.js.map +0 -1
  372. package/dist/providers/injection-type.d.ts +0 -22
  373. package/dist/providers/injection-type.d.ts.map +0 -1
  374. package/dist/providers/injection-type.js +0 -34
  375. package/dist/providers/injection-type.js.map +0 -1
  376. package/dist/providers/make-runner-shell.d.ts +0 -4
  377. package/dist/providers/make-runner-shell.d.ts.map +0 -1
  378. package/dist/providers/make-runner-shell.js +0 -70
  379. package/dist/providers/make-runner-shell.js.map +0 -1
  380. package/dist/providers/openai-chat-adapter.d.ts +0 -15
  381. package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
  382. package/dist/providers/openai-chat-adapter.js +0 -86
  383. package/dist/providers/openai-chat-adapter.js.map +0 -1
  384. package/dist/providers/openai-responses-adapter.d.ts +0 -15
  385. package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
  386. package/dist/providers/openai-responses-adapter.js +0 -137
  387. package/dist/providers/openai-responses-adapter.js.map +0 -1
  388. package/dist/providers/openai-usage-interceptor.d.ts +0 -25
  389. package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
  390. package/dist/providers/openai-usage-interceptor.js +0 -121
  391. package/dist/providers/openai-usage-interceptor.js.map +0 -1
  392. package/dist/providers/prevention.d.ts +0 -44
  393. package/dist/providers/prevention.d.ts.map +0 -1
  394. package/dist/providers/prevention.js +0 -108
  395. package/dist/providers/prevention.js.map +0 -1
  396. package/dist/providers/runner-shell-types.d.ts +0 -91
  397. package/dist/providers/runner-shell-types.d.ts.map +0 -1
  398. package/dist/providers/runner-shell-types.js +0 -2
  399. package/dist/providers/runner-shell-types.js.map +0 -1
  400. package/dist/providers/runner-shell.d.ts +0 -67
  401. package/dist/providers/runner-shell.d.ts.map +0 -1
  402. package/dist/providers/runner-shell.js +0 -518
  403. package/dist/providers/runner-shell.js.map +0 -1
  404. package/dist/providers/scratchpad-salvager.d.ts +0 -19
  405. package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
  406. package/dist/providers/scratchpad-salvager.js +0 -44
  407. package/dist/providers/scratchpad-salvager.js.map +0 -1
  408. package/dist/providers/supervision.d.ts +0 -108
  409. package/dist/providers/supervision.d.ts.map +0 -1
  410. package/dist/providers/supervision.js +0 -272
  411. package/dist/providers/supervision.js.map +0 -1
  412. package/dist/providers/text-scratchpad.d.ts +0 -28
  413. package/dist/providers/text-scratchpad.d.ts.map +0 -1
  414. package/dist/providers/text-scratchpad.js +0 -49
  415. package/dist/providers/text-scratchpad.js.map +0 -1
  416. package/dist/providers/tool-definitions.d.ts +0 -6
  417. package/dist/providers/tool-definitions.d.ts.map +0 -1
  418. package/dist/providers/tool-definitions.js +0 -236
  419. package/dist/providers/tool-definitions.js.map +0 -1
  420. package/dist/providers/tool-implementations.d.ts +0 -38
  421. package/dist/providers/tool-implementations.d.ts.map +0 -1
  422. package/dist/providers/tool-implementations.js +0 -254
  423. package/dist/providers/tool-implementations.js.map +0 -1
  424. package/dist/providers/tool-tracker.d.ts +0 -14
  425. package/dist/providers/tool-tracker.d.ts.map +0 -1
  426. package/dist/providers/tool-tracker.js +0 -13
  427. package/dist/providers/tool-tracker.js.map +0 -1
  428. package/dist/reporting/headline-templates/verify.d.ts +0 -3
  429. package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
  430. package/dist/reporting/headline-templates/verify.js +0 -29
  431. package/dist/reporting/headline-templates/verify.js.map +0 -1
  432. package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
  433. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
  434. package/dist/reporting/report-parser-slots/verify-report.js +0 -51
  435. package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
  436. package/dist/review/templates/annotator-verify.d.ts +0 -3
  437. package/dist/review/templates/annotator-verify.d.ts.map +0 -1
  438. package/dist/review/templates/annotator-verify.js +0 -21
  439. package/dist/review/templates/annotator-verify.js.map +0 -1
  440. package/dist/review/templates/quality-review-verify.d.ts +0 -3
  441. package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
  442. package/dist/review/templates/quality-review-verify.js +0 -10
  443. package/dist/review/templates/quality-review-verify.js.map +0 -1
  444. package/dist/tools/verify/implementer-criteria.d.ts +0 -61
  445. package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
  446. package/dist/tools/verify/implementer-criteria.js +0 -125
  447. package/dist/tools/verify/implementer-criteria.js.map +0 -1
  448. package/dist/tools/verify/schema.d.ts +0 -56
  449. package/dist/tools/verify/schema.d.ts.map +0 -1
  450. package/dist/tools/verify/schema.js +0 -16
  451. package/dist/tools/verify/schema.js.map +0 -1
  452. package/dist/tools/verify/tool-config.d.ts +0 -14
  453. package/dist/tools/verify/tool-config.d.ts.map +0 -1
  454. package/dist/tools/verify/tool-config.js +0 -146
  455. package/dist/tools/verify/tool-config.js.map +0 -1
@@ -1,125 +0,0 @@
1
- /**
2
- * Tracks file accesses and tool invocations inside a sub-agent run so the
3
- * runner can report what the worker actually did. Reads, writes, and tool
4
- * calls are stored separately because they answer different questions for
5
- * the caller:
6
- *
7
- * - filesRead → "what did the worker look at?" (debugging, audit trail)
8
- * - directoriesListed → "which directories were enumerated?" (exploration)
9
- * - filesWritten → "what changed on disk?" (review, rollback)
10
- * - toolCalls → "what did the worker actually do, in order?"
11
- * (debugging, post-mortem)
12
- *
13
- * Read-only tasks (audits, surveys, exploration) used to return an empty
14
- * `files` array because the original tracker only recorded writes. That made
15
- * it impossible to tell whether the worker had done substantial work or had
16
- * bailed out immediately.
17
- */
18
- /**
19
- * A4b §2a path-validity filter (4.2.2+).
20
- *
21
- * Returns true iff `entry` is a real, sandbox-safe relative filesystem
22
- * path that the platform can verify via `stat(taskSpec.cwd, entry)`.
23
- * Returns false for anything that looks like a shell-channel artifact,
24
- * shell injection, or sandbox-escape attempt.
25
- *
26
- * The five rules (in order — first match wins):
27
- * 1. Reject the literal `shell:` prefix (used by Gap-11 shell-detection
28
- * to attribute heuristic shell writes; A4b stops conflating those
29
- * with real paths).
30
- * 2. Reject entries with shell control characters: < > | & ; ` $ ( )
31
- * 3. Reject entries that don't match ^[A-Za-z0-9_.][^\s'"]*$
32
- * (must start with alphanumeric/underscore/dot; no whitespace/quotes).
33
- * 4. Reject entries longer than 4096 chars (PATH_MAX guard).
34
- * 5. Reject absolute paths. `path.join(cwd, '/etc/passwd')` returns
35
- * `/etc/passwd` (path.join ignores cwd when arg2 is absolute) — silent
36
- * sandbox escape.
37
- */
38
- export function filterValidWritePath(entry) {
39
- if (typeof entry !== 'string' || entry.length === 0)
40
- return false;
41
- if (entry.length > 4096)
42
- return false;
43
- if (entry.startsWith('shell:'))
44
- return false;
45
- // Shell control chars: <, >, |, &, ;, backtick (`), $, (, )
46
- if (/[<>|&;`$()]/.test(entry))
47
- return false;
48
- // Path shape: alphanumeric/_/. start, no whitespace, no quotes
49
- if (!/^[A-Za-z0-9_.][^\s'"]*$/.test(entry))
50
- return false;
51
- // Sandbox-escape guard
52
- if (entry.startsWith('/'))
53
- return false;
54
- return true;
55
- }
56
- export class FileTracker {
57
- reads = new Set();
58
- /**
59
- * Per-path read counter (4.3.0+, pipeline-redesign read-budget guard).
60
- * trackRead increments on every read; `readCount(path)` exposes it so
61
- * tool implementations can append a warning when a worker re-reads the
62
- * same file too many times in a single stage. Counts reset with the
63
- * tracker on `reset()`.
64
- */
65
- readCounts = new Map();
66
- dirs = [];
67
- writes = new Set();
68
- toolCalls = [];
69
- onToolCall;
70
- /**
71
- * @param onToolCall Optional callback invoked synchronously after every
72
- * `trackToolCall(...)`. Used by runners (Task 9+) to stream tool
73
- * invocations out as `InternalRunnerEvent`s in real time. The callback must
74
- * not throw; the runner wraps it in `safeSink` before passing it in.
75
- */
76
- constructor(onToolCall) {
77
- this.onToolCall = onToolCall;
78
- }
79
- trackRead(filePath) {
80
- this.reads.add(filePath);
81
- this.readCounts.set(filePath, (this.readCounts.get(filePath) ?? 0) + 1);
82
- }
83
- /** How many times `trackRead(filePath)` has been called for this path
84
- * in the current tracker lifetime. 0 if never. Used by the read-budget
85
- * guard in tool-implementations.ts to warn the worker after N re-reads. */
86
- readCount(filePath) {
87
- return this.readCounts.get(filePath) ?? 0;
88
- }
89
- trackDirectoryList(dirPath) {
90
- this.dirs.push(dirPath);
91
- }
92
- trackWrite(filePath) {
93
- this.writes.add(filePath);
94
- }
95
- /**
96
- * Record a one-line summary of a tool invocation. Order is preserved so
97
- * the caller can reconstruct what the worker actually did. If an
98
- * `onToolCall` callback was supplied at construction, it is fired
99
- * synchronously after the summary is recorded.
100
- */
101
- trackToolCall(summary) {
102
- this.toolCalls.push(summary);
103
- this.onToolCall?.(summary);
104
- }
105
- getReads() {
106
- return [...this.reads].sort();
107
- }
108
- getDirectoriesListed() {
109
- return [...this.dirs];
110
- }
111
- getWrites() {
112
- return [...this.writes].sort();
113
- }
114
- getToolCalls() {
115
- return [...this.toolCalls];
116
- }
117
- reset() {
118
- this.reads.clear();
119
- this.readCounts.clear();
120
- this.dirs = [];
121
- this.writes.clear();
122
- this.toolCalls = [];
123
- }
124
- }
125
- //# sourceMappingURL=file-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-tracker.js","sourceRoot":"","sources":["../../src/providers/file-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,4DAA4D;IAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,+DAA+D;IAC/D,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,uBAAuB;IACvB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC;;;;;;OAMG;IACK,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,IAAI,GAAa,EAAE,CAAC;IACpB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3B,SAAS,GAAa,EAAE,CAAC;IAChB,UAAU,CAA6B;IAExD;;;;;OAKG;IACH,YAAY,UAAsC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;gFAE4E;IAC5E,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,QAAgB;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,oBAAoB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- import type { DegenerateKind } from './supervision.js';
2
- /**
3
- * Map a supervision `validation.kind` to the `injectionType` label used in
4
- * the `InternalRunnerEvent` emitted when the runner injects a supervision
5
- * re-prompt.
6
- *
7
- * `fragment` and `no_terminator` collapse onto `supervise_fragment` because
8
- * they share a re-prompt style (we quote the tail back at the model) and
9
- * belong to the same observer bucket — distinguishing them on the event
10
- * stream would just leak an implementation detail of `validateCompletion`.
11
- *
12
- * `insufficient_coverage` gets its own distinct type because the re-prompt
13
- * is structurally different (it lists specific missing items rather than
14
- * quoting the output tail), so observers benefit from being able to
15
- * distinguish it without peeking at the re-prompt content.
16
- *
17
- * Shared by every runner (openai / claude / codex) per the "3+ concrete use
18
- * cases" rule — inlining it three times was the prior state. The helper is
19
- * deliberately free of any runner- or SDK-specific knowledge.
20
- */
21
- export declare function injectionTypeFor(kind: DegenerateKind | undefined): 'supervise_empty' | 'supervise_thinking' | 'supervise_fragment' | 'supervise_insufficient_coverage';
22
- //# sourceMappingURL=injection-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injection-type.d.ts","sourceRoot":"","sources":["../../src/providers/injection-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,GAAG,SAAS,GAE9B,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,iCAAiC,CAcpC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Map a supervision `validation.kind` to the `injectionType` label used in
3
- * the `InternalRunnerEvent` emitted when the runner injects a supervision
4
- * re-prompt.
5
- *
6
- * `fragment` and `no_terminator` collapse onto `supervise_fragment` because
7
- * they share a re-prompt style (we quote the tail back at the model) and
8
- * belong to the same observer bucket — distinguishing them on the event
9
- * stream would just leak an implementation detail of `validateCompletion`.
10
- *
11
- * `insufficient_coverage` gets its own distinct type because the re-prompt
12
- * is structurally different (it lists specific missing items rather than
13
- * quoting the output tail), so observers benefit from being able to
14
- * distinguish it without peeking at the re-prompt content.
15
- *
16
- * Shared by every runner (openai / claude / codex) per the "3+ concrete use
17
- * cases" rule — inlining it three times was the prior state. The helper is
18
- * deliberately free of any runner- or SDK-specific knowledge.
19
- */
20
- export function injectionTypeFor(kind) {
21
- switch (kind) {
22
- case 'empty':
23
- return 'supervise_empty';
24
- case 'thinking_only':
25
- return 'supervise_thinking';
26
- case 'insufficient_coverage':
27
- return 'supervise_insufficient_coverage';
28
- case 'fragment':
29
- case 'no_terminator':
30
- default:
31
- return 'supervise_fragment';
32
- }
33
- }
34
- //# sourceMappingURL=injection-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injection-type.js","sourceRoot":"","sources":["../../src/providers/injection-type.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAgC;IAOhC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,uBAAuB;YAC1B,OAAO,iCAAiC,CAAC;QAC3C,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Provider } from '../types.js';
2
- import { RunnerShell } from './runner-shell.js';
3
- export declare function makeRunnerShell(provider: Provider): RunnerShell;
4
- //# sourceMappingURL=make-runner-shell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-runner-shell.d.ts","sourceRoot":"","sources":["../../src/providers/make-runner-shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CA0E/D"}
@@ -1,70 +0,0 @@
1
- import { RunnerShell } from './runner-shell.js';
2
- import { buildAdapter } from './provider-factory.js';
3
- export function makeRunnerShell(provider) {
4
- // Test/mock providers expose `__mockAdapter` so the engine path can run
5
- // without making real HTTP calls. Production providers carry a real config
6
- // and use `buildAdapter` to produce a real runner adapter.
7
- const cfgModel = provider.config?.model;
8
- const maybeMock = provider.__mockAdapter;
9
- if (maybeMock)
10
- return new RunnerShell(maybeMock, cfgModel);
11
- // If the provider looks like a test mock (named 'mock' OR config.model === 'mock'),
12
- // synthesize a bridge adapter from `provider.run(prompt)` so the engine path
13
- // works in tests without each test wiring `__mockAdapter` explicitly.
14
- const cfg = provider.config;
15
- const isMock = provider.name === 'mock' || cfgModel === 'mock' || cfgModel === 'mock-model';
16
- if (isMock && typeof provider.run === 'function') {
17
- const adapter = {
18
- providerType: 'mock',
19
- async turn(input) {
20
- const prompt = `${input.systemPrompt}\n\n${input.userMessage}`;
21
- const result = await provider.run(prompt);
22
- return {
23
- assistantText: result.output ?? '',
24
- toolCalls: [],
25
- finishReason: 'stop',
26
- usage: {
27
- inputTokens: result.usage?.inputTokens ?? 0,
28
- outputTokens: result.usage?.outputTokens ?? 0,
29
- cachedReadTokens: result.usage?.cachedReadTokens ?? 0,
30
- cachedNonReadTokens: result.usage?.cachedNonReadTokens ?? 0,
31
- },
32
- };
33
- },
34
- };
35
- return new RunnerShell(adapter, cfgModel);
36
- }
37
- let adapter;
38
- try {
39
- adapter = buildAdapter(provider.config);
40
- }
41
- catch {
42
- adapter = undefined;
43
- }
44
- // Fallback bridge for any provider whose config doesn't yield a real adapter
45
- // (typical in tests). Lets every test that has a working `provider.run(prompt)`
46
- // exercise the engine path without per-test wiring.
47
- if (!adapter && typeof provider.run === 'function') {
48
- const bridgeAdapter = {
49
- providerType: 'mock',
50
- async turn(input) {
51
- const prompt = `${input.systemPrompt}\n\n${input.userMessage}`;
52
- const result = await provider.run(prompt);
53
- return {
54
- assistantText: result.output ?? '',
55
- toolCalls: [],
56
- finishReason: 'stop',
57
- usage: {
58
- inputTokens: result.usage?.inputTokens ?? 0,
59
- outputTokens: result.usage?.outputTokens ?? 0,
60
- cachedReadTokens: result.usage?.cachedReadTokens ?? 0,
61
- cachedNonReadTokens: result.usage?.cachedNonReadTokens ?? 0,
62
- },
63
- };
64
- },
65
- };
66
- return new RunnerShell(bridgeAdapter, cfgModel);
67
- }
68
- return new RunnerShell(adapter, cfgModel);
69
- }
70
- //# sourceMappingURL=make-runner-shell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-runner-shell.js","sourceRoot":"","sources":["../../src/providers/make-runner-shell.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { RunnerAdapter, AdapterTurnInput, AdapterTurnResult } from './runner-adapter.js';
2
- export declare class OpenAIChatAdapter implements RunnerAdapter {
3
- readonly providerType: 'openai' | 'openai-compatible';
4
- private client;
5
- private model;
6
- constructor(opts: {
7
- apiKey: string;
8
- baseURL?: string;
9
- model: string;
10
- providerType?: 'openai' | 'openai-compatible';
11
- });
12
- turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
13
- private priorToMessages;
14
- }
15
- //# sourceMappingURL=openai-chat-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/openai-chat-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAAC;KAC/C;IAMK,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4D/D,OAAO,CAAC,eAAe;CAkBxB"}
@@ -1,86 +0,0 @@
1
- import OpenAI from 'openai';
2
- export class OpenAIChatAdapter {
3
- providerType;
4
- client;
5
- model;
6
- constructor(opts) {
7
- this.client = new OpenAI({ apiKey: opts.apiKey, baseURL: opts.baseURL });
8
- this.providerType = opts.providerType ?? 'openai';
9
- this.model = opts.model;
10
- }
11
- async turn(input) {
12
- // No max_completion_tokens — let the model use its full output budget.
13
- // Wall-clock + cost ceilings are the only worker bounds.
14
- const response = await this.client.chat.completions.create({
15
- model: this.model,
16
- messages: [
17
- { role: 'system', content: input.systemPrompt },
18
- ...this.priorToMessages(input.priorTurns),
19
- { role: 'user', content: input.userMessage },
20
- ],
21
- tools: input.toolDefinitions.map(d => ({
22
- type: 'function',
23
- function: { name: d.name, description: d.description, parameters: d.schema },
24
- })),
25
- });
26
- const reasoning = response.usage?.completion_tokens_details?.reasoning_tokens ?? 0;
27
- const usage = {
28
- inputTokens: response.usage?.prompt_tokens ?? 0,
29
- outputTokens: (response.usage?.completion_tokens ?? 0) + reasoning,
30
- cachedReadTokens: response.usage?.prompt_tokens_details?.cached_tokens ?? 0,
31
- cachedNonReadTokens: 0,
32
- };
33
- const choice = response.choices[0];
34
- if (!choice) {
35
- return {
36
- assistantText: '',
37
- toolCalls: [],
38
- usage,
39
- finishReason: 'error',
40
- errorCode: 'empty_choices',
41
- };
42
- }
43
- // OpenAI v6: ChatCompletionMessageToolCall = FunctionToolCall | CustomToolCall.
44
- // We only send type:'function' tools, so every response call carries .function.
45
- const toolCalls = (choice.message.tool_calls ?? []).map(c => {
46
- const fn = c.function;
47
- let input;
48
- if (fn) {
49
- try {
50
- input = JSON.parse(fn.arguments);
51
- }
52
- catch (e) {
53
- input = { __mma_invalid_arguments: fn.arguments, __mma_parse_error: e.message };
54
- }
55
- }
56
- return { id: c.id, name: fn?.name ?? c.type, input };
57
- });
58
- return {
59
- assistantText: choice.message.content ?? '',
60
- toolCalls,
61
- usage,
62
- finishReason: toolCalls.length > 0
63
- ? 'tool_use'
64
- : (choice.finish_reason === 'stop' ? 'stop' : 'max_tokens'),
65
- };
66
- }
67
- priorToMessages(priors) {
68
- return priors.flatMap((t, turnIdx) => [
69
- {
70
- role: 'assistant',
71
- content: t.assistantText || null,
72
- tool_calls: t.toolCalls.map((c, callIdx) => ({
73
- id: c.id ?? `call_${turnIdx}_${callIdx}`,
74
- type: 'function',
75
- function: { name: c.name, arguments: JSON.stringify(c.input) },
76
- })),
77
- },
78
- ...t.toolCalls.map((c, callIdx) => ({
79
- role: 'tool',
80
- tool_call_id: c.id ?? `call_${turnIdx}_${callIdx}`,
81
- content: typeof c.result === 'string' ? c.result : JSON.stringify(c.result ?? null),
82
- })),
83
- ]);
84
- }
85
- }
86
- //# sourceMappingURL=openai-chat-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chat-adapter.js","sourceRoot":"","sources":["../../src/providers/openai-chat-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { RunnerAdapter, AdapterTurnInput, AdapterTurnResult } from './runner-adapter.js';
2
- export declare class OpenAIResponsesAdapter implements RunnerAdapter {
3
- readonly providerType: "codex";
4
- private client;
5
- private model;
6
- constructor(opts: {
7
- apiKey: string;
8
- baseURL?: string;
9
- model: string;
10
- defaultHeaders?: Record<string, string>;
11
- });
12
- turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
13
- private buildInputItems;
14
- }
15
- //# sourceMappingURL=openai-responses-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-responses-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/openai-responses-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,QAAQ,CAAC,YAAY,EAAG,OAAO,CAAU;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IASxG,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgG/D,OAAO,CAAC,eAAe;CA+BxB"}
@@ -1,137 +0,0 @@
1
- import OpenAI from 'openai';
2
- export class OpenAIResponsesAdapter {
3
- providerType = 'codex';
4
- client;
5
- model;
6
- constructor(opts) {
7
- this.client = new OpenAI({
8
- apiKey: opts.apiKey,
9
- baseURL: opts.baseURL,
10
- ...(opts.defaultHeaders && { defaultHeaders: opts.defaultHeaders }),
11
- });
12
- this.model = opts.model;
13
- }
14
- async turn(input) {
15
- const inputItems = this.buildInputItems(input);
16
- // Stream the response. Two reasons:
17
- // 1. The chatgpt.com/backend-api/codex endpoint (used when codex
18
- // OAuth is the auth path) only accepts streaming + store:false;
19
- // a non-streaming responses.create returns 400-no-body there.
20
- // 2. api.openai.com supports streaming the same shape, so streaming
21
- // is the universal path.
22
- // store:false tells the server not to persist response state — required
23
- // by chatgpt backend, harmless for api.openai.com.
24
- const stream = await this.client.responses.create({
25
- model: this.model,
26
- instructions: input.systemPrompt,
27
- input: inputItems,
28
- stream: true,
29
- store: false,
30
- tools: input.toolDefinitions.length > 0
31
- ? input.toolDefinitions.map(d => ({
32
- type: 'function',
33
- name: d.name,
34
- description: d.description,
35
- parameters: d.schema,
36
- strict: false,
37
- }))
38
- : undefined,
39
- });
40
- let assistantText = '';
41
- const toolCalls = [];
42
- let inputTokens = 0;
43
- let outputTokens = 0;
44
- let cachedReadTokens = 0;
45
- let reasoningTokens = 0;
46
- let status;
47
- let sawCompleted = false;
48
- for await (const event of stream) {
49
- const et = event?.type;
50
- if (!et)
51
- continue;
52
- if (et === 'response.output_text.delta') {
53
- assistantText += event.delta ?? '';
54
- }
55
- else if (et === 'response.output_item.done') {
56
- const item = event.item;
57
- if (item?.type === 'function_call') {
58
- let inputObj;
59
- try {
60
- inputObj = JSON.parse(item.arguments ?? '{}');
61
- }
62
- catch (e) {
63
- inputObj = {
64
- __mma_invalid_arguments: item.arguments,
65
- __mma_parse_error: e.message,
66
- };
67
- }
68
- toolCalls.push({ id: item.call_id, name: item.name, input: inputObj });
69
- }
70
- }
71
- else if (et === 'response.completed') {
72
- sawCompleted = true;
73
- const r = event.response;
74
- if (r?.usage) {
75
- const u = r.usage;
76
- inputTokens = u.input_tokens ?? 0;
77
- outputTokens = u.output_tokens ?? 0;
78
- reasoningTokens = u.output_tokens_details?.reasoning_tokens ?? u.reasoning_tokens ?? 0;
79
- cachedReadTokens = u.input_tokens_details?.cached_tokens ?? u.cached_input_tokens ?? 0;
80
- }
81
- if (r?.status)
82
- status = r.status;
83
- }
84
- }
85
- if (!sawCompleted) {
86
- throw new Error('Codex stream ended without a response.completed event');
87
- }
88
- const usage = {
89
- inputTokens,
90
- outputTokens: outputTokens + reasoningTokens,
91
- cachedReadTokens,
92
- cachedNonReadTokens: 0,
93
- };
94
- let finishReason;
95
- if (toolCalls.length > 0) {
96
- finishReason = 'tool_use';
97
- }
98
- else if (status === 'completed') {
99
- finishReason = 'stop';
100
- }
101
- else if (status === 'incomplete' || status === 'cancelled') {
102
- finishReason = 'max_tokens';
103
- }
104
- else {
105
- finishReason = 'error';
106
- }
107
- return { assistantText, toolCalls, usage, finishReason };
108
- }
109
- buildInputItems(input) {
110
- const items = [];
111
- for (const t of input.priorTurns) {
112
- // Assistant message with text content
113
- items.push({ role: 'assistant', content: t.assistantText });
114
- // Each tool call + its result as a function_call / function_call_output pair.
115
- // The Responses API requires both items so the model can see its tool history.
116
- for (let ci = 0; ci < t.toolCalls.length; ci++) {
117
- const c = t.toolCalls[ci];
118
- const callId = c.id ?? `call_${input.priorTurns.indexOf(t)}_${ci}`;
119
- items.push({
120
- type: 'function_call',
121
- call_id: callId,
122
- name: c.name,
123
- arguments: JSON.stringify(c.input),
124
- });
125
- items.push({
126
- type: 'function_call_output',
127
- call_id: callId,
128
- output: typeof c.result === 'string' ? c.result : JSON.stringify(c.result ?? null),
129
- });
130
- }
131
- }
132
- // Current user message
133
- items.push({ role: 'user', content: input.userMessage });
134
- return items;
135
- }
136
- }
137
- //# sourceMappingURL=openai-responses-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-responses-adapter.js","sourceRoot":"","sources":["../../src/providers/openai-responses-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type OpenAI from 'openai';
2
- export interface UsageSnapshot {
3
- promptTokens: number;
4
- completionTokens: number;
5
- cachedReadTokens: number;
6
- reasoningTokens: number;
7
- /** Number of completed HTTP responses observed (one per SDK turn). */
8
- responses: number;
9
- }
10
- export interface UsageAccumulator {
11
- /** Latest cumulative usage from the wrapped client. Returns a fresh snapshot. */
12
- snapshot(): UsageSnapshot;
13
- /** True if at least one response observed real (non-zero) usage. Used by
14
- * the runner to decide whether to trust SDK state.usage or fall back here. */
15
- hasObservedUsage(): boolean;
16
- }
17
- /** Wrap an OpenAI client so usage from every chat.completions.create response
18
- * is captured into the returned UsageAccumulator.
19
- *
20
- * Mutates `client.chat.completions.create` in place. The wrapped client is
21
- * otherwise unchanged — same return shapes, same error behavior. The SDK
22
- * sees the same response stream byte-for-byte (we tee, we don't transform).
23
- */
24
- export declare function wrapClientForUsageCapture(client: OpenAI): UsageAccumulator;
25
- //# sourceMappingURL=openai-usage-interceptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-usage-interceptor.d.ts","sourceRoot":"","sources":["../../src/providers/openai-usage-interceptor.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,QAAQ,IAAI,aAAa,CAAC;IAC1B;mFAC+E;IAC/E,gBAAgB,IAAI,OAAO,CAAC;CAC7B;AAmBD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAoF1E"}