@kortix/sdk 0.10.16 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +17 -2
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +3 -0
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-sync-registry.js +31 -2
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  6. package/dist/core/acp/client.d.ts +45 -0
  7. package/dist/core/acp/client.d.ts.map +1 -0
  8. package/dist/core/acp/client.js +277 -0
  9. package/dist/core/acp/client.js.map +1 -0
  10. package/dist/core/acp/index.d.ts +5 -0
  11. package/dist/core/acp/index.d.ts.map +1 -0
  12. package/dist/core/acp/index.js +5 -0
  13. package/dist/core/acp/index.js.map +1 -0
  14. package/dist/core/acp/projection.d.ts +23 -0
  15. package/dist/core/acp/projection.d.ts.map +1 -0
  16. package/dist/core/acp/projection.js +603 -0
  17. package/dist/core/acp/projection.js.map +1 -0
  18. package/dist/core/acp/session-controller.d.ts +90 -0
  19. package/dist/core/acp/session-controller.d.ts.map +1 -0
  20. package/dist/core/acp/session-controller.js +530 -0
  21. package/dist/core/acp/session-controller.js.map +1 -0
  22. package/dist/core/acp/types.d.ts +66 -0
  23. package/dist/core/acp/types.d.ts.map +1 -0
  24. package/dist/core/acp/types.js +21 -0
  25. package/dist/core/acp/types.js.map +1 -0
  26. package/dist/core/client/kortix.d.ts +141 -14
  27. package/dist/core/client/kortix.d.ts.map +1 -1
  28. package/dist/core/client/kortix.js +40 -7
  29. package/dist/core/client/kortix.js.map +1 -1
  30. package/dist/core/http/api-client.d.ts.map +1 -1
  31. package/dist/core/http/api-client.js +48 -68
  32. package/dist/core/http/api-client.js.map +1 -1
  33. package/dist/core/rest/platform-client/host-boundary.d.ts +114 -0
  34. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -0
  35. package/dist/core/rest/platform-client/host-boundary.js +229 -0
  36. package/dist/core/rest/platform-client/host-boundary.js.map +1 -0
  37. package/dist/core/rest/platform-client/index.d.ts +1 -0
  38. package/dist/core/rest/platform-client/index.d.ts.map +1 -1
  39. package/dist/core/rest/platform-client/index.js +1 -0
  40. package/dist/core/rest/platform-client/index.js.map +1 -1
  41. package/dist/core/rest/projects-client/account-lifecycle.d.ts +22 -0
  42. package/dist/core/rest/projects-client/account-lifecycle.d.ts.map +1 -0
  43. package/dist/core/rest/projects-client/account-lifecycle.js +26 -0
  44. package/dist/core/rest/projects-client/account-lifecycle.js.map +1 -0
  45. package/dist/core/rest/projects-client/admin-providers.d.ts +10 -0
  46. package/dist/core/rest/projects-client/admin-providers.d.ts.map +1 -0
  47. package/dist/core/rest/projects-client/admin-providers.js +34 -0
  48. package/dist/core/rest/projects-client/admin-providers.js.map +1 -0
  49. package/dist/core/rest/projects-client/agent-config.d.ts +7 -0
  50. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  51. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  52. package/dist/core/rest/projects-client/billing.d.ts +89 -0
  53. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  54. package/dist/core/rest/projects-client/billing.js +43 -0
  55. package/dist/core/rest/projects-client/billing.js.map +1 -1
  56. package/dist/core/rest/projects-client/channels.d.ts +8 -27
  57. package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
  58. package/dist/core/rest/projects-client/channels.js +12 -23
  59. package/dist/core/rest/projects-client/channels.js.map +1 -1
  60. package/dist/core/rest/projects-client/connectors.d.ts +162 -13
  61. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  62. package/dist/core/rest/projects-client/connectors.js +64 -2
  63. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  64. package/dist/core/rest/projects-client/gateway.d.ts +1 -0
  65. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
  66. package/dist/core/rest/projects-client/gateway.js.map +1 -1
  67. package/dist/core/rest/projects-client/iam.d.ts +492 -0
  68. package/dist/core/rest/projects-client/iam.d.ts.map +1 -0
  69. package/dist/core/rest/projects-client/iam.js +287 -0
  70. package/dist/core/rest/projects-client/iam.js.map +1 -0
  71. package/dist/core/rest/projects-client/index.d.ts +6 -0
  72. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  73. package/dist/core/rest/projects-client/index.js +6 -0
  74. package/dist/core/rest/projects-client/index.js.map +1 -1
  75. package/dist/core/rest/projects-client/marketplace-catalog.d.ts +9 -2
  76. package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -1
  77. package/dist/core/rest/projects-client/marketplace-catalog.js +7 -0
  78. package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -1
  79. package/dist/core/rest/projects-client/presentations.d.ts +12 -0
  80. package/dist/core/rest/projects-client/presentations.d.ts.map +1 -0
  81. package/dist/core/rest/projects-client/presentations.js +9 -0
  82. package/dist/core/rest/projects-client/presentations.js.map +1 -0
  83. package/dist/core/rest/projects-client/projects.d.ts +55 -10
  84. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  85. package/dist/core/rest/projects-client/projects.js +14 -7
  86. package/dist/core/rest/projects-client/projects.js.map +1 -1
  87. package/dist/core/rest/projects-client/public-voice-join.d.ts +59 -0
  88. package/dist/core/rest/projects-client/public-voice-join.d.ts.map +1 -0
  89. package/dist/core/rest/projects-client/public-voice-join.js +64 -0
  90. package/dist/core/rest/projects-client/public-voice-join.js.map +1 -0
  91. package/dist/core/rest/projects-client/referrals.d.ts +53 -0
  92. package/dist/core/rest/projects-client/referrals.d.ts.map +1 -0
  93. package/dist/core/rest/projects-client/referrals.js +27 -0
  94. package/dist/core/rest/projects-client/referrals.js.map +1 -0
  95. package/dist/core/rest/projects-client/session-sandbox.d.ts +2 -0
  96. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  97. package/dist/core/rest/projects-client/session-sandbox.js +10 -0
  98. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  99. package/dist/core/rest/projects-client/sessions.d.ts +89 -0
  100. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  101. package/dist/core/rest/projects-client/sessions.js +49 -1
  102. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  103. package/dist/core/session/index.d.ts +2 -0
  104. package/dist/core/session/index.d.ts.map +1 -1
  105. package/dist/core/session/index.js +2 -0
  106. package/dist/core/session/index.js.map +1 -1
  107. package/dist/core/session/presentation.d.ts +12 -0
  108. package/dist/core/session/presentation.d.ts.map +1 -0
  109. package/dist/core/session/presentation.js +70 -0
  110. package/dist/core/session/presentation.js.map +1 -0
  111. package/dist/core/session/rewind.d.ts +18 -0
  112. package/dist/core/session/rewind.d.ts.map +1 -0
  113. package/dist/core/session/rewind.js +17 -0
  114. package/dist/core/session/rewind.js.map +1 -0
  115. package/dist/core/session/runtime-transport.d.ts +16 -0
  116. package/dist/core/session/runtime-transport.d.ts.map +1 -0
  117. package/dist/core/session/runtime-transport.js +30 -0
  118. package/dist/core/session/runtime-transport.js.map +1 -0
  119. package/dist/core/session/url.d.ts +43 -0
  120. package/dist/core/session/url.d.ts.map +1 -1
  121. package/dist/core/session/url.js +81 -0
  122. package/dist/core/session/url.js.map +1 -1
  123. package/dist/core/session-sync/session-sync-controller.d.ts +28 -0
  124. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  125. package/dist/core/session-sync/session-sync-controller.js +127 -4
  126. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  127. package/dist/core/stream/fetch-sse.d.ts +23 -0
  128. package/dist/core/stream/fetch-sse.d.ts.map +1 -0
  129. package/dist/core/stream/fetch-sse.js +119 -0
  130. package/dist/core/stream/fetch-sse.js.map +1 -0
  131. package/dist/core/turns/state.d.ts.map +1 -1
  132. package/dist/core/turns/state.js +11 -4
  133. package/dist/core/turns/state.js.map +1 -1
  134. package/dist/core/turns/types.d.ts +6 -0
  135. package/dist/core/turns/types.d.ts.map +1 -1
  136. package/dist/index.d.ts +6 -1
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +6 -1
  139. package/dist/index.js.map +1 -1
  140. package/dist/kortix.esm.min.js +24 -16
  141. package/dist/kortix.global.js +24 -16
  142. package/dist/node/server.d.ts +14 -0
  143. package/dist/node/server.d.ts.map +1 -1
  144. package/dist/node/server.js +42 -0
  145. package/dist/node/server.js.map +1 -1
  146. package/dist/platform/auth-core.d.ts +3 -5
  147. package/dist/platform/auth-core.d.ts.map +1 -1
  148. package/dist/platform/auth-core.js +4 -6
  149. package/dist/platform/auth-core.js.map +1 -1
  150. package/dist/react/agent-selection-scope.d.ts +8 -0
  151. package/dist/react/agent-selection-scope.d.ts.map +1 -0
  152. package/dist/react/agent-selection-scope.js +4 -0
  153. package/dist/react/agent-selection-scope.js.map +1 -0
  154. package/dist/react/index.d.ts +13 -0
  155. package/dist/react/index.d.ts.map +1 -1
  156. package/dist/react/index.js +13 -0
  157. package/dist/react/index.js.map +1 -1
  158. package/dist/react/initial-session-pin.d.ts +8 -0
  159. package/dist/react/initial-session-pin.d.ts.map +1 -0
  160. package/dist/react/initial-session-pin.js +4 -0
  161. package/dist/react/initial-session-pin.js.map +1 -0
  162. package/dist/react/opencode.d.ts +25 -2
  163. package/dist/react/opencode.d.ts.map +1 -1
  164. package/dist/react/opencode.js +24 -1
  165. package/dist/react/opencode.js.map +1 -1
  166. package/dist/react/provider-selection.d.ts +1 -0
  167. package/dist/react/provider-selection.d.ts.map +1 -1
  168. package/dist/react/provider-selection.js +22 -0
  169. package/dist/react/provider-selection.js.map +1 -1
  170. package/dist/react/run-pty-command.d.ts +5 -0
  171. package/dist/react/run-pty-command.d.ts.map +1 -0
  172. package/dist/react/run-pty-command.js +42 -0
  173. package/dist/react/run-pty-command.js.map +1 -0
  174. package/dist/react/runtime-actions.d.ts +51 -0
  175. package/dist/react/runtime-actions.d.ts.map +1 -0
  176. package/dist/react/runtime-actions.js +105 -0
  177. package/dist/react/runtime-actions.js.map +1 -0
  178. package/dist/react/session-agent-name-guard.d.ts +16 -0
  179. package/dist/react/session-agent-name-guard.d.ts.map +1 -0
  180. package/dist/react/session-agent-name-guard.js +22 -0
  181. package/dist/react/session-agent-name-guard.js.map +1 -0
  182. package/dist/react/session-busy.d.ts +8 -0
  183. package/dist/react/session-busy.d.ts.map +1 -0
  184. package/dist/react/session-busy.js +4 -0
  185. package/dist/react/session-busy.js.map +1 -0
  186. package/dist/react/session-title-sync.d.ts +19 -0
  187. package/dist/react/session-title-sync.d.ts.map +1 -0
  188. package/dist/react/session-title-sync.js +81 -0
  189. package/dist/react/session-title-sync.js.map +1 -0
  190. package/dist/react/use-acp-session-runtime.d.ts +34 -0
  191. package/dist/react/use-acp-session-runtime.d.ts.map +1 -0
  192. package/dist/react/use-acp-session-runtime.js +84 -0
  193. package/dist/react/use-acp-session-runtime.js.map +1 -0
  194. package/dist/react/use-admin-accounts.d.ts +122 -0
  195. package/dist/react/use-admin-accounts.d.ts.map +1 -0
  196. package/dist/react/use-admin-accounts.js +146 -0
  197. package/dist/react/use-admin-accounts.js.map +1 -0
  198. package/dist/react/use-admin-analytics.d.ts +332 -0
  199. package/dist/react/use-admin-analytics.d.ts.map +1 -0
  200. package/dist/react/use-admin-analytics.js +518 -0
  201. package/dist/react/use-admin-analytics.js.map +1 -0
  202. package/dist/react/use-admin-billing.d.ts +27 -0
  203. package/dist/react/use-admin-billing.d.ts.map +1 -0
  204. package/dist/react/use-admin-billing.js +61 -0
  205. package/dist/react/use-admin-billing.js.map +1 -0
  206. package/dist/react/use-admin-feedback.d.ts +119 -0
  207. package/dist/react/use-admin-feedback.d.ts.map +1 -0
  208. package/dist/react/use-admin-feedback.js +148 -0
  209. package/dist/react/use-admin-feedback.js.map +1 -0
  210. package/dist/react/use-admin-sandboxes.d.ts +157 -0
  211. package/dist/react/use-admin-sandboxes.d.ts.map +1 -0
  212. package/dist/react/use-admin-sandboxes.js +145 -0
  213. package/dist/react/use-admin-sandboxes.js.map +1 -0
  214. package/dist/react/use-admin-users.d.ts +98 -0
  215. package/dist/react/use-admin-users.d.ts.map +1 -0
  216. package/dist/react/use-admin-users.js +121 -0
  217. package/dist/react/use-admin-users.js.map +1 -0
  218. package/dist/react/use-authenticated-preview-url.d.ts +24 -0
  219. package/dist/react/use-authenticated-preview-url.d.ts.map +1 -0
  220. package/dist/react/use-authenticated-preview-url.js +137 -0
  221. package/dist/react/use-authenticated-preview-url.js.map +1 -0
  222. package/dist/react/use-canonical-opencode-session.d.ts +4 -0
  223. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  224. package/dist/react/use-canonical-opencode-session.js +9 -4
  225. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  226. package/dist/react/use-model-defaults.d.ts +22 -0
  227. package/dist/react/use-model-defaults.d.ts.map +1 -0
  228. package/dist/react/use-model-defaults.js +104 -0
  229. package/dist/react/use-model-defaults.js.map +1 -0
  230. package/dist/react/use-model-store.d.ts.map +1 -1
  231. package/dist/react/use-model-store.js +11 -0
  232. package/dist/react/use-model-store.js.map +1 -1
  233. package/dist/react/use-opencode-events/index.d.ts +3 -1
  234. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  235. package/dist/react/use-opencode-events/index.js +6 -2
  236. package/dist/react/use-opencode-events/index.js.map +1 -1
  237. package/dist/react/use-opencode-local.d.ts.map +1 -1
  238. package/dist/react/use-opencode-local.js +10 -1
  239. package/dist/react/use-opencode-local.js.map +1 -1
  240. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
  241. package/dist/react/use-opencode-sessions/agents.js +5 -3
  242. package/dist/react/use-opencode-sessions/agents.js.map +1 -1
  243. package/dist/react/use-opencode-sessions/commands.d.ts +7 -2
  244. package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
  245. package/dist/react/use-opencode-sessions/commands.js +13 -9
  246. package/dist/react/use-opencode-sessions/commands.js.map +1 -1
  247. package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +6 -0
  248. package/dist/react/use-opencode-sessions/provider-load-plan.d.ts.map +1 -0
  249. package/dist/react/use-opencode-sessions/provider-load-plan.js +4 -0
  250. package/dist/react/use-opencode-sessions/provider-load-plan.js.map +1 -0
  251. package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
  252. package/dist/react/use-opencode-sessions/providers.js +39 -27
  253. package/dist/react/use-opencode-sessions/providers.js.map +1 -1
  254. package/dist/react/use-opencode-sessions/sessions.d.ts +1 -1
  255. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
  256. package/dist/react/use-opencode-sessions/sessions.js +2 -2
  257. package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
  258. package/dist/react/use-ops-overview.d.ts +64 -0
  259. package/dist/react/use-ops-overview.d.ts.map +1 -0
  260. package/dist/react/use-ops-overview.js +16 -0
  261. package/dist/react/use-ops-overview.js.map +1 -0
  262. package/dist/react/use-session-model-selection.d.ts +15 -0
  263. package/dist/react/use-session-model-selection.d.ts.map +1 -0
  264. package/dist/react/use-session-model-selection.js +27 -0
  265. package/dist/react/use-session-model-selection.js.map +1 -0
  266. package/dist/react/use-session-sync.d.ts.map +1 -1
  267. package/dist/react/use-session-sync.js +3 -1
  268. package/dist/react/use-session-sync.js.map +1 -1
  269. package/dist/react/use-session.d.ts +78 -4
  270. package/dist/react/use-session.d.ts.map +1 -1
  271. package/dist/react/use-session.js +329 -34
  272. package/dist/react/use-session.js.map +1 -1
  273. package/dist/react/use-system-status.d.ts +39 -0
  274. package/dist/react/use-system-status.d.ts.map +1 -0
  275. package/dist/react/use-system-status.js +68 -0
  276. package/dist/react/use-system-status.js.map +1 -0
  277. package/dist/react/use-teams-installations.d.ts +36 -0
  278. package/dist/react/use-teams-installations.d.ts.map +1 -0
  279. package/dist/react/use-teams-installations.js +94 -0
  280. package/dist/react/use-teams-installations.js.map +1 -0
  281. package/dist/react/use-tunnel.d.ts +120 -0
  282. package/dist/react/use-tunnel.d.ts.map +1 -0
  283. package/dist/react/use-tunnel.js +268 -0
  284. package/dist/react/use-tunnel.js.map +1 -0
  285. package/package.json +2 -2
@@ -17,12 +17,17 @@
17
17
  * Call this ONCE per session view (like a provider): it owns the SSE subscription
18
18
  * and the `/start` poll for `(projectId, sessionId)`.
19
19
  */
20
- import { useQuery } from '@tanstack/react-query';
20
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
21
21
  import { useEffect, useMemo, useRef, useState } from 'react';
22
- import { RuntimeNotReadyError } from '../core/runtime/client.js';
22
+ import { getClient, RuntimeNotReadyError } from '../core/runtime/client.js';
23
+ import { commitSessionRewind, messagesBeforeRewind, reconcileCommittedSessionRewind, } from '../core/session/rewind.js';
24
+ import { createSessionRuntimePolicy, } from '../core/session/runtime-transport.js';
25
+ import { useOpenCodeCompactionStore } from '../browser/stores/opencode-compaction-store.js';
23
26
  import { useOpenCodePendingStore } from '../browser/stores/opencode-pending-store.js';
24
- import { setOpenCodeHealth, setSandboxStatus, } from '../browser/stores/sandbox-connection-store.js';
27
+ import { setOpenCodeHealth, setSandboxStatus } from '../browser/stores/sandbox-connection-store.js';
25
28
  import { getSandboxUrlForExternalId } from '../browser/stores/server-store.js';
29
+ import { useSyncStore } from '../browser/stores/sync-store.js';
30
+ import { beginSessionPromptObservation, endSessionPromptObservation, } from '../browser/session-sync/session-sync-registry.js';
26
31
  import { setCurrentRuntime } from '../core/session/current-runtime.js';
27
32
  import { isSessionStartError, sessionStartKey, startProjectSession, } from '../core/rest/projects-client/index.js';
28
33
  import { isSessionFresh } from '../core/http/fresh-sessions.js';
@@ -30,16 +35,22 @@ import { BillingError, parseBillingError } from '../core/http/api/errors.js';
30
35
  import { formatOpenCodeRuntimeError } from '../core/http/opencode-errors.js';
31
36
  import { extractGatewayErrorDetails } from '../core/turns/errors.js';
32
37
  import { useCanonicalOpenCodeSession } from './use-canonical-opencode-session.js';
38
+ import { useAcpSessionRuntime } from './use-acp-session-runtime.js';
39
+ import { resolveSessionBusy } from './session-busy.js';
33
40
  import { useOpenCodeEventStream } from './use-opencode-events/index.js';
41
+ import { formatModelString } from './use-opencode-local.js';
34
42
  import { useProjectConfig } from './use-project-config.js';
35
43
  import { useProjectModels } from './use-project-models.js';
44
+ import { usePermissionSelfHeal } from './use-permission-self-heal.js';
36
45
  import { useQuestionSelfHeal } from './use-question-self-heal.js';
37
46
  import { useRuntimePhase } from './use-runtime-phase.js';
38
47
  import { clearStartStash, readStartStash } from './session-start-stash.js';
39
48
  import { useSessionPicks } from './use-session-picks.js';
40
49
  import { useSessionSync } from './use-session-sync.js';
50
+ import { readAcpSessionTitle, refreshSessionTitleQueryUntilResolved, syncAcpSessionTitleQuery, } from './session-title-sync.js';
41
51
  import { useVisibleAgents } from './use-visible-agents.js';
42
52
  import { rejectQuestion as rejectQuestionApi, replyToPermission, replyToQuestion, useAbortOpenCodeSession, useExecuteOpenCodeCommand, useSendOpenCodeMessage, } from './use-opencode-sessions/index.js';
53
+ import { unwrap } from './use-opencode-sessions/shared.js';
43
54
  // Grace window for the optimistic create-vs-start race: how long /start keeps
44
55
  // retrying a 404 for a freshly-minted session before treating it as terminal.
45
56
  // ~12 × 800ms ≈ 9.6s, comfortably past the sub-second create POST.
@@ -78,7 +89,12 @@ export function classifySendError(error) {
78
89
  if (error && typeof error === 'object') {
79
90
  const parsed = parseBillingError(error);
80
91
  if (parsed instanceof BillingError) {
81
- return { kind: 'billing', message: parsed.message, billing: parsed, cause: error };
92
+ return {
93
+ kind: 'billing',
94
+ message: parsed.message,
95
+ billing: parsed,
96
+ cause: error,
97
+ };
82
98
  }
83
99
  }
84
100
  const gateway = extractGatewayErrorDetails(error);
@@ -102,6 +118,16 @@ export function classifySendError(error) {
102
118
  cause: error,
103
119
  };
104
120
  }
121
+ export function buildSessionCommandInput(sessionId, command, args, options = {}) {
122
+ return {
123
+ sessionId,
124
+ command,
125
+ args,
126
+ ...(options.agent ? { agent: options.agent } : {}),
127
+ ...(options.model ? { model: formatModelString(options.model) } : {}),
128
+ ...(options.variant ? { variant: options.variant } : {}),
129
+ };
130
+ }
105
131
  const IDLE_SEND_STATE = { pending: null, sendError: null };
106
132
  /** New state when a send is kicked off — always clears any previous error. */
107
133
  export function sendStateOnStart(text) {
@@ -112,6 +138,37 @@ export function sendStateOnStart(text) {
112
138
  export function sendStateOnError(error) {
113
139
  return { pending: null, sendError: classifySendError(error) };
114
140
  }
141
+ /**
142
+ * Keep the REST compatibility transcript reconciler active after
143
+ * `promptAsync()` accepts a prompt.
144
+ *
145
+ * The runtime can accept the prompt before the browser receives its first SSE
146
+ * status event. Without this optimistic busy state, the 10-second liveness
147
+ * reconciliation never starts. The transcript can then stay at the user
148
+ * message even though the agent completed the turn.
149
+ */
150
+ export function beginRestPromptObservation(sessionId) {
151
+ beginSessionPromptObservation(sessionId);
152
+ useSyncStore.getState().setStatus(sessionId, { type: 'busy' });
153
+ }
154
+ /** Clear the optimistic REST busy state when the prompt never starts or stops. */
155
+ export function endRestPromptObservation(sessionId) {
156
+ endSessionPromptObservation(sessionId);
157
+ useSyncStore.getState().setStatus(sessionId, { type: 'idle' });
158
+ }
159
+ /** Stage a reversible OpenCode rollback on one canonical session. */
160
+ export async function rewindOpenCodeSession(sessionId, messageId) {
161
+ if (!messageId)
162
+ throw new Error('Session rewind requires a message id');
163
+ unwrap(await getClient().session.revert({
164
+ sessionID: sessionId,
165
+ messageID: messageId,
166
+ }));
167
+ }
168
+ /** Restore a staged OpenCode rollback before a replacement prompt commits it. */
169
+ export async function restoreOpenCodeSessionRewind(sessionId) {
170
+ unwrap(await getClient().session.unrevert({ sessionID: sessionId }));
171
+ }
115
172
  // ─────────────────────────────────────────────────────────────────────────────
116
173
  // Permission/question replies. Standalone (not closures over hook state) since
117
174
  // they only need the global runtime client + the global pending store — both
@@ -164,9 +221,14 @@ const DISABLED_CHAT_ENGINE_SYNC = {
164
221
  isLoading: false,
165
222
  diffs: [],
166
223
  todos: [],
224
+ hasOlder: false,
225
+ isLoadingOlder: false,
226
+ loadOlder: async () => { },
167
227
  };
168
228
  export function useSession(projectId, sessionId, options = {}) {
169
- const { waitMs = 15_000, replayStartStash = true, enabled = true, chatEngine = true, } = options;
229
+ const queryClient = useQueryClient();
230
+ const titleRefreshAbortRef = useRef(null);
231
+ const { waitMs = 15_000, replayStartStash = true, enabled = true, chatEngine = true, initialOpenCodeSessionId = null, runtimeTransport: runtimeTransportOverride, } = options;
170
232
  // 1. Drive /start until the runtime is ready (the server long-polls each tick).
171
233
  const start = useQuery({
172
234
  queryKey: sessionStartKey(projectId, sessionId),
@@ -189,6 +251,9 @@ export function useSession(projectId, sessionId, options = {}) {
189
251
  const sandbox = startData?.sandbox ?? null;
190
252
  const startReady = stage === 'ready';
191
253
  const terminal = stage === 'failed' || stage === 'stopped';
254
+ const runtimePolicy = createSessionRuntimePolicy(startData?.runtime_transport, runtimeTransportOverride);
255
+ const runtimeTransport = runtimePolicy.transport;
256
+ const usesAcp = runtimePolicy.useAcp;
192
257
  // 2. Point the SDK's runtime at this session's sandbox once ready. Track WHICH
193
258
  // sandbox we switched to (not a bare bool) so navigating between sessions (this
194
259
  // hook instance is reused) re-gates instead of binding the new session to the
@@ -222,38 +287,95 @@ export function useSession(projectId, sessionId, options = {}) {
222
287
  // 4. Open the live SSE stream. This was a provider component (OpenCodeEvent
223
288
  // StreamProvider); calling the underlying hook here means the host mounts
224
289
  // nothing. It self-gates on the connection store's healthy flag (seeded above).
225
- useOpenCodeEventStream();
290
+ useOpenCodeEventStream({ enabled: runtimePolicy.streamOpenCodeEvents });
226
291
  // 5. Resolve the canonical OpenCode root id (server-owned; /start hands it over)
227
292
  // and sync messages off it.
228
- const { rootSessionId } = useCanonicalOpenCodeSession({
293
+ const canonicalSession = useCanonicalOpenCodeSession({
229
294
  projectId,
230
295
  sessionId,
231
296
  pinFromStart: startData?.opencode_session_id ?? null,
297
+ initialPin: initialOpenCodeSessionId,
298
+ listRuntimeSessions: runtimePolicy.listOpenCodeSessions,
232
299
  });
300
+ const { rootSessionId } = canonicalSession;
233
301
  const ocSessionId = rootSessionId ?? '';
302
+ const runtimeUrl = sandbox?.external_id ? getSandboxUrlForExternalId(sandbox.external_id) : null;
303
+ const acpRuntime = useAcpSessionRuntime({
304
+ runtimeUrl,
305
+ sessionId: rootSessionId,
306
+ enabled: enabled && switched && usesAcp,
307
+ });
308
+ const acpSessionTitle = readAcpSessionTitle(acpRuntime.projection.sessionInfo);
309
+ useEffect(() => {
310
+ if (!usesAcp || !acpSessionTitle)
311
+ return;
312
+ syncAcpSessionTitleQuery(queryClient, projectId, sessionId, { title: acpSessionTitle });
313
+ }, [queryClient, projectId, sessionId, usesAcp, acpSessionTitle]);
314
+ useEffect(() => () => {
315
+ titleRefreshAbortRef.current?.abort();
316
+ titleRefreshAbortRef.current = null;
317
+ }, [projectId, sessionId]);
234
318
  // Always call the hook (rules-of-hooks) so it stays in the same position
235
319
  // every render, but starve it with an empty session id when the chat engine
236
320
  // is off — `useSessionSync('')` fetches/polls nothing (its effects no-op on
237
321
  // a falsy/non-canonical session id) — and use a fixed, type-stable empty
238
322
  // result instead of whatever it happens to return for that starved call.
239
- const rawSync = useSessionSync(chatEngine ? ocSessionId : '');
240
- const sync = chatEngine ? rawSync : DISABLED_CHAT_ENGINE_SYNC;
323
+ const rawSync = useSessionSync(chatEngine && runtimePolicy.syncOpenCodeMessages ? ocSessionId : '');
324
+ const acpSync = useMemo(() => ({
325
+ messages: acpRuntime.projection.messages,
326
+ status: acpRuntime.projection.status,
327
+ isBusy: acpRuntime.projection.status.type !== 'idle',
328
+ isLoading: !acpRuntime.ready,
329
+ diffs: [],
330
+ todos: acpRuntime.projection.todos,
331
+ hasOlder: false,
332
+ isLoadingOlder: false,
333
+ loadOlder: async () => { },
334
+ }), [acpRuntime.projection, acpRuntime.ready]);
335
+ const sync = !chatEngine ? DISABLED_CHAT_ENGINE_SYNC : usesAcp ? acpSync : rawSync;
241
336
  const runtimePhase = useRuntimePhase();
337
+ const [restRewind, setRestRewind] = useState(null);
338
+ const [rewindPending, setRewindPending] = useState(false);
339
+ const [rewindError, setRewindError] = useState(null);
340
+ const rewindMessageId = usesAcp
341
+ ? (acpRuntime.rewindState?.messageId ?? null)
342
+ : restRewind?.staged
343
+ ? restRewind.messageId
344
+ : null;
345
+ const messages = useMemo(() => usesAcp ? sync.messages : messagesBeforeRewind(sync.messages, restRewind?.messageId ?? null), [usesAcp, sync.messages, restRewind?.messageId]);
346
+ useEffect(() => {
347
+ setRestRewind(null);
348
+ setRewindPending(false);
349
+ setRewindError(null);
350
+ }, [sessionId, ocSessionId]);
351
+ useEffect(() => {
352
+ setRestRewind((current) => reconcileCommittedSessionRewind(sync.messages, current));
353
+ }, [restRewind, sync.messages]);
242
354
  // 5b. Self-heal a missed `question.asked` SSE event (a `question` tool part
243
355
  // rendering as running with nothing in the pending store) — see
244
356
  // `useQuestionSelfHeal` for why this is distinct from the SSE reconnect-gap
245
357
  // hydration in `useOpenCodeEventStream`. Disabled entirely when `chatEngine`
246
358
  // is off — see that option's jsdoc: a host mounting its own chat surface
247
359
  // already runs its own copy of this poller for the same session.
248
- useQuestionSelfHeal(ocSessionId, sync.messages, { enabled: chatEngine && !!ocSessionId });
360
+ useQuestionSelfHeal(ocSessionId, sync.messages, {
361
+ enabled: !usesAcp && chatEngine && !!ocSessionId,
362
+ });
363
+ usePermissionSelfHeal(ocSessionId, sync.messages, {
364
+ enabled: !usesAcp && chatEngine && !!ocSessionId,
365
+ });
249
366
  // 6. Interactive prompts live in the pending store (the SSE writes them there,
250
367
  // keyed by request id carrying sessionID). useSessionSync does NOT surface them.
251
368
  const questionMap = useOpenCodePendingStore((s) => s.questions);
252
369
  const permissionMap = useOpenCodePendingStore((s) => s.permissions);
370
+ const isCompacting = useOpenCodeCompactionStore((state) => !usesAcp && Boolean(state.compactingBySession[ocSessionId]));
253
371
  const removeQuestion = useOpenCodePendingStore((s) => s.removeQuestion);
254
372
  const removePermission = useOpenCodePendingStore((s) => s.removePermission);
255
- const questions = useMemo(() => Object.values(questionMap).filter((q) => q.sessionID === ocSessionId), [questionMap, ocSessionId]);
256
- const permissions = useMemo(() => Object.values(permissionMap).filter((p) => p.sessionID === ocSessionId), [permissionMap, ocSessionId]);
373
+ const questions = useMemo(() => usesAcp
374
+ ? acpRuntime.projection.questions
375
+ : Object.values(questionMap).filter((q) => q.sessionID === ocSessionId), [usesAcp, acpRuntime.projection.questions, questionMap, ocSessionId]);
376
+ const permissions = useMemo(() => usesAcp
377
+ ? acpRuntime.projection.permissions
378
+ : Object.values(permissionMap).filter((p) => p.sessionID === ocSessionId), [usesAcp, acpRuntime.projection.permissions, permissionMap, ocSessionId]);
257
379
  // 7. Server-side capabilities + per-session picks (all pre-runtime — no sandbox).
258
380
  const models = useProjectModels(projectId);
259
381
  const agents = useVisibleAgents({ projectId });
@@ -266,7 +388,7 @@ export function useSession(projectId, sessionId, options = {}) {
266
388
  // 9. Optimistic send: show the user's message instantly until a NEW user message
267
389
  // lands (count grows) — robust to server-normalized text where a text-equality
268
390
  // match would clear too early or never (wedging the composer). 30s backstop.
269
- const userMsgCount = useMemo(() => sync.messages.filter((m) => m.info.role === 'user').length, [sync.messages]);
391
+ const userMsgCount = useMemo(() => messages.filter((m) => m.info.role === 'user').length, [messages]);
270
392
  const [sendState, setSendState] = useState(IDLE_SEND_STATE);
271
393
  const pending = sendState.pending;
272
394
  const pendingBaseCount = useRef(0);
@@ -281,40 +403,180 @@ export function useSession(projectId, sessionId, options = {}) {
281
403
  const t = setTimeout(() => setSendState((s) => (s.pending ? { ...s, pending: null } : s)), 30_000);
282
404
  return () => clearTimeout(t);
283
405
  }, [pending]);
284
- const send = (text, override) => {
406
+ const sendParts = async (parts, override) => {
285
407
  if (!ocSessionId)
286
- return;
287
- pendingBaseCount.current = userMsgCount;
288
- setSendState(sendStateOnStart(text));
408
+ throw new RuntimeNotReadyError();
409
+ titleRefreshAbortRef.current?.abort();
410
+ const titleRefreshAbort = new AbortController();
411
+ titleRefreshAbortRef.current = titleRefreshAbort;
412
+ void refreshSessionTitleQueryUntilResolved(queryClient, projectId, sessionId, {
413
+ signal: titleRefreshAbort.signal,
414
+ }).finally(() => {
415
+ if (titleRefreshAbortRef.current === titleRefreshAbort) {
416
+ titleRefreshAbortRef.current = null;
417
+ }
418
+ });
289
419
  const model = override?.model ?? picks.model;
290
420
  const agent = override?.agent ?? picks.agent;
291
421
  const variant = override?.variant;
422
+ if (usesAcp) {
423
+ const acpParts = parts.map((part) => {
424
+ if (part.type === 'text') {
425
+ return { type: 'text', text: part.text };
426
+ }
427
+ if (part.type === 'agent') {
428
+ return { type: 'text', text: `@${part.name}` };
429
+ }
430
+ return {
431
+ type: 'resource_link',
432
+ uri: part.url,
433
+ name: part.filename,
434
+ mimeType: part.mime,
435
+ };
436
+ });
437
+ await acpRuntime.send(acpParts, {
438
+ model: model ? formatModelString(model) : null,
439
+ agent,
440
+ });
441
+ return;
442
+ }
292
443
  const opts = {
293
444
  ...(model ? { model } : {}),
294
445
  ...(agent ? { agent } : {}),
295
446
  ...(variant ? { variant } : {}),
447
+ ...(override?.directory ? { directory: override.directory } : {}),
296
448
  };
297
- sendMutation.mutate({
449
+ await sendMutation.mutateAsync({
298
450
  sessionId: ocSessionId,
299
- parts: [{ type: 'text', text }],
451
+ parts,
300
452
  ...(Object.keys(opts).length ? { options: opts } : {}),
301
- }, { onError: (err) => setSendState(sendStateOnError(err)) });
453
+ });
454
+ setRestRewind(commitSessionRewind);
455
+ };
456
+ const send = (text, override) => {
457
+ if (!ocSessionId)
458
+ return;
459
+ pendingBaseCount.current = userMsgCount;
460
+ if (!usesAcp)
461
+ beginRestPromptObservation(ocSessionId);
462
+ setSendState(sendStateOnStart(text));
463
+ void sendParts([{ type: 'text', text }], override).catch((error) => {
464
+ if (!usesAcp)
465
+ endRestPromptObservation(ocSessionId);
466
+ setSendState(sendStateOnError(error));
467
+ });
302
468
  };
303
469
  // Run a project slash-command (server-side `/command`), distinct from a prompt.
304
- const runCommand = (command, args) => {
470
+ const runCommand = (command, args, options = {}) => {
471
+ if (!ocSessionId)
472
+ return Promise.resolve();
473
+ if (usesAcp) {
474
+ return acpRuntime.runCommand(command, args, {
475
+ model: options.model ? formatModelString(options.model) : null,
476
+ agent: options.agent,
477
+ });
478
+ }
479
+ return commandMutation.mutateAsync(buildSessionCommandInput(ocSessionId, command, args, options));
480
+ };
481
+ const rewind = async (messageId) => {
305
482
  if (!ocSessionId)
483
+ throw new RuntimeNotReadyError();
484
+ if (!messageId)
485
+ throw new Error('Session rewind requires a message id');
486
+ if (sync.isBusy || pending || rewindPending) {
487
+ throw new Error('Cannot rewind a busy session');
488
+ }
489
+ setRewindPending(true);
490
+ setRewindError(null);
491
+ try {
492
+ if (usesAcp) {
493
+ await acpRuntime.rewind(messageId);
494
+ }
495
+ else {
496
+ await rewindOpenCodeSession(ocSessionId, messageId);
497
+ setRestRewind({ messageId, staged: true });
498
+ }
499
+ }
500
+ catch (error) {
501
+ const classified = classifySendError(error);
502
+ setRewindError(classified);
503
+ throw classified;
504
+ }
505
+ finally {
506
+ setRewindPending(false);
507
+ }
508
+ };
509
+ const restoreRewind = async () => {
510
+ if (!ocSessionId)
511
+ throw new RuntimeNotReadyError();
512
+ if (!rewindMessageId || rewindPending)
306
513
  return;
307
- commandMutation.mutate({ sessionId: ocSessionId, command, args });
514
+ setRewindPending(true);
515
+ setRewindError(null);
516
+ try {
517
+ if (usesAcp) {
518
+ await acpRuntime.restoreRewind();
519
+ }
520
+ else {
521
+ await restoreOpenCodeSessionRewind(ocSessionId);
522
+ setRestRewind(null);
523
+ }
524
+ }
525
+ catch (error) {
526
+ const classified = classifySendError(error);
527
+ setRewindError(classified);
528
+ throw classified;
529
+ }
530
+ finally {
531
+ setRewindPending(false);
532
+ }
308
533
  };
309
534
  // The one true cancel: abort the run AND drop any pending prompt + open prompts.
310
535
  const cancel = () => {
311
- if (ocSessionId)
312
- abortMutation.mutate(ocSessionId);
536
+ if (ocSessionId) {
537
+ if (usesAcp)
538
+ void acpRuntime.cancel();
539
+ else {
540
+ endRestPromptObservation(ocSessionId);
541
+ abortMutation.mutate(ocSessionId);
542
+ }
543
+ }
313
544
  questions.forEach((q) => removeQuestion(q.id));
314
545
  permissions.forEach((p) => removePermission(p.id));
315
546
  setSendState(IDLE_SEND_STATE);
316
547
  };
317
- const phase = terminal || startError ? 'error' : switched ? 'ready' : 'starting';
548
+ const answerSessionQuestion = async (requestId, answers) => {
549
+ if (!usesAcp)
550
+ return answerQuestion(requestId, answers);
551
+ try {
552
+ await acpRuntime.answerQuestion(requestId, answers);
553
+ }
554
+ catch (error) {
555
+ throw classifySendError(error);
556
+ }
557
+ };
558
+ const rejectSessionQuestion = async (requestId) => {
559
+ if (!usesAcp)
560
+ return rejectQuestion(requestId);
561
+ try {
562
+ await acpRuntime.rejectQuestion(requestId);
563
+ }
564
+ catch (error) {
565
+ throw classifySendError(error);
566
+ }
567
+ };
568
+ const answerSessionPermission = async (requestId, reply, message) => {
569
+ if (!usesAcp)
570
+ return answerPermission(requestId, reply, message);
571
+ try {
572
+ await acpRuntime.answerPermission(requestId, reply);
573
+ }
574
+ catch (error) {
575
+ throw classifySendError(error);
576
+ }
577
+ };
578
+ const runtimeSessionError = usesAcp ? acpRuntime.error : canonicalSession.error;
579
+ const phase = terminal || startError || runtimeSessionError ? 'error' : switched ? 'ready' : 'starting';
318
580
  // 10. Replay the new-session hand-off once ready + thread empty (exactly once).
319
581
  // Force-disabled when `chatEngine` is off: this reads `sync.isLoading`/
320
582
  // `sync.messages`, which are the fixed empty stand-ins above when the chat
@@ -337,7 +599,11 @@ export function useSession(projectId, sessionId, options = {}) {
337
599
  picks.setModel(stash.model);
338
600
  if (stash.agent)
339
601
  picks.setAgent(stash.agent);
340
- send(stash.prompt, { model: stash.model, agent: stash.agent, variant: stash.variant });
602
+ send(stash.prompt, {
603
+ model: stash.model,
604
+ agent: stash.agent,
605
+ variant: stash.variant,
606
+ });
341
607
  // eslint-disable-next-line react-hooks/exhaustive-deps
342
608
  }, [phase, sync.isLoading, sync.messages.length, sessionId, replayStartStash, chatEngine]);
343
609
  return {
@@ -345,13 +611,24 @@ export function useSession(projectId, sessionId, options = {}) {
345
611
  sessionId,
346
612
  /** Canonical OpenCode root id, or null while resolving. */
347
613
  opencodeSessionId: rootSessionId ?? null,
614
+ /** Server-selected SDK client transport. */
615
+ runtimeTransport,
616
+ /** Runtime sessions available for legacy deep-link selection.
617
+ * ACP exposes only the canonical session during this canary. */
618
+ runtimeSessions: canonicalSession.sessions,
619
+ runtimeSessionsLoading: canonicalSession.isLoading,
620
+ runtimeSessionsListed: canonicalSession.listed,
621
+ runtimeError: runtimeSessionError,
348
622
  // live data
349
- messages: sync.messages,
623
+ messages,
350
624
  status: sync.status,
351
625
  questions,
352
626
  permissions,
353
627
  diffs: sync.diffs,
354
628
  todos: sync.todos,
629
+ hasOlder: sync.hasOlder,
630
+ isLoadingOlder: sync.isLoadingOlder,
631
+ loadOlder: sync.loadOlder,
355
632
  // lifecycle
356
633
  phase,
357
634
  /** Raw /start stage (provisioning|starting|ready|stopped|failed), for boot UI. */
@@ -366,9 +643,15 @@ export function useSession(projectId, sessionId, options = {}) {
366
643
  startError,
367
644
  /** Granular boot phase (connecting|booting|ready|unreachable) for detailed UI. */
368
645
  runtimePhase,
369
- isBusy: sync.isBusy || !!pending,
646
+ isBusy: resolveSessionBusy({
647
+ syncBusy: sync.isBusy,
648
+ hasPendingText: !!pending,
649
+ usesAcp,
650
+ acpSending: acpRuntime.sending,
651
+ }),
652
+ isCompacting,
370
653
  isLoading: sync.isLoading,
371
- isError: terminal || !!startError,
654
+ isError: terminal || !!startError || !!runtimeSessionError,
372
655
  /** Whether there are open interactive prompts (questions/permissions). */
373
656
  hasPending: questions.length > 0 || permissions.length > 0,
374
657
  /** Latest /start reason (e.g. 'runtime_waking'), surfaced for boot/error UI. */
@@ -376,28 +659,40 @@ export function useSession(projectId, sessionId, options = {}) {
376
659
  /** Pending optimistic message text, or null. */
377
660
  pending,
378
661
  /** True while the current `send` mutation is in flight. */
379
- isSending: sendMutation.isPending,
662
+ isSending: usesAcp ? acpRuntime.sending : sendMutation.isPending,
380
663
  /** Last `send` failure, typed (billing / runtime-not-ready / runtime-error),
381
664
  * or null. Reset on every new `send` call. */
382
665
  sendError: sendState.sendError,
666
+ /** Selected user message while a reversible history rewind is staged. */
667
+ rewindMessageId,
668
+ /** True while the runtime stages or restores a history rewind. */
669
+ rewindPending,
670
+ /** Last history rewind failure, or null. */
671
+ rewindError,
383
672
  // server-side capabilities (pre-runtime)
384
673
  models,
385
674
  agents,
386
- defaultAgent: config?.open_code_default_agent ?? null,
675
+ defaultAgent: config?.default_agent ?? config?.open_code_default_agent ?? null,
387
676
  commands: config?.commands ?? [],
388
677
  picks,
389
678
  // actions
390
679
  send,
680
+ /** Send text and file prompt parts through the selected SDK transport. */
681
+ sendParts,
682
+ /** Rewind this canonical session to one user message. */
683
+ rewind,
684
+ /** Restore the removed path before a replacement prompt commits it. */
685
+ restoreRewind,
391
686
  cancel,
392
687
  runCommand,
393
688
  /** Answer an agent question through the server and drop it from pending
394
689
  * state on success; throws a `KortixSendError` and leaves it pending on
395
690
  * failure. */
396
- answerQuestion,
691
+ answerQuestion: answerSessionQuestion,
397
692
  /** Reject an agent question through the server (see `answerQuestion`). */
398
- rejectQuestion,
693
+ rejectQuestion: rejectSessionQuestion,
399
694
  /** Answer an agent permission request through the server (see `answerQuestion`). */
400
- answerPermission,
695
+ answerPermission: answerSessionPermission,
401
696
  /** @deprecated Drops the question from local state WITHOUT replying to the
402
697
  * server — the agent run stays blocked waiting on it. Use `answerQuestion`
403
698
  * / `rejectQuestion` instead. */
@@ -1 +1 @@
1
- {"version":3,"file":"use-session.js","sourceRoot":"","sources":["../../src/react/use-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-session.js","sourceRoot":"","sources":["../../src/react/use-session.ts"],"names":[],"mappings":"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"}