@kortix/sdk 0.13.4 → 0.13.7

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 (380) hide show
  1. package/README.md +63 -6
  2. package/dist/browser/cache/idb-sync-cache.d.ts +19 -1
  3. package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
  4. package/dist/browser/cache/idb-sync-cache.js +39 -4
  5. package/dist/browser/cache/idb-sync-cache.js.map +1 -1
  6. package/dist/browser/session-sync/server-transcript-mirror.d.ts +82 -0
  7. package/dist/browser/session-sync/server-transcript-mirror.d.ts.map +1 -0
  8. package/dist/browser/session-sync/server-transcript-mirror.js +143 -0
  9. package/dist/browser/session-sync/server-transcript-mirror.js.map +1 -0
  10. package/dist/browser/session-sync/session-sync-registry.d.ts +11 -1
  11. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  12. package/dist/browser/session-sync/session-sync-registry.js +117 -9
  13. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  14. package/dist/browser/session-sync/visibility.d.ts +19 -0
  15. package/dist/browser/session-sync/visibility.d.ts.map +1 -0
  16. package/dist/browser/session-sync/visibility.js +16 -0
  17. package/dist/browser/session-sync/visibility.js.map +1 -0
  18. package/dist/browser/stores/sandbox-connection-store.d.ts +13 -1
  19. package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
  20. package/dist/browser/stores/sandbox-connection-store.js +6 -3
  21. package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
  22. package/dist/browser/stores/session-working-store.d.ts +10 -5
  23. package/dist/browser/stores/session-working-store.d.ts.map +1 -1
  24. package/dist/browser/stores/session-working-store.js +32 -8
  25. package/dist/browser/stores/session-working-store.js.map +1 -1
  26. package/dist/browser/stores/sync-store.d.ts +56 -2
  27. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  28. package/dist/browser/stores/sync-store.js +682 -402
  29. package/dist/browser/stores/sync-store.js.map +1 -1
  30. package/dist/core/auth/app-viewer.d.ts +57 -0
  31. package/dist/core/auth/app-viewer.d.ts.map +1 -0
  32. package/dist/core/auth/app-viewer.js +82 -0
  33. package/dist/core/auth/app-viewer.js.map +1 -0
  34. package/dist/core/auth/session.d.ts +45 -0
  35. package/dist/core/auth/session.d.ts.map +1 -0
  36. package/dist/core/auth/session.js +113 -0
  37. package/dist/core/auth/session.js.map +1 -0
  38. package/dist/core/client/kortix.d.ts +37 -29
  39. package/dist/core/client/kortix.d.ts.map +1 -1
  40. package/dist/core/client/kortix.js +61 -8
  41. package/dist/core/client/kortix.js.map +1 -1
  42. package/dist/core/http/config.d.ts +4 -2
  43. package/dist/core/http/config.d.ts.map +1 -1
  44. package/dist/core/http/config.js.map +1 -1
  45. package/dist/core/http/opencode-errors.d.ts +17 -0
  46. package/dist/core/http/opencode-errors.d.ts.map +1 -1
  47. package/dist/core/http/opencode-errors.js +25 -0
  48. package/dist/core/http/opencode-errors.js.map +1 -1
  49. package/dist/core/rest/platform-client/auth.d.ts +120 -0
  50. package/dist/core/rest/platform-client/auth.d.ts.map +1 -0
  51. package/dist/core/rest/platform-client/auth.js +98 -0
  52. package/dist/core/rest/platform-client/auth.js.map +1 -0
  53. package/dist/core/rest/platform-client/host-boundary.d.ts +5 -0
  54. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
  55. package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
  56. package/dist/core/rest/projects-client/accounts.d.ts +57 -0
  57. package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
  58. package/dist/core/rest/projects-client/accounts.js +31 -0
  59. package/dist/core/rest/projects-client/accounts.js.map +1 -1
  60. package/dist/core/rest/projects-client/apps.d.ts +9 -0
  61. package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
  62. package/dist/core/rest/projects-client/apps.js.map +1 -1
  63. package/dist/core/rest/projects-client/billing.d.ts +2 -0
  64. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  65. package/dist/core/rest/projects-client/billing.js.map +1 -1
  66. package/dist/core/rest/projects-client/channels.d.ts +0 -3
  67. package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
  68. package/dist/core/rest/projects-client/channels.js +0 -6
  69. package/dist/core/rest/projects-client/channels.js.map +1 -1
  70. package/dist/core/rest/projects-client/connectors.d.ts +104 -19
  71. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  72. package/dist/core/rest/projects-client/connectors.js +56 -2
  73. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  74. package/dist/core/rest/projects-client/index.d.ts +1 -2
  75. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  76. package/dist/core/rest/projects-client/index.js +1 -2
  77. package/dist/core/rest/projects-client/index.js.map +1 -1
  78. package/dist/core/rest/projects-client/oauth-clients.d.ts +47 -0
  79. package/dist/core/rest/projects-client/oauth-clients.d.ts.map +1 -0
  80. package/dist/core/rest/projects-client/oauth-clients.js +33 -0
  81. package/dist/core/rest/projects-client/oauth-clients.js.map +1 -0
  82. package/dist/core/rest/projects-client/projects.d.ts +23 -6
  83. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  84. package/dist/core/rest/projects-client/projects.js +6 -3
  85. package/dist/core/rest/projects-client/projects.js.map +1 -1
  86. package/dist/core/rest/projects-client/session-sandbox.d.ts +52 -0
  87. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  88. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  89. package/dist/core/rest/projects-client/sessions.d.ts +142 -34
  90. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  91. package/dist/core/rest/projects-client/sessions.js +48 -19
  92. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  93. package/dist/core/runtime/attachment-part.d.ts +26 -0
  94. package/dist/core/runtime/attachment-part.d.ts.map +1 -0
  95. package/dist/core/runtime/attachment-part.js +41 -0
  96. package/dist/core/runtime/attachment-part.js.map +1 -0
  97. package/dist/core/runtime/client.d.ts +4 -2
  98. package/dist/core/runtime/client.d.ts.map +1 -1
  99. package/dist/core/runtime/client.js +3 -2
  100. package/dist/core/runtime/client.js.map +1 -1
  101. package/dist/core/runtime/opencode-v2-event-aliases.d.ts +184 -0
  102. package/dist/core/runtime/opencode-v2-event-aliases.d.ts.map +1 -0
  103. package/dist/core/runtime/opencode-v2-event-aliases.js +2 -0
  104. package/dist/core/runtime/opencode-v2-event-aliases.js.map +1 -0
  105. package/dist/core/runtime/pty.d.ts +11 -1
  106. package/dist/core/runtime/pty.d.ts.map +1 -1
  107. package/dist/core/runtime/pty.js +19 -6
  108. package/dist/core/runtime/pty.js.map +1 -1
  109. package/dist/core/session/connection.d.ts +64 -0
  110. package/dist/core/session/connection.d.ts.map +1 -0
  111. package/dist/core/session/connection.js +36 -0
  112. package/dist/core/session/connection.js.map +1 -0
  113. package/dist/core/session/index.d.ts +2 -0
  114. package/dist/core/session/index.d.ts.map +1 -1
  115. package/dist/core/session/index.js +2 -0
  116. package/dist/core/session/index.js.map +1 -1
  117. package/dist/core/session/open-bundle.d.ts +110 -0
  118. package/dist/core/session/open-bundle.d.ts.map +1 -0
  119. package/dist/core/session/open-bundle.js +183 -0
  120. package/dist/core/session/open-bundle.js.map +1 -0
  121. package/dist/core/session/poll-owner.d.ts +35 -0
  122. package/dist/core/session/poll-owner.d.ts.map +1 -0
  123. package/dist/core/session/poll-owner.js +90 -0
  124. package/dist/core/session/poll-owner.js.map +1 -0
  125. package/dist/core/session/preview-auth.d.ts +25 -0
  126. package/dist/core/session/preview-auth.d.ts.map +1 -1
  127. package/dist/core/session/preview-auth.js +31 -1
  128. package/dist/core/session/preview-auth.js.map +1 -1
  129. package/dist/core/session/preview-config.d.ts +26 -0
  130. package/dist/core/session/preview-config.d.ts.map +1 -0
  131. package/dist/core/session/preview-config.js +95 -0
  132. package/dist/core/session/preview-config.js.map +1 -0
  133. package/dist/core/session/preview-options.d.ts +25 -0
  134. package/dist/core/session/preview-options.d.ts.map +1 -0
  135. package/dist/core/session/preview-options.js +45 -0
  136. package/dist/core/session/preview-options.js.map +1 -0
  137. package/dist/core/session/preview.d.ts +8 -3
  138. package/dist/core/session/preview.d.ts.map +1 -1
  139. package/dist/core/session/preview.js +11 -4
  140. package/dist/core/session/preview.js.map +1 -1
  141. package/dist/core/session/rewind.d.ts +67 -24
  142. package/dist/core/session/rewind.d.ts.map +1 -1
  143. package/dist/core/session/rewind.js +74 -26
  144. package/dist/core/session/rewind.js.map +1 -1
  145. package/dist/core/session/server-store/active.d.ts +10 -12
  146. package/dist/core/session/server-store/active.d.ts.map +1 -1
  147. package/dist/core/session/server-store/active.js +11 -9
  148. package/dist/core/session/server-store/active.js.map +1 -1
  149. package/dist/core/session/server-store/url-helpers.d.ts +11 -2
  150. package/dist/core/session/server-store/url-helpers.d.ts.map +1 -1
  151. package/dist/core/session/server-store/url-helpers.js +11 -2
  152. package/dist/core/session/server-store/url-helpers.js.map +1 -1
  153. package/dist/core/session/static-file-preview.d.ts +50 -0
  154. package/dist/core/session/static-file-preview.d.ts.map +1 -0
  155. package/dist/core/session/static-file-preview.js +91 -0
  156. package/dist/core/session/static-file-preview.js.map +1 -0
  157. package/dist/core/session/url.d.ts +25 -2
  158. package/dist/core/session/url.d.ts.map +1 -1
  159. package/dist/core/session/url.js +87 -11
  160. package/dist/core/session/url.js.map +1 -1
  161. package/dist/core/session/wake-escalation.d.ts +188 -0
  162. package/dist/core/session/wake-escalation.d.ts.map +1 -0
  163. package/dist/core/session/wake-escalation.js +241 -0
  164. package/dist/core/session/wake-escalation.js.map +1 -0
  165. package/dist/core/session/working.d.ts +107 -2
  166. package/dist/core/session/working.d.ts.map +1 -1
  167. package/dist/core/session/working.js +206 -7
  168. package/dist/core/session/working.js.map +1 -1
  169. package/dist/core/session-sync/durable-log.d.ts +96 -0
  170. package/dist/core/session-sync/durable-log.d.ts.map +1 -0
  171. package/dist/core/session-sync/durable-log.js +94 -0
  172. package/dist/core/session-sync/durable-log.js.map +1 -0
  173. package/dist/core/session-sync/fragment.d.ts +27 -0
  174. package/dist/core/session-sync/fragment.d.ts.map +1 -0
  175. package/dist/core/session-sync/fragment.js +24 -0
  176. package/dist/core/session-sync/fragment.js.map +1 -0
  177. package/dist/core/session-sync/session-sync-controller.d.ts +117 -11
  178. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  179. package/dist/core/session-sync/session-sync-controller.js +278 -26
  180. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  181. package/dist/core/stream/keepalive.d.ts +17 -0
  182. package/dist/core/stream/keepalive.d.ts.map +1 -0
  183. package/dist/core/stream/keepalive.js +19 -0
  184. package/dist/core/stream/keepalive.js.map +1 -0
  185. package/dist/core/turns/grouping.d.ts.map +1 -1
  186. package/dist/core/turns/grouping.js +73 -23
  187. package/dist/core/turns/grouping.js.map +1 -1
  188. package/dist/core/turns/types.d.ts +5 -0
  189. package/dist/core/turns/types.d.ts.map +1 -1
  190. package/dist/index.d.ts +16 -1
  191. package/dist/index.d.ts.map +1 -1
  192. package/dist/index.js +19 -0
  193. package/dist/index.js.map +1 -1
  194. package/dist/kortix.esm.min.js +25 -25
  195. package/dist/kortix.global.js +25 -25
  196. package/dist/node/app-viewer.d.ts +41 -0
  197. package/dist/node/app-viewer.d.ts.map +1 -0
  198. package/dist/node/app-viewer.js +150 -0
  199. package/dist/node/app-viewer.js.map +1 -0
  200. package/dist/node/auth.d.ts +84 -0
  201. package/dist/node/auth.d.ts.map +1 -0
  202. package/dist/node/auth.js +414 -0
  203. package/dist/node/auth.js.map +1 -0
  204. package/dist/node/server.d.ts +19 -0
  205. package/dist/node/server.d.ts.map +1 -1
  206. package/dist/node/server.js +13 -1
  207. package/dist/node/server.js.map +1 -1
  208. package/dist/platform/auth-core.d.ts +13 -1
  209. package/dist/platform/auth-core.d.ts.map +1 -1
  210. package/dist/platform/auth-core.js +13 -1
  211. package/dist/platform/auth-core.js.map +1 -1
  212. package/dist/react/bedrock-invokable.d.ts +58 -0
  213. package/dist/react/bedrock-invokable.d.ts.map +1 -0
  214. package/dist/react/bedrock-invokable.js +83 -0
  215. package/dist/react/bedrock-invokable.js.map +1 -0
  216. package/dist/react/index.d.ts +3 -0
  217. package/dist/react/index.d.ts.map +1 -1
  218. package/dist/react/index.js +7 -0
  219. package/dist/react/index.js.map +1 -1
  220. package/dist/react/model-flatten.d.ts +14 -1
  221. package/dist/react/model-flatten.d.ts.map +1 -1
  222. package/dist/react/model-flatten.js +3 -4
  223. package/dist/react/model-flatten.js.map +1 -1
  224. package/dist/react/opencode.d.ts +3 -1
  225. package/dist/react/opencode.d.ts.map +1 -1
  226. package/dist/react/opencode.js +5 -1
  227. package/dist/react/opencode.js.map +1 -1
  228. package/dist/react/provider-selection.d.ts +58 -0
  229. package/dist/react/provider-selection.d.ts.map +1 -1
  230. package/dist/react/provider-selection.js +253 -2
  231. package/dist/react/provider-selection.js.map +1 -1
  232. package/dist/react/session-start-giveup.d.ts +12 -0
  233. package/dist/react/session-start-giveup.d.ts.map +1 -0
  234. package/dist/react/session-start-giveup.js +13 -0
  235. package/dist/react/session-start-giveup.js.map +1 -0
  236. package/dist/react/session-title-sync.d.ts.map +1 -1
  237. package/dist/react/session-title-sync.js +15 -5
  238. package/dist/react/session-title-sync.js.map +1 -1
  239. package/dist/react/sign-in-with-kortix.d.ts +346 -0
  240. package/dist/react/sign-in-with-kortix.d.ts.map +1 -0
  241. package/dist/react/sign-in-with-kortix.js +65 -0
  242. package/dist/react/sign-in-with-kortix.js.map +1 -0
  243. package/dist/react/use-admin-accounts.d.ts +36 -1
  244. package/dist/react/use-admin-accounts.d.ts.map +1 -1
  245. package/dist/react/use-admin-accounts.js +19 -0
  246. package/dist/react/use-admin-accounts.js.map +1 -1
  247. package/dist/react/use-gateway-routing-policy.d.ts +1 -0
  248. package/dist/react/use-gateway-routing-policy.d.ts.map +1 -1
  249. package/dist/react/use-gateway-routing-policy.js +12 -1
  250. package/dist/react/use-gateway-routing-policy.js.map +1 -1
  251. package/dist/react/use-kortix-app-viewer.d.ts +13 -0
  252. package/dist/react/use-kortix-app-viewer.d.ts.map +1 -0
  253. package/dist/react/use-kortix-app-viewer.js +29 -0
  254. package/dist/react/use-kortix-app-viewer.js.map +1 -0
  255. package/dist/react/use-model-defaults.d.ts +7 -0
  256. package/dist/react/use-model-defaults.d.ts.map +1 -1
  257. package/dist/react/use-model-defaults.js +7 -1
  258. package/dist/react/use-model-defaults.js.map +1 -1
  259. package/dist/react/use-model-enablement.d.ts.map +1 -1
  260. package/dist/react/use-model-enablement.js +5 -1
  261. package/dist/react/use-model-enablement.js.map +1 -1
  262. package/dist/react/use-model-store.d.ts +31 -0
  263. package/dist/react/use-model-store.d.ts.map +1 -1
  264. package/dist/react/use-model-store.js +31 -2
  265. package/dist/react/use-model-store.js.map +1 -1
  266. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  267. package/dist/react/use-opencode-events/handle-event.js +26 -0
  268. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  269. package/dist/react/use-opencode-events/helpers.d.ts +49 -5
  270. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  271. package/dist/react/use-opencode-events/helpers.js +54 -6
  272. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  273. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  274. package/dist/react/use-opencode-events/index.js +80 -8
  275. package/dist/react/use-opencode-events/index.js.map +1 -1
  276. package/dist/react/use-opencode-events/rehydrate-targets.d.ts +18 -0
  277. package/dist/react/use-opencode-events/rehydrate-targets.d.ts.map +1 -0
  278. package/dist/react/use-opencode-events/rehydrate-targets.js +20 -0
  279. package/dist/react/use-opencode-events/rehydrate-targets.js.map +1 -0
  280. package/dist/react/use-opencode-events/stream-revival.d.ts +37 -0
  281. package/dist/react/use-opencode-events/stream-revival.d.ts.map +1 -0
  282. package/dist/react/use-opencode-events/stream-revival.js +53 -0
  283. package/dist/react/use-opencode-events/stream-revival.js.map +1 -0
  284. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
  285. package/dist/react/use-opencode-events/use-event-stream-refs.js +14 -2
  286. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
  287. package/dist/react/use-opencode-local.d.ts.map +1 -1
  288. package/dist/react/use-opencode-local.js +27 -8
  289. package/dist/react/use-opencode-local.js.map +1 -1
  290. package/dist/react/use-opencode-pty.d.ts +7 -1
  291. package/dist/react/use-opencode-pty.d.ts.map +1 -1
  292. package/dist/react/use-opencode-pty.js +6 -2
  293. package/dist/react/use-opencode-pty.js.map +1 -1
  294. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
  295. package/dist/react/use-opencode-sessions/agents.js +13 -2
  296. package/dist/react/use-opencode-sessions/agents.js.map +1 -1
  297. package/dist/react/use-opencode-sessions/commands.d.ts +12 -0
  298. package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
  299. package/dist/react/use-opencode-sessions/commands.js +15 -3
  300. package/dist/react/use-opencode-sessions/commands.js.map +1 -1
  301. package/dist/react/use-opencode-sessions/index.d.ts +1 -0
  302. package/dist/react/use-opencode-sessions/index.d.ts.map +1 -1
  303. package/dist/react/use-opencode-sessions/index.js +1 -0
  304. package/dist/react/use-opencode-sessions/index.js.map +1 -1
  305. package/dist/react/use-opencode-sessions/keys.d.ts +8 -0
  306. package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -1
  307. package/dist/react/use-opencode-sessions/keys.js +8 -0
  308. package/dist/react/use-opencode-sessions/keys.js.map +1 -1
  309. package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
  310. package/dist/react/use-opencode-sessions/providers.js +56 -5
  311. package/dist/react/use-opencode-sessions/providers.js.map +1 -1
  312. package/dist/react/use-opencode-sessions/shared.d.ts +23 -0
  313. package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -1
  314. package/dist/react/use-opencode-sessions/shared.js +31 -0
  315. package/dist/react/use-opencode-sessions/shared.js.map +1 -1
  316. package/dist/react/use-opencode-sessions/vcs.d.ts +28 -0
  317. package/dist/react/use-opencode-sessions/vcs.d.ts.map +1 -0
  318. package/dist/react/use-opencode-sessions/vcs.js +42 -0
  319. package/dist/react/use-opencode-sessions/vcs.js.map +1 -0
  320. package/dist/react/use-poll-owner.d.ts +14 -0
  321. package/dist/react/use-poll-owner.d.ts.map +1 -0
  322. package/dist/react/use-poll-owner.js +32 -0
  323. package/dist/react/use-poll-owner.js.map +1 -0
  324. package/dist/react/use-project-llm-gateway.d.ts +27 -0
  325. package/dist/react/use-project-llm-gateway.d.ts.map +1 -0
  326. package/dist/react/use-project-llm-gateway.js +41 -0
  327. package/dist/react/use-project-llm-gateway.js.map +1 -0
  328. package/dist/react/use-project-models.d.ts +9 -0
  329. package/dist/react/use-project-models.d.ts.map +1 -1
  330. package/dist/react/use-project-models.js +24 -1
  331. package/dist/react/use-project-models.js.map +1 -1
  332. package/dist/react/use-runtime-reconnect.d.ts +11 -0
  333. package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
  334. package/dist/react/use-runtime-reconnect.js +34 -3
  335. package/dist/react/use-runtime-reconnect.js.map +1 -1
  336. package/dist/react/use-session-prompts.d.ts +53 -3
  337. package/dist/react/use-session-prompts.d.ts.map +1 -1
  338. package/dist/react/use-session-prompts.js +133 -21
  339. package/dist/react/use-session-prompts.js.map +1 -1
  340. package/dist/react/use-session-send.d.ts +17 -0
  341. package/dist/react/use-session-send.d.ts.map +1 -1
  342. package/dist/react/use-session-send.js +54 -5
  343. package/dist/react/use-session-send.js.map +1 -1
  344. package/dist/react/use-session-start-give-up.d.ts +20 -0
  345. package/dist/react/use-session-start-give-up.d.ts.map +1 -0
  346. package/dist/react/use-session-start-give-up.js +60 -0
  347. package/dist/react/use-session-start-give-up.js.map +1 -0
  348. package/dist/react/use-session-sync.d.ts +35 -1
  349. package/dist/react/use-session-sync.d.ts.map +1 -1
  350. package/dist/react/use-session-sync.js +135 -53
  351. package/dist/react/use-session-sync.js.map +1 -1
  352. package/dist/react/use-session-working.d.ts +55 -0
  353. package/dist/react/use-session-working.d.ts.map +1 -1
  354. package/dist/react/use-session-working.js +114 -13
  355. package/dist/react/use-session-working.js.map +1 -1
  356. package/dist/react/use-session.d.ts +13 -13
  357. package/dist/react/use-session.d.ts.map +1 -1
  358. package/dist/react/use-session.js +74 -53
  359. package/dist/react/use-session.js.map +1 -1
  360. package/dist/react/use-static-file-preview.d.ts +12 -0
  361. package/dist/react/use-static-file-preview.d.ts.map +1 -0
  362. package/dist/react/use-static-file-preview.js +119 -0
  363. package/dist/react/use-static-file-preview.js.map +1 -0
  364. package/dist/react/use-wake-escalation.d.ts +51 -0
  365. package/dist/react/use-wake-escalation.d.ts.map +1 -0
  366. package/dist/react/use-wake-escalation.js +62 -0
  367. package/dist/react/use-wake-escalation.js.map +1 -0
  368. package/package.json +6 -4
  369. package/dist/browser/session-sync/session-transcript-cache.d.ts +0 -79
  370. package/dist/browser/session-sync/session-transcript-cache.d.ts.map +0 -1
  371. package/dist/browser/session-sync/session-transcript-cache.js +0 -91
  372. package/dist/browser/session-sync/session-transcript-cache.js.map +0 -1
  373. package/dist/core/rest/projects-client/public-voice-join.d.ts +0 -59
  374. package/dist/core/rest/projects-client/public-voice-join.d.ts.map +0 -1
  375. package/dist/core/rest/projects-client/public-voice-join.js +0 -64
  376. package/dist/core/rest/projects-client/public-voice-join.js.map +0 -1
  377. package/dist/core/rest/projects-client/transcription.d.ts +0 -5
  378. package/dist/core/rest/projects-client/transcription.d.ts.map +0 -1
  379. package/dist/core/rest/projects-client/transcription.js +0 -14
  380. package/dist/core/rest/projects-client/transcription.js.map +0 -1
@@ -3,8 +3,10 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
3
3
  import { useCallback } from 'react';
4
4
  import { createSessionPrompt, deleteSessionPrompt, holdSessionPrompts, listSessionPrompts, retrySessionPrompt, } from '../core/rest/projects-client/sessions.js';
5
5
  import { useSessionWorkingStore } from '../browser/stores/session-working-store.js';
6
- import { countLiveInboxPrompts } from '../core/session/working.js';
6
+ import { countLiveInboxPrompts, inboxObservationSupersedes } from '../core/session/working.js';
7
+ import { claimOpenBundle, openBundleQueue } from '../core/session/open-bundle.js';
7
8
  import { qk } from './query-keys.js';
9
+ import { usePollOwner } from './use-poll-owner.js';
8
10
  import { mintSessionWireMessageId } from './use-opencode-sessions/messages.js';
9
11
  /**
10
12
  * The session's SERVER-SIDE prompt inbox.
@@ -30,9 +32,21 @@ export const SESSION_PROMPTS_POLL_MS = 1_000;
30
32
  /** The floor for an EMPTY list. Slow enough to be free, fast enough that a
31
33
  * prompt handed back by the server appears while the user is still looking. */
32
34
  export const SESSION_PROMPTS_IDLE_POLL_MS = 15_000;
33
- /** The cadence for a list of `count` prompts. Pure, so the floor is testable. */
34
- export function sessionPromptsPollMs(count, pollMs) {
35
- return count > 0 ? (pollMs ?? SESSION_PROMPTS_POLL_MS) : SESSION_PROMPTS_IDLE_POLL_MS;
35
+ /**
36
+ * The cadence for a list of `count` prompts. Pure, so the floor is testable.
37
+ *
38
+ * `believedPending` is what this TAB thinks is in flight — the row
39
+ * `notePromptAccepted` recorded when `POST .../prompts` returned, before any
40
+ * list read could see it. It counts toward the cadence because the belief is an
41
+ * observation with a life (`INBOX_OBSERVATION_MAX_MS`) and only a list read
42
+ * refreshes it: a first read that landed before the row existed answered zero,
43
+ * locked the cadence to the 15s idle floor, and let a 10s belief die under a
44
+ * prompt that was still queued. The list length alone cannot close that hole,
45
+ * because at that instant the list is honestly empty.
46
+ */
47
+ export function sessionPromptsPollMs(count, pollMs, believedPending = 0) {
48
+ const live = Math.max(count, believedPending);
49
+ return live > 0 ? (pollMs ?? SESSION_PROMPTS_POLL_MS) : SESSION_PROMPTS_IDLE_POLL_MS;
36
50
  }
37
51
  /**
38
52
  * Feed one reading of the list into the working projection.
@@ -44,8 +58,36 @@ export function sessionPromptsPollMs(count, pollMs) {
44
58
  * — swapping Stop back to Send while the user's prompt was still queued. The
45
59
  * stamp is the instant the read was ISSUED, for the same reason `/turn`'s is.
46
60
  */
47
- export function noteInboxObservation(sessionId, prompts, atMs) {
48
- useSessionWorkingStore.getState().noteInboxPending(sessionId, countLiveInboxPrompts(prompts), atMs);
61
+ export function noteInboxObservation(sessionId, prompts, atMs, serverAtMs) {
62
+ useSessionWorkingStore
63
+ .getState()
64
+ .noteInboxPending(sessionId, countLiveInboxPrompts(prompts), atMs, serverAtMs);
65
+ }
66
+ /**
67
+ * Apply one server inbox snapshot to both projections, with one freshness rule.
68
+ *
69
+ * A direct read and the session stream can settle out of order. Updating the
70
+ * working projection through `noteInboxObservation` already rejected an older
71
+ * answer, but updating the React Query cache did not. That split let an old
72
+ * empty control frame hide a prompt that a newer POST/read had confirmed.
73
+ *
74
+ * `atMs` is this tab's clock (age); `serverAtMs` is the server's `observed_at`
75
+ * (ordering). Snapshots that both carry a server stamp rank on the server clock
76
+ * alone — `inboxObservationSupersedes` — so a read issued before a POST can
77
+ * never erase the row the POST confirmed, and a client clock ±10 minutes off
78
+ * changes nothing.
79
+ */
80
+ export function applyInboxObservation(sessionId, cached, prompts, atMs, serverAtMs) {
81
+ const current = useSessionWorkingStore.getState().inbox[sessionId];
82
+ const candidate = {
83
+ pending: countLiveInboxPrompts(prompts),
84
+ atMs,
85
+ ...(serverAtMs != null ? { serverAtMs } : {}),
86
+ };
87
+ if (!inboxObservationSupersedes(candidate, current))
88
+ return [...(cached ?? [])];
89
+ noteInboxObservation(sessionId, prompts, atMs, serverAtMs);
90
+ return reconcileOptimisticPrompts(cached, prompts);
49
91
  }
50
92
  // ============================================================================
51
93
  // Optimistic queue rows — Enter paints the row in the SAME frame
@@ -106,30 +148,91 @@ export function reconcileOptimisticPrompts(cached, server) {
106
148
  const pending = (cached ?? []).filter((p) => isOptimisticSessionPrompt(p) && !listed.has(p.client_message_id));
107
149
  return pending.length ? [...server, ...pending] : [...server];
108
150
  }
151
+ /**
152
+ * One read of a session's inbox — and the refusal that keeps a project-scoped
153
+ * URL from ever being built for a session that has no project.
154
+ *
155
+ * Not every session has one. A sub-session (the "Agent · general: …" panel
156
+ * `SubSessionModal` opens over the transcript) is a local OpenCode child:
157
+ * `SessionChat` renders it with a `sessionId` and nothing else — no project id,
158
+ * no project session id — and there is no server-side inbox to read. Both ids
159
+ * are then genuinely `undefined`, and `listSessionPrompts` interpolates them
160
+ * into its path as the literal text: `GET
161
+ * /projects/undefined/sessions/undefined/prompts` → 400 `Invalid session id`,
162
+ * which the host's `onError` sink turns into a red toast beside a sub-agent
163
+ * that is streaming perfectly.
164
+ *
165
+ * The hook's `enabled` flag does not stop it on its own. `enabled` governs
166
+ * react-query's SCHEDULING; `QueryObserver.refetch()` goes straight to
167
+ * `query.fetch()` with no `enabled` check, and `session-chat.tsx` refetches the
168
+ * inbox on every new user bubble — exactly what a streaming sub-agent produces.
169
+ * So the refusal belongs here, on the read itself.
170
+ *
171
+ * `cached` is this tab's current rows: with no project there is nothing to
172
+ * reconcile against, and the optimistic rows already on screen stay on screen.
173
+ */
174
+ export async function readSessionPromptsInbox(projectId, sessionId, cached) {
175
+ if (!projectId || !sessionId)
176
+ return [...(cached ?? [])];
177
+ // The SESSION-OPEN BUNDLE first. Two hooks mount this list on a session route
178
+ // and the open path reads it before either can, so the first reads of an open
179
+ // collapse onto one server answer. A claim only succeeds while a bundle is in
180
+ // flight or seconds old; every poll after it reads the endpoint.
181
+ const claimed = claimOpenBundle(projectId, sessionId);
182
+ if (claimed) {
183
+ const bundle = await claimed;
184
+ const bundled = bundle ? openBundleQueue(bundle) : null;
185
+ if (bundled) {
186
+ // TWO stamps, two clocks. Age is this tab's clock at receive time — the
187
+ // bundle's `observed_at` is the API's clock, and ageing it against
188
+ // browser `nowMs` let a ±10-minute skew expire the observation on
189
+ // arrival (composer flipped to Send over a queued prompt) or latch it.
190
+ // Ordering keeps the server's own stamp, ranked only against other
191
+ // server stamps.
192
+ const observedAtMs = Date.parse(bundle.observed_at);
193
+ return applyInboxObservation(sessionId, cached, bundled, Date.now(), Number.isFinite(observedAtMs) ? observedAtMs : undefined);
194
+ }
195
+ }
196
+ // Age stamped BEFORE the request, like `/turn`'s: an answer is only as fresh
197
+ // as the moment it was asked.
198
+ const atMs = Date.now();
199
+ const { prompts, observed_at } = await listSessionPrompts(projectId, sessionId);
200
+ const serverAtMs = observed_at ? Date.parse(observed_at) : Number.NaN;
201
+ // Keep this tab's not-yet-confirmed rows on screen across a poll that landed
202
+ // before their POST returned.
203
+ return applyInboxObservation(sessionId, cached, prompts, atMs, Number.isFinite(serverAtMs) ? serverAtMs : undefined);
204
+ }
109
205
  export function useSessionPrompts(projectId, sessionId, options) {
110
206
  const queryClient = useQueryClient();
111
207
  const enabled = options?.enabled !== false && !!projectId && !!sessionId;
112
208
  const key = qk.project.sessionPrompts(projectId ?? '', sessionId ?? '');
209
+ // What this tab believes is in flight, so the cadence keeps the belief the
210
+ // working projection stands on alive — see `sessionPromptsPollMs`.
211
+ const believedPending = useSessionWorkingStore((state) => (sessionId ? (state.inbox[sessionId]?.pending ?? 0) : 0));
212
+ const pollOwner = usePollOwner(`prompts:${projectId ?? ''}/${sessionId ?? ''}`, enabled);
113
213
  const query = useQuery({
114
214
  queryKey: key,
115
215
  enabled,
116
- queryFn: async () => {
117
- // Stamped BEFORE the request, like `/turn`'s: an answer is only as fresh
118
- // as the moment it was asked.
119
- const atMs = Date.now();
120
- const { prompts } = await listSessionPrompts(projectId, sessionId);
121
- noteInboxObservation(sessionId, prompts, atMs);
122
- // Keep this tab's not-yet-confirmed rows on screen across a poll that
123
- // landed before their POST returned.
124
- return reconcileOptimisticPrompts(queryClient.getQueryData(key), prompts);
125
- },
126
- // Two cadences, never `false` — see the note above.
127
- refetchInterval: (q) => sessionPromptsPollMs(q.state.data?.length ?? 0, options?.pollMs),
216
+ queryFn: () => readSessionPromptsInbox(projectId, sessionId, queryClient.getQueryData(key)),
217
+ // Two cadences, never `false` for the OWNER see the note above. The
218
+ // cadence is owned by one observer per session because `refetchInterval` is
219
+ // scheduled per observer, and two components mount this hook on a session
220
+ // route: two timers on one key polled the inbox at twice its cadence. Every
221
+ // observer still reads the entry the owner refreshes.
222
+ refetchInterval: (q) => pollOwner
223
+ ? sessionPromptsPollMs(q.state.data?.length ?? 0, options?.pollMs, believedPending)
224
+ : false,
128
225
  // Per-query, because the host disables focus refetching globally. Coming
129
226
  // back to a tab is the moment a prompt the server handed back while it was
130
227
  // hidden has to be on screen.
131
228
  refetchOnWindowFocus: true,
132
229
  });
230
+ // `enabled` governs react-query's SCHEDULING, not every path into the
231
+ // request: `QueryObserver.refetch()` calls `query.fetch()` with no `enabled`
232
+ // check at all. A session with no project must not fetch on either path, so
233
+ // the same gate is applied here (and again inside the read itself).
234
+ const queryRefetch = query.refetch;
235
+ const refetch = useCallback(() => (enabled ? queryRefetch() : Promise.resolve(undefined)), [enabled, queryRefetch]);
133
236
  const invalidate = useCallback(() => queryClient.invalidateQueries({ queryKey: key }),
134
237
  // eslint-disable-next-line react-hooks/exhaustive-deps
135
238
  [queryClient, projectId, sessionId]);
@@ -151,7 +254,13 @@ export function useSessionPrompts(projectId, sessionId, options) {
151
254
  mutationFn: async (input) => {
152
255
  const result = await createSessionPrompt(projectId, sessionId, input);
153
256
  if (result.state !== 'failed') {
154
- useSessionWorkingStore.getState().notePromptAccepted(sessionId, Date.now());
257
+ // The response's `observed_at` is the write's place on the SERVER
258
+ // clock — what bars a queue read issued before this POST from erasing
259
+ // the row after it settles.
260
+ const serverAtMs = result.observed_at ? Date.parse(result.observed_at) : Number.NaN;
261
+ useSessionWorkingStore
262
+ .getState()
263
+ .notePromptAccepted(sessionId, Date.now(), Number.isFinite(serverAtMs) ? serverAtMs : undefined);
155
264
  }
156
265
  return result;
157
266
  },
@@ -191,7 +300,7 @@ export function useSessionPrompts(projectId, sessionId, options) {
191
300
  remove: removeMutation.mutateAsync,
192
301
  retry: retryMutation.mutateAsync,
193
302
  hold: holdMutation.mutateAsync,
194
- refetch: query.refetch,
303
+ refetch,
195
304
  };
196
305
  }
197
306
  /**
@@ -237,8 +346,11 @@ export async function startSessionWithPrompt(projectId, sessionId, input, adapte
237
346
  throw new Error('This prompt was refused — its earlier delivery already failed.');
238
347
  }
239
348
  const acceptedAt = now();
349
+ const serverAtMs = result.observed_at ? Date.parse(result.observed_at) : Number.NaN;
240
350
  useSessionWorkingStore.getState().acceptSendReceipt(sessionId, clientMessageId, acceptedAt);
241
- useSessionWorkingStore.getState().notePromptAccepted(sessionId, acceptedAt);
351
+ useSessionWorkingStore
352
+ .getState()
353
+ .notePromptAccepted(sessionId, acceptedAt, Number.isFinite(serverAtMs) ? serverAtMs : undefined);
242
354
  return result;
243
355
  }
244
356
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-session-prompts.js","sourceRoot":"","sources":["../../src/react/use-session-prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-session-prompts.js","sourceRoot":"","sources":["../../src/react/use-session-prompts.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,23 @@ export interface SendRecoveryOptions {
81
81
  * apps/web's `ProviderModelNotFoundError` special-casing) injects its own
82
82
  * classifier that wraps it. */
83
83
  classify?: (error: unknown) => KortixSendError;
84
+ /**
85
+ * Does the durable prompt inbox already hold this send?
86
+ *
87
+ * A prompt that goes to `POST .../prompts` becomes a CONTROL-PLANE row
88
+ * waiting for admission. It is not in OpenCode's transcript and will not be
89
+ * until the gate delivers it — so the message rehydrate below, which asks the
90
+ * RUNTIME, always answers "no such message" for one. Acting on that answer
91
+ * deleted the user's bubble while the row it could not see was already
92
+ * running: reported from a live self-host as "it queues the message and
93
+ * starts running it, but doesn't show in the frontend".
94
+ *
95
+ * The POST carries a `clientMessageId`, so this ambiguity is resolvable
96
+ * rather than guessable. Provide this for an inbox-backed send and the
97
+ * recovery asks the right authority. A lookup that throws keeps the bubble:
98
+ * not knowing is not evidence of loss.
99
+ */
100
+ inboxRowExists?: () => Promise<boolean>;
84
101
  }
85
102
  /**
86
103
  * A send reached the network and failed (or the network dispatch itself
@@ -1 +1 @@
1
- {"version":3,"file":"use-session-send.d.ts","sourceRoot":"","sources":["../../src/react/use-session-send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-session-send.d.ts","sourceRoot":"","sources":["../../src/react/use-session-send.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,30 @@ export function recoverFromSendFailure(sessionId, messageId, error, options = {}
127
127
  // NAMED: a slow failure must not drop the receipt of a send submitted after
128
128
  // it whose POST is still on the wire. See `clearSendReceipt`.
129
129
  useSessionWorkingStore.getState().clearSendReceipt(sessionId, messageId);
130
+ // The inbox is the authority for an inbox-backed send, and it outranks
131
+ // everything below: a row the control plane holds means the prompt was NOT
132
+ // lost, however the response to this tab ended.
133
+ if (options.inboxRowExists) {
134
+ void options
135
+ .inboxRowExists()
136
+ .then((exists) => {
137
+ if (!exists) {
138
+ useSyncStore.getState().optimisticRemove(sessionId, messageId);
139
+ return;
140
+ }
141
+ // The send succeeded after all. Put the receipt back so the composer
142
+ // keeps saying so until `GET .../turn` reports the turn the inbox
143
+ // admits, exactly as a clean send would have.
144
+ useSessionWorkingStore
145
+ .getState()
146
+ .noteSendReceipt(sessionId, { messageId, atMs: Date.now() });
147
+ })
148
+ .catch(() => {
149
+ // Unreachable inbox: the prompt's fate is unknown, and an unknown fate
150
+ // is not a deletion. The bubble stays; the inbox poll reconciles it.
151
+ });
152
+ return classified;
153
+ }
130
154
  let client;
131
155
  try {
132
156
  client = resolveClient();
@@ -218,7 +242,20 @@ export function applyOptimisticAbort(sessionId) {
218
242
  return;
219
243
  for (let i = msgs.length - 1; i >= 0; i--) {
220
244
  const msg = msgs[i];
221
- if (msg.role === 'assistant' && !msg.error) {
245
+ if (msg.role !== 'assistant')
246
+ continue;
247
+ // STOP at the newest assistant message, whatever state it is in. The abort
248
+ // belongs to the turn the user just stopped, and that is the last one.
249
+ //
250
+ // This used to be `msg.role === 'assistant' && !msg.error`, which SKIPPED
251
+ // an already-errored newest message and kept walking — so stopping a turn
252
+ // whose assistant message already carried an error (an earlier interrupt,
253
+ // or a turn that failed) stamped "Interrupted" onto a COMPLETED turn
254
+ // further up the transcript. The marker appeared detached, above the turn
255
+ // it belonged to, instead of at the end of it.
256
+ if (msg.error)
257
+ break;
258
+ {
222
259
  // Typed as the wider `MessageError` (not just the literal shape below)
223
260
  // so the assertion further down overlaps with `AssistantMessage.error`'s
224
261
  // real union — see `MessageError` in the sync store.
@@ -426,10 +463,22 @@ export async function stopWithReceipt(sessionId, runAbort, options = {}) {
426
463
  ]);
427
464
  }
428
465
  const settlement = awaitAbortSettlement(runAbort);
429
- // `awaitAbortSettlement` never rejects — it resolves with how the abort ended
430
- // (acknowledged, failed, or timed out). Any of those is the instant from
431
- // which a server read can see the abort's effect, or fail to.
432
- void settlement.then(() => useSessionWorkingStore.getState().settleAbortReceipt(workingSessionId, Date.now()));
466
+ // `awaitAbortSettlement` never rejects — it resolves with how the abort ended:
467
+ // acknowledged, failed, or TIMED OUT. Only the first two are answers.
468
+ //
469
+ // `settledAtMs` means "the instant from which a server read can see this
470
+ // abort's effect", and a timeout is precisely the case where nobody said that.
471
+ // Settling on it wrote 5s of clock into an evidence field: `abortFloor` in
472
+ // `projectWorking` dropped from Infinity to a real instant, the next `/turn`
473
+ // read — issued while the cancel was still in flight, `abortOpenCodeSession`
474
+ // retries twice — cleared it, and the Stop button came back mid-cancel. The
475
+ // receipt is left unsettled instead and `OPTIMISTIC_ABORT_MAX_MS` bounds it,
476
+ // which is the bound that exists for exactly this case.
477
+ void settlement.then((result) => {
478
+ if (result?.status === 'timed-out')
479
+ return;
480
+ useSessionWorkingStore.getState().settleAbortReceipt(workingSessionId, Date.now());
481
+ });
433
482
  return settlement;
434
483
  }
435
484
  export function useSessionSend(sessionId, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-session-send.js","sourceRoot":"","sources":["../../src/react/use-session-send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-session-send.js","sourceRoot":"","sources":["../../src/react/use-session-send.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SessionStartResult } from '../core/rest/projects-client/index.js';
2
+ export declare const START_INCONCLUSIVE_GIVE_UP_MS = 45000;
3
+ export declare function hasStartGivenUp(data: SessionStartResult | null | undefined, error: unknown, inconclusiveSinceMs: number | null, nowMs: number, budgetMs?: number): boolean;
4
+ export declare function nextInconclusiveSince(input: {
5
+ current: number | null;
6
+ enabled: boolean;
7
+ hasData: boolean;
8
+ hasError: boolean;
9
+ isFetching: boolean;
10
+ nowMs: number;
11
+ }): number | null;
12
+ export declare function useSessionStartGiveUp(input: {
13
+ identity: string;
14
+ enabled: boolean;
15
+ hasData: boolean;
16
+ hasError: boolean;
17
+ isFetching: boolean;
18
+ budgetMs?: number;
19
+ }): boolean;
20
+ //# sourceMappingURL=use-session-start-give-up.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-session-start-give-up.d.ts","sourceRoot":"","sources":["../../src/react/use-session-start-give-up.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAapD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,EAAE,OAAO,EACd,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,KAAK,EAAE,MAAM,EACb,QAAQ,SAAgC,GACvC,OAAO,CAQT;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CA2DV"}
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { startGiveUpExpiryAtMs } from './session-start-giveup.js';
4
+ export const START_INCONCLUSIVE_GIVE_UP_MS = 45_000;
5
+ function hasInconclusiveStartGivenUp(hasData, hasError, inconclusiveSinceMs, nowMs, budgetMs) {
6
+ if (hasData || hasError)
7
+ return false;
8
+ return inconclusiveSinceMs !== null && nowMs - inconclusiveSinceMs >= budgetMs;
9
+ }
10
+ export function hasStartGivenUp(data, error, inconclusiveSinceMs, nowMs, budgetMs = START_INCONCLUSIVE_GIVE_UP_MS) {
11
+ return hasInconclusiveStartGivenUp(!!data, !!error, inconclusiveSinceMs, nowMs, budgetMs);
12
+ }
13
+ export function nextInconclusiveSince(input) {
14
+ if (!input.enabled)
15
+ return null;
16
+ if (input.hasData || input.hasError)
17
+ return null;
18
+ return input.current ?? input.nowMs;
19
+ }
20
+ export function useSessionStartGiveUp(input) {
21
+ const budgetMs = input.budgetMs ?? START_INCONCLUSIVE_GIVE_UP_MS;
22
+ const inconclusiveSinceRef = useRef(null);
23
+ const [givenUp, setGivenUp] = useState(false);
24
+ useEffect(() => {
25
+ inconclusiveSinceRef.current = null;
26
+ setGivenUp(false);
27
+ }, [input.identity]);
28
+ useEffect(() => {
29
+ const nowMs = Date.now();
30
+ inconclusiveSinceRef.current = nextInconclusiveSince({
31
+ current: inconclusiveSinceRef.current,
32
+ enabled: input.enabled,
33
+ hasData: input.hasData,
34
+ hasError: input.hasError,
35
+ isFetching: input.isFetching,
36
+ nowMs,
37
+ });
38
+ setGivenUp(hasInconclusiveStartGivenUp(input.hasData, input.hasError, inconclusiveSinceRef.current, nowMs, budgetMs));
39
+ const expiryAtMs = startGiveUpExpiryAtMs({
40
+ inconclusiveSinceMs: inconclusiveSinceRef.current,
41
+ budgetMs,
42
+ });
43
+ if (expiryAtMs === null)
44
+ return;
45
+ const timer = setTimeout(() => {
46
+ const fireNowMs = Date.now();
47
+ setGivenUp(hasInconclusiveStartGivenUp(input.hasData, input.hasError, inconclusiveSinceRef.current, fireNowMs, budgetMs));
48
+ }, Math.max(0, expiryAtMs - Date.now()) + 1);
49
+ return () => clearTimeout(timer);
50
+ }, [
51
+ input.identity,
52
+ input.enabled,
53
+ input.hasData,
54
+ input.hasError,
55
+ input.isFetching,
56
+ budgetMs,
57
+ ]);
58
+ return givenUp;
59
+ }
60
+ //# sourceMappingURL=use-session-start-give-up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-session-start-give-up.js","sourceRoot":"","sources":["../../src/react/use-session-start-give-up.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,23 @@ interface UseSessionSyncOptions {
32
32
  * slot decides, as before.
33
33
  */
34
34
  working?: boolean;
35
+ /**
36
+ * The control plane is holding a turn open for this session
37
+ * (`useSessionWorking().serverOpenTurnToken !== null`), even when the
38
+ * projection's ANSWER is idle.
39
+ *
40
+ * This is the poll's escape from a chicken-and-egg the projection alone
41
+ * cannot break: a stale wire idle frame (a dead SSE stream's last word)
42
+ * vetoes the server's open turn row, the projection answers idle, and
43
+ * `working: false` switches off the very tail read whose evidence — the
44
+ * runtime still producing output — would prove the veto wrong. Keeping the
45
+ * poll on while the server holds a turn open lets that evidence arrive
46
+ * (`hydrate` stamps `sessionActivityAt` when a runtime read shows the
47
+ * transcript moved mid-turn), and the projection's content-first rule does
48
+ * the rest. Costs one bounded tail read per interval, only while the
49
+ * disagreement lasts; never touches the public `isBusy`.
50
+ */
51
+ serverHoldsTurn?: boolean;
35
52
  }
36
53
  /**
37
54
  * Is this session working, as far as THIS hook can answer?
@@ -51,14 +68,31 @@ export declare function sessionSyncBusy(input: {
51
68
  */
52
69
  export declare function livenessBusy(input: {
53
70
  networkEnabled: boolean;
54
- runtimeHealthy: boolean;
71
+ /**
72
+ * Read, and deliberately IGNORED. Retained because this object is a
73
+ * published parameter shape.
74
+ *
75
+ * It used to gate the poll, which inverted the whole point of having one:
76
+ * the repair for a broken stream was switched off by the health probe, and
77
+ * the health probe is the signal that flaps. A loaded box that misses its
78
+ * probe deadline mid-turn lost its transcript repair at the exact moment it
79
+ * needed it, for as long as the probe kept missing. If the box truly is
80
+ * unreachable the tail read fails on its own — bounded by the controller's
81
+ * deadline — at a cost of one request per interval.
82
+ */
83
+ runtimeHealthy?: boolean;
55
84
  working: boolean | undefined;
56
85
  streamBusy: boolean;
86
+ /** See {@link UseSessionSyncOptions.serverHoldsTurn}: the control plane still
87
+ * holds a turn open, which keeps the verification poll on even when the
88
+ * projection answers idle (a stale wire idle frame can veto the row). */
89
+ serverHoldsTurn?: boolean;
57
90
  }): boolean;
58
91
  export declare function useSessionSync(sessionId: string, options?: UseSessionSyncOptions): {
59
92
  messages: import("../internal/sync-store.js").MessageWithParts[];
60
93
  status: SessionStatus;
61
94
  freshness: import("../core/session-sync/session-sync-controller.js").SessionSyncFreshness;
95
+ retryTranscript: () => void;
62
96
  isBusy: boolean;
63
97
  isLoading: boolean;
64
98
  hasOlder: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-session-sync.d.ts","sourceRoot":"","sources":["../../src/react/use-session-sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAQtE,OAAO,EAEL,wBAAwB,EACxB,6BAA6B,EAG9B,MAAM,+CAA+C,CAAC;AAYvD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,CAAC;AAEnE,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,4BAA4B,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;;GAGG;AACH,UAAU,qBAAqB;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAGV;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;;;;;;;;;;;EAuKpF"}
1
+ {"version":3,"file":"use-session-sync.d.ts","sourceRoot":"","sources":["../../src/react/use-session-sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAQtE,OAAO,EAEL,wBAAwB,EACxB,6BAA6B,EAG9B,MAAM,+CAA+C,CAAC;AAavD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,CAAC;AASnE,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,4BAA4B,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;;GAGG;AACH,UAAU,qBAAqB;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB;;8EAE0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAGV;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;;;;;;;;;;;;EAkPpF"}