@kortix/sdk 0.12.8 → 0.13.1

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 +3 -6
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +7 -2
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-sync-registry.js +33 -44
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  6. package/dist/browser/session-sync/session-transcript-cache.d.ts +9 -2
  7. package/dist/browser/session-sync/session-transcript-cache.d.ts.map +1 -1
  8. package/dist/browser/session-sync/session-transcript-cache.js +15 -5
  9. package/dist/browser/session-sync/session-transcript-cache.js.map +1 -1
  10. package/dist/browser/stores/opencode-compaction-store.d.ts +9 -3
  11. package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -1
  12. package/dist/browser/stores/opencode-compaction-store.js +5 -12
  13. package/dist/browser/stores/opencode-compaction-store.js.map +1 -1
  14. package/dist/browser/stores/sandbox-connection-store.d.ts +28 -17
  15. package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
  16. package/dist/browser/stores/sandbox-connection-store.js +32 -84
  17. package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
  18. package/dist/browser/stores/session-working-store.d.ts +73 -0
  19. package/dist/browser/stores/session-working-store.d.ts.map +1 -0
  20. package/dist/browser/stores/session-working-store.js +86 -0
  21. package/dist/browser/stores/session-working-store.js.map +1 -0
  22. package/dist/browser/stores/sync-store/types.d.ts +14 -4
  23. package/dist/browser/stores/sync-store/types.d.ts.map +1 -1
  24. package/dist/browser/stores/sync-store.d.ts +179 -4
  25. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  26. package/dist/browser/stores/sync-store.js +777 -65
  27. package/dist/browser/stores/sync-store.js.map +1 -1
  28. package/dist/core/client/kortix.d.ts +95 -0
  29. package/dist/core/client/kortix.d.ts.map +1 -1
  30. package/dist/core/client/kortix.js +78 -0
  31. package/dist/core/client/kortix.js.map +1 -1
  32. package/dist/core/files/client.d.ts +50 -2
  33. package/dist/core/files/client.d.ts.map +1 -1
  34. package/dist/core/files/client.js +253 -44
  35. package/dist/core/files/client.js.map +1 -1
  36. package/dist/core/files/types.d.ts +11 -0
  37. package/dist/core/files/types.d.ts.map +1 -1
  38. package/dist/core/http/abort-error.d.ts +89 -0
  39. package/dist/core/http/abort-error.d.ts.map +1 -0
  40. package/dist/core/http/abort-error.js +190 -0
  41. package/dist/core/http/abort-error.js.map +1 -0
  42. package/dist/core/http/api-client.d.ts.map +1 -1
  43. package/dist/core/http/api-client.js +18 -4
  44. package/dist/core/http/api-client.js.map +1 -1
  45. package/dist/core/http/opencode-errors.d.ts +7 -0
  46. package/dist/core/http/opencode-errors.d.ts.map +1 -1
  47. package/dist/core/http/opencode-errors.js +45 -13
  48. package/dist/core/http/opencode-errors.js.map +1 -1
  49. package/dist/core/rest/platform-client/github-app.d.ts +13 -0
  50. package/dist/core/rest/platform-client/github-app.d.ts.map +1 -1
  51. package/dist/core/rest/platform-client/github-app.js +2 -0
  52. package/dist/core/rest/platform-client/github-app.js.map +1 -1
  53. package/dist/core/rest/platform-client/members.d.ts +10 -64
  54. package/dist/core/rest/platform-client/members.d.ts.map +1 -1
  55. package/dist/core/rest/platform-client/members.js +10 -28
  56. package/dist/core/rest/platform-client/members.js.map +1 -1
  57. package/dist/core/rest/projects-client/accounts.d.ts +30 -5
  58. package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
  59. package/dist/core/rest/projects-client/accounts.js +1 -1
  60. package/dist/core/rest/projects-client/accounts.js.map +1 -1
  61. package/dist/core/rest/projects-client/apps.d.ts +13 -0
  62. package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
  63. package/dist/core/rest/projects-client/apps.js.map +1 -1
  64. package/dist/core/rest/projects-client/assignments.d.ts +114 -0
  65. package/dist/core/rest/projects-client/assignments.d.ts.map +1 -0
  66. package/dist/core/rest/projects-client/assignments.js +91 -0
  67. package/dist/core/rest/projects-client/assignments.js.map +1 -0
  68. package/dist/core/rest/projects-client/billing.d.ts +10 -1
  69. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  70. package/dist/core/rest/projects-client/billing.js +11 -2
  71. package/dist/core/rest/projects-client/billing.js.map +1 -1
  72. package/dist/core/rest/projects-client/connectors.d.ts +69 -1
  73. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  74. package/dist/core/rest/projects-client/connectors.js +17 -0
  75. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  76. package/dist/core/rest/projects-client/files.js +2 -2
  77. package/dist/core/rest/projects-client/files.js.map +1 -1
  78. package/dist/core/rest/projects-client/gateway.d.ts +51 -0
  79. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
  80. package/dist/core/rest/projects-client/gateway.js.map +1 -1
  81. package/dist/core/rest/projects-client/iam.d.ts +51 -3
  82. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  83. package/dist/core/rest/projects-client/iam.js +18 -1
  84. package/dist/core/rest/projects-client/iam.js.map +1 -1
  85. package/dist/core/rest/projects-client/index.d.ts +1 -0
  86. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  87. package/dist/core/rest/projects-client/index.js +1 -0
  88. package/dist/core/rest/projects-client/index.js.map +1 -1
  89. package/dist/core/rest/projects-client/projects.d.ts +1 -1
  90. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  91. package/dist/core/rest/projects-client/projects.js +2 -0
  92. package/dist/core/rest/projects-client/projects.js.map +1 -1
  93. package/dist/core/rest/projects-client/secrets.d.ts +19 -1
  94. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
  95. package/dist/core/rest/projects-client/secrets.js +1 -1
  96. package/dist/core/rest/projects-client/secrets.js.map +1 -1
  97. package/dist/core/rest/projects-client/session-costs.d.ts +33 -0
  98. package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
  99. package/dist/core/rest/projects-client/session-costs.js.map +1 -1
  100. package/dist/core/rest/projects-client/sessions.d.ts +261 -2
  101. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  102. package/dist/core/rest/projects-client/sessions.js +106 -4
  103. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  104. package/dist/core/rest/projects-client/shared.d.ts +10 -1
  105. package/dist/core/rest/projects-client/shared.d.ts.map +1 -1
  106. package/dist/core/rest/projects-client/shared.js.map +1 -1
  107. package/dist/core/rest/projects-client/tokens.d.ts +13 -1
  108. package/dist/core/rest/projects-client/tokens.d.ts.map +1 -1
  109. package/dist/core/rest/projects-client/tokens.js +7 -2
  110. package/dist/core/rest/projects-client/tokens.js.map +1 -1
  111. package/dist/core/rest/projects-client/triggers.d.ts +69 -2
  112. package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
  113. package/dist/core/rest/projects-client/triggers.js +1 -1
  114. package/dist/core/rest/projects-client/triggers.js.map +1 -1
  115. package/dist/core/session/compaction.d.ts +98 -0
  116. package/dist/core/session/compaction.d.ts.map +1 -0
  117. package/dist/core/session/compaction.js +108 -0
  118. package/dist/core/session/compaction.js.map +1 -0
  119. package/dist/core/session/health.d.ts +22 -0
  120. package/dist/core/session/health.d.ts.map +1 -1
  121. package/dist/core/session/health.js +31 -5
  122. package/dist/core/session/health.js.map +1 -1
  123. package/dist/core/session/index.d.ts +2 -0
  124. package/dist/core/session/index.d.ts.map +1 -1
  125. package/dist/core/session/index.js +2 -0
  126. package/dist/core/session/index.js.map +1 -1
  127. package/dist/core/session/message-queue.d.ts +79 -15
  128. package/dist/core/session/message-queue.d.ts.map +1 -1
  129. package/dist/core/session/message-queue.js +73 -27
  130. package/dist/core/session/message-queue.js.map +1 -1
  131. package/dist/core/session/rewind.d.ts +76 -10
  132. package/dist/core/session/rewind.d.ts.map +1 -1
  133. package/dist/core/session/rewind.js +68 -11
  134. package/dist/core/session/rewind.js.map +1 -1
  135. package/dist/core/session/working.d.ts +241 -0
  136. package/dist/core/session/working.d.ts.map +1 -0
  137. package/dist/core/session/working.js +261 -0
  138. package/dist/core/session/working.js.map +1 -0
  139. package/dist/core/session-sync/session-sync-controller.d.ts +35 -20
  140. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  141. package/dist/core/session-sync/session-sync-controller.js +48 -115
  142. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  143. package/dist/core/stream/event-stream.d.ts +22 -0
  144. package/dist/core/stream/event-stream.d.ts.map +1 -1
  145. package/dist/core/stream/event-stream.js +132 -36
  146. package/dist/core/stream/event-stream.js.map +1 -1
  147. package/dist/core/turns/grouping.d.ts +18 -2
  148. package/dist/core/turns/grouping.d.ts.map +1 -1
  149. package/dist/core/turns/grouping.js +45 -2
  150. package/dist/core/turns/grouping.js.map +1 -1
  151. package/dist/core/turns/index.d.ts +1 -0
  152. package/dist/core/turns/index.d.ts.map +1 -1
  153. package/dist/core/turns/index.js +1 -0
  154. package/dist/core/turns/index.js.map +1 -1
  155. package/dist/core/turns/open-turn.d.ts +81 -0
  156. package/dist/core/turns/open-turn.d.ts.map +1 -0
  157. package/dist/core/turns/open-turn.js +77 -0
  158. package/dist/core/turns/open-turn.js.map +1 -0
  159. package/dist/core/turns/state.js +26 -26
  160. package/dist/core/turns/state.js.map +1 -1
  161. package/dist/core/turns/types.d.ts +5 -0
  162. package/dist/core/turns/types.d.ts.map +1 -1
  163. package/dist/index.d.ts +2 -1
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +2 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/kortix.esm.min.js +25 -25
  168. package/dist/kortix.global.js +25 -25
  169. package/dist/node/server.d.ts.map +1 -1
  170. package/dist/node/server.js +14 -2
  171. package/dist/node/server.js.map +1 -1
  172. package/dist/react/index.d.ts +2 -1
  173. package/dist/react/index.d.ts.map +1 -1
  174. package/dist/react/index.js +7 -1
  175. package/dist/react/index.js.map +1 -1
  176. package/dist/react/initial-session-pin.d.ts +17 -0
  177. package/dist/react/initial-session-pin.d.ts.map +1 -1
  178. package/dist/react/initial-session-pin.js +58 -0
  179. package/dist/react/initial-session-pin.js.map +1 -1
  180. package/dist/react/opencode.d.ts +6 -2
  181. package/dist/react/opencode.d.ts.map +1 -1
  182. package/dist/react/opencode.js +5 -1
  183. package/dist/react/opencode.js.map +1 -1
  184. package/dist/react/prefetch-session-start.d.ts +10 -4
  185. package/dist/react/prefetch-session-start.d.ts.map +1 -1
  186. package/dist/react/prefetch-session-start.js +10 -4
  187. package/dist/react/prefetch-session-start.js.map +1 -1
  188. package/dist/react/query-contracts.d.ts +2 -0
  189. package/dist/react/query-contracts.d.ts.map +1 -1
  190. package/dist/react/query-contracts.js +2 -0
  191. package/dist/react/query-contracts.js.map +1 -1
  192. package/dist/react/query-keys.d.ts +13 -2
  193. package/dist/react/query-keys.d.ts.map +1 -1
  194. package/dist/react/query-keys.js +13 -2
  195. package/dist/react/query-keys.js.map +1 -1
  196. package/dist/react/session-start-stash.d.ts +25 -0
  197. package/dist/react/session-start-stash.d.ts.map +1 -1
  198. package/dist/react/session-start-stash.js +34 -3
  199. package/dist/react/session-start-stash.js.map +1 -1
  200. package/dist/react/session-title-sync.d.ts +5 -1
  201. package/dist/react/session-title-sync.d.ts.map +1 -1
  202. package/dist/react/session-title-sync.js +16 -4
  203. package/dist/react/session-title-sync.js.map +1 -1
  204. package/dist/react/use-can.d.ts +105 -0
  205. package/dist/react/use-can.d.ts.map +1 -0
  206. package/dist/react/use-can.js +190 -0
  207. package/dist/react/use-can.js.map +1 -0
  208. package/dist/react/use-canonical-opencode-session.d.ts +6 -1
  209. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  210. package/dist/react/use-canonical-opencode-session.js +46 -3
  211. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  212. package/dist/react/use-opencode-events/handle-event.d.ts +10 -0
  213. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  214. package/dist/react/use-opencode-events/handle-event.js +76 -7
  215. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  216. package/dist/react/use-opencode-events/helpers.d.ts +21 -8
  217. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  218. package/dist/react/use-opencode-events/helpers.js +25 -26
  219. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  220. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  221. package/dist/react/use-opencode-events/index.js +43 -26
  222. package/dist/react/use-opencode-events/index.js.map +1 -1
  223. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
  224. package/dist/react/use-opencode-events/use-event-stream-refs.js +66 -3
  225. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
  226. package/dist/react/use-opencode-local.d.ts +17 -0
  227. package/dist/react/use-opencode-local.d.ts.map +1 -1
  228. package/dist/react/use-opencode-local.js +41 -7
  229. package/dist/react/use-opencode-local.js.map +1 -1
  230. package/dist/react/use-opencode-sessions/messages.d.ts +101 -1
  231. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
  232. package/dist/react/use-opencode-sessions/messages.js +481 -63
  233. package/dist/react/use-opencode-sessions/messages.js.map +1 -1
  234. package/dist/react/use-project-apps.d.ts +24 -1
  235. package/dist/react/use-project-apps.d.ts.map +1 -1
  236. package/dist/react/use-project-apps.js +5 -3
  237. package/dist/react/use-project-apps.js.map +1 -1
  238. package/dist/react/use-runtime-boot-stalled.d.ts +32 -0
  239. package/dist/react/use-runtime-boot-stalled.d.ts.map +1 -0
  240. package/dist/react/use-runtime-boot-stalled.js +48 -0
  241. package/dist/react/use-runtime-boot-stalled.js.map +1 -0
  242. package/dist/react/use-runtime-reconnect.d.ts +67 -1
  243. package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
  244. package/dist/react/use-runtime-reconnect.js +116 -18
  245. package/dist/react/use-runtime-reconnect.js.map +1 -1
  246. package/dist/react/use-session-prompts.d.ts +113 -0
  247. package/dist/react/use-session-prompts.d.ts.map +1 -0
  248. package/dist/react/use-session-prompts.js +250 -0
  249. package/dist/react/use-session-prompts.js.map +1 -0
  250. package/dist/react/use-session-send.d.ts +169 -20
  251. package/dist/react/use-session-send.d.ts.map +1 -1
  252. package/dist/react/use-session-send.js +183 -30
  253. package/dist/react/use-session-send.js.map +1 -1
  254. package/dist/react/use-session-sync.d.ts +35 -2
  255. package/dist/react/use-session-sync.d.ts.map +1 -1
  256. package/dist/react/use-session-sync.js +49 -11
  257. package/dist/react/use-session-sync.js.map +1 -1
  258. package/dist/react/use-session-working.d.ts +57 -0
  259. package/dist/react/use-session-working.d.ts.map +1 -0
  260. package/dist/react/use-session-working.js +178 -0
  261. package/dist/react/use-session-working.js.map +1 -0
  262. package/dist/react/use-session.d.ts +131 -5
  263. package/dist/react/use-session.d.ts.map +1 -1
  264. package/dist/react/use-session.js +358 -69
  265. package/dist/react/use-session.js.map +1 -1
  266. package/package.json +2 -2
  267. package/dist/browser/stores/tab-store.d.ts +0 -91
  268. package/dist/browser/stores/tab-store.d.ts.map +0 -1
  269. package/dist/browser/stores/tab-store.js +0 -369
  270. package/dist/browser/stores/tab-store.js.map +0 -1
  271. package/dist/core/session/send-queue.d.ts +0 -70
  272. package/dist/core/session/send-queue.d.ts.map +0 -1
  273. package/dist/core/session/send-queue.js +0 -116
  274. package/dist/core/session/send-queue.js.map +0 -1
@@ -5,6 +5,32 @@ import { useDiagnosticsStore } from '../../browser/stores/diagnostics-store.js';
5
5
  import { getActiveOpenCodeUrl } from '../../browser/stores/server-store.js';
6
6
  import { useSyncStore } from '../../browser/stores/sync-store.js';
7
7
  import { opencodeKeys } from '../use-opencode-sessions/index.js';
8
+ import { qk } from '../query-keys.js';
9
+ // Read off the key factory rather than hand-typed, so the matcher moves with
10
+ // `qk` instead of silently missing every key after a segment is renamed.
11
+ const [KEY_ROOT, PROJECT_SEGMENT] = qk.project.scope('');
12
+ const TURN_SEGMENT = qk.project.sessionTurn('', '').at(-1);
13
+ const PROMPTS_SEGMENT = qk.project.sessionPrompts('', '').at(-1);
14
+ /**
15
+ * Every `GET .../turn` and `GET .../prompts` entry in the cache, for any
16
+ * project and any session.
17
+ *
18
+ * Matched by SHAPE rather than by `qk.project.sessionTurn(projectId,
19
+ * sessionId)`, because `server.instance.disposed` carries neither id: it is
20
+ * scoped to a runtime instance, and the handler only ever holds OpenCode WIRE
21
+ * session ids, while those keys are built from the Kortix `(projectId,
22
+ * sessionId)` pair. The instance going away affects every session the tab was
23
+ * watching on it, so re-reading all of them is the honest breadth — and both
24
+ * families are cheap server reads that the working projection is about to ask
25
+ * for anyway.
26
+ */
27
+ function isSessionTruthQuery(query) {
28
+ const key = query.queryKey;
29
+ const tail = key[key.length - 1];
30
+ return (key[0] === KEY_ROOT &&
31
+ key[1] === PROJECT_SEGMENT &&
32
+ (tail === TURN_SEGMENT || tail === PROMPTS_SEGMENT));
33
+ }
8
34
  /**
9
35
  * Creates the stable per-stream refs used by the event hook. Each ref captures
10
36
  * the first-render values of `queryClient`, `stopCompaction`, and
@@ -100,9 +126,15 @@ export function useEventStreamRefs(deps) {
100
126
  const markSessionAbortedLocally = useRef((sessionID, message = 'The operation was aborted because the runtime shut down.') => {
101
127
  if (!sessionID)
102
128
  return;
129
+ // `reason: 'runtime-disposed'` — pure infrastructure (OpenCode
130
+ // disposed/respawned mid-stream), never a user action. Read via the
131
+ // SDK's `abortErrorReason` (`core/http/abort-error.ts`); apps/web
132
+ // renders this reason as nothing — no Interrupted row, no error
133
+ // banner — because a runtime that respawns cleanly must not scar the
134
+ // transcript.
103
135
  const error = {
104
136
  name: 'AbortError',
105
- data: { message },
137
+ data: { message, reason: 'runtime-disposed' },
106
138
  };
107
139
  stopCompaction(sessionID);
108
140
  // Locally-synthesized event — not from the wire, so it intentionally
@@ -115,8 +147,23 @@ export function useEventStreamRefs(deps) {
115
147
  type: 'session.error',
116
148
  properties: { sessionID, error },
117
149
  });
118
- useSyncStore.getState().setStatus(sessionID, { type: 'idle' });
119
- useSyncStore.getState().clearOptimisticMessages(sessionID);
150
+ // A brand-new session whose first prompt has not been echoed yet is the
151
+ // one case this must not touch: the prompt is a durable server row and
152
+ // the inbox will redeliver it, so wiping the bubble here deletes text the
153
+ // user typed for a turn that is about to run. Its sibling
154
+ // `reconcileMissingBusySessions` has guarded exactly this since the
155
+ // "message sent from home vanishes" bug; this path never did, and it runs
156
+ // for EVERY non-idle session in the tab on one `server.instance.disposed`
157
+ // frame.
158
+ if (!useSyncStore.getState().hasOptimisticMessages(sessionID)) {
159
+ useSyncStore.getState().clearOptimisticMessages(sessionID);
160
+ }
161
+ // No status write. One runtime instance going away is not evidence that
162
+ // the session is idle: the control plane may still hold the turn, and the
163
+ // box may already be resuming under it. Re-read the sources that CAN know
164
+ // — the turn authority and the durable prompt inbox — and let
165
+ // `projectWorking` answer.
166
+ void queryClient.invalidateQueries({ predicate: isSessionTruthQuery });
120
167
  });
121
168
  const markSessionIdleLocally = useRef((sessionID) => {
122
169
  if (!sessionID)
@@ -130,6 +177,22 @@ export function useEventStreamRefs(deps) {
130
177
  useSyncStore.getState().setStatus(sessionID, { type: 'idle' });
131
178
  useSyncStore.getState().clearOptimisticMessages(sessionID);
132
179
  });
180
+ /**
181
+ * Walk any session the runtime no longer reports as busy back to idle.
182
+ *
183
+ * This is NOT an inference from silence. `client.session.status()` is a REST
184
+ * read of the runtime's COMPLETE set of non-idle sessions, so a session's
185
+ * absence from it is a positive statement about that session. It is the only
186
+ * repair the raw `sessionStatus` slot has for a MISSED terminal frame — a
187
+ * laptop sleeping mid-turn, a stream reconnect. Every remaining direct
188
+ * reader of that slot is a CHILD-session surface — sub-sessions have no
189
+ * Kortix session row, so `GET .../turn` can never answer for them: the
190
+ * session panel's and turn card's child fallbacks (`session-layout.tsx`,
191
+ * `resolveLastTurnWorking`), and `SubAgentStatusBanner`'s retry countdown.
192
+ * Kortix-session surfaces read the working projection, whose `stream` input
193
+ * this slot feeds — the repair still reaches them, one hop later, with
194
+ * provenance.
195
+ */
133
196
  const reconcileMissingBusySessions = useRef((nextStatuses) => {
134
197
  const previousStatuses = useSyncStore.getState().sessionStatus;
135
198
  for (const [sessionID, status] of Object.entries(previousStatuses)) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-stream-refs.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/use-event-stream-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-event-stream-refs.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/use-event-stream-refs.ts"],"names":[],"mappings":"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"}
@@ -123,6 +123,23 @@ export declare function resolveHiddenAutoModel(resolved: ModelKey | undefined, _
123
123
  export type ModelProviderMode = 'native' | 'gateway';
124
124
  export declare function modelProviderMode(providers: ProviderListResponse | undefined): ModelProviderMode;
125
125
  export declare function scopedModelSelectionKey(key: string | undefined, mode: ModelProviderMode): string | undefined;
126
+ /**
127
+ * The `modelStore.selectedModel` slot that holds "the model this composer is
128
+ * pointed at", scoped by provider mode and by agent.
129
+ *
130
+ * `agentName === undefined` is a REAL, reachable state, not an error: a project
131
+ * `member` is deny-by-default on agents (`resource-grants.ts`), so the composer
132
+ * roster is empty until an explicit grant names them. It gets its own stable
133
+ * agent-less slot instead of no slot at all.
134
+ *
135
+ * Returning `undefined` here (the shape `scopedModelSelectionKey` uses) is what
136
+ * broke the picker for exactly that member: `setModel` skipped the only durable
137
+ * write it had — the project-home composer carries no `sessionId`, so the
138
+ * per-session slot is absent too — and every click in a fully populated model
139
+ * list silently resolved back to the server default. Read and write must use
140
+ * THIS one function so they can never disagree about where the pick lives.
141
+ */
142
+ export declare function agentScopedModelSelectionKey(mode: ModelProviderMode, agentName: string | undefined): string;
126
143
  /**
127
144
  * Resolve the current agent name with a priority chain:
128
145
  * 1. Per-session slot (`sessionAgentName`) — sticky for THIS session once the
@@ -1 +1 @@
1
- {"version":3,"file":"use-opencode-local.d.ts","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-opencode-local.d.ts","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,25 @@ export function modelProviderMode(providers) {
95
95
  export function scopedModelSelectionKey(key, mode) {
96
96
  return key ? `${mode}:${key}` : undefined;
97
97
  }
98
+ /**
99
+ * The `modelStore.selectedModel` slot that holds "the model this composer is
100
+ * pointed at", scoped by provider mode and by agent.
101
+ *
102
+ * `agentName === undefined` is a REAL, reachable state, not an error: a project
103
+ * `member` is deny-by-default on agents (`resource-grants.ts`), so the composer
104
+ * roster is empty until an explicit grant names them. It gets its own stable
105
+ * agent-less slot instead of no slot at all.
106
+ *
107
+ * Returning `undefined` here (the shape `scopedModelSelectionKey` uses) is what
108
+ * broke the picker for exactly that member: `setModel` skipped the only durable
109
+ * write it had — the project-home composer carries no `sessionId`, so the
110
+ * per-session slot is absent too — and every click in a fully populated model
111
+ * list silently resolved back to the server default. Read and write must use
112
+ * THIS one function so they can never disagree about where the pick lives.
113
+ */
114
+ export function agentScopedModelSelectionKey(mode, agentName) {
115
+ return `${mode}:${agentName ?? ''}`;
116
+ }
98
117
  /**
99
118
  * Resolve the current agent name with a priority chain:
100
119
  * 1. Per-session slot (`sessionAgentName`) — sticky for THIS session once the
@@ -218,6 +237,10 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
218
237
  }
219
238
  return visibleAgents[0];
220
239
  }, [visibleAgents, currentAgentName]);
240
+ // Where THIS composer's model pick is persisted. One key for the read below
241
+ // and the write in `setModel`, defined once so an agent-less composer (a
242
+ // member with no agent grant) still has somewhere to put the pick.
243
+ const agentModelSlotKey = useMemo(() => agentScopedModelSelectionKey(providerMode, currentAgent?.name), [providerMode, currentAgent?.name]);
221
244
  // ---- Per-agent model overrides (persisted to localStorage so selection survives refresh/new tabs) ----
222
245
  // ---- Fallback model (matching SolidJS local.tsx:94-126) ----
223
246
  const fallbackModel = useMemo(() => {
@@ -266,10 +289,16 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
266
289
  () => scopedSessionModelKey ? modelStore.getSessionModel(scopedSessionModelKey) : undefined,
267
290
  // Back-compat: the old unscoped slot, only if valid in the current mode.
268
291
  () => (sessionId ? modelStore.getSessionModel(sessionId) : undefined),
269
- // Per-agent model (persisted across sessions for this agent)
270
- () => currentAgent
271
- ? modelStore.getSelectedModel(`${providerMode}:${currentAgent.name}`)
272
- : undefined, () => (currentAgent ? modelStore.getSelectedModel(currentAgent.name) : undefined)), [currentAgent, sessionId, scopedSessionModelKey, providerMode, modelStore, getFirstValidModel]);
292
+ // Per-agent model (persisted across sessions for this agent, or in the
293
+ // agent-less slot when the caller has access to no agent at all).
294
+ () => modelStore.getSelectedModel(agentModelSlotKey), () => (currentAgent ? modelStore.getSelectedModel(currentAgent.name) : undefined)), [
295
+ currentAgent,
296
+ agentModelSlotKey,
297
+ sessionId,
298
+ scopedSessionModelKey,
299
+ modelStore,
300
+ getFirstValidModel,
301
+ ]);
273
302
  // The gateway-configured default for the current agent (agent -> project ->
274
303
  // account -> platform), when the host supplies a resolver. Validated against
275
304
  // the catalog. Used for DISPLAY of "on default" and as a resolution step
@@ -311,8 +340,13 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
311
340
  return;
312
341
  }
313
342
  const next = model ?? fallbackModel;
314
- if (currentAgent && next) {
315
- modelStore.setSelectedModel(`${providerMode}:${currentAgent.name}`, next);
343
+ // Persist unconditionally into the composer's slot. This was gated on
344
+ // `currentAgent`, which made the whole picker inert for a project member
345
+ // holding no agent grant: no agent AND no sessionId (project-home
346
+ // composer) meant NEITHER write ran, so the pick vanished on the next
347
+ // render and the trigger snapped back to the server default.
348
+ if (next) {
349
+ modelStore.setSelectedModel(agentModelSlotKey, next);
316
350
  }
317
351
  // Also persist per-session so the selection survives page reload
318
352
  if (scopedSessionModelKey && next) {
@@ -325,7 +359,7 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
325
359
  // The user's onboarding/settings choice should persist as the default
326
360
  // for NEW sessions even when they change model in an existing session.
327
361
  }
328
- }, [currentAgent, scopedSessionModelKey, providerMode, fallbackModel, modelStore, isModelValid]);
362
+ }, [agentModelSlotKey, scopedSessionModelKey, fallbackModel, modelStore, isModelValid]);
329
363
  // ---- Agent set (matching SolidJS local.tsx:52-63) ----
330
364
  const setAgent = useCallback((name) => {
331
365
  if (visibleAgents.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-opencode-local.js","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-opencode-local.js","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAiB,MAAM,mBAAmB,CAAC;AA0FjE,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,QAAQ,CAAI,GAAQ,EAAE,GAAwB;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC1D,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;kFAEkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2B;IACrD,OAAO,KAAK,EAAE,OAAO,KAAK,MAAM,IAAI,KAAK,EAAE,OAAO,KAAK,aAAa,CAAC;AACvE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAChC,QAA8B,EAC9B,OAA6B;IAE7B,IAAI,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/D,OAAO,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA8B,EAC9B,QAGC;IAED,OAAO,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAID,MAAM,UAAU,iBAAiB,CAAC,SAA2C;IAC3E,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAuB,EACvB,IAAuB;IAEvB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAuB,EACvB,SAA6B;IAE7B,OAAO,GAAG,IAAI,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAOvC;IACC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACjE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACrE,OAAO,CACL,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,gBAAgB;QACtB,cAAc;QACd,gBAAgB;QAChB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EAAE,SAAS,EACjB,SAAS,EACT,MAAM,EACN,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,oBAAoB,GACI;IACxB,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,UAAU,GAAG,OAAO,CAAc,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9E,kFAAkF;IAClF,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAe,EAAW,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,EAC/D,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,GAAG,QAAwC,EAAwB,EAAE;QACpE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,yCAAyC;IACzC,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,GAAa,EAAyB,EAAE,CACvC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,CAAC,EACtF,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,sGAAsG;IACtG,0EAA0E;IAC1E,mEAAmE;IACnE,gDAAgD;IAChD,MAAM,aAAa,GAAG,OAAO,CAAU,GAAG,EAAE;QAC1C,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,yEAAyE;IACzE,8DAA8D;IAC9D,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,SAAS;QACT,cAAc;QACd,SAAS;KACV,CAAC,CAAC;IACH,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAGjE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,MAAM,iBAAiB,GACrB,sBAAsB,CAAC,KAAK,KAAK,mBAAmB;QAClD,CAAC,CAAC,sBAAsB,CAAC,IAAI;QAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;QAC/C,SAAS;QACT,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,iBAAiB;QACjB,aAAa,EAAE,UAAU,CAAC,aAAa;KACxC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,EACtD,CAAC,SAAS,EAAE,YAAY,CAAC,CAC1B,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAwB,EAAE,EAAE;QAC3B,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,kEAAkE;YAClE,2CAA2C;YAC3C,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,uDAAuD;IACvD;QACE,SAAS;QACT,mBAAmB;QACnB,UAAU,CAAC,mBAAmB;QAC9B,UAAU,CAAC,gBAAgB;KAC5B,CACF,CAAC;IAEF,+EAA+E;IAC/E,MAAM,YAAY,GAAG,OAAO,CAAoB,GAAG,EAAE;QACnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;YACrE,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtC,4EAA4E;IAC5E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,4BAA4B,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,EACpE,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CACnC,CAAC;IAEF,yGAAyG;IAEzG,+DAA+D;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAuB,GAAG,EAAE;QACvD,gDAAgD;QAChD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,YAAY,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;oBACtD,IAAI,YAAY,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,CAAC;gBACpC,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;oBAC1C,IAAI,YAAY,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhE,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,kBAAkB;IAChB,+EAA+E;IAC/E,GAAG,EAAE,CACH,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS;IACvF,yEAAyE;IACzE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,uEAAuE;IACvE,kEAAkE;IAClE,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EACpD,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAClF,EACH;QACE,YAAY;QACZ,iBAAiB;QACjB,SAAS;QACT,qBAAqB;QACrB,UAAU;QACV,kBAAkB;KACnB,CACF,CAAC;IAEF,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,OAAO,CAAuB,GAAG,EAAE;QAC1D,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7D,qCAAqC;IACrC,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,oEAAoE;IACpE,yEAAyE;IACzE,MAAM,eAAe,GAAG,OAAO,CAAuB,GAAG,EAAE;QACzD,MAAM,QAAQ,GACZ,gBAAgB;YAChB,kBAAkB,CAChB,GAAG,EAAE,CAAC,gBAAgB,EACtB,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAC9B,GAAG,EAAE,CAAE,YAAY,EAAE,KAA8B,EACnD,GAAG,EAAE,CAAC,aAAa,CACpB,CAAC;QACJ,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE;QACD,gBAAgB;QAChB,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,kBAAkB;QAClB,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC;IAEzC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAC3D,CAAC,gBAAgB,EAAE,eAAe,CAAC,CACpC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAChE,CAAC,eAAe,EAAE,SAAS,CAAC,CAC7B,CAAC;IAEF,qCAAqC;IACrC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAgB,EACrE,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAC/B,CAAC;IAEF,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAA2B,EAAE,OAAkD,EAAE,EAAE;QAClF,oEAAoE;QACpE,8EAA8E;QAC9E,IAAI,OAAO,EAAE,QAAQ,IAAI,UAAU,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC;QACpC,sEAAsE;QACtE,yEAAyE;QACzE,kEAAkE;QAClE,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,iEAAiE;QACjE,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;YAClC,UAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC;YAC7B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7B,mEAAmE;YACnE,oEAAoE;YACpE,sEAAsE;YACtE,uEAAuE;QACzE,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CACpF,CAAC;IAEF,yDAAyD;IACzD,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAwB,EAAE,EAAE;QAC3B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACvD,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,EACD,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACrC,CAAC;IAEF,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,SAAiB,EAAE,EAAE;QACpB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QAC/E,IAAI,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAC5D,IAAI,IAAI,GAAG,CAAC;YAAE,IAAI,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM;YAAE,IAAI,GAAG,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,WAAW,CAAC,OAAO,CAAC;gBAClB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CACvD,CAAC;IAEF,0FAA0F;IAC1F,6FAA6F;IAC7F,MAAM,YAAY,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,YAAY,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI;YAAE,OAAO;QACvD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;QACzC,0EAA0E;QAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;YAAE,OAAO;QACjD,sEAAsE;QACtE,IAAI,UAAU,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO;QAC/E,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,YAAY,CAAC,YAAY,CAAC,KAAiB,CAAC,EAAE,CAAC;gBACjD,QAAQ,CACN;oBACE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU;oBACzC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO;iBACpC,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,qFAAqF;QACrF,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvC,6EAA6E;IAC7E,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,SAAiB,EAAE,EAAE;QACpB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,CACtF,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO;QACzB,IAAI,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;QAC7B,IAAI,IAAI,GAAG,CAAC;YAAE,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM;YAAE,IAAI,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,EACD,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CACvC,CAAC;IAEF,oEAAoE;IACpE,MAAM,cAAc,GAAG,OAAO,CAAqB,GAAG,EAAE;QACtD,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QACpC,OAAO,UAAU,CAAC,UAAU,CAAC;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,OAAO,EAAE,YAAY,CAAC,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,OAAO,CAAW,GAAG,EAAE;QACzC,IAAI,CAAC,YAAY,EAAE,QAAQ;YAAE,OAAO,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAyB,EAAE,EAAE;QAC5B,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,UAAU,CAAC,UAAU,CACnB,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,EACtE,KAAK,CACN,CAAC;IACJ,CAAC,EACD,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;YAC9C,OAAO;QACT,CAAC;QACD,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9C,2CAA2C;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAU,GAAG,EAAE;QAC5C,IAAI,CAAC,qBAAqB;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;IAExC,kCAAkC;IAClC,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,SAAS;SAChB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,eAAe;YAC3B,2EAA2E;YAC3E,OAAO,EAAE,YAAY;YACrB,4EAA4E;YAC5E,oBAAoB;YACpB,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,QAAQ;YACb,uEAAuE;YACvE,kEAAkE;YAClE,yBAAyB;YACzB,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,KAAK,EAAE,UAAU;YACjB,eAAe;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,YAAY;aACpB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -48,11 +48,71 @@ export declare function useOpenCodeMessages(sessionId: string): {
48
48
  }>;
49
49
  };
50
50
  export declare function ascendingId(prefix?: 'msg' | 'prt'): string;
51
+ /**
52
+ * The wire `messageID` for one submission, for a host that does NOT send
53
+ * through `promptOpenCodeMessage`.
54
+ *
55
+ * The server-side prompt inbox (`createSessionPrompt`) needs the id up front:
56
+ * the control plane cannot mint one, because placing an id correctly means
57
+ * reading THIS session's transcript, and only this process holds it. Do not
58
+ * substitute `ascendingId('msg')` — it encodes the HIGH bits of the id clock,
59
+ * so it sorts below every server-minted id and OpenCode reads the prompt as
60
+ * already answered. See the warning on `ascendingId`.
61
+ *
62
+ * Same memo as an in-band send: one `clientMessageId` always resolves to one
63
+ * wire id, so a retry of a submission keeps the id the proxy's delivery claim
64
+ * is keyed on.
65
+ */
66
+ export declare function mintSessionWireMessageId(sessionId: string, clientMessageId?: string): string;
67
+ /**
68
+ * Abort every in-flight `promptOpenCodeMessage` delivery for a session — the
69
+ * primary effect `cancel()`/`stop()` need before the abort even reaches the
70
+ * server: a delivery that has not yet started its next attempt when this
71
+ * runs never starts one, and a delivery mid-network-call gets its underlying
72
+ * `fetch` aborted via `signal`.
73
+ *
74
+ * Returns the number of deliveries this call aborted (0 when none were in
75
+ * flight for the session — not an error, just nothing to do).
76
+ */
77
+ export declare function abortInFlightDeliveries(sessionId: string): number;
51
78
  export interface SendOpenCodeMessageArgs {
52
79
  sessionId: string;
53
80
  parts: PromptPart[];
54
81
  options?: SendMessageOptions;
82
+ /**
83
+ * Identity of THIS submission on the wire. Omit it and one is minted per
84
+ * call — which is what keeps two identical prompts from hashing to a single
85
+ * proxy delivery. Pass one only to re-send a submission you already made and
86
+ * want the proxy to recognise as the same delivery.
87
+ *
88
+ * Prefer `clientMessageId` unless you are already holding a wire-format id:
89
+ * this one is used verbatim, so a badly-shaped id (see `ascendingId`) sorts
90
+ * below the server's and makes opencode read the prompt as already answered.
91
+ */
55
92
  messageID?: string;
93
+ /**
94
+ * Stable name for the SUBMISSION this call dispatches — the host's own key,
95
+ * e.g. `QueuedMessageInput.clientMessageId`.
96
+ *
97
+ * **The contract: same id = same logical send, retry-safe. New logical send
98
+ * = new id.** Two calls carrying the same `clientMessageId` are a RETRY of
99
+ * one submission and send the same wire `messageID`, so the proxy's
100
+ * messageID-keyed dedupe (`prompt-dedupe.ts`, `promptDeliveryKey`) still
101
+ * absorbs a host-level retry — even one that lands minutes later, after a
102
+ * wake. Two different `clientMessageId`s are two DIFFERENT submissions and
103
+ * always mint two different wire ids, so a deliberate identical re-send (the
104
+ * user sending "continue" twice on purpose) is never swallowed as a
105
+ * duplicate. A caller that mints a NEW `clientMessageId` for what is
106
+ * actually a retry of an old one loses the dedupe protection; a caller that
107
+ * reuses an OLD `clientMessageId` for what is actually a brand-new send gets
108
+ * silently swallowed (the trap this module exists to close) — so a
109
+ * caller emitting a genuinely new send after a stop/cancel must always mint
110
+ * a fresh id, never reuse the aborted send's.
111
+ *
112
+ * Any string works — this is an identity, not a format. The wire id is minted
113
+ * here from it.
114
+ */
115
+ clientMessageId?: string;
56
116
  }
57
117
  /** Error thrown by `promptOpenCodeMessage` on a non-2xx response — carries the
58
118
  * HTTP status (mirroring `response`/`status` so `parseBillingError` can detect
@@ -85,7 +145,47 @@ export interface SendOpenCodeMessageError extends Error {
85
145
  * Extracted from `useSendOpenCodeMessage`'s mutationFn so it's a plain async
86
146
  * function callable — and unit-testable — without a mutation/hook context.
87
147
  */
88
- export declare function promptOpenCodeMessage({ sessionId, parts, options, messageID, }: SendOpenCodeMessageArgs): Promise<void>;
148
+ export declare function promptOpenCodeMessage({ sessionId, parts, options, messageID, clientMessageId, }: SendOpenCodeMessageArgs): Promise<void>;
89
149
  export declare function useSendOpenCodeMessage(): import("@tanstack/react-query").UseMutationResult<void, Error, SendOpenCodeMessageArgs, unknown>;
150
+ /**
151
+ * POST the abort to the runtime for a session, then re-read server status and
152
+ * force-update the store if it still reports busy (the SSE `session.idle`
153
+ * event should arrive on its own; this is the fallback for a missed one).
154
+ *
155
+ * Extracted from `useAbortOpenCodeSession`'s mutationFn — same reasoning as
156
+ * `promptOpenCodeMessage`: a plain async function is directly testable
157
+ * without a mutation/hook context, and `awaitAbortSettlement` below calls it
158
+ * (via the mutation's `mutateAsync`, so retry/pending state stay react-query-
159
+ * driven) without needing to render a hook to prove the failure path.
160
+ *
161
+ * Throws on a genuine abort failure — the caller (the mutation's `retry: 2`,
162
+ * then `awaitAbortSettlement`) decides what to do with that; this function
163
+ * itself never swallows it.
164
+ */
165
+ export declare function abortOpenCodeSession(sessionId: string): Promise<void>;
90
166
  export declare function useAbortOpenCodeSession(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
167
+ /** How `cancel()`/`stop()`'s abort settled — see `awaitAbortSettlement`. */
168
+ export type AbortSettlement = {
169
+ status: 'aborted';
170
+ } | {
171
+ status: 'failed';
172
+ error: unknown;
173
+ } | {
174
+ status: 'timed-out';
175
+ } | {
176
+ status: 'skipped';
177
+ };
178
+ /**
179
+ * Await an abort call's settlement — success, a real failure, or a bounded
180
+ * timeout — instead of the fire-and-forget `.mutate()` `cancel()`/`stop()`
181
+ * used to do. `runAbort` is normally `() => abortMutation.mutateAsync(sessionId)`
182
+ * (keeps react-query's own retry/`isPending` state); this takes it as a plain
183
+ * callback so it's directly testable without rendering a hook.
184
+ *
185
+ * Never rejects: every branch resolves to a distinguishable `AbortSettlement`
186
+ * the caller can read, which is the point — a swallowed `onError` used to
187
+ * mean a failed abort left the UI's optimistic idle state as the only signal,
188
+ * with nothing to tell a caller whether the server actually agreed.
189
+ */
190
+ export declare function awaitAbortSettlement(runAbort: () => Promise<void>, timeoutMs?: number): Promise<AbortSettlement>;
91
191
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-sessions/messages.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAiC7D,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgB9D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,IAAI,CAef;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM;;;;;;;;EAsCpD;AAaD,wBAAgB,WAAW,CAAC,MAAM,GAAE,KAAK,GAAG,KAAa,GAAG,MAAM,CAajE;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;6CAE6C;AAC7C,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,GACV,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DzC;AAED,wBAAgB,sBAAsB,qGAErC;AAED,wBAAgB,uBAAuB,oFA4BtC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-sessions/messages.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAiC7D,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgB9D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,IAAI,CAef;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM;;;;;;;;EAsCpD;AAwBD,wBAAgB,WAAW,CAAC,MAAM,GAAE,KAAK,GAAG,KAAa,GAAG,MAAM,CAajE;AAmND;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAER;AAqCD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMjE;AA2BD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;6CAE6C;AAC7C,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,EACT,eAAe,GAChB,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFzC;AAED,wBAAgB,sBAAsB,qGAoBrC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB3E;AAED,wBAAgB,uBAAuB,oFAetC;AAED,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAI1B;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,SAAS,GAAE,MAA4C,GACtD,OAAO,CAAC,eAAe,CAAC,CAkB1B"}