@open-mercato/cezar 0.9.1 → 0.9.2-pr772.1071

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 (355) hide show
  1. package/README.md +36 -17
  2. package/dist/agent-config/account-identity.d.ts +44 -0
  3. package/dist/agent-config/account-identity.js +128 -0
  4. package/dist/agent-config/account-identity.js.map +1 -0
  5. package/dist/agent-config/catalog.d.ts +9 -1
  6. package/dist/agent-config/catalog.js +18 -0
  7. package/dist/agent-config/catalog.js.map +1 -1
  8. package/dist/agent-config/files.d.ts +1 -1
  9. package/dist/agent-config/model-settings/claude.d.ts +2 -0
  10. package/dist/agent-config/model-settings/claude.js +11 -0
  11. package/dist/agent-config/model-settings/claude.js.map +1 -0
  12. package/dist/agent-config/model-settings/codex.d.ts +2 -0
  13. package/dist/agent-config/model-settings/codex.js +16 -0
  14. package/dist/agent-config/model-settings/codex.js.map +1 -0
  15. package/dist/agent-config/model-settings/opencode.d.ts +2 -0
  16. package/dist/agent-config/model-settings/opencode.js +8 -0
  17. package/dist/agent-config/model-settings/opencode.js.map +1 -0
  18. package/dist/agent-config/model-settings/shared.d.ts +9 -0
  19. package/dist/agent-config/model-settings/shared.js +93 -0
  20. package/dist/agent-config/model-settings/shared.js.map +1 -0
  21. package/dist/agent-config/model-settings/types.d.ts +9 -0
  22. package/dist/agent-config/model-settings/types.js +2 -0
  23. package/dist/agent-config/model-settings/types.js.map +1 -0
  24. package/dist/agent-config/models.d.ts +9 -0
  25. package/dist/agent-config/models.js +30 -0
  26. package/dist/agent-config/models.js.map +1 -0
  27. package/dist/agent-config/service.d.ts +1 -1
  28. package/dist/agent-config/service.js +4 -4
  29. package/dist/agent-config/service.js.map +1 -1
  30. package/dist/agent-config/validate.d.ts +1 -1
  31. package/dist/automations/coordinator.d.ts +26 -0
  32. package/dist/automations/coordinator.js +66 -0
  33. package/dist/automations/coordinator.js.map +1 -0
  34. package/dist/automations/github-poller.d.ts +74 -0
  35. package/dist/automations/github-poller.js +234 -0
  36. package/dist/automations/github-poller.js.map +1 -0
  37. package/dist/automations/scheduler.d.ts +42 -0
  38. package/dist/automations/scheduler.js +192 -0
  39. package/dist/automations/scheduler.js.map +1 -0
  40. package/dist/automations/store.d.ts +65 -0
  41. package/dist/automations/store.js +298 -0
  42. package/dist/automations/store.js.map +1 -0
  43. package/dist/automations/task-template.d.ts +18 -0
  44. package/dist/automations/task-template.js +95 -0
  45. package/dist/automations/task-template.js.map +1 -0
  46. package/dist/automations/types.d.ts +251 -0
  47. package/dist/automations/types.js +158 -0
  48. package/dist/automations/types.js.map +1 -0
  49. package/dist/config.d.ts +17 -112
  50. package/dist/config.js +45 -4
  51. package/dist/config.js.map +1 -1
  52. package/dist/contract/agent-config.d.ts +151 -0
  53. package/dist/contract/agent-profiles.d.ts +332 -0
  54. package/dist/contract/automations.d.ts +919 -0
  55. package/dist/contract/events.d.ts +45 -0
  56. package/dist/contract/github.d.ts +467 -0
  57. package/dist/contract/health.d.ts +96 -0
  58. package/dist/contract/index.d.ts +16 -0
  59. package/dist/contract/index.js +1614 -0
  60. package/dist/contract/projects.d.ts +185 -0
  61. package/dist/contract/repo.d.ts +234 -0
  62. package/dist/contract/runs.d.ts +1261 -0
  63. package/dist/contract/skills.d.ts +229 -0
  64. package/dist/contract/workflows.d.ts +212 -0
  65. package/dist/contract/workspace.d.ts +490 -0
  66. package/dist/core/agent-env.d.ts +1 -1
  67. package/dist/core/agent-model-policy.d.ts +10 -0
  68. package/dist/core/agent-model-policy.js +36 -0
  69. package/dist/core/agent-model-policy.js.map +1 -0
  70. package/dist/core/agent-profiles.d.ts +59 -0
  71. package/dist/core/agent-profiles.js +83 -0
  72. package/dist/core/agent-profiles.js.map +1 -0
  73. package/dist/core/agent-runner.d.ts +12 -1
  74. package/dist/core/agent-runner.js +13 -0
  75. package/dist/core/agent-runner.js.map +1 -1
  76. package/dist/core/ask.d.ts +45 -124
  77. package/dist/core/ask.js +103 -13
  78. package/dist/core/ask.js.map +1 -1
  79. package/dist/core/backend-detect.js +7 -2
  80. package/dist/core/backend-detect.js.map +1 -1
  81. package/dist/core/claude-cli-runner.d.ts +2 -2
  82. package/dist/core/claude-cli-runner.js +52 -9
  83. package/dist/core/claude-cli-runner.js.map +1 -1
  84. package/dist/core/claude-ui-mapper.d.ts +1 -1
  85. package/dist/core/codex-app-server-runner.d.ts +1 -1
  86. package/dist/core/codex-app-server-runner.js +60 -3
  87. package/dist/core/codex-app-server-runner.js.map +1 -1
  88. package/dist/core/codex-app-server-transport.d.ts +6 -1
  89. package/dist/core/codex-app-server-transport.js +12 -3
  90. package/dist/core/codex-app-server-transport.js.map +1 -1
  91. package/dist/core/codex-model-catalog.d.ts +1 -1
  92. package/dist/core/codex-ui-mapper.d.ts +5 -1
  93. package/dist/core/codex-ui-mapper.js +74 -17
  94. package/dist/core/codex-ui-mapper.js.map +1 -1
  95. package/dist/core/model-identity.d.ts +13 -6
  96. package/dist/core/model-identity.js +32 -17
  97. package/dist/core/model-identity.js.map +1 -1
  98. package/dist/core/model-presets.d.ts +2 -2
  99. package/dist/core/model-presets.js +1 -1
  100. package/dist/core/opencode-server-runner.d.ts +2 -2
  101. package/dist/core/opencode-ui-mapper.d.ts +4 -1
  102. package/dist/core/opencode-ui-mapper.js +45 -7
  103. package/dist/core/opencode-ui-mapper.js.map +1 -1
  104. package/dist/core/provider-auth.d.ts +154 -0
  105. package/dist/core/provider-auth.js +488 -0
  106. package/dist/core/provider-auth.js.map +1 -0
  107. package/dist/core/provider-availability.d.ts +3 -0
  108. package/dist/core/provider-availability.js +14 -0
  109. package/dist/core/provider-availability.js.map +1 -0
  110. package/dist/core/runner-factory.d.ts +1 -1
  111. package/dist/core/runner-model-catalog.d.ts +1 -1
  112. package/dist/core/shell-env.d.ts +28 -0
  113. package/dist/core/shell-env.js +56 -0
  114. package/dist/core/shell-env.js.map +1 -0
  115. package/dist/core/tool-display.d.ts +1 -1
  116. package/dist/core/ui-events.d.ts +1 -1
  117. package/dist/core/ui-events.js +1 -1
  118. package/dist/core/usage-limit.d.ts +42 -0
  119. package/dist/core/usage-limit.js +209 -0
  120. package/dist/core/usage-limit.js.map +1 -0
  121. package/dist/git-diff-base.d.ts +60 -0
  122. package/dist/git-diff-base.js +54 -0
  123. package/dist/git-diff-base.js.map +1 -0
  124. package/dist/git-worktree.d.ts +37 -6
  125. package/dist/git-worktree.js +39 -9
  126. package/dist/git-worktree.js.map +1 -1
  127. package/dist/handoff.d.ts +2 -2
  128. package/dist/handoff.js +1 -1
  129. package/dist/index.js +65 -8
  130. package/dist/index.js.map +1 -1
  131. package/dist/paths.d.ts +69 -6
  132. package/dist/paths.js +86 -9
  133. package/dist/paths.js.map +1 -1
  134. package/dist/planner.d.ts +2 -2
  135. package/dist/planner.js +7 -1
  136. package/dist/planner.js.map +1 -1
  137. package/dist/release/manifests.d.ts +81 -0
  138. package/dist/release/manifests.js +74 -0
  139. package/dist/release/manifests.js.map +1 -0
  140. package/dist/release/snapshot.d.ts +9 -23
  141. package/dist/release/snapshot.js +9 -22
  142. package/dist/release/snapshot.js.map +1 -1
  143. package/dist/release/stable.d.ts +15 -29
  144. package/dist/release/stable.js +14 -27
  145. package/dist/release/stable.js.map +1 -1
  146. package/dist/runs/auto-name.d.ts +1 -1
  147. package/dist/runs/auto-name.js +6 -1
  148. package/dist/runs/auto-name.js.map +1 -1
  149. package/dist/runs/retention.d.ts +1 -1
  150. package/dist/runs/store.d.ts +149 -336
  151. package/dist/runs/store.js +187 -9
  152. package/dist/runs/store.js.map +1 -1
  153. package/dist/runs/ui-event-sink.d.ts +1 -1
  154. package/dist/server/app-type.d.ts +21 -0
  155. package/dist/server/app-type.js +2 -0
  156. package/dist/server/app-type.js.map +1 -0
  157. package/dist/server/capabilities.d.ts +6 -5
  158. package/dist/server/capabilities.js +11 -0
  159. package/dist/server/capabilities.js.map +1 -1
  160. package/dist/server/forge/github.d.ts +58 -151
  161. package/dist/server/forge/github.js +530 -6
  162. package/dist/server/forge/github.js.map +1 -1
  163. package/dist/server/forge/index.d.ts +10 -3
  164. package/dist/server/forge/index.js +14 -1
  165. package/dist/server/forge/index.js.map +1 -1
  166. package/dist/server/forge/types.d.ts +86 -1
  167. package/dist/server/git-changes.d.ts +8 -8
  168. package/dist/server/git-changes.js +14 -17
  169. package/dist/server/git-changes.js.map +1 -1
  170. package/dist/server/git.d.ts +2 -0
  171. package/dist/server/git.js +9 -0
  172. package/dist/server/git.js.map +1 -1
  173. package/dist/server/github.d.ts +3 -3
  174. package/dist/server/github.js +1 -1
  175. package/dist/server/github.js.map +1 -1
  176. package/dist/server/open-in-terminal.d.ts +8 -1
  177. package/dist/server/open-in-terminal.js +16 -8
  178. package/dist/server/open-in-terminal.js.map +1 -1
  179. package/dist/server/pr.d.ts +2 -2
  180. package/dist/server/project-context.d.ts +20 -3
  181. package/dist/server/project-context.js +30 -1
  182. package/dist/server/project-context.js.map +1 -1
  183. package/dist/server/provider-action-gate.d.ts +8 -0
  184. package/dist/server/provider-action-gate.js +54 -0
  185. package/dist/server/provider-action-gate.js.map +1 -0
  186. package/dist/server/provider-auth-runtime.d.ts +21 -0
  187. package/dist/server/provider-auth-runtime.js +66 -0
  188. package/dist/server/provider-auth-runtime.js.map +1 -0
  189. package/dist/server/server.d.ts +12128 -47
  190. package/dist/server/server.js +2652 -917
  191. package/dist/server/server.js.map +1 -1
  192. package/dist/server/validators.d.ts +97 -0
  193. package/dist/server/validators.js +86 -0
  194. package/dist/server/validators.js.map +1 -0
  195. package/dist/server/ws.d.ts +2 -2
  196. package/dist/server/ws.js +2 -2
  197. package/dist/server/ws.js.map +1 -1
  198. package/dist/server-install/engine.d.ts +1 -1
  199. package/dist/server-install/platforms/macosx-ngrok.d.ts +1 -1
  200. package/dist/server-install/platforms/ubuntu-vps.d.ts +16 -1
  201. package/dist/server-install/platforms/ubuntu-vps.js +83 -1
  202. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  203. package/dist/server-install/state.d.ts +1 -1
  204. package/dist/server-install/steps.d.ts +2 -2
  205. package/dist/server-install/strategies.d.ts +1 -1
  206. package/dist/server-install/types.d.ts +38 -424
  207. package/dist/server-install/ui.d.ts +1 -1
  208. package/dist/skills-banner.d.ts +7 -6
  209. package/dist/skills-banner.js +7 -6
  210. package/dist/skills-banner.js.map +1 -1
  211. package/dist/skills-remote.d.ts +2 -2
  212. package/dist/skills-update.d.ts +88 -0
  213. package/dist/skills-update.js +392 -0
  214. package/dist/skills-update.js.map +1 -0
  215. package/dist/skills.d.ts +2 -0
  216. package/dist/skills.js +7 -2
  217. package/dist/skills.js.map +1 -1
  218. package/dist/todos.d.ts +2 -28
  219. package/dist/todos.js +1 -1
  220. package/dist/ui-state.d.ts +16 -2
  221. package/dist/ui-state.js +14 -1
  222. package/dist/ui-state.js.map +1 -1
  223. package/dist/workflows/load.d.ts +1 -1
  224. package/dist/workflows/run.d.ts +238 -12
  225. package/dist/workflows/run.js +1103 -115
  226. package/dist/workflows/run.js.map +1 -1
  227. package/dist/workflows/types.d.ts +59 -224
  228. package/dist/workflows/types.js +14 -0
  229. package/dist/workflows/types.js.map +1 -1
  230. package/dist/workspace/agent-accounts.d.ts +149 -0
  231. package/dist/workspace/agent-accounts.js +303 -0
  232. package/dist/workspace/agent-accounts.js.map +1 -0
  233. package/dist/workspace/agent-profiles.d.ts +78 -0
  234. package/dist/workspace/agent-profiles.js +115 -0
  235. package/dist/workspace/agent-profiles.js.map +1 -0
  236. package/dist/workspace/config.d.ts +82 -206
  237. package/dist/workspace/config.js +183 -14
  238. package/dist/workspace/config.js.map +1 -1
  239. package/dist/workspace/migrations.d.ts +1 -1
  240. package/dist/workspace/migrations.js +19 -4
  241. package/dist/workspace/migrations.js.map +1 -1
  242. package/dist/workspace/projects.d.ts +8 -2
  243. package/dist/workspace/projects.js +9 -3
  244. package/dist/workspace/projects.js.map +1 -1
  245. package/dist/workspace/semaphore.d.ts +45 -0
  246. package/dist/workspace/semaphore.js +45 -1
  247. package/dist/workspace/semaphore.js.map +1 -1
  248. package/dist/workspace/ui-state.d.ts +13 -3
  249. package/dist/workspace/ui-state.js +15 -5
  250. package/dist/workspace/ui-state.js.map +1 -1
  251. package/package.json +17 -39
  252. package/scripts/inline-contract.mjs +112 -0
  253. package/scripts/mock-claude.mjs +59 -1
  254. package/scripts/sync-readme.mjs +20 -0
  255. package/web/dist/assets/alert-dialog-LMDsWZ8t.js +1 -0
  256. package/web/dist/assets/arrow-down-CDJD8f8N.js +1 -0
  257. package/web/dist/assets/arrow-left-DUirK4gC.js +1 -0
  258. package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
  259. package/web/dist/assets/centered-state-CX0EhxaQ.js +43 -0
  260. package/web/dist/assets/chevron-right-B70aoBYh.js +1 -0
  261. package/web/dist/assets/{chunk-BO2N2NFS-DtrdTCWa.js → chunk-BO2N2NFS-DE6qKn3r.js} +8 -8
  262. package/web/dist/assets/circle-check-C6IhUojk.js +1 -0
  263. package/web/dist/assets/circle-x-hV9f6Ypp.js +1 -0
  264. package/web/dist/assets/collapsible-D2igywSh.js +1 -0
  265. package/web/dist/assets/commit-list-ocsM8XZs.js +1 -0
  266. package/web/dist/assets/compare-variants-CYdYsQBv.js +1 -0
  267. package/web/dist/assets/{core-DePtBHcl.js → core-BCsw8oQw.js} +1 -1
  268. package/web/dist/assets/diff-3y-HnHEH.js +3 -0
  269. package/web/dist/assets/diff-stat-OeTa1MCD.js +1 -0
  270. package/web/dist/assets/{diff-view-DCeSegKk.js → diff-view-D8VBKGxl.js} +4 -4
  271. package/web/dist/assets/dropdown-menu-B9UHiJFv.js +1 -0
  272. package/web/dist/assets/editable-title-C9aK-GCt.js +1 -0
  273. package/web/dist/assets/{ellipsis-vertical-CNnSLn5a.js → ellipsis-vertical-BVp0AyW4.js} +1 -1
  274. package/web/dist/assets/{file-D4GBh1ao.js → file-D1v6Cb9Q.js} +1 -1
  275. package/web/dist/assets/folder-HNaOtP70.js +1 -0
  276. package/web/dist/assets/{git-pull-request-DnR8Xh4_.js → git-pull-request-C6KuSF45.js} +1 -1
  277. package/web/dist/assets/git-toolbar-DpRPWLaM.js +1 -0
  278. package/web/dist/assets/github-UumAmuAM.js +1 -0
  279. package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
  280. package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
  281. package/web/dist/assets/image-preview-M1y8lBCU.js +1 -0
  282. package/web/dist/assets/index-BNgqhk51.js +6 -0
  283. package/web/dist/assets/index-De7KdVHL.css +2 -0
  284. package/web/dist/assets/lib-BQXq3kEf.js +1 -0
  285. package/web/dist/assets/lib-BxQXEXDF.js +1 -0
  286. package/web/dist/assets/markdown-DfljSy6W.js +2 -0
  287. package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
  288. package/web/dist/assets/new-task-form-CkgsW8GC.js +1 -0
  289. package/web/dist/assets/pill-DWy7Dbv3.js +1 -0
  290. package/web/dist/assets/project-router-BJR_8pfk.js +1 -0
  291. package/web/dist/assets/prompt-templates-CKbMbly-.js +15 -0
  292. package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
  293. package/web/dist/assets/{refresh-cw-BT8E96Tm.js → refresh-cw-Bs4wU0JM.js} +1 -1
  294. package/web/dist/assets/repo-git-CBbpvexr.js +1 -0
  295. package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  296. package/web/dist/assets/run-diff-CzrO-R7P.js +3 -0
  297. package/web/dist/assets/run-header-BQDPFKUM.js +1 -0
  298. package/web/dist/assets/{search-x-BDjaMrzG.js → search-x-sxnYXz0H.js} +1 -1
  299. package/web/dist/assets/skill-empty-hint-CMfCEn9L.js +1 -0
  300. package/web/dist/assets/skills-BiWfHmCR.js +1 -0
  301. package/web/dist/assets/skills-DrG0KcAJ.js +1 -0
  302. package/web/dist/assets/sparkles-CL1cbhb_.js +1 -0
  303. package/web/dist/assets/{square-terminal-Ckjjn0vb.js → square-terminal-5JEPtGG-.js} +1 -1
  304. package/web/dist/assets/tab-link-DVT33Q2m.js +1 -0
  305. package/web/dist/assets/task-changes-BuuNjQ_C.js +1 -0
  306. package/web/dist/assets/task-commits-CVjZWXuP.js +1 -0
  307. package/web/dist/assets/task-files-f7USaQD1.js +2 -0
  308. package/web/dist/assets/task-thread-Cc7rMyer.js +9 -0
  309. package/web/dist/assets/textarea-BieGhkR-.js +1 -0
  310. package/web/dist/assets/thread-loading-CwfY_3r7.js +1 -0
  311. package/web/dist/assets/{trash-2-DAyZ0VSi.js → trash-2-Cmbuh3Q9.js} +1 -1
  312. package/web/dist/assets/{triangle-alert-Uy8rokUh.js → triangle-alert-dswtPk4F.js} +1 -1
  313. package/web/dist/assets/{upload-CDdyPPo_.js → upload-BY1qMAxW.js} +1 -1
  314. package/web/dist/assets/use-desktop-DrxT9b31.js +1 -0
  315. package/web/dist/assets/use-submit-shortcut-CULpfw9y.js +1 -0
  316. package/web/dist/assets/utils-C5bzdO9U.js +64 -0
  317. package/web/dist/assets/workflows-D6GsX0A9.js +11 -0
  318. package/web/dist/assets/zoomable-image-CEjRqsuW.js +1 -0
  319. package/web/dist/index.html +33 -13
  320. package/scripts/dev.mjs +0 -74
  321. package/scripts/release-snapshot.mjs +0 -130
  322. package/scripts/release.mjs +0 -119
  323. package/web/dist/assets/arrow-left-CnSdp92h.js +0 -1
  324. package/web/dist/assets/bundle-mjs-BegPhL5c.js +0 -1
  325. package/web/dist/assets/centered-state-DOsTcJZF.js +0 -43
  326. package/web/dist/assets/commit-list-BrxBEzRK.js +0 -1
  327. package/web/dist/assets/compare-variants-Bv2c9ORF.js +0 -1
  328. package/web/dist/assets/dist-B6XQOhgM.js +0 -1
  329. package/web/dist/assets/git-toolbar-pIC1ubPM.js +0 -1
  330. package/web/dist/assets/github-DTTSG0ht.js +0 -1
  331. package/web/dist/assets/highlighted-body-OFNGDK62-BuFJwunK.js +0 -1
  332. package/web/dist/assets/image-preview-DEhW0TFz.js +0 -1
  333. package/web/dist/assets/index-Cijmlz7q.js +0 -30
  334. package/web/dist/assets/index-DzroxqBG.css +0 -2
  335. package/web/dist/assets/lib-DPEZDBUN.js +0 -1
  336. package/web/dist/assets/lib-uHpeUPzK.js +0 -1
  337. package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +0 -1
  338. package/web/dist/assets/open-mercato-toBr6SOa.svg +0 -11
  339. package/web/dist/assets/project-router-BMx4e8m-.js +0 -1
  340. package/web/dist/assets/repo-git-BusYfa3t.js +0 -1
  341. package/web/dist/assets/run-diff-wOJ3odA-.js +0 -3
  342. package/web/dist/assets/run-header-Cg5incil.js +0 -1
  343. package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +0 -1
  344. package/web/dist/assets/skills-PpP2owbM.js +0 -1
  345. package/web/dist/assets/tab-link-F3uQrdm2.js +0 -1
  346. package/web/dist/assets/task-changes-iD9kS79I.js +0 -1
  347. package/web/dist/assets/task-commits-COkLaUri.js +0 -1
  348. package/web/dist/assets/task-files-Ckttz7XH.js +0 -2
  349. package/web/dist/assets/task-thread-CQD91VPt.js +0 -9
  350. package/web/dist/assets/textarea-Bj_LCreg.js +0 -1
  351. package/web/dist/assets/use-desktop-DUh0STzq.js +0 -3
  352. package/web/dist/assets/utils-B8s5qIcK.js +0 -1
  353. package/web/dist/assets/workflows-BFk8C0co.js +0 -11
  354. package/web/dist/assets/zoomable-image-PEDOqyLQ.js +0 -1
  355. /package/web/{open-mercato.svg → dist/open-mercato.svg} +0 -0
@@ -27,6 +27,7 @@ export function createCodexUiState() {
27
27
  sessionStarted: false,
28
28
  turnSeq: 0,
29
29
  currentTurnId: null,
30
+ pendingTurnUsage: null,
30
31
  knownItems: new Set(),
31
32
  outputs: new Map(),
32
33
  reasonings: new Map(),
@@ -100,18 +101,26 @@ function mapTurnStarted(params, state) {
100
101
  // So are the reasoning accumulators: an interrupted item never completes,
101
102
  // so its text would otherwise leak into a later turn that reuses the id
102
103
  // and pin whole chains of thought in memory for the session (#528).
103
- state: { ...state, turnSeq, currentTurnId: turnId, planFromNotification: false, reasonings: new Map() },
104
+ state: {
105
+ ...state,
106
+ turnSeq,
107
+ currentTurnId: turnId,
108
+ pendingTurnUsage: null,
109
+ planFromNotification: false,
110
+ reasonings: new Map(),
111
+ },
104
112
  };
105
113
  }
106
114
  function mapTurnEnd(params, state, failed) {
107
115
  let turnSeq = state.turnSeq;
108
116
  const turnId = turnIdOf(params) ?? state.currentTurnId ?? `turn_${++turnSeq}`;
117
+ const closesActiveTurn = state.currentTurnId === null || turnId === state.currentTurnId;
109
118
  // A review span still open when the turn ends never gets its `exitedReviewMode` — an
110
119
  // interrupted, cancelled or failed turn simply stops. Close it here, or the item stays
111
120
  // `running` forever and the Agents dock reads a finished run as a live fan-out (#474).
112
121
  // The status follows the turn: a turn that failed did not complete its review.
113
122
  const events = [];
114
- if (state.reviewItemId !== null) {
123
+ if (closesActiveTurn && state.reviewItemId !== null) {
115
124
  events.push({
116
125
  type: 'item.completed',
117
126
  item: {
@@ -124,10 +133,20 @@ function mapTurnEnd(params, state, failed) {
124
133
  },
125
134
  });
126
135
  }
127
- events.push({ type: 'turn.completed', turnId, stopReason: turnStopReason(params, failed) });
136
+ const completed = {
137
+ type: 'turn.completed',
138
+ turnId,
139
+ stopReason: turnStopReason(params, failed),
140
+ };
141
+ if (turnId === state.currentTurnId && state.pendingTurnUsage !== null) {
142
+ completed.usage = state.pendingTurnUsage;
143
+ }
144
+ events.push(completed);
128
145
  return {
129
146
  events,
130
- state: { ...state, turnSeq, currentTurnId: null, reviewItemId: null },
147
+ state: closesActiveTurn
148
+ ? { ...state, turnSeq, currentTurnId: null, pendingTurnUsage: null, reviewItemId: null }
149
+ : { ...state, turnSeq },
131
150
  };
132
151
  }
133
152
  /** §7.1: turn/completed→end_turn, turn/failed→error — except an interrupted
@@ -242,6 +261,11 @@ function mapItemLifecycle(params, state, eventType) {
242
261
  if (type === 'enteredReviewMode' || type === 'exitedReviewMode') {
243
262
  return mapReviewMode(raw, id, type, eventType, state);
244
263
  }
264
+ // Internal collaboration telemetry is not a user tool. Codex emits one
265
+ // `subAgentActivity(kind: started)` when it creates a child thread, followed
266
+ // by `interacted` bookkeeping as control returns between threads.
267
+ if (type === 'subAgentActivity')
268
+ return mapSubAgentActivity(raw, id, state);
245
269
  const item = type === 'agentMessage'
246
270
  ? messageItem(raw, id)
247
271
  : type === 'reasoning'
@@ -271,6 +295,28 @@ function mapItemLifecycle(params, state, eventType) {
271
295
  return { events, state };
272
296
  return { events, state: { ...state, knownItems: new Set(state.knownItems).add(id) } };
273
297
  }
298
+ function mapSubAgentActivity(raw, id, state) {
299
+ if (str(raw.kind) !== 'started' || state.knownItems.has(id))
300
+ return { events: [], state };
301
+ const agentPath = str(raw.agentPath);
302
+ const agentName = agentPath?.split('/').filter(Boolean).at(-1)?.replaceAll('_', ' ');
303
+ const agentThreadId = str(raw.agentThreadId);
304
+ const display = toolDisplay('Task', agentName ? { description: agentName } : undefined);
305
+ const task = { itemId: id, ...(agentName ? { prompt: agentName } : {}) };
306
+ const collabTasks = new Map(state.collabTasks);
307
+ if (agentThreadId)
308
+ collabTasks.set(agentThreadId, task);
309
+ return {
310
+ events: [{
311
+ type: 'item.started',
312
+ item: {
313
+ kind: 'tool', id, name: 'spawnAgent', toolKind: 'task', title: display.title, status: 'running',
314
+ input: { ...(agentPath ? { agentPath } : {}), ...(agentThreadId ? { agentThreadId } : {}) },
315
+ },
316
+ }],
317
+ state: { ...state, knownItems: new Set(state.knownItems).add(id), collabTasks },
318
+ };
319
+ }
274
320
  /** A spawn creates one task row; later send/wait/resume/close calls update the
275
321
  * same row through receiver-thread correlation instead of creating duplicates. */
276
322
  function mapCollabToolCall(raw, id, eventType, state) {
@@ -652,23 +698,30 @@ function mapTokenUsage(params, state) {
652
698
  const total = isRecord(tokenUsage.total) ? tokenUsage.total : undefined;
653
699
  if (!total)
654
700
  return { events: [], state };
655
- const input = num(total.inputTokens) ?? 0;
656
- const output = num(total.outputTokens) ?? 0;
657
- const cacheRead = num(total.cachedInputTokens);
658
- const reasoning = num(total.reasoningOutputTokens);
659
- const usage = {
660
- input,
661
- output,
662
- total: num(total.totalTokens) ?? input + output,
663
- };
701
+ const usage = codexUsage(total);
702
+ if (usage === undefined)
703
+ return { events: [], state };
704
+ const contextWindow = num(tokenUsage.modelContextWindow);
705
+ if (contextWindow !== undefined)
706
+ usage.contextWindow = contextWindow;
707
+ const last = isRecord(tokenUsage.last) ? codexUsage(tokenUsage.last) : undefined;
708
+ const nextState = state.currentTurnId !== null && last !== undefined ? { ...state, pendingTurnUsage: last } : state;
709
+ return { events: [{ type: 'usage.updated', usage }], state: nextState };
710
+ }
711
+ function codexUsage(raw) {
712
+ const input = nonNegative(raw.inputTokens);
713
+ const output = nonNegative(raw.outputTokens);
714
+ if (input === undefined || output === undefined)
715
+ return undefined;
716
+ const total = nonNegative(raw.totalTokens) ?? input + output;
717
+ const usage = { input, output, total };
718
+ const cacheRead = nonNegative(raw.cachedInputTokens);
719
+ const reasoning = nonNegative(raw.reasoningOutputTokens);
664
720
  if (cacheRead !== undefined)
665
721
  usage.cacheRead = cacheRead;
666
722
  if (reasoning !== undefined)
667
723
  usage.reasoning = reasoning;
668
- const contextWindow = num(tokenUsage.modelContextWindow);
669
- if (contextWindow !== undefined)
670
- usage.contextWindow = contextWindow;
671
- return { events: [{ type: 'usage.updated', usage }], state };
724
+ return usage;
672
725
  }
673
726
  // ---- tiny guards --------------------------------------------------------------
674
727
  function isRecord(value) {
@@ -680,6 +733,10 @@ function str(value) {
680
733
  function num(value) {
681
734
  return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
682
735
  }
736
+ function nonNegative(value) {
737
+ const parsed = num(value);
738
+ return parsed !== undefined && parsed >= 0 ? parsed : undefined;
739
+ }
683
740
  function stringArray(value) {
684
741
  return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string' && entry !== '') : [];
685
742
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-ui-mapper.js","sourceRoot":"","sources":["../../src/core/codex-ui-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-ui-mapper.js","sourceRoot":"","sources":["../../src/core/codex-ui-mapper.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  * Deliberately imports no backend-specific wire type: the canonical identity
20
20
  * never leaks a runner's request shape past the `AgentRunner` seam.
21
21
  */
22
- import type { AgentBackend } from './agent-runner.js';
22
+ import type { AgentBackend } from './agent-runner.ts';
23
23
  /**
24
24
  * A backend-agnostic model identity. Serialized as `provider/model` (see
25
25
  * {@link formatModelIdentity}). Treated as an identifier, never display text.
@@ -54,6 +54,10 @@ interface BackendModelMap {
54
54
  * It also selects the wire form in {@link toBackendModel}.
55
55
  */
56
56
  readonly defaultProvider?: string;
57
+ /** Whether explicit foreign provider/model ids are valid backend-native ids. */
58
+ readonly allowExplicitProvider?: boolean;
59
+ /** Whether the backend wire model keeps the explicit provider prefix. */
60
+ readonly wireProviderQualified?: boolean;
57
61
  /**
58
62
  * Bare model id → provider override, for the rare backend whose bare ids
59
63
  * span providers. Checked before `defaultProvider`; empty for today's set.
@@ -84,14 +88,15 @@ export declare function parseModelIdentity(raw: string | undefined | null): Mode
84
88
  * explicit choice, not a silent fallback);
85
89
  * - an explicit `provider/model` → that identity, for a multi-provider backend
86
90
  * or when the provider is the single-provider backend's own;
87
- * - an explicit `provider/model` naming a FOREIGN provider on a single-provider
88
- * backend → throws {@link ModelIdentityError} (it would be dropped on the wire
89
- * yet persisted, asserting a provider that never ran — #405 review M2);
91
+ * - an explicit `provider/model` naming a FOREIGN provider is preserved when
92
+ * the backend supports custom/gateway model ids;
90
93
  * - a bare id → the backend's default provider;
91
94
  * - a bare id on a backend with no default provider → throws
92
95
  * {@link ModelIdentityError}.
93
96
  */
94
- export declare function resolveModelIdentity(backend: AgentBackend, raw: string | undefined): ModelIdentity | undefined;
97
+ export declare function resolveModelIdentity(backend: AgentBackend, raw: string | undefined, options?: {
98
+ configuredProvider?: string;
99
+ }): ModelIdentity | undefined;
95
100
  /**
96
101
  * The model string to hand `backend`'s CLI/API for a canonical identity — the
97
102
  * inverse of {@link resolveModelIdentity}. Single-provider backends
@@ -106,7 +111,9 @@ export declare function toBackendModel(backend: AgentBackend, id: ModelIdentity)
106
111
  * `undefined` for empty/auto. Throws {@link ModelIdentityError} on an
107
112
  * unresolvable model — the single fail-loud gate the run wiring calls.
108
113
  */
109
- export declare function normalizeModelForBackend(backend: AgentBackend, raw: string | undefined): {
114
+ export declare function normalizeModelForBackend(backend: AgentBackend, raw: string | undefined, options?: {
115
+ configuredProvider?: string;
116
+ }): {
110
117
  backendModel: string;
111
118
  identity: ModelIdentity;
112
119
  } | undefined;
@@ -22,8 +22,13 @@ export const KNOWN_PROVIDERS = ['anthropic', 'openai', 'google', 'openrouter'];
22
22
  * to `claude`.
23
23
  */
24
24
  export const BACKEND_MODEL_MAP = {
25
- claude: { defaultProvider: 'anthropic' },
26
- 'claude-cli': { defaultProvider: 'anthropic' },
25
+ // Claude Code supports custom/gateway model ids such as DeepSeek via an
26
+ // Anthropic-compatible endpoint, so preserve an explicit provider/model.
27
+ claude: { defaultProvider: 'anthropic', allowExplicitProvider: true, wireProviderQualified: true },
28
+ 'claude-cli': { defaultProvider: 'anthropic', allowExplicitProvider: true, wireProviderQualified: true },
29
+ // Codex selects the provider from model_provider in config.toml. A foreign
30
+ // explicit prefix is accepted only when the caller proves it matches that
31
+ // effective setting; the provider is then stripped from the wire model id.
27
32
  codex: { defaultProvider: 'openai' },
28
33
  // opencode selects across providers, so a bare model is ambiguous: reject it
29
34
  // loudly rather than let the server pick a default the user never asked for.
@@ -59,31 +64,34 @@ export function parseModelIdentity(raw) {
59
64
  * explicit choice, not a silent fallback);
60
65
  * - an explicit `provider/model` → that identity, for a multi-provider backend
61
66
  * or when the provider is the single-provider backend's own;
62
- * - an explicit `provider/model` naming a FOREIGN provider on a single-provider
63
- * backend → throws {@link ModelIdentityError} (it would be dropped on the wire
64
- * yet persisted, asserting a provider that never ran — #405 review M2);
67
+ * - an explicit `provider/model` naming a FOREIGN provider is preserved when
68
+ * the backend supports custom/gateway model ids;
65
69
  * - a bare id → the backend's default provider;
66
70
  * - a bare id on a backend with no default provider → throws
67
71
  * {@link ModelIdentityError}.
68
72
  */
69
- export function resolveModelIdentity(backend, raw) {
73
+ export function resolveModelIdentity(backend, raw, options = {}) {
70
74
  if (!raw || !raw.trim())
71
75
  return undefined;
72
76
  const map = BACKEND_MODEL_MAP[backend] ?? {};
77
+ const configuredProvider = options.configuredProvider?.trim().toLowerCase() || undefined;
78
+ const effectiveProvider = configuredProvider ?? map.defaultProvider;
73
79
  const explicit = parseModelIdentity(raw);
74
80
  if (explicit) {
75
- // A single-provider backend (claude/codex) can only serve its own provider. An explicit
76
- // foreign provider would be silently dropped on the wire — `toBackendModel` hands the CLI
77
- // the bare model id — while the record persists the foreign provider, asserting one that
78
- // never served the run (#405 review M2). Reject it, the same fail-loud contract a bare id
79
- // gets on a multi-provider backend.
80
- if (map.defaultProvider !== undefined && explicit.provider !== map.defaultProvider) {
81
- throw new ModelIdentityError(`provider "${explicit.provider}" can't be served by the ${backend} runner (serves ${map.defaultProvider}) — use "${map.defaultProvider}/${explicit.model}" or a bare model id`);
81
+ // Most single-provider backends need their bare wire form, but Claude Code
82
+ // also accepts explicit gateway/custom provider ids. Keep rejecting foreign
83
+ // providers for backends that do not advertise that capability.
84
+ if (map.defaultProvider !== undefined &&
85
+ explicit.provider !== effectiveProvider &&
86
+ !map.allowExplicitProvider) {
87
+ throw new ModelIdentityError(configuredProvider
88
+ ? `provider "${explicit.provider}" doesn't match the ${backend} runner's configured provider "${configuredProvider}" — use "${configuredProvider}/${explicit.model}" or a bare model id`
89
+ : `provider "${explicit.provider}" can't be verified for the ${backend} runner (serves ${map.defaultProvider}) — use "${map.defaultProvider}/${explicit.model}" or a bare model id`);
82
90
  }
83
91
  return explicit;
84
92
  }
85
93
  const model = raw.trim();
86
- const provider = map.providerByModel?.[model] ?? map.defaultProvider;
94
+ const provider = map.providerByModel?.[model] ?? effectiveProvider;
87
95
  if (!provider) {
88
96
  throw new ModelIdentityError(`model "${model}" is ambiguous for the ${backend} runner — name the provider as "provider/model" (e.g. anthropic/${model})`);
89
97
  }
@@ -98,7 +106,14 @@ export function resolveModelIdentity(backend, raw) {
98
106
  */
99
107
  export function toBackendModel(backend, id) {
100
108
  const map = BACKEND_MODEL_MAP[backend] ?? {};
101
- return map.defaultProvider === undefined ? formatModelIdentity(id) : id.model;
109
+ if (map.defaultProvider === undefined)
110
+ return formatModelIdentity(id);
111
+ if (map.allowExplicitProvider &&
112
+ map.wireProviderQualified &&
113
+ id.provider !== map.defaultProvider) {
114
+ return formatModelIdentity(id);
115
+ }
116
+ return id.model;
102
117
  }
103
118
  /**
104
119
  * Normalise a raw model string for `backend` in one step: the backend-native
@@ -106,8 +121,8 @@ export function toBackendModel(backend, id) {
106
121
  * `undefined` for empty/auto. Throws {@link ModelIdentityError} on an
107
122
  * unresolvable model — the single fail-loud gate the run wiring calls.
108
123
  */
109
- export function normalizeModelForBackend(backend, raw) {
110
- const identity = resolveModelIdentity(backend, raw);
124
+ export function normalizeModelForBackend(backend, raw, options = {}) {
125
+ const identity = resolveModelIdentity(backend, raw, options);
111
126
  if (!identity)
112
127
  return undefined;
113
128
  return { backendModel: toBackendModel(backend, identity), identity };
@@ -1 +1 @@
1
- {"version":3,"file":"model-identity.js","sourceRoot":"","sources":["../../src/core/model-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-identity.js","sourceRoot":"","sources":["../../src/core/model-identity.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { RunnerId } from './agent-runner.js';
1
+ import type { RunnerId } from './agent-runner.ts';
2
2
  /**
3
3
  * The model-preset ids each runner's picker offers — the ids of the web composer's
4
- * `MODELS_BY_RUNNER` (web/app/src/routes/new-task-form.ts), hand-mirrored the same way the
4
+ * `MODELS_BY_RUNNER` (packages/web/src/routes/new-task-form.ts), hand-mirrored the same way the
5
5
  * API types are. `''` (auto) is implicit and never listed.
6
6
  *
7
7
  * This is a cross-runner GUARD, not a whitelist: models stay free-form everywhere (custom ids
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The model-preset ids each runner's picker offers — the ids of the web composer's
3
- * `MODELS_BY_RUNNER` (web/app/src/routes/new-task-form.ts), hand-mirrored the same way the
3
+ * `MODELS_BY_RUNNER` (packages/web/src/routes/new-task-form.ts), hand-mirrored the same way the
4
4
  * API types are. `''` (auto) is implicit and never listed.
5
5
  *
6
6
  * This is a cross-runner GUARD, not a whitelist: models stay free-form everywhere (custom ids
@@ -1,5 +1,5 @@
1
- import type { AgentEvent, AgentRunResult, AgentRunSpec, AgentRunner } from './agent-runner.js';
2
- import type { AgentSession, SessionOptions } from './agent-runner.js';
1
+ import type { AgentEvent, AgentRunResult, AgentRunSpec, AgentRunner } from './agent-runner.ts';
2
+ import type { AgentSession, SessionOptions } from './agent-runner.ts';
3
3
  export interface OpencodeRunnerOptions {
4
4
  /** Override the binary name/path; defaults to `opencode` on PATH. */
5
5
  bin?: string;
@@ -29,7 +29,7 @@
29
29
  * active subtask's child session and nest via `parentItemId` (§7.1);
30
30
  * anything foreign outside a subtask scope is dropped.
31
31
  */
32
- import type { TokenUsage, ToolStatus, UiEvent } from './ui-events.js';
32
+ import type { TokenUsage, ToolStatus, UiEvent } from './ui-events.ts';
33
33
  /** Per-message telemetry: `message.updated` snapshots (cumulative per
34
34
  * message) and summed `step-finish` increments are tracked separately —
35
35
  * they describe the same accumulation, so the larger total wins and
@@ -53,6 +53,9 @@ export interface OpencodeUiMapperState {
53
53
  readonly sessionStarted: boolean;
54
54
  readonly turnSeq: number;
55
55
  readonly currentTurnId: string | null;
56
+ /** Message ids observed during the active turn. Their latest snapshots are
57
+ * summed once when the matching `session.idle` closes the turn. */
58
+ readonly currentTurnMessageIds: ReadonlySet<string>;
56
59
  /** A `session.error` arrived since the turn started → `session.idle`
57
60
  * closes the turn with stopReason 'error' (§7.1). */
58
61
  readonly turnErrored: boolean;
@@ -36,6 +36,7 @@ export function createOpencodeUiState() {
36
36
  sessionStarted: false,
37
37
  turnSeq: 0,
38
38
  currentTurnId: null,
39
+ currentTurnMessageIds: new Set(),
39
40
  turnErrored: false,
40
41
  msgRoles: new Map(),
41
42
  cursors: new Map(),
@@ -72,7 +73,13 @@ export function opencodeTurnStarted(state) {
72
73
  const turnId = `turn_${state.turnSeq + 1}`;
73
74
  return {
74
75
  events: [{ type: 'turn.started', turnId }],
75
- state: { ...state, turnSeq: state.turnSeq + 1, currentTurnId: turnId, turnErrored: false },
76
+ state: {
77
+ ...state,
78
+ turnSeq: state.turnSeq + 1,
79
+ currentTurnId: turnId,
80
+ currentTurnMessageIds: new Set(),
81
+ turnErrored: false,
82
+ },
76
83
  };
77
84
  }
78
85
  /** Fold one parsed SSE bus event into v2 events. Never throws. */
@@ -114,6 +121,9 @@ function mapMessageInfo(props, state) {
114
121
  msgRoles.set(id, role);
115
122
  next = { ...next, msgRoles };
116
123
  }
124
+ if (id !== undefined && role === 'assistant' && next.currentTurnId !== null && !next.currentTurnMessageIds.has(id)) {
125
+ next = { ...next, currentTurnMessageIds: new Set(next.currentTurnMessageIds).add(id) };
126
+ }
117
127
  // Telemetry rides only on assistant messages (cumulative per message).
118
128
  if (id !== undefined && role === 'assistant') {
119
129
  const usage = tokensToUsage(info.tokens);
@@ -450,7 +460,10 @@ function mapStepFinish(part, messageID, state) {
450
460
  };
451
461
  const usageByMessage = new Map(state.usageByMessage);
452
462
  usageByMessage.set(messageID, merged);
453
- return emitUsage({ ...state, usageByMessage });
463
+ const currentTurnMessageIds = state.currentTurnId !== null
464
+ ? new Set(state.currentTurnMessageIds).add(messageID)
465
+ : state.currentTurnMessageIds;
466
+ return emitUsage({ ...state, usageByMessage, currentTurnMessageIds });
454
467
  }
455
468
  // ---- session lifecycle -------------------------------------------------------
456
469
  /** `session.idle` is THE turn-end signal (§4.1). The main session's idle
@@ -476,18 +489,25 @@ function mapIdle(props, state) {
476
489
  if (state.currentTurnId === null)
477
490
  return { events: [], state };
478
491
  const openSubtasks = [...state.subtasks.values(), ...state.unboundSubtasks];
492
+ const completed = {
493
+ type: 'turn.completed',
494
+ turnId: state.currentTurnId,
495
+ stopReason: state.turnErrored ? 'error' : 'end_turn',
496
+ };
497
+ const turnUsage = usageForMessages(state.currentTurnMessageIds, state.usageByMessage);
498
+ if (turnUsage.usage !== null)
499
+ completed.usage = turnUsage.usage;
500
+ if (turnUsage.cost !== null)
501
+ completed.costUsd = turnUsage.cost;
479
502
  return {
480
503
  events: [
481
504
  ...openSubtasks.map((subtask) => ({ type: 'item.completed', item: completedSubtask(subtask) })),
482
- {
483
- type: 'turn.completed',
484
- turnId: state.currentTurnId,
485
- stopReason: state.turnErrored ? 'error' : 'end_turn',
486
- },
505
+ completed,
487
506
  ],
488
507
  state: {
489
508
  ...state,
490
509
  currentTurnId: null,
510
+ currentTurnMessageIds: new Set(),
491
511
  turnErrored: false,
492
512
  subtasks: new Map(),
493
513
  unboundSubtasks: [],
@@ -609,6 +629,24 @@ function emitUsage(state) {
609
629
  event.costUsd = cost;
610
630
  return { events: [event], state: { ...state, lastUsage: { total: usage.total, cost } } };
611
631
  }
632
+ function usageForMessages(messageIds, usageByMessage) {
633
+ let usage = null;
634
+ let cost = null;
635
+ for (const id of messageIds) {
636
+ const message = usageByMessage.get(id);
637
+ if (message === undefined)
638
+ continue;
639
+ const effective = message.info !== null && (message.steps === null || message.info.total >= message.steps.total)
640
+ ? message.info
641
+ : message.steps;
642
+ if (effective !== null && (effective.input > 0 || effective.output > 0))
643
+ usage = addUsage(usage, effective);
644
+ const effectiveCost = maxCost(message.infoCost, message.stepsCost ?? undefined);
645
+ if (effectiveCost !== null && effectiveCost > 0)
646
+ cost = (cost ?? 0) + effectiveCost;
647
+ }
648
+ return { usage, cost };
649
+ }
612
650
  // ---- tiny guards ---------------------------------------------------------------
613
651
  function isRecord(value) {
614
652
  return typeof value === 'object' && value !== null && !Array.isArray(value);