@wjarka/cezarion 0.14.8 → 0.14.9-dev.1004

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 (274) hide show
  1. package/README.md +129 -2
  2. package/dist/application-update/bin-recovery.d.ts +5 -0
  3. package/dist/application-update/bin-recovery.js +96 -0
  4. package/dist/application-update/bin-recovery.js.map +1 -0
  5. package/dist/application-update/discovery.d.ts +22 -0
  6. package/dist/application-update/discovery.js +91 -0
  7. package/dist/application-update/discovery.js.map +1 -0
  8. package/dist/application-update/helper.d.ts +57 -0
  9. package/dist/application-update/helper.js +374 -0
  10. package/dist/application-update/helper.js.map +1 -0
  11. package/dist/application-update/launcher.d.ts +8 -0
  12. package/dist/application-update/launcher.js +53 -0
  13. package/dist/application-update/launcher.js.map +1 -0
  14. package/dist/application-update/lock.d.ts +4 -0
  15. package/dist/application-update/lock.js +70 -0
  16. package/dist/application-update/lock.js.map +1 -0
  17. package/dist/application-update/npm-process.d.ts +17 -0
  18. package/dist/application-update/npm-process.js +133 -0
  19. package/dist/application-update/npm-process.js.map +1 -0
  20. package/dist/application-update/service.d.ts +69 -0
  21. package/dist/application-update/service.js +456 -0
  22. package/dist/application-update/service.js.map +1 -0
  23. package/dist/artifacts/cli.d.ts +1 -0
  24. package/dist/artifacts/cli.js +32 -0
  25. package/dist/artifacts/cli.js.map +1 -0
  26. package/dist/artifacts/lifecycle.d.ts +4 -0
  27. package/dist/artifacts/lifecycle.js +42 -0
  28. package/dist/artifacts/lifecycle.js.map +1 -0
  29. package/dist/artifacts/resolve.d.ts +18 -0
  30. package/dist/artifacts/resolve.js +102 -0
  31. package/dist/artifacts/resolve.js.map +1 -0
  32. package/dist/artifacts/store.d.ts +8 -0
  33. package/dist/artifacts/store.js +323 -0
  34. package/dist/artifacts/store.js.map +1 -0
  35. package/dist/automations/scheduler.d.ts +6 -0
  36. package/dist/automations/scheduler.js +45 -17
  37. package/dist/automations/scheduler.js.map +1 -1
  38. package/dist/automations/store.d.ts +12 -4
  39. package/dist/automations/store.js +199 -22
  40. package/dist/automations/store.js.map +1 -1
  41. package/dist/automations/types.d.ts +2 -0
  42. package/dist/automations/types.js +1 -0
  43. package/dist/automations/types.js.map +1 -1
  44. package/dist/ci-wait/mcp.d.ts +3 -0
  45. package/dist/ci-wait/mcp.js +14 -3
  46. package/dist/ci-wait/mcp.js.map +1 -1
  47. package/dist/contract/application-update.d.ts +32 -0
  48. package/dist/contract/artifacts.d.ts +83 -0
  49. package/dist/contract/ask-schema.d.ts +32 -0
  50. package/dist/contract/ask.d.ts +2 -32
  51. package/dist/contract/automations.d.ts +6 -0
  52. package/dist/contract/conversations.d.ts +165 -0
  53. package/dist/contract/delegation.d.ts +68 -0
  54. package/dist/contract/discovery.d.ts +134 -0
  55. package/dist/contract/events.d.ts +49 -0
  56. package/dist/contract/health.d.ts +12 -0
  57. package/dist/contract/index.d.ts +3 -0
  58. package/dist/contract/index.js +1654 -1454
  59. package/dist/contract/projects.d.ts +40 -0
  60. package/dist/contract/runs.d.ts +186 -0
  61. package/dist/contract/skills.d.ts +33 -0
  62. package/dist/core/agent-runner.d.ts +33 -4
  63. package/dist/core/agent-runner.js +5 -0
  64. package/dist/core/agent-runner.js.map +1 -1
  65. package/dist/core/claude-cli-runner.d.ts +6 -12
  66. package/dist/core/claude-cli-runner.js +90 -20
  67. package/dist/core/claude-cli-runner.js.map +1 -1
  68. package/dist/core/codex-app-server-runner.d.ts +2 -1
  69. package/dist/core/codex-app-server-runner.js +327 -92
  70. package/dist/core/codex-app-server-runner.js.map +1 -1
  71. package/dist/core/codex-app-server-transport.d.ts +13 -1
  72. package/dist/core/codex-app-server-transport.js +58 -17
  73. package/dist/core/codex-app-server-transport.js.map +1 -1
  74. package/dist/core/cursor-acp-runner.d.ts +6 -1
  75. package/dist/core/cursor-acp-runner.js +162 -26
  76. package/dist/core/cursor-acp-runner.js.map +1 -1
  77. package/dist/core/cursor-provider-error.d.ts +3 -0
  78. package/dist/core/cursor-provider-error.js +16 -1
  79. package/dist/core/cursor-provider-error.js.map +1 -1
  80. package/dist/core/input-submissions.d.ts +14 -0
  81. package/dist/core/input-submissions.js +26 -0
  82. package/dist/core/input-submissions.js.map +1 -0
  83. package/dist/core/opencode-server-runner.d.ts +4 -1
  84. package/dist/core/opencode-server-runner.js +156 -26
  85. package/dist/core/opencode-server-runner.js.map +1 -1
  86. package/dist/core/pi-runner.d.ts +2 -1
  87. package/dist/core/pi-runner.js +88 -10
  88. package/dist/core/pi-runner.js.map +1 -1
  89. package/dist/core/provider-auth.d.ts +99 -1
  90. package/dist/core/provider-auth.js +203 -2
  91. package/dist/core/provider-auth.js.map +1 -1
  92. package/dist/delegation/cli.d.ts +1 -0
  93. package/dist/delegation/cli.js +103 -7
  94. package/dist/delegation/cli.js.map +1 -1
  95. package/dist/delegation/conversations.js +13 -5
  96. package/dist/delegation/conversations.js.map +1 -1
  97. package/dist/delegation/input.d.ts +2 -1
  98. package/dist/delegation/input.js +6 -1
  99. package/dist/delegation/input.js.map +1 -1
  100. package/dist/delegation/policy.d.ts +3 -2
  101. package/dist/delegation/policy.js +3 -1
  102. package/dist/delegation/policy.js.map +1 -1
  103. package/dist/delegation/process-liveness.d.ts +66 -0
  104. package/dist/delegation/process-liveness.js +215 -0
  105. package/dist/delegation/process-liveness.js.map +1 -0
  106. package/dist/delegation/provision.d.ts +1 -1
  107. package/dist/delegation/provision.js +10 -5
  108. package/dist/delegation/provision.js.map +1 -1
  109. package/dist/delegation/questions.d.ts +19 -0
  110. package/dist/delegation/questions.js +45 -0
  111. package/dist/delegation/questions.js.map +1 -0
  112. package/dist/delegation/results.d.ts +1 -1
  113. package/dist/delegation/results.js +33 -19
  114. package/dist/delegation/results.js.map +1 -1
  115. package/dist/delegation/routes.d.ts +185 -11
  116. package/dist/delegation/routes.js +6 -2
  117. package/dist/delegation/routes.js.map +1 -1
  118. package/dist/delegation/service.d.ts +16 -5
  119. package/dist/delegation/service.js +161 -13
  120. package/dist/delegation/service.js.map +1 -1
  121. package/dist/delegation/transport.d.ts +228 -65
  122. package/dist/discovery/catalog.d.ts +14 -0
  123. package/dist/discovery/catalog.js +31 -0
  124. package/dist/discovery/catalog.js.map +1 -0
  125. package/dist/discovery/cli.d.ts +8 -0
  126. package/dist/discovery/cli.js +104 -0
  127. package/dist/discovery/cli.js.map +1 -0
  128. package/dist/git-worktree.d.ts +3 -1
  129. package/dist/git-worktree.js +26 -4
  130. package/dist/git-worktree.js.map +1 -1
  131. package/dist/index.js +92 -26
  132. package/dist/index.js.map +1 -1
  133. package/dist/open-url.d.ts +2 -0
  134. package/dist/open-url.js +20 -0
  135. package/dist/open-url.js.map +1 -0
  136. package/dist/release/snapshot.d.ts +3 -3
  137. package/dist/release/snapshot.js +6 -6
  138. package/dist/release/snapshot.js.map +1 -1
  139. package/dist/runs/agent-tmpdir.d.ts +2 -0
  140. package/dist/runs/agent-tmpdir.js +5 -2
  141. package/dist/runs/agent-tmpdir.js.map +1 -1
  142. package/dist/runs/client-request.d.ts +11 -0
  143. package/dist/runs/client-request.js +26 -0
  144. package/dist/runs/client-request.js.map +1 -0
  145. package/dist/runs/delegation-state.d.ts +17 -0
  146. package/dist/runs/event-history.js +6 -0
  147. package/dist/runs/event-history.js.map +1 -1
  148. package/dist/runs/retention.d.ts +7 -2
  149. package/dist/runs/retention.js +39 -7
  150. package/dist/runs/retention.js.map +1 -1
  151. package/dist/runs/store.d.ts +100 -6
  152. package/dist/runs/store.js +245 -2
  153. package/dist/runs/store.js.map +1 -1
  154. package/dist/runs/webhook.d.ts +125 -0
  155. package/dist/runs/webhook.js +256 -0
  156. package/dist/runs/webhook.js.map +1 -0
  157. package/dist/server/provider-auth-runtime.d.ts +30 -4
  158. package/dist/server/provider-auth-runtime.js +71 -6
  159. package/dist/server/provider-auth-runtime.js.map +1 -1
  160. package/dist/server/server.d.ts +8226 -4860
  161. package/dist/server/server.js +309 -15
  162. package/dist/server/server.js.map +1 -1
  163. package/dist/server-install/platforms/ubuntu-vps.d.ts +5 -1
  164. package/dist/server-install/platforms/ubuntu-vps.js +160 -18
  165. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  166. package/dist/server-install/steps.d.ts +4 -2
  167. package/dist/server-install/steps.js +5 -4
  168. package/dist/server-install/steps.js.map +1 -1
  169. package/dist/skills-remote.d.ts +30 -5
  170. package/dist/skills-remote.js +122 -32
  171. package/dist/skills-remote.js.map +1 -1
  172. package/dist/skills.js +15 -6
  173. package/dist/skills.js.map +1 -1
  174. package/dist/task-cli/cli.d.ts +38 -0
  175. package/dist/task-cli/cli.js +580 -0
  176. package/dist/task-cli/cli.js.map +1 -0
  177. package/dist/task-cli/discovery.d.ts +22 -0
  178. package/dist/task-cli/discovery.js +96 -0
  179. package/dist/task-cli/discovery.js.map +1 -0
  180. package/dist/task-cli/http.d.ts +46 -0
  181. package/dist/task-cli/http.js +101 -0
  182. package/dist/task-cli/http.js.map +1 -0
  183. package/dist/task-cli/projections.d.ts +40 -0
  184. package/dist/task-cli/projections.js +45 -0
  185. package/dist/task-cli/projections.js.map +1 -0
  186. package/dist/task-cli/watch.d.ts +78 -0
  187. package/dist/task-cli/watch.js +336 -0
  188. package/dist/task-cli/watch.js.map +1 -0
  189. package/dist/workflows/run.d.ts +160 -2
  190. package/dist/workflows/run.js +1141 -108
  191. package/dist/workflows/run.js.map +1 -1
  192. package/dist/workspace/agent-profiles.d.ts +22 -0
  193. package/dist/workspace/agent-profiles.js +15 -0
  194. package/dist/workspace/agent-profiles.js.map +1 -1
  195. package/dist/workspace/config.d.ts +9 -0
  196. package/dist/workspace/config.js +13 -1
  197. package/dist/workspace/config.js.map +1 -1
  198. package/dist/workspace/projects-cli.js +1 -1
  199. package/dist/workspace/projects.d.ts +24 -1
  200. package/dist/workspace/projects.js +14 -1
  201. package/dist/workspace/projects.js.map +1 -1
  202. package/package.json +5 -5
  203. package/scripts/mock-claude.mjs +64 -2
  204. package/scripts/mock-codex-app-server.mjs +124 -1
  205. package/scripts/mock-cursor-acp.mjs +54 -3
  206. package/scripts/mock-cursor-hang-stdin-late.mjs +35 -0
  207. package/scripts/mock-cursor-hang-stdin.mjs +30 -0
  208. package/scripts/mock-opencode-serve.mjs +102 -2
  209. package/scripts/mock-pi-rpc.mjs +82 -3
  210. package/web/dist/assets/agent-accounts-CerclGiO.js +1 -0
  211. package/web/dist/assets/centered-state-DH8qtCz-.js +43 -0
  212. package/web/dist/assets/collapsible-De2G0xqQ.js +1 -0
  213. package/web/dist/assets/commit-list-CQubP1iS.js +1 -0
  214. package/web/dist/assets/compare-variants-C_NijJvg.js +1 -0
  215. package/web/dist/assets/{diff-tRE59UNb2.js → diff-8M5HlDxq2.js} +2 -2
  216. package/web/dist/assets/diff-controls-B6ok0TtQ.js +1 -0
  217. package/web/dist/assets/{diff-stat-Cgnl_hYF.js → diff-stat-D1AODN2a.js} +1 -1
  218. package/web/dist/assets/{diff-view-DN1ort7Q.js → diff-view-Bs5Gh7UF.js} +2 -2
  219. package/web/dist/assets/dropdown-menu-7KGQMoFj.js +1 -0
  220. package/web/dist/assets/git-toolbar-DqbapMXr.js +1 -0
  221. package/web/dist/assets/github-lMHiuYSx.js +1 -0
  222. package/web/dist/assets/{image-preview-C2JGcBlC.js → image-preview-jzHoEyLM.js} +1 -1
  223. package/web/dist/assets/index-D4OJTArJ.js +7 -0
  224. package/web/dist/assets/index-D5NkwqY7.css +1 -0
  225. package/web/dist/assets/markdown-DvbymqXz.js +2 -0
  226. package/web/dist/assets/pill-BL6ugwXo.js +1 -0
  227. package/web/dist/assets/project-router-ChC5Rb-Y.js +1 -0
  228. package/web/dist/assets/prompt-templates-j8qlK7c-.js +15 -0
  229. package/web/dist/assets/repo-git-BbPAgkqb.js +1 -0
  230. package/web/dist/assets/{run-diff-CyG0Nciv.js → run-diff-BuATgZpx.js} +2 -2
  231. package/web/dist/assets/run-header-DuAWswYM.js +1 -0
  232. package/web/dist/assets/skills-DiC2XrU1.js +1 -0
  233. package/web/dist/assets/{tab-link-BWNp3mLY.js → tab-link-BmGKj9Rt.js} +1 -1
  234. package/web/dist/assets/task-changes-CP9kPnsy.js +1 -0
  235. package/web/dist/assets/task-commits-D6NfTw5r.js +1 -0
  236. package/web/dist/assets/task-files-W-b_gtcb.js +2 -0
  237. package/web/dist/assets/task-thread-Bw_nQuTx.css +1 -0
  238. package/web/dist/assets/task-thread-Q7Nj33DH.js +9 -0
  239. package/web/dist/assets/textarea-ByZ-txS7.js +1 -0
  240. package/web/dist/assets/thread-loading-DHT9p5o5.js +1 -0
  241. package/web/dist/assets/token-metrics-k4XoovDS.js +1 -0
  242. package/web/dist/assets/utils-BTFBhZ55.js +64 -0
  243. package/web/dist/assets/workflows-DqQszPHJ.js +11 -0
  244. package/web/dist/assets/{zoomable-image-Z3JDnm0b.js → zoomable-image-Ba6y6Wyl.js} +1 -1
  245. package/web/dist/index.html +14 -14
  246. package/web/dist/assets/agent-accounts-BZm_2WAv.js +0 -1
  247. package/web/dist/assets/alert-dialog-B422RI-k.js +0 -43
  248. package/web/dist/assets/collapsible-Cy_Fmkrd.js +0 -1
  249. package/web/dist/assets/commit-list-Dcnk7TnI.js +0 -1
  250. package/web/dist/assets/compare-variants-Ciqwvd_f.js +0 -1
  251. package/web/dist/assets/diff-controls-BGrXGi7O.js +0 -1
  252. package/web/dist/assets/dropdown-menu-dwDGT8MM.js +0 -1
  253. package/web/dist/assets/git-toolbar-UiHnGvE0.js +0 -1
  254. package/web/dist/assets/github-D-MrkbJ7.js +0 -1
  255. package/web/dist/assets/ibm-plex-mono-regular-BF3vfe7_.ttf +0 -0
  256. package/web/dist/assets/index-BszfYvBq.js +0 -7
  257. package/web/dist/assets/index-CWh4pKP3.css +0 -1
  258. package/web/dist/assets/markdown-C_IcKVQd.js +0 -2
  259. package/web/dist/assets/pill-BsbO6G7y.js +0 -1
  260. package/web/dist/assets/project-router-DbLkll25.js +0 -1
  261. package/web/dist/assets/prompt-templates-BlTGJB5W.js +0 -15
  262. package/web/dist/assets/repo-git-Bm3s6Why.js +0 -1
  263. package/web/dist/assets/run-header-IFyIGCey.js +0 -1
  264. package/web/dist/assets/skills-C-C4DVFY.js +0 -1
  265. package/web/dist/assets/task-changes-D2PHtWUW.js +0 -1
  266. package/web/dist/assets/task-commits-N5u9U0_R.js +0 -1
  267. package/web/dist/assets/task-files-BS7c7CFm.js +0 -2
  268. package/web/dist/assets/task-thread-BQFdz1dJ.css +0 -1
  269. package/web/dist/assets/task-thread-DGM2dZV-.js +0 -9
  270. package/web/dist/assets/textarea-FjaU370i.js +0 -1
  271. package/web/dist/assets/thread-loading-77sJ8Yu_.js +0 -1
  272. package/web/dist/assets/token-metrics-Clxh03bE.js +0 -1
  273. package/web/dist/assets/utils-PYYcpCFZ.js +0 -64
  274. package/web/dist/assets/workflows-Czl0ZfXH.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-acp-runner.js","sourceRoot":"","sources":["../../src/core/cursor-acp-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor-acp-runner.js","sourceRoot":"","sources":["../../src/core/cursor-acp-runner.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ export type CursorProviderErrorClassification = {
22
22
  * runner's fatal composition, never through this cap.
23
23
  */
24
24
  export declare function sanitizeCursorProviderError(text: string): string;
25
+ /** Keep only the last `max` characters of captured ACP stderr. Cursor sessions
26
+ * stay alive across turns, so appending unbounded chunks would grow until exit. */
27
+ export declare function appendCursorStderr(previous: string, chunk: string, max?: number): string;
25
28
  /**
26
29
  * Classify a raw envelope chunk. Auth wins first (login guidance, fatal);
27
30
  * a limit phrase with a usable reset instant makes it transient-with-instant;
@@ -16,8 +16,15 @@ const CONTROL_RE = /[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/gu;
16
16
  * the cost of a false positive is two wasted prompts (bounded below), while the
17
17
  * cost of a false negative is a dead run that needed a human Continue. Fatal
18
18
  * prose like "context length exceeded" or "model not found" matches none of these.
19
+ * Cursor's explicit RetriableError includes stream-protocol failures (#508);
20
+ * the word boundary keeps NonRetriableError and unknown protocol errors fatal.
21
+ * SSL/TLS OpenSSL record-layer prose is transient even without that token (#528);
22
+ * a bare `[internal]` code is not, and neither is a generic `SSL routines` hit — that
23
+ * phrase also wraps permanent TLS setup errors such as certificate verify failed.
24
+ * `[resource_exhausted]` is the capacity class (#531) and must stay transient
25
+ * even when Cursor omits the RetriableError wrapper.
19
26
  */
20
- const TRANSIENT_SIGNAL_RE = /\b(?:429|500|502|503|504|rate[ _-]?limit(?:ed)?|overloaded|temporar(?:y|ily)|timed?[ _-]?out|bad gateway|service unavailable|internal server error|connection (?:reset|refused|closed|error)|econn(?:reset|refused|aborted)|socket hang up|try again|retry)\b/i;
27
+ const TRANSIENT_SIGNAL_RE = /\b(?:429|500|502|503|504|rate[ _-]?limit(?:ed)?|overloaded|temporar(?:y|ily)|timed?[ _-]?out|bad gateway|service unavailable|internal server error|connection (?:reset|refused|closed|error)|econn(?:reset|refused|aborted)|socket hang up|try again|retry|RetriableError|tls_get_more_records|decryption failed or bad record mac|resource_exhausted)\b/i;
21
28
  /**
22
29
  * Strip the envelope prefix, control characters and runs of whitespace. Uncapped — this is the
23
30
  * form classification and limit parsing read, so a verbose envelope cannot bury its reset
@@ -34,6 +41,14 @@ function collapseCursorProviderError(text) {
34
41
  export function sanitizeCursorProviderError(text) {
35
42
  return collapseCursorProviderError(text).slice(0, CURSOR_PROVIDER_ERROR_MAX_CHARS);
36
43
  }
44
+ /** Keep only the last `max` characters of captured ACP stderr. Cursor sessions
45
+ * stay alive across turns, so appending unbounded chunks would grow until exit. */
46
+ export function appendCursorStderr(previous, chunk, max = CURSOR_PROVIDER_ERROR_MAX_CHARS) {
47
+ if (!chunk)
48
+ return previous;
49
+ const next = previous + chunk;
50
+ return next.length <= max ? next : next.slice(-max);
51
+ }
37
52
  /**
38
53
  * Classify a raw envelope chunk. Auth wins first (login guidance, fatal);
39
54
  * a limit phrase with a usable reset instant makes it transient-with-instant;
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-provider-error.js","sourceRoot":"","sources":["../../src/core/cursor-provider-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;GAOG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAOnD,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,UAAU,GAAG,kDAAkD,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,mBAAmB,GACvB,gQAAgQ,CAAC;AAEnQ;;;;GAIG;AACH,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACxE,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"cursor-provider-error.js","sourceRoot":"","sources":["../../src/core/cursor-provider-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;GAOG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAOnD,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,UAAU,GAAG,kDAAkD,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GACvB,2VAA2V,CAAC;AAE9V;;;;GAIG;AACH,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AACrF,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAa,EAAE,GAAG,GAAG,+BAA+B;IACvG,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACxE,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Accepted agent input whose model consumption has not been observed yet (#505).
2
+ * One instance per session; FIFO so text matching takes the oldest first. */
3
+ export declare class InputSubmissions {
4
+ private readonly entries;
5
+ get pending(): number;
6
+ has(submissionId: string): boolean;
7
+ pendingIds(): string[];
8
+ /** The oldest pending submission with this exact text, without consuming it. */
9
+ findByText(text: string): string | undefined;
10
+ accept(submissionId: string, inputIds: readonly string[], text: string): void;
11
+ consume(submissionId: string): readonly string[];
12
+ consumeOldestByText(text: string): readonly string[];
13
+ takeUnconsumed(): readonly string[];
14
+ }
@@ -0,0 +1,26 @@
1
+ /** Accepted agent input whose model consumption has not been observed yet (#505).
2
+ * One instance per session; FIFO so text matching takes the oldest first. */
3
+ export class InputSubmissions {
4
+ entries = [];
5
+ get pending() { return this.entries.length; }
6
+ has(submissionId) { return this.entries.some(entry => entry.id === submissionId); }
7
+ pendingIds() { return this.entries.map(entry => entry.id); }
8
+ /** The oldest pending submission with this exact text, without consuming it. */
9
+ findByText(text) { return this.entries.find(entry => entry.text === text)?.id; }
10
+ accept(submissionId, inputIds, text) {
11
+ if (inputIds.length)
12
+ this.entries.push({ id: submissionId, inputIds: [...inputIds], text });
13
+ }
14
+ consume(submissionId) {
15
+ const at = this.entries.findIndex(entry => entry.id === submissionId);
16
+ return at < 0 ? [] : this.entries.splice(at, 1)[0].inputIds;
17
+ }
18
+ consumeOldestByText(text) {
19
+ const at = this.entries.findIndex(entry => entry.text === text);
20
+ return at < 0 ? [] : this.entries.splice(at, 1)[0].inputIds;
21
+ }
22
+ takeUnconsumed() {
23
+ return this.entries.splice(0).flatMap(entry => entry.inputIds);
24
+ }
25
+ }
26
+ //# sourceMappingURL=input-submissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-submissions.js","sourceRoot":"","sources":["../../src/core/input-submissions.ts"],"names":[],"mappings":"AAAA;6EAC6E;AAC7E,MAAM,OAAO,gBAAgB;IACV,OAAO,GAAgE,EAAE,CAAC;IAC3F,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,GAAG,CAAC,YAAoB,IAAa,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;IACpG,UAAU,KAAe,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,gFAAgF;IAChF,UAAU,CAAC,IAAY,IAAwB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,CAAC,YAAoB,EAAE,QAA2B,EAAE,IAAY;QACpE,IAAI,QAAQ,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,CAAC,YAAoB;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QACtE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;IAC/D,CAAC;IACD,mBAAmB,CAAC,IAAY;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;IAC/D,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { AgentEvent, AgentRunResult, AgentRunSpec, AgentRunner, AgentRunSpecSupport } from './agent-runner.ts';
1
+ import type { AgentEvent, AgentRunResult, AgentRunSpec, AgentRunner, AgentRunSpecSupport, InputDelivery } from './agent-runner.ts';
2
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. */
@@ -30,9 +30,12 @@ export declare const KILL_GRACE_MS = 4000;
30
30
  * requests by the harness parity matrix.
31
31
  */
32
32
  export declare const OPENCODE_SPEC_SUPPORT: AgentRunSpecSupport;
33
+ /** How long an idle session may sit on steered input before it counts as a lost wake. */
34
+ export declare const OPENCODE_LOST_WAKE_GRACE_MS = 2000;
33
35
  export declare class OpencodeServerRunner implements AgentRunner {
34
36
  readonly backend: 'opencode';
35
37
  readonly specSupport: Readonly<Record<keyof AgentRunSpec, import("./agent-runner.ts").SpecFieldSupport>>;
38
+ readonly inputDelivery: InputDelivery;
36
39
  private readonly bin;
37
40
  private readonly timeoutMs;
38
41
  private lastSession;
@@ -1,7 +1,9 @@
1
1
  import { fileURLToPath } from 'node:url';
2
+ import { randomUUID } from 'node:crypto';
2
3
  import { spawn as nodeSpawn } from 'node:child_process';
3
4
  import { parseEffort } from '../contract/index.js';
4
5
  import { request as httpRequest } from 'node:http';
6
+ import { InputSubmissions } from './input-submissions.js';
5
7
  import { prependSystemPrompt, trackChildExit } from './agent-runner.js';
6
8
  import { buildChildEnv } from './agent-env.js';
7
9
  import { ciOpenCodeEnv } from '../ci-wait/injection.js';
@@ -51,9 +53,15 @@ export const OPENCODE_SPEC_SUPPORT = {
51
53
  sessionId: { honored: false, reason: 'every start opens a fresh server session; the id is only reported back on the result' },
52
54
  resume: { honored: false, reason: 'Continue opens a fresh session carrying the continuation prompt' },
53
55
  };
56
+ /** How long an idle session may sit on steered input before it counts as a lost wake. */
57
+ export const OPENCODE_LOST_WAKE_GRACE_MS = 2_000;
54
58
  export class OpencodeServerRunner {
55
59
  backend = 'opencode';
56
60
  specSupport = OPENCODE_SPEC_SUPPORT;
61
+ inputDelivery = {
62
+ mode: 'steer', consumption: 'observable',
63
+ via: 'prompt_async while busy; assistant message.updated parentID at consumption',
64
+ };
57
65
  bin;
58
66
  timeoutMs;
59
67
  lastSession = null;
@@ -108,8 +116,17 @@ class OpencodeSession {
108
116
  /** messageID → role. Parts carry no role; only assistant parts are surfaced
109
117
  * (the user's own message also streams as parts over the same SSE feed). */
110
118
  msgRole = new Map();
119
+ /** Accepted agent prompts, the user message carrying each, and prompts that
120
+ * opened their turn (read when that turn goes idle) (#505). */
121
+ submissions = new InputSubmissions();
122
+ userMessageSubmission = new Map();
123
+ turnOpeners = new Set();
124
+ refusedBeforeOpening = false;
125
+ turnErrored = false;
126
+ lostWakeTimer;
111
127
  tokensUsed = 0;
112
- lastCost = 0;
128
+ /** OpenCode reports a cumulative cost for each message, not the session. */
129
+ costByMessage = new Map();
113
130
  /** A prompt was posted and its `session.idle` has not arrived yet. */
114
131
  turnActive = false;
115
132
  agentInputReady = false;
@@ -246,13 +263,32 @@ class OpencodeSession {
246
263
  get pid() {
247
264
  return this.child.pid;
248
265
  }
249
- sendAgentMessage(content) {
250
- if (!this.serverOpen || !this.agentInputReady || this.turnActive || this.pendingQuestion || this.questionReply || this.pendingPromptRequests > 0 || this.agentRequest)
266
+ sendAgentMessage(content, inputIds = []) {
267
+ // #505: a busy session is steered with prompt_async; only a pending native question,
268
+ // a queued human prompt or an in-flight agent POST refuses.
269
+ // Nothing may run ahead of the task: refuse until the opening prompt has started,
270
+ // then hint once so the refused input steers the opening turn.
271
+ if (this.serverOpen && this.turnSerial === 0) {
272
+ this.refusedBeforeOpening = true;
273
+ return false;
274
+ }
275
+ if (!this.serverOpen || !this.sessionId || this.pendingQuestion || this.questionReply || this.pendingPromptRequests > 0 || this.agentRequest)
251
276
  return false;
252
277
  this.agentInputReady = false;
253
278
  const request = new AbortController();
254
279
  this.agentRequest = request;
255
- const acknowledgement = this.prompt(textOf(content), 'agent', request.signal).finally(() => {
280
+ const text = textOf(content);
281
+ const submissionId = randomUUID();
282
+ const steering = this.turnActive;
283
+ this.submissions.accept(submissionId, inputIds, text);
284
+ if (!steering && inputIds.length)
285
+ this.turnOpeners.add(submissionId);
286
+ const post = steering ? this.steerPrompt(text, request.signal) : this.prompt(text, 'agent', request.signal);
287
+ const acknowledgement = post.catch((err) => {
288
+ this.submissions.consume(submissionId);
289
+ this.turnOpeners.delete(submissionId);
290
+ throw err;
291
+ }).finally(() => {
256
292
  if (this.agentRequest === request)
257
293
  this.agentRequest = undefined;
258
294
  if (this.serverOpen && !this.providerErrorPending && !this.turnActive && !this.pendingQuestion && !this.questionReply) {
@@ -313,6 +349,12 @@ class OpencodeSession {
313
349
  this.agentInputReady = true;
314
350
  this.opts.onAgentInputReady?.();
315
351
  }
352
+ else if (this.serverOpen && this.turnActive && !this.pendingQuestion && !this.questionReply &&
353
+ this.pendingPromptRequests === 0 && !this.agentRequest) {
354
+ // A reply or prompt acknowledgement cleared the last barrier mid-turn: held agent
355
+ // input can steer the running turn now, not after it (#505 local review).
356
+ this.opts.onAgentInputReady?.();
357
+ }
316
358
  }
317
359
  cancelAutoEnd() {
318
360
  if (!this.autoEndTimer)
@@ -428,6 +470,12 @@ class OpencodeSession {
428
470
  await this.consumeEvents();
429
471
  const first = prependSystemPrompt(this.spec.systemPrompt, this.spec.userPrompt);
430
472
  await this.prompt(first, 'opening');
473
+ if (this.refusedBeforeOpening)
474
+ queueMicrotask(() => {
475
+ this.refusedBeforeOpening = false;
476
+ if (this.serverOpen && !this.pendingQuestion && !this.questionReply && !this.agentRequest)
477
+ this.opts.onAgentInputReady?.();
478
+ });
431
479
  }
432
480
  async prompt(text, origin = 'human', signal) {
433
481
  // One turn at a time. `prompt_async` acknowledges before the turn runs,
@@ -446,29 +494,14 @@ class OpencodeSession {
446
494
  this.cancelAutoEnd();
447
495
  if (!this.sessionId || !this.serverOpen)
448
496
  return;
449
- this.turnActive = true;
450
- this.agentInputReady = false;
451
- this.turnEnded = false;
452
- this.turnSerial += 1;
453
- this.turnFinished = new Promise((resolve) => {
454
- this.turnFinishedResolve = resolve;
455
- });
497
+ this.openTurn();
456
498
  // Turn boundary, v1 and v2 alike — the prompt POST is the turn start
457
499
  // (§7.1); the end comes from the SSE `session.idle`, never from the HTTP
458
500
  // response below. `POST /session/:id/message` long-polled the whole turn,
459
501
  // and undici's default 300s headers timeout ended it as `prompt failed:
460
502
  // fetch failed` (#4, upstream #897); `prompt_async` returns immediately.
461
503
  this.emitUi(opencodeTurnStarted);
462
- const body = { parts: [{ type: 'text', text }] };
463
- // `spec.model` arrives already normalised to canonical `provider/model`
464
- // (the run wiring's fail-loud gate). Split it with the shared parser — the
465
- // one every runner uses — into opencode's `{ providerID, modelID }`.
466
- const id = parseModelIdentity(this.spec.model);
467
- if (id)
468
- body.model = { providerID: id.provider, modelID: id.model };
469
- const effort = parseEffort(this.spec.effort);
470
- if (effort)
471
- body.variant = effort;
504
+ const body = this.promptBody(text);
472
505
  try {
473
506
  await this.http('POST', `/session/${this.sessionId}/prompt_async`, body, signal);
474
507
  }
@@ -509,9 +542,53 @@ class OpencodeSession {
509
542
  throw err;
510
543
  }
511
544
  }
545
+ promptBody(text) {
546
+ const body = { parts: [{ type: 'text', text }] };
547
+ // `spec.model` arrives already normalised to canonical `provider/model`
548
+ // (the run wiring's fail-loud gate). Split it with the shared parser — the
549
+ // one every runner uses — into opencode's `{ providerID, modelID }`.
550
+ const id = parseModelIdentity(this.spec.model);
551
+ if (id)
552
+ body.model = { providerID: id.provider, modelID: id.model };
553
+ const effort = parseEffort(this.spec.effort);
554
+ if (effort)
555
+ body.variant = effort;
556
+ return body;
557
+ }
558
+ /** Busy agent input: the running prompt loop rereads it between steps (1.18.32 probe).
559
+ * No new turn opens; the running turn's idle ends it (#505). */
560
+ async steerPrompt(text, signal) {
561
+ try {
562
+ await this.http('POST', `/session/${this.sessionId}/prompt_async`, this.promptBody(text), signal);
563
+ }
564
+ catch (err) {
565
+ if (this.serverOpen) {
566
+ this.emit({ type: 'error', message: `opencode: agent input failed: ${err instanceof Error ? err.message : String(err)}` });
567
+ this.interrupt();
568
+ }
569
+ throw err;
570
+ }
571
+ }
512
572
  /** The single v1 turn-end: from the session's own `session.idle`, the
513
573
  * prompt-POST failure path, or the teardown safety net — whichever comes
514
574
  * first; the guards make every later call a no-op. */
575
+ /** Turn bookkeeping for a prompt POST, or for a server run that started on its own
576
+ * to answer steered input (#505). */
577
+ openTurn() {
578
+ this.clearLostWakeTimer();
579
+ this.turnActive = true;
580
+ this.agentInputReady = false;
581
+ this.turnEnded = false;
582
+ this.turnSerial += 1;
583
+ this.turnFinished = new Promise((resolve) => {
584
+ this.turnFinishedResolve = resolve;
585
+ });
586
+ }
587
+ clearLostWakeTimer() {
588
+ if (this.lostWakeTimer)
589
+ clearTimeout(this.lostWakeTimer);
590
+ this.lostWakeTimer = undefined;
591
+ }
515
592
  finishTurn() {
516
593
  if (!this.turnActive || this.turnEnded)
517
594
  return;
@@ -527,7 +604,32 @@ class OpencodeSession {
527
604
  // its prose before the turn boundary (run.ts reads markers there).
528
605
  this.textCoalescer.flush();
529
606
  this.agentInputReady = true;
607
+ // A prompt that opened this turn was processed by it; steered input the turn never
608
+ // answered (no assistant message named it as parentID) is a lost wake (#505).
609
+ // A turn that failed may never have reached the model: its opener stays pending, so a
610
+ // closing session returns it to the queue (#505 review).
611
+ const opened = this.turnErrored ? [] : [...this.turnOpeners].flatMap(id => this.submissions.consume(id));
612
+ this.turnOpeners.clear();
613
+ this.turnErrored = false;
614
+ if (opened.length)
615
+ this.opts.onAgentInputConsumed?.(opened);
530
616
  this.emit({ type: 'turn-end' });
617
+ // Steered input the server holds is read by a follow-on run, or stranded by the
618
+ // upstream lost wake (anomalyco/opencode#46842). Only a quiet grace window tells
619
+ // them apart; then report it so cezar submits it as a new prompt.
620
+ if (this.submissions.pending > 0) {
621
+ this.clearLostWakeTimer();
622
+ this.lostWakeTimer = setTimeout(() => {
623
+ this.lostWakeTimer = undefined;
624
+ if (!this.serverOpen || this.turnActive)
625
+ return;
626
+ const inputIds = this.submissions.takeUnconsumed();
627
+ this.userMessageSubmission.clear();
628
+ if (inputIds.length)
629
+ this.emit({ type: 'input-unconsumed', inputIds });
630
+ }, OPENCODE_LOST_WAKE_GRACE_MS);
631
+ this.lostWakeTimer.unref?.();
632
+ }
531
633
  if (!this.questionReply)
532
634
  this.scheduleAutoEnd();
533
635
  }
@@ -668,6 +770,20 @@ class OpencodeSession {
668
770
  const role = stringField(info, 'role');
669
771
  if (mid && role)
670
772
  this.msgRole.set(mid, role);
773
+ // The model answers a steered user message: it has read it (#505).
774
+ const parent = role === 'assistant' ? stringField(info, 'parentID') : undefined;
775
+ const submission = parent ? this.userMessageSubmission.get(parent) : undefined;
776
+ if (parent && submission) {
777
+ this.userMessageSubmission.delete(parent);
778
+ // After an idle, the server started a new run for steered input: a new turn.
779
+ if (!this.turnActive && this.serverOpen) {
780
+ this.openTurn();
781
+ this.emitUi(opencodeTurnStarted);
782
+ }
783
+ const ids = this.submissions.consume(submission);
784
+ if (ids.length)
785
+ this.opts.onAgentInputConsumed?.(ids);
786
+ }
671
787
  this.absorbUsage(info);
672
788
  }
673
789
  else if (type === 'message.part.updated' || type === 'message.part.created') {
@@ -689,6 +805,7 @@ class OpencodeSession {
689
805
  // follows still closes the turn.
690
806
  const sid = stringField(props, 'sessionID');
691
807
  if (sid === undefined || sid === this.sessionId) {
808
+ this.turnErrored = true;
692
809
  this.emit({ type: 'error', message: this.sessionErrorMessage(props.error) });
693
810
  }
694
811
  }
@@ -703,8 +820,15 @@ class OpencodeSession {
703
820
  // over the same feed. Role is known early (the message.updated event
704
821
  // precedes its parts); an unknown role means "not assistant yet" → skip.
705
822
  const messageID = stringField(part, 'messageID');
706
- if (messageID && this.msgRole.get(messageID) !== 'assistant')
823
+ if (messageID && this.msgRole.get(messageID) !== 'assistant') {
824
+ // A user message carrying submitted agent text: remember which submission it is.
825
+ if (this.msgRole.get(messageID) === 'user' && stringField(part, 'type') === 'text' && !this.userMessageSubmission.has(messageID)) {
826
+ const submission = this.submissions.findByText(stringField(part, 'text') ?? '');
827
+ if (submission && ![...this.userMessageSubmission.values()].includes(submission))
828
+ this.userMessageSubmission.set(messageID, submission);
829
+ }
707
830
  return;
831
+ }
708
832
  const kind = stringField(part, 'type');
709
833
  const id = stringField(part, 'id') ?? messageID ?? '';
710
834
  if (kind === 'text') {
@@ -775,10 +899,16 @@ class OpencodeSession {
775
899
  this.emit({ type: 'token-usage', tokensUsed: this.tokensUsed });
776
900
  }
777
901
  }
778
- const cost = numField(info, 'cost');
779
- if (cost > this.lastCost) {
780
- this.emit({ type: 'cost', usd: cost - this.lastCost });
781
- this.lastCost = cost;
902
+ const messageId = stringField(info, 'id');
903
+ const cost = info.cost;
904
+ if (messageId && info.role === 'assistant' &&
905
+ (info.sessionID === undefined || info.sessionID === this.sessionId) &&
906
+ typeof cost === 'number' && Number.isFinite(cost) && cost >= 0) {
907
+ const previous = this.costByMessage.get(messageId);
908
+ if (previous === undefined || cost > previous) {
909
+ this.emit({ type: 'cost', usd: cost - (previous ?? 0) });
910
+ this.costByMessage.set(messageId, cost);
911
+ }
782
912
  }
783
913
  }
784
914
  async captureQuestion(input) {