@zhixuan92/multi-model-agent-core 4.3.1 → 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 (437) hide show
  1. package/README.md +7 -8
  2. package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
  3. package/dist/bounded-execution/cost-compute.js +10 -0
  4. package/dist/bounded-execution/cost-compute.js.map +1 -1
  5. package/dist/config/config-resolver.d.ts +6 -4
  6. package/dist/config/config-resolver.d.ts.map +1 -1
  7. package/dist/config/config-resolver.js +7 -6
  8. package/dist/config/config-resolver.js.map +1 -1
  9. package/dist/config/schema.d.ts +8 -76
  10. package/dist/config/schema.d.ts.map +1 -1
  11. package/dist/config/schema.js +11 -18
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
  14. package/dist/escalation/delegate-with-escalation.js +35 -38
  15. package/dist/escalation/delegate-with-escalation.js.map +1 -1
  16. package/dist/escalation/escalation-policy.d.ts +1 -1
  17. package/dist/escalation/escalation-policy.d.ts.map +1 -1
  18. package/dist/escalation/escalation-policy.js +0 -1
  19. package/dist/escalation/escalation-policy.js.map +1 -1
  20. package/dist/events/clamp.d.ts.map +1 -1
  21. package/dist/events/clamp.js +17 -6
  22. package/dist/events/clamp.js.map +1 -1
  23. package/dist/events/cloud-events.d.ts +1 -3
  24. package/dist/events/cloud-events.d.ts.map +1 -1
  25. package/dist/events/event-builder.d.ts +1 -1
  26. package/dist/events/event-builder.d.ts.map +1 -1
  27. package/dist/events/event-builder.js +2 -2
  28. package/dist/events/event-builder.js.map +1 -1
  29. package/dist/events/observability-events.d.ts +1 -25
  30. package/dist/events/observability-events.d.ts.map +1 -1
  31. package/dist/events/running-headline-sink.d.ts +2 -1
  32. package/dist/events/running-headline-sink.d.ts.map +1 -1
  33. package/dist/events/running-headline-sink.js.map +1 -1
  34. package/dist/events/telemetry-types.d.ts +20 -23
  35. package/dist/events/telemetry-types.d.ts.map +1 -1
  36. package/dist/events/telemetry-types.js +13 -13
  37. package/dist/events/telemetry-types.js.map +1 -1
  38. package/dist/index.d.ts +2 -5
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/intake/source-schema.js +1 -1
  43. package/dist/intake/source-schema.js.map +1 -1
  44. package/dist/intake/types.d.ts +1 -1
  45. package/dist/intake/types.d.ts.map +1 -1
  46. package/dist/intake/verify-command-validator.d.ts +6 -0
  47. package/dist/intake/verify-command-validator.d.ts.map +1 -0
  48. package/dist/intake/verify-command-validator.js +47 -0
  49. package/dist/intake/verify-command-validator.js.map +1 -0
  50. package/dist/lifecycle/findings-parser.d.ts +9 -0
  51. package/dist/lifecycle/findings-parser.d.ts.map +1 -0
  52. package/dist/lifecycle/findings-parser.js +47 -0
  53. package/dist/lifecycle/findings-parser.js.map +1 -0
  54. package/dist/lifecycle/handlers/annotator.d.ts +35 -0
  55. package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
  56. package/dist/lifecycle/handlers/annotator.js +38 -0
  57. package/dist/lifecycle/handlers/annotator.js.map +1 -0
  58. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  59. package/dist/lifecycle/handlers/baseline-handlers.js +30 -37
  60. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  61. package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
  62. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  63. package/dist/lifecycle/handlers/git-commit-handler.js +147 -53
  64. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  65. package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
  66. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
  67. package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
  68. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
  69. package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
  70. package/dist/lifecycle/handlers/review-handler.js +84 -90
  71. package/dist/lifecycle/handlers/review-handler.js.map +1 -1
  72. package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
  73. package/dist/lifecycle/handlers/rework-handler.js +49 -25
  74. package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
  75. package/dist/lifecycle/handlers/task-executor.d.ts +1 -3
  76. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
  77. package/dist/lifecycle/handlers/task-executor.js +88 -8
  78. package/dist/lifecycle/handlers/task-executor.js.map +1 -1
  79. package/dist/lifecycle/lifecycle-context.d.ts +13 -0
  80. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  81. package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
  82. package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
  83. package/dist/lifecycle/parallel-criteria-routes.js +36 -142
  84. package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
  85. package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
  86. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
  87. package/dist/lifecycle/read-only-subtype-spec.js +2 -0
  88. package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
  89. package/dist/lifecycle/stage-labels.d.ts +22 -0
  90. package/dist/lifecycle/stage-labels.d.ts.map +1 -0
  91. package/dist/lifecycle/stage-labels.js +42 -0
  92. package/dist/lifecycle/stage-labels.js.map +1 -0
  93. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  94. package/dist/lifecycle/stage-plan-builder.js +25 -54
  95. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  96. package/dist/lifecycle/stage-plan-types.d.ts +0 -23
  97. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  98. package/dist/lifecycle/stage-progression.js +10 -10
  99. package/dist/lifecycle/stage-progression.js.map +1 -1
  100. package/dist/lifecycle/stage-stats.js +1 -1
  101. package/dist/lifecycle/stage-stats.js.map +1 -1
  102. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  103. package/dist/lifecycle/task-executor.js +20 -17
  104. package/dist/lifecycle/task-executor.js.map +1 -1
  105. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  106. package/dist/lifecycle/task-runner.js +83 -72
  107. package/dist/lifecycle/task-runner.js.map +1 -1
  108. package/dist/lifecycle/tool-config-types.d.ts +1 -2
  109. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  110. package/dist/lifecycle/warm-followup.d.ts +3 -0
  111. package/dist/lifecycle/warm-followup.d.ts.map +1 -0
  112. package/dist/lifecycle/warm-followup.js +16 -0
  113. package/dist/lifecycle/warm-followup.js.map +1 -0
  114. package/dist/lifecycle/worker-output-contract.d.ts +26 -0
  115. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
  116. package/dist/lifecycle/worker-output-contract.js +73 -0
  117. package/dist/lifecycle/worker-output-contract.js.map +1 -0
  118. package/dist/providers/assemble-run-result.d.ts +17 -0
  119. package/dist/providers/assemble-run-result.d.ts.map +1 -0
  120. package/dist/providers/assemble-run-result.js +76 -0
  121. package/dist/providers/assemble-run-result.js.map +1 -0
  122. package/dist/providers/brief-preamble.d.ts +4 -0
  123. package/dist/providers/brief-preamble.d.ts.map +1 -0
  124. package/dist/providers/brief-preamble.js +39 -0
  125. package/dist/providers/brief-preamble.js.map +1 -0
  126. package/dist/providers/claude-session.d.ts +23 -0
  127. package/dist/providers/claude-session.d.ts.map +1 -0
  128. package/dist/providers/claude-session.js +185 -0
  129. package/dist/providers/claude-session.js.map +1 -0
  130. package/dist/providers/claude.d.ts +4 -0
  131. package/dist/providers/claude.d.ts.map +1 -0
  132. package/dist/providers/claude.js +35 -0
  133. package/dist/providers/claude.js.map +1 -0
  134. package/dist/providers/codex-cli-event.d.ts +44 -0
  135. package/dist/providers/codex-cli-event.d.ts.map +1 -0
  136. package/dist/providers/codex-cli-event.js +43 -0
  137. package/dist/providers/codex-cli-event.js.map +1 -0
  138. package/dist/providers/codex-cli-launch.d.ts +26 -0
  139. package/dist/providers/codex-cli-launch.d.ts.map +1 -0
  140. package/dist/providers/codex-cli-launch.js +47 -0
  141. package/dist/providers/codex-cli-launch.js.map +1 -0
  142. package/dist/providers/codex-cli-session.d.ts +55 -0
  143. package/dist/providers/codex-cli-session.d.ts.map +1 -0
  144. package/dist/providers/codex-cli-session.js +417 -0
  145. package/dist/providers/codex-cli-session.js.map +1 -0
  146. package/dist/providers/codex.d.ts +4 -0
  147. package/dist/providers/codex.d.ts.map +1 -0
  148. package/dist/providers/codex.js +28 -0
  149. package/dist/providers/codex.js.map +1 -0
  150. package/dist/providers/index.d.ts +0 -12
  151. package/dist/providers/index.d.ts.map +1 -1
  152. package/dist/providers/index.js +1 -13
  153. package/dist/providers/index.js.map +1 -1
  154. package/dist/providers/normalize-claude.d.ts +10 -0
  155. package/dist/providers/normalize-claude.d.ts.map +1 -0
  156. package/dist/providers/normalize-claude.js +89 -0
  157. package/dist/providers/normalize-claude.js.map +1 -0
  158. package/dist/providers/provider-factory.d.ts +1 -9
  159. package/dist/providers/provider-factory.d.ts.map +1 -1
  160. package/dist/providers/provider-factory.js +35 -167
  161. package/dist/providers/provider-factory.js.map +1 -1
  162. package/dist/providers/runner-adapter.d.ts +5 -16
  163. package/dist/providers/runner-adapter.d.ts.map +1 -1
  164. package/dist/providers/runner-adapter.js +6 -0
  165. package/dist/providers/runner-adapter.js.map +1 -1
  166. package/dist/providers/runner-types.d.ts +20 -2
  167. package/dist/providers/runner-types.d.ts.map +1 -1
  168. package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
  169. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
  170. package/dist/reporting/report-parser-slots/research-report.js +28 -67
  171. package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
  172. package/dist/review/annotator-engine.d.ts +2 -2
  173. package/dist/review/annotator-engine.d.ts.map +1 -1
  174. package/dist/review/annotator-engine.js +16 -20
  175. package/dist/review/annotator-engine.js.map +1 -1
  176. package/dist/review/annotator-prompt-builder.d.ts +1 -1
  177. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  178. package/dist/review/default-engines.d.ts.map +1 -1
  179. package/dist/review/default-engines.js +2 -4
  180. package/dist/review/default-engines.js.map +1 -1
  181. package/dist/review/review-types.d.ts +0 -1
  182. package/dist/review/review-types.d.ts.map +1 -1
  183. package/dist/review/reviewer-engine.d.ts +5 -40
  184. package/dist/review/reviewer-engine.d.ts.map +1 -1
  185. package/dist/review/reviewer-engine.js +19 -49
  186. package/dist/review/reviewer-engine.js.map +1 -1
  187. package/dist/review/reviewer-output-parser.d.ts +1 -6
  188. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  189. package/dist/review/reviewer-output-parser.js +0 -26
  190. package/dist/review/reviewer-output-parser.js.map +1 -1
  191. package/dist/review/reviewer-prompt-builder.d.ts +1 -6
  192. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  193. package/dist/review/reviewer-prompt-builder.js +0 -6
  194. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  195. package/dist/review/templates/quality-review.d.ts.map +1 -1
  196. package/dist/review/templates/quality-review.js +28 -0
  197. package/dist/review/templates/quality-review.js.map +1 -1
  198. package/dist/review/templates/rework.d.ts.map +1 -1
  199. package/dist/review/templates/rework.js +15 -9
  200. package/dist/review/templates/rework.js.map +1 -1
  201. package/dist/review/templates/shared.d.ts +9 -0
  202. package/dist/review/templates/shared.d.ts.map +1 -1
  203. package/dist/stores/context-block-project-cap.d.ts +1 -1
  204. package/dist/stores/context-block-project-cap.d.ts.map +1 -1
  205. package/dist/stores/context-block-project-cap.js +17 -5
  206. package/dist/stores/context-block-project-cap.js.map +1 -1
  207. package/dist/stores/file-backed-context-block-store.d.ts +7 -0
  208. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  209. package/dist/stores/file-backed-context-block-store.js +8 -0
  210. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  211. package/dist/tool-surface/discover.d.ts +1 -1
  212. package/dist/tool-surface/discover.d.ts.map +1 -1
  213. package/dist/tool-surface/discover.js +0 -1
  214. package/dist/tool-surface/discover.js.map +1 -1
  215. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  216. package/dist/tool-surface/openapi-generator.js +0 -2
  217. package/dist/tool-surface/openapi-generator.js.map +1 -1
  218. package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
  219. package/dist/tool-surface/register-all-tools.js +1 -3
  220. package/dist/tool-surface/register-all-tools.js.map +1 -1
  221. package/dist/tools/audit/schema.d.ts +4 -4
  222. package/dist/tools/audit/schema.d.ts.map +1 -1
  223. package/dist/tools/audit/schema.js +4 -4
  224. package/dist/tools/audit/schema.js.map +1 -1
  225. package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
  226. package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
  227. package/dist/tools/audit/skill-audit-criteria.js +51 -0
  228. package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
  229. package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
  230. package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
  231. package/dist/tools/audit/spec-audit-criteria.js +52 -0
  232. package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
  233. package/dist/tools/audit/subtypes.d.ts +4 -0
  234. package/dist/tools/audit/subtypes.d.ts.map +1 -0
  235. package/dist/tools/audit/subtypes.js +67 -0
  236. package/dist/tools/audit/subtypes.js.map +1 -0
  237. package/dist/tools/audit/tool-config.d.ts +4 -4
  238. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  239. package/dist/tools/audit/tool-config.js +31 -29
  240. package/dist/tools/audit/tool-config.js.map +1 -1
  241. package/dist/tools/debug/schema.d.ts +3 -0
  242. package/dist/tools/debug/schema.d.ts.map +1 -1
  243. package/dist/tools/debug/schema.js +1 -0
  244. package/dist/tools/debug/schema.js.map +1 -1
  245. package/dist/tools/debug/subtypes.d.ts +4 -0
  246. package/dist/tools/debug/subtypes.d.ts.map +1 -0
  247. package/dist/tools/debug/subtypes.js +25 -0
  248. package/dist/tools/debug/subtypes.js.map +1 -0
  249. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  250. package/dist/tools/delegate/tool-config.js +0 -1
  251. package/dist/tools/delegate/tool-config.js.map +1 -1
  252. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  253. package/dist/tools/execute-plan/tool-config.js +5 -2
  254. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  255. package/dist/tools/index.d.ts +0 -1
  256. package/dist/tools/index.d.ts.map +1 -1
  257. package/dist/tools/index.js +0 -1
  258. package/dist/tools/index.js.map +1 -1
  259. package/dist/tools/investigate/schema.d.ts +3 -0
  260. package/dist/tools/investigate/schema.d.ts.map +1 -1
  261. package/dist/tools/investigate/schema.js +1 -0
  262. package/dist/tools/investigate/schema.js.map +1 -1
  263. package/dist/tools/investigate/subtypes.d.ts +4 -0
  264. package/dist/tools/investigate/subtypes.d.ts.map +1 -0
  265. package/dist/tools/investigate/subtypes.js +25 -0
  266. package/dist/tools/investigate/subtypes.js.map +1 -0
  267. package/dist/tools/research/implementer-criteria.d.ts +12 -5
  268. package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
  269. package/dist/tools/research/implementer-criteria.js +40 -9
  270. package/dist/tools/research/implementer-criteria.js.map +1 -1
  271. package/dist/tools/research/schema.d.ts +3 -0
  272. package/dist/tools/research/schema.d.ts.map +1 -1
  273. package/dist/tools/research/schema.js +2 -1
  274. package/dist/tools/research/schema.js.map +1 -1
  275. package/dist/tools/research/subtypes.d.ts +4 -0
  276. package/dist/tools/research/subtypes.d.ts.map +1 -0
  277. package/dist/tools/research/subtypes.js +24 -0
  278. package/dist/tools/research/subtypes.js.map +1 -0
  279. package/dist/tools/research/tool-config.js +2 -2
  280. package/dist/tools/research/tool-config.js.map +1 -1
  281. package/dist/tools/review/schema.d.ts +3 -0
  282. package/dist/tools/review/schema.d.ts.map +1 -1
  283. package/dist/tools/review/schema.js +1 -0
  284. package/dist/tools/review/schema.js.map +1 -1
  285. package/dist/tools/review/subtypes.d.ts +4 -0
  286. package/dist/tools/review/subtypes.d.ts.map +1 -0
  287. package/dist/tools/review/subtypes.js +26 -0
  288. package/dist/tools/review/subtypes.js.map +1 -0
  289. package/dist/types/config.d.ts +14 -28
  290. package/dist/types/config.d.ts.map +1 -1
  291. package/dist/types/enums.d.ts +2 -7
  292. package/dist/types/enums.d.ts.map +1 -1
  293. package/dist/types/enums.js +3 -3
  294. package/dist/types/enums.js.map +1 -1
  295. package/dist/types/run-result.d.ts +56 -21
  296. package/dist/types/run-result.d.ts.map +1 -1
  297. package/dist/types/task-spec.d.ts +17 -15
  298. package/dist/types/task-spec.d.ts.map +1 -1
  299. package/dist/types.d.ts +1 -1
  300. package/dist/types.d.ts.map +1 -1
  301. package/package.json +9 -3
  302. package/dist/identity/main-model-resolver.d.ts +0 -14
  303. package/dist/identity/main-model-resolver.d.ts.map +0 -1
  304. package/dist/identity/main-model-resolver.js +0 -100
  305. package/dist/identity/main-model-resolver.js.map +0 -1
  306. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
  307. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
  308. package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -200
  309. package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
  310. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
  311. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
  312. package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -79
  313. package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
  314. package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
  315. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
  316. package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
  317. package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
  318. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
  319. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
  320. package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
  321. package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
  322. package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
  323. package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
  324. package/dist/providers/anthropic-messages-adapter.js +0 -127
  325. package/dist/providers/anthropic-messages-adapter.js.map +0 -1
  326. package/dist/providers/base/research-tools.d.ts +0 -47
  327. package/dist/providers/base/research-tools.d.ts.map +0 -1
  328. package/dist/providers/base/research-tools.js +0 -67
  329. package/dist/providers/base/research-tools.js.map +0 -1
  330. package/dist/providers/base/result-builders.d.ts +0 -82
  331. package/dist/providers/base/result-builders.d.ts.map +0 -1
  332. package/dist/providers/base/result-builders.js +0 -112
  333. package/dist/providers/base/result-builders.js.map +0 -1
  334. package/dist/providers/base/time-check.d.ts +0 -9
  335. package/dist/providers/base/time-check.d.ts.map +0 -1
  336. package/dist/providers/base/time-check.js +0 -18
  337. package/dist/providers/base/time-check.js.map +0 -1
  338. package/dist/providers/base/types.d.ts +0 -53
  339. package/dist/providers/base/types.d.ts.map +0 -1
  340. package/dist/providers/base/types.js +0 -2
  341. package/dist/providers/base/types.js.map +0 -1
  342. package/dist/providers/base/usage-accumulator.d.ts +0 -9
  343. package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
  344. package/dist/providers/base/usage-accumulator.js +0 -20
  345. package/dist/providers/base/usage-accumulator.js.map +0 -1
  346. package/dist/providers/call-cache.d.ts +0 -16
  347. package/dist/providers/call-cache.d.ts.map +0 -1
  348. package/dist/providers/call-cache.js +0 -28
  349. package/dist/providers/call-cache.js.map +0 -1
  350. package/dist/providers/file-tracker.d.ts +0 -80
  351. package/dist/providers/file-tracker.d.ts.map +0 -1
  352. package/dist/providers/file-tracker.js +0 -125
  353. package/dist/providers/file-tracker.js.map +0 -1
  354. package/dist/providers/injection-type.d.ts +0 -22
  355. package/dist/providers/injection-type.d.ts.map +0 -1
  356. package/dist/providers/injection-type.js +0 -34
  357. package/dist/providers/injection-type.js.map +0 -1
  358. package/dist/providers/make-runner-shell.d.ts +0 -4
  359. package/dist/providers/make-runner-shell.d.ts.map +0 -1
  360. package/dist/providers/make-runner-shell.js +0 -70
  361. package/dist/providers/make-runner-shell.js.map +0 -1
  362. package/dist/providers/openai-chat-adapter.d.ts +0 -15
  363. package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
  364. package/dist/providers/openai-chat-adapter.js +0 -86
  365. package/dist/providers/openai-chat-adapter.js.map +0 -1
  366. package/dist/providers/openai-responses-adapter.d.ts +0 -15
  367. package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
  368. package/dist/providers/openai-responses-adapter.js +0 -137
  369. package/dist/providers/openai-responses-adapter.js.map +0 -1
  370. package/dist/providers/openai-usage-interceptor.d.ts +0 -25
  371. package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
  372. package/dist/providers/openai-usage-interceptor.js +0 -121
  373. package/dist/providers/openai-usage-interceptor.js.map +0 -1
  374. package/dist/providers/prevention.d.ts +0 -44
  375. package/dist/providers/prevention.d.ts.map +0 -1
  376. package/dist/providers/prevention.js +0 -108
  377. package/dist/providers/prevention.js.map +0 -1
  378. package/dist/providers/runner-shell-types.d.ts +0 -91
  379. package/dist/providers/runner-shell-types.d.ts.map +0 -1
  380. package/dist/providers/runner-shell-types.js +0 -2
  381. package/dist/providers/runner-shell-types.js.map +0 -1
  382. package/dist/providers/runner-shell.d.ts +0 -67
  383. package/dist/providers/runner-shell.d.ts.map +0 -1
  384. package/dist/providers/runner-shell.js +0 -518
  385. package/dist/providers/runner-shell.js.map +0 -1
  386. package/dist/providers/scratchpad-salvager.d.ts +0 -19
  387. package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
  388. package/dist/providers/scratchpad-salvager.js +0 -44
  389. package/dist/providers/scratchpad-salvager.js.map +0 -1
  390. package/dist/providers/supervision.d.ts +0 -108
  391. package/dist/providers/supervision.d.ts.map +0 -1
  392. package/dist/providers/supervision.js +0 -272
  393. package/dist/providers/supervision.js.map +0 -1
  394. package/dist/providers/text-scratchpad.d.ts +0 -28
  395. package/dist/providers/text-scratchpad.d.ts.map +0 -1
  396. package/dist/providers/text-scratchpad.js +0 -49
  397. package/dist/providers/text-scratchpad.js.map +0 -1
  398. package/dist/providers/tool-definitions.d.ts +0 -6
  399. package/dist/providers/tool-definitions.d.ts.map +0 -1
  400. package/dist/providers/tool-definitions.js +0 -236
  401. package/dist/providers/tool-definitions.js.map +0 -1
  402. package/dist/providers/tool-implementations.d.ts +0 -38
  403. package/dist/providers/tool-implementations.d.ts.map +0 -1
  404. package/dist/providers/tool-implementations.js +0 -254
  405. package/dist/providers/tool-implementations.js.map +0 -1
  406. package/dist/providers/tool-tracker.d.ts +0 -14
  407. package/dist/providers/tool-tracker.d.ts.map +0 -1
  408. package/dist/providers/tool-tracker.js +0 -13
  409. package/dist/providers/tool-tracker.js.map +0 -1
  410. package/dist/reporting/headline-templates/verify.d.ts +0 -3
  411. package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
  412. package/dist/reporting/headline-templates/verify.js +0 -29
  413. package/dist/reporting/headline-templates/verify.js.map +0 -1
  414. package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
  415. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
  416. package/dist/reporting/report-parser-slots/verify-report.js +0 -51
  417. package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
  418. package/dist/review/templates/annotator-verify.d.ts +0 -3
  419. package/dist/review/templates/annotator-verify.d.ts.map +0 -1
  420. package/dist/review/templates/annotator-verify.js +0 -21
  421. package/dist/review/templates/annotator-verify.js.map +0 -1
  422. package/dist/review/templates/quality-review-verify.d.ts +0 -3
  423. package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
  424. package/dist/review/templates/quality-review-verify.js +0 -10
  425. package/dist/review/templates/quality-review-verify.js.map +0 -1
  426. package/dist/tools/verify/implementer-criteria.d.ts +0 -61
  427. package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
  428. package/dist/tools/verify/implementer-criteria.js +0 -125
  429. package/dist/tools/verify/implementer-criteria.js.map +0 -1
  430. package/dist/tools/verify/schema.d.ts +0 -56
  431. package/dist/tools/verify/schema.d.ts.map +0 -1
  432. package/dist/tools/verify/schema.js +0 -16
  433. package/dist/tools/verify/schema.js.map +0 -1
  434. package/dist/tools/verify/tool-config.d.ts +0 -14
  435. package/dist/tools/verify/tool-config.d.ts.map +0 -1
  436. package/dist/tools/verify/tool-config.js +0 -146
  437. package/dist/tools/verify/tool-config.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ // packages/core/src/lifecycle/warm-followup.ts
2
+ //
3
+ // Every "warm follow-up" message — a message sent into a session that
4
+ // already contains the prior conversation for the current task —
5
+ // MUST be built via buildWarmFollowupMessage(). The shared preamble
6
+ // tells the model not to re-explore context already loaded in the
7
+ // thread; that is the entire optimization that makes resumed sessions
8
+ // worth using.
9
+ //
10
+ // Cold-open messages (Implementing turn 1, Spec Review turn 1, Retry,
11
+ // fresh task dispatches) are NOT built through this helper.
12
+ export const WARM_FOLLOWUP_PREAMBLE = `Context for this task is already loaded in this thread — the brief, prior outputs, file contents you've read, and earlier tool results. Use them directly to answer the new instruction below. Do not re-grep, re-read, or re-discover material already in this conversation. Only fetch a new source if the new instruction names one you haven't yet loaded.`;
13
+ export function buildWarmFollowupMessage(instructionBody) {
14
+ return `${WARM_FOLLOWUP_PREAMBLE}\n\n${instructionBody}`;
15
+ }
16
+ //# sourceMappingURL=warm-followup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warm-followup.js","sourceRoot":"","sources":["../../src/lifecycle/warm-followup.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,oEAAoE;AACpE,kEAAkE;AAClE,sEAAsE;AACtE,eAAe;AACf,EAAE;AACF,sEAAsE;AACtE,4DAA4D;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,gWAAgW,CAAC;AAEvY,MAAM,UAAU,wBAAwB,CAAC,eAAuB;IAC9D,OAAO,GAAG,sBAAsB,OAAO,eAAe,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const ValidationRunSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ passed: z.ZodBoolean;
5
+ output: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export declare const WorkerOutputSchema: z.ZodObject<{
8
+ summary: z.ZodString;
9
+ workerStatus: z.ZodEnum<{
10
+ failed: "failed";
11
+ done: "done";
12
+ done_with_concerns: "done_with_concerns";
13
+ blocked: "blocked";
14
+ }>;
15
+ filesChanged: z.ZodDefault<z.ZodArray<z.ZodString>>;
16
+ validationsRun: z.ZodDefault<z.ZodArray<z.ZodObject<{
17
+ name: z.ZodString;
18
+ passed: z.ZodBoolean;
19
+ output: z.ZodString;
20
+ }, z.core.$strip>>>;
21
+ unresolved: z.ZodDefault<z.ZodArray<z.ZodString>>;
22
+ commitMessage: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export type WorkerOutput = z.infer<typeof WorkerOutputSchema>;
25
+ export declare function parseWorkerOutput(workerText: string): WorkerOutput;
26
+ //# sourceMappingURL=worker-output-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-output-contract.d.ts","sourceRoot":"","sources":["../../src/lifecycle/worker-output-contract.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAc9D,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CA2ClE"}
@@ -0,0 +1,73 @@
1
+ // v4.4.x — intermediate contract between the worker (Implementing /
2
+ // Rework) and Annotating. Workers emit a JSON-fenced markdown block at
3
+ // the end of their final assistant text; parseWorkerOutput extracts the
4
+ // LAST block, parses it, and returns a normalized WorkerOutput.
5
+ //
6
+ // Three fallback branches keep Annotating non-crashing on imperfect
7
+ // worker output — see the design doc's "Parser contract" section.
8
+ import { z } from 'zod';
9
+ export const ValidationRunSchema = z.object({
10
+ name: z.string(),
11
+ passed: z.boolean(),
12
+ output: z.string(),
13
+ });
14
+ export const WorkerOutputSchema = z.object({
15
+ summary: z.string(),
16
+ workerStatus: z.enum(['done', 'done_with_concerns', 'blocked', 'failed']),
17
+ filesChanged: z.array(z.string()).default([]),
18
+ validationsRun: z.array(ValidationRunSchema).default([]),
19
+ unresolved: z.array(z.string()).default([]),
20
+ commitMessage: z.string().optional(),
21
+ });
22
+ const JSON_BLOCK_RE = /```json\n([\s\S]*?)\n```/g;
23
+ function findLastJsonBlock(text) {
24
+ let last = null;
25
+ for (const m of text.matchAll(JSON_BLOCK_RE))
26
+ last = m[1];
27
+ return last;
28
+ }
29
+ function synthesizeFailed(summary, reason) {
30
+ return { summary, workerStatus: 'failed', filesChanged: [], validationsRun: [], unresolved: [reason] };
31
+ }
32
+ export function parseWorkerOutput(workerText) {
33
+ const block = findLastJsonBlock(workerText);
34
+ if (!block) {
35
+ const preview = workerText.trim().slice(0, 200) || '[empty]';
36
+ return synthesizeFailed(preview, 'no structured output emitted');
37
+ }
38
+ let raw;
39
+ try {
40
+ raw = JSON.parse(block);
41
+ }
42
+ catch (err) {
43
+ const msg = err instanceof Error ? err.message : String(err);
44
+ return synthesizeFailed(workerText.trim().slice(0, 200) || '[empty]', `structured output not valid JSON: ${msg}`);
45
+ }
46
+ const parsed = WorkerOutputSchema.safeParse(raw);
47
+ if (parsed.success)
48
+ return parsed.data;
49
+ // Schema-invalid: salvage what we can.
50
+ const obj = (typeof raw === 'object' && raw !== null) ? raw : {};
51
+ const issues = parsed.error.issues.map((i) => `${i.path.join('.') || '(root)'}: ${i.message}`);
52
+ const summaryStr = typeof obj.summary === 'string' && obj.summary.length > 0 ? obj.summary : '[empty]';
53
+ const hasSummary = summaryStr !== '[empty]' && summaryStr.trim().length > 0;
54
+ return {
55
+ summary: summaryStr,
56
+ workerStatus: hasSummary ? 'done_with_concerns' : 'failed',
57
+ filesChanged: Array.isArray(obj.filesChanged)
58
+ ? obj.filesChanged.filter((x) => typeof x === 'string')
59
+ : [],
60
+ validationsRun: Array.isArray(obj.validationsRun)
61
+ ? obj.validationsRun.filter((v) => v !== null && typeof v === 'object'
62
+ && typeof v.name === 'string'
63
+ && typeof v.passed === 'boolean'
64
+ && typeof v.output === 'string')
65
+ : [],
66
+ unresolved: [
67
+ ...(Array.isArray(obj.unresolved) ? obj.unresolved.filter((x) => typeof x === 'string') : []),
68
+ `schema validation failed: ${issues.join('; ')}`,
69
+ ],
70
+ ...(typeof obj.commitMessage === 'string' && { commitMessage: obj.commitMessage }),
71
+ };
72
+ }
73
+ //# sourceMappingURL=worker-output-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-output-contract.js","sourceRoot":"","sources":["../../src/lifecycle/worker-output-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { TurnResult, RunResult } from '../types/run-result.js';
2
+ /** Per-stage parsed-report fields the handler may supply. All optional;
3
+ * handlers that don't parse (e.g. task-executor.ts) pass `{}` or nothing. */
4
+ export interface ParsedReportFields {
5
+ reviewVerdict?: 'approved' | 'changes_required';
6
+ reviewFindings?: Array<{
7
+ source: 'spec' | 'quality';
8
+ text: string;
9
+ }>;
10
+ specReviewerNotes?: string;
11
+ qualityReviewerNotes?: string;
12
+ reworkOutput?: string;
13
+ reworkApplied?: boolean;
14
+ verifyResult?: NonNullable<RunResult['verifyResult']>;
15
+ }
16
+ export declare function assembleRunResult(turn: TurnResult, parsed?: ParsedReportFields): RunResult;
17
+ //# sourceMappingURL=assemble-run-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-run-result.d.ts","sourceRoot":"","sources":["../../src/providers/assemble-run-result.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAEhF;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;CACvD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,kBAAuB,GAC9B,SAAS,CAiCX"}
@@ -0,0 +1,76 @@
1
+ // v4.4 helper. Build mma's public RunResult shape from one SDK turn block
2
+ // (TurnResult) plus optional per-stage parsed-report fields. Lifecycle
3
+ // handlers call this once per `session.send()`.
4
+ //
5
+ // The RunResult shape preserves every field downstream code expects (50+).
6
+ // This helper populates the machine-readable subset (output, usage, files,
7
+ // tool counts, cost, termination) and merges in the parser-supplied subset
8
+ // when the handler has it. Optional fields not relevant to a given stage
9
+ // remain `undefined`.
10
+ export function assembleRunResult(turn, parsed = {}) {
11
+ const status = mapStatus(turn.terminationReason, turn.errorCode);
12
+ // RunResult.toolCalls is a string[] per the current shape (each entry like
13
+ // "toolName(<input-preview>)"). With v4.4 dropping per-call detail, we
14
+ // synthesize one entry per toolCallsByName count.
15
+ const toolCalls = [];
16
+ for (const [name, count] of Object.entries(turn.toolCallsByName)) {
17
+ for (let i = 0; i < count; i++)
18
+ toolCalls.push(name);
19
+ }
20
+ const workerStatus = turn.workerSelfAssessment ?? (turn.terminationReason === 'ok' ? 'done' : undefined);
21
+ return {
22
+ output: turn.output,
23
+ status,
24
+ usage: turn.usage,
25
+ actualCostUSD: turn.costUSD,
26
+ turns: turn.turns,
27
+ filesRead: turn.filesRead,
28
+ filesWritten: turn.filesWritten,
29
+ toolCalls,
30
+ outputIsDiagnostic: turn.outputIsDiagnostic ?? false,
31
+ escalationLog: [],
32
+ durationMs: turn.durationMs,
33
+ directoriesListed: [],
34
+ ...(workerStatus && { workerStatus }),
35
+ ...(turn.terminationReason !== 'ok' && { terminationReason: mapTermination(turn.terminationReason) }),
36
+ ...(turn.errorCode && { errorCode: turn.errorCode }),
37
+ ...(turn.errorMessage && { error: turn.errorMessage }),
38
+ ...parsed,
39
+ };
40
+ }
41
+ function mapStatus(r, errorCode) {
42
+ switch (r) {
43
+ case 'ok': return 'ok';
44
+ case 'cost_exceeded': return 'cost_exceeded';
45
+ case 'time_exceeded': return 'timeout';
46
+ case 'cap_exhausted': return 'incomplete';
47
+ case 'stalled': return 'incomplete';
48
+ case 'aborted': return 'error';
49
+ case 'error':
50
+ // Preserve transient error subtypes so delegateWithEscalation's retry
51
+ // policy (api_error / provider_transport_failure) can still operate.
52
+ if (errorCode === 'api_error' || errorCode === 'provider_transport_failure') {
53
+ return errorCode;
54
+ }
55
+ return 'error';
56
+ }
57
+ }
58
+ function mapIncompleteReason(r) {
59
+ if (r === 'cap_exhausted')
60
+ return 'turn_cap';
61
+ if (r === 'stalled')
62
+ return 'timeout';
63
+ return undefined;
64
+ }
65
+ function mapTermination(r) {
66
+ switch (r) {
67
+ case 'ok': return undefined;
68
+ case 'time_exceeded': return 'time_ceiling';
69
+ case 'cost_exceeded': return 'cost_ceiling';
70
+ case 'cap_exhausted': return undefined;
71
+ case 'stalled': return undefined;
72
+ case 'aborted': return 'all_tiers_unavailable';
73
+ case 'error': return 'all_tiers_unavailable';
74
+ }
75
+ }
76
+ //# sourceMappingURL=assemble-run-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-run-result.js","sourceRoot":"","sources":["../../src/providers/assemble-run-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FormatConstraints } from '../types/task-spec.js';
2
+ export declare const COMMIT_BLOCK_GUIDANCE: string;
3
+ export declare function buildFormatConstraintSuffix(constraints: FormatConstraints): string;
4
+ //# sourceMappingURL=brief-preamble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brief-preamble.d.ts","sourceRoot":"","sources":["../../src/providers/brief-preamble.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,eAAO,MAAM,qBAAqB,QAkBtB,CAAC;AAEb,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAMlF"}
@@ -0,0 +1,39 @@
1
+ // Minimal stage-instruction prefix used as part of every `session.send()`
2
+ // instruction text. The SDK ships its own agent-operating system prompt;
3
+ // THIS file is for content the BRIEF needs to carry across all providers
4
+ // (commit-block schema, output-format hints). It is NOT an agent-loop
5
+ // system prompt — those live in the SDKs.
6
+ //
7
+ // Replaces the agent-loop portion of `prevention.ts` in v4.4 (Task 24
8
+ // deletes the loop-system-prompt body of prevention.ts; buildFormatConstraintSuffix
9
+ // is preserved here so existing callers don't break during the migration).
10
+ export const COMMIT_BLOCK_GUIDANCE = [
11
+ 'If you wrote, modified, or deleted files, your structured report MUST include a `commit:` block as a JSON object with these fields:',
12
+ '',
13
+ ' {',
14
+ ' "type": "feat" | "fix" | "refactor" | "test" | "docs" | "chore" | "style",',
15
+ ' "scope": "<optional, 1-24 chars: lowercase letters, digits, dot, underscore, slash, hyphen; must start with letter or digit>",',
16
+ ' "subject": "<1-50 chars, lowercase first letter, no trailing colon, no leading/trailing whitespace>",',
17
+ ' "body": "<optional multi-paragraph plain text explaining WHY>"',
18
+ ' }',
19
+ '',
20
+ 'Examples:',
21
+ ' type: "feat", scope: "core", subject: "add x"',
22
+ ' type: "refactor", scope: "lifecycle", subject: "extract Y from Z"',
23
+ ' type: "fix", subject: "guard against undefined"',
24
+ '',
25
+ "Do NOT write narrative (\"Now I'm going to...\") in the subject.",
26
+ '',
27
+ 'If you did not write any files, omit the commit block entirely.',
28
+ ].join('\n');
29
+ export function buildFormatConstraintSuffix(constraints) {
30
+ if (!constraints.inputFormat && !constraints.outputFormat)
31
+ return '';
32
+ const parts = [];
33
+ if (constraints.inputFormat)
34
+ parts.push(`input format: ${constraints.inputFormat}`);
35
+ if (constraints.outputFormat)
36
+ parts.push(`output format: ${constraints.outputFormat}`);
37
+ return '\n\n' + parts.join(' ');
38
+ }
39
+ //# sourceMappingURL=brief-preamble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brief-preamble.js","sourceRoot":"","sources":["../../src/providers/brief-preamble.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,oFAAoF;AACpF,2EAA2E;AAI3E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qIAAqI;IACrI,EAAE;IACF,KAAK;IACL,gFAAgF;IAChF,oIAAoI;IACpI,2GAA2G;IAC3G,oEAAoE;IACpE,KAAK;IACL,EAAE;IACF,WAAW;IACX,iDAAiD;IACjD,qEAAqE;IACrE,mDAAmD;IACnD,EAAE;IACF,kEAAkE;IAClE,EAAE;IACF,iEAAiE;CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,2BAA2B,CAAC,WAA8B;IACxE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,IAAI,WAAW,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACvF,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Session, SessionOpts, TurnOpts, TurnResult } from '../types/run-result.js';
2
+ export declare class ClaudeSession implements Session {
3
+ private readonly args;
4
+ private closed;
5
+ private turns;
6
+ private sessionId?;
7
+ private readonly bus;
8
+ constructor(args: {
9
+ model: string;
10
+ opts: SessionOpts;
11
+ oauthAccessToken?: string;
12
+ });
13
+ send(instruction: string, _opts?: TurnOpts): Promise<TurnResult>;
14
+ /**
15
+ * Translate a single SDKMessage from claude-agent-sdk into mma
16
+ * verbose-log events. Defensive against shape drift in the SDK —
17
+ * unknown variants are ignored. Only emits when there's something a
18
+ * human operator would want to see in real time.
19
+ */
20
+ private emitEventTelemetry;
21
+ close(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=claude-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-session.d.ts","sourceRoot":"","sources":["../../src/providers/claude-session.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzF,qBAAa,aAAc,YAAW,OAAO;IAM/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IAW5F,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA6FtE;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgCpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -0,0 +1,185 @@
1
+ // ClaudeSession — wraps `@anthropic-ai/claude-agent-sdk`'s `query()`.
2
+ //
3
+ // Multi-turn pattern: claude-agent-sdk's `result` SDKMessage is terminal
4
+ // for a single `query()` invocation — the output iterable closes after
5
+ // it. To continue an existing conversation across stages we re-invoke
6
+ // `query({ resume: <sessionId> })`. The SDK persists session state at
7
+ // `~/.claude/projects/<dir>/<sessionId>/` so the next query reloads
8
+ // the full conversation history, giving the lifecycle the same
9
+ // cached-prefix continuity codex CLI gets from `codex exec resume`.
10
+ //
11
+ // Per send():
12
+ // - First call: query() with no resume option; capture `session_id`
13
+ // from any SDKMessage (it's stamped on every event including the
14
+ // initial system message).
15
+ // - Subsequent calls: query() with `resume: this.sessionId` so the
16
+ // prior conversation is reloaded transparently.
17
+ import { query } from '@anthropic-ai/claude-agent-sdk';
18
+ import { normalizeClaudeTurn } from './normalize-claude.js';
19
+ import { resolveRateCard, priceTokens } from '../bounded-execution/cost-compute.js';
20
+ function busOf(opts) {
21
+ const b = opts.bus;
22
+ return b && typeof b.emit === 'function' ? b : undefined;
23
+ }
24
+ export class ClaudeSession {
25
+ args;
26
+ closed = false;
27
+ turns = 0;
28
+ sessionId;
29
+ bus;
30
+ constructor(args) {
31
+ this.args = args;
32
+ if (args.oauthAccessToken)
33
+ process.env.ANTHROPIC_AUTH_TOKEN = args.oauthAccessToken;
34
+ this.bus = busOf(args.opts);
35
+ this.bus?.emit({
36
+ event: 'claude_session_starting',
37
+ ts: new Date().toISOString(),
38
+ model: args.model,
39
+ cwd: args.opts.cwd,
40
+ });
41
+ }
42
+ async send(instruction, _opts) {
43
+ if (this.closed)
44
+ throw new Error('claude-session: send() on closed session');
45
+ const startMs = Date.now();
46
+ this.turns += 1;
47
+ const turnIndex = this.turns;
48
+ this.bus?.emit({
49
+ event: 'claude_turn_started',
50
+ ts: new Date().toISOString(),
51
+ turn: turnIndex,
52
+ resume: Boolean(this.sessionId),
53
+ ...(this.sessionId && { sessionId: this.sessionId }),
54
+ });
55
+ // Single-shot prompt iterable. The SDK iterates this once to pull the
56
+ // user message, then runs to `result`. Closing the iterable after the
57
+ // first yield makes the SDK shut down cleanly instead of waiting for
58
+ // a "next" message that will never come.
59
+ async function* promptIterable() {
60
+ yield {
61
+ type: 'user',
62
+ message: { role: 'user', content: instruction },
63
+ parent_tool_use_id: null,
64
+ };
65
+ }
66
+ const q = query({
67
+ prompt: promptIterable(),
68
+ options: {
69
+ model: this.args.model,
70
+ // v4.4: mma operates headlessly — never prompt the user for
71
+ // tool permission. bypassPermissions tells the SDK to run every
72
+ // tool without confirmation, the Claude analogue of codex's
73
+ // --dangerously-bypass-approvals-and-sandbox.
74
+ permissionMode: 'bypassPermissions',
75
+ cwd: this.args.opts.cwd,
76
+ abortSignal: this.args.opts.abortSignal,
77
+ // Cross-stage continuity: reload prior conversation from the
78
+ // SDK's session store (~/.claude/projects/<dir>/<sessionId>).
79
+ ...(this.sessionId && { resume: this.sessionId }),
80
+ },
81
+ });
82
+ const events = [];
83
+ try {
84
+ for await (const ev of q) {
85
+ events.push(ev);
86
+ // Capture session_id from the first event that carries one so
87
+ // the next send() can resume this conversation. Every SDKMessage
88
+ // in the SDK ships a `session_id` field (stamped server-side).
89
+ if (!this.sessionId) {
90
+ const sid = ev.session_id;
91
+ if (typeof sid === 'string' && sid.length > 0)
92
+ this.sessionId = sid;
93
+ }
94
+ this.emitEventTelemetry(ev);
95
+ if (ev.type === 'result')
96
+ break;
97
+ }
98
+ }
99
+ catch (err) {
100
+ const e = err;
101
+ this.bus?.emit({
102
+ event: 'claude_error',
103
+ ts: new Date().toISOString(),
104
+ name: e.name ?? 'unknown',
105
+ message: e.message ?? String(err),
106
+ });
107
+ try {
108
+ q.close();
109
+ }
110
+ catch { /* ignore */ }
111
+ throw err;
112
+ }
113
+ try {
114
+ q.close();
115
+ }
116
+ catch { /* ignore */ }
117
+ const rateCard = resolveRateCard(this.args.model);
118
+ const norm = normalizeClaudeTurn(events, {
119
+ durationMs: Date.now() - startMs,
120
+ costUSD: 0,
121
+ });
122
+ norm.costUSD = rateCard ? priceTokens(norm.usage, rateCard) : 0;
123
+ this.bus?.emit({
124
+ event: 'claude_turn_completed',
125
+ ts: new Date().toISOString(),
126
+ turn: turnIndex,
127
+ inputTokens: norm.usage.inputTokens,
128
+ outputTokens: norm.usage.outputTokens,
129
+ cachedReadTokens: norm.usage.cachedReadTokens ?? 0,
130
+ cachedNonReadTokens: norm.usage.cachedNonReadTokens ?? 0,
131
+ terminationReason: norm.terminationReason,
132
+ filesRead: norm.filesRead.length,
133
+ filesWritten: norm.filesWritten.length,
134
+ ...(norm.errorCode && { errorCode: norm.errorCode }),
135
+ });
136
+ return norm;
137
+ }
138
+ /**
139
+ * Translate a single SDKMessage from claude-agent-sdk into mma
140
+ * verbose-log events. Defensive against shape drift in the SDK —
141
+ * unknown variants are ignored. Only emits when there's something a
142
+ * human operator would want to see in real time.
143
+ */
144
+ emitEventTelemetry(ev) {
145
+ if (!this.bus)
146
+ return;
147
+ const ts = new Date().toISOString();
148
+ const type = ev.type;
149
+ if (type !== 'assistant')
150
+ return;
151
+ const message = ev.message;
152
+ const content = Array.isArray(message?.content) ? message.content : [];
153
+ for (const block of content) {
154
+ const b = block;
155
+ if (b.type === 'text' && typeof b.text === 'string' && b.text.length > 0) {
156
+ this.bus.emit({
157
+ event: 'claude_text_emission',
158
+ ts,
159
+ turn: this.turns,
160
+ chars: b.text.length,
161
+ preview: b.text.slice(0, 200),
162
+ });
163
+ }
164
+ else if (b.type === 'tool_use' && typeof b.name === 'string') {
165
+ const inputPreview = typeof b.input === 'object' && b.input !== null
166
+ ? JSON.stringify(b.input).slice(0, 300)
167
+ : '';
168
+ this.bus.emit({
169
+ event: 'claude_tool_call',
170
+ ts,
171
+ turn: this.turns,
172
+ tool: b.name,
173
+ input: inputPreview,
174
+ });
175
+ }
176
+ }
177
+ }
178
+ async close() {
179
+ if (this.closed)
180
+ return;
181
+ this.closed = true;
182
+ this.bus?.emit({ event: 'claude_session_closed', ts: new Date().toISOString() });
183
+ }
184
+ }
185
+ //# sourceMappingURL=claude-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-session.js","sourceRoot":"","sources":["../../src/providers/claude-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Provider } from '../types/run-result.js';
2
+ import type { ClaudeProviderConfig } from '../types/config.js';
3
+ export declare function makeClaudeProvider(cfg: ClaudeProviderConfig): Provider;
4
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,oBAAoB,CAAC;AAI/E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,GAAG,QAAQ,CAqBtE"}
@@ -0,0 +1,35 @@
1
+ // makeClaudeProvider — v4.4 factory for the Claude runtime via
2
+ // `@anthropic-ai/claude-agent-sdk`. The `type: 'claude'` config covers
3
+ // both Anthropic API and any Anthropic-compatible proxy (set `baseUrl`).
4
+ //
5
+ // Auth precedence:
6
+ // 1. cfg.apiKey (or value resolved from cfg.apiKeyEnv at factory time).
7
+ // 2. ~/.claude OAuth (Claude Max subscription) → ANTHROPIC_AUTH_TOKEN.
8
+ // 3. Otherwise the SDK reads ANTHROPIC_API_KEY from env itself.
9
+ import { ClaudeSession } from './claude-session.js';
10
+ import { getClaudeOAuth } from '../identity/auth-token-store.js';
11
+ export function makeClaudeProvider(cfg) {
12
+ return {
13
+ name: `claude:${cfg.model}`,
14
+ config: cfg,
15
+ openSession(opts) {
16
+ let oauthAccessToken;
17
+ if (cfg.apiKey) {
18
+ process.env.ANTHROPIC_API_KEY = cfg.apiKey;
19
+ }
20
+ else if (!cfg.baseUrl) {
21
+ // Only attempt OAuth when targeting the default Anthropic backend.
22
+ // For an Anthropic-compatible proxy, the operator MUST supply apiKey.
23
+ const oauth = getClaudeOAuth();
24
+ if (oauth)
25
+ oauthAccessToken = oauth.accessToken;
26
+ }
27
+ if (cfg.baseUrl) {
28
+ // The Anthropic SDK reads ANTHROPIC_BASE_URL from env.
29
+ process.env.ANTHROPIC_BASE_URL = cfg.baseUrl;
30
+ }
31
+ return new ClaudeSession({ model: cfg.model, opts, ...(oauthAccessToken && { oauthAccessToken }) });
32
+ },
33
+ };
34
+ }
35
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uEAAuE;AACvE,yEAAyE;AACzE,EAAE;AACF,mBAAmB;AACnB,0EAA0E;AAC1E,yEAAyE;AACzE,kEAAkE;AAIlE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,UAAU,kBAAkB,CAAC,GAAyB;IAC1D,OAAO;QACL,IAAI,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,GAAgC;QACxC,WAAW,CAAC,IAAiB;YAC3B,IAAI,gBAAoC,CAAC;YACzC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7C,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,sEAAsE;gBACtE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,IAAI,KAAK;oBAAE,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC;YAClD,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,uDAAuD;gBACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ export interface CodexItem {
2
+ id?: string;
3
+ type?: 'agent_message' | 'command_execution' | 'file_change' | string;
4
+ text?: string;
5
+ command?: string;
6
+ aggregated_output?: string;
7
+ exit_code?: number | null;
8
+ status?: 'in_progress' | 'completed' | string;
9
+ path?: string;
10
+ }
11
+ export interface CodexUsage {
12
+ input_tokens?: number;
13
+ output_tokens?: number;
14
+ cached_input_tokens?: number;
15
+ reasoning_output_tokens?: number;
16
+ }
17
+ export type CodexCliEvent = {
18
+ kind: 'thread_started';
19
+ threadId: string;
20
+ } | {
21
+ kind: 'turn_started';
22
+ } | {
23
+ kind: 'item_started';
24
+ item: CodexItem;
25
+ } | {
26
+ kind: 'item_completed';
27
+ item: CodexItem;
28
+ } | {
29
+ kind: 'turn_completed';
30
+ usage: CodexUsage;
31
+ } | {
32
+ kind: 'turn_failed';
33
+ error: {
34
+ message: string;
35
+ };
36
+ } | {
37
+ kind: 'error';
38
+ message: string;
39
+ } | {
40
+ kind: 'unparseable';
41
+ raw: string;
42
+ };
43
+ export declare function parseCodexCliEvent(line: string): CodexCliEvent | null;
44
+ //# sourceMappingURL=codex-cli-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-event.d.ts","sourceRoot":"","sources":["../../src/providers/codex-cli-event.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,GAAG,mBAAmB,GAAG,aAAa,GAAG,MAAM,CAAC;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA+BrE"}