@kortix/sdk 0.12.8 → 0.13.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 (261) hide show
  1. package/README.md +3 -6
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +7 -2
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-sync-registry.js +33 -44
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  6. package/dist/browser/stores/opencode-compaction-store.d.ts +9 -3
  7. package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -1
  8. package/dist/browser/stores/opencode-compaction-store.js +5 -12
  9. package/dist/browser/stores/opencode-compaction-store.js.map +1 -1
  10. package/dist/browser/stores/sandbox-connection-store.d.ts +28 -17
  11. package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
  12. package/dist/browser/stores/sandbox-connection-store.js +32 -84
  13. package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
  14. package/dist/browser/stores/session-working-store.d.ts +73 -0
  15. package/dist/browser/stores/session-working-store.d.ts.map +1 -0
  16. package/dist/browser/stores/session-working-store.js +86 -0
  17. package/dist/browser/stores/session-working-store.js.map +1 -0
  18. package/dist/browser/stores/sync-store/types.d.ts +14 -4
  19. package/dist/browser/stores/sync-store/types.d.ts.map +1 -1
  20. package/dist/browser/stores/sync-store.d.ts +140 -3
  21. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  22. package/dist/browser/stores/sync-store.js +425 -36
  23. package/dist/browser/stores/sync-store.js.map +1 -1
  24. package/dist/core/client/kortix.d.ts +102 -1
  25. package/dist/core/client/kortix.d.ts.map +1 -1
  26. package/dist/core/client/kortix.js +78 -0
  27. package/dist/core/client/kortix.js.map +1 -1
  28. package/dist/core/files/client.d.ts +50 -2
  29. package/dist/core/files/client.d.ts.map +1 -1
  30. package/dist/core/files/client.js +253 -44
  31. package/dist/core/files/client.js.map +1 -1
  32. package/dist/core/files/types.d.ts +11 -0
  33. package/dist/core/files/types.d.ts.map +1 -1
  34. package/dist/core/http/abort-error.d.ts +89 -0
  35. package/dist/core/http/abort-error.d.ts.map +1 -0
  36. package/dist/core/http/abort-error.js +190 -0
  37. package/dist/core/http/abort-error.js.map +1 -0
  38. package/dist/core/http/api-client.d.ts.map +1 -1
  39. package/dist/core/http/api-client.js +18 -4
  40. package/dist/core/http/api-client.js.map +1 -1
  41. package/dist/core/rest/platform-client/github-app.d.ts +13 -0
  42. package/dist/core/rest/platform-client/github-app.d.ts.map +1 -1
  43. package/dist/core/rest/platform-client/github-app.js +2 -0
  44. package/dist/core/rest/platform-client/github-app.js.map +1 -1
  45. package/dist/core/rest/platform-client/members.d.ts +10 -64
  46. package/dist/core/rest/platform-client/members.d.ts.map +1 -1
  47. package/dist/core/rest/platform-client/members.js +10 -28
  48. package/dist/core/rest/platform-client/members.js.map +1 -1
  49. package/dist/core/rest/projects-client/accounts.d.ts +30 -1
  50. package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
  51. package/dist/core/rest/projects-client/accounts.js +1 -1
  52. package/dist/core/rest/projects-client/accounts.js.map +1 -1
  53. package/dist/core/rest/projects-client/apps.d.ts +13 -0
  54. package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
  55. package/dist/core/rest/projects-client/apps.js.map +1 -1
  56. package/dist/core/rest/projects-client/assignments.d.ts +114 -0
  57. package/dist/core/rest/projects-client/assignments.d.ts.map +1 -0
  58. package/dist/core/rest/projects-client/assignments.js +91 -0
  59. package/dist/core/rest/projects-client/assignments.js.map +1 -0
  60. package/dist/core/rest/projects-client/billing.d.ts +10 -1
  61. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  62. package/dist/core/rest/projects-client/billing.js +11 -2
  63. package/dist/core/rest/projects-client/billing.js.map +1 -1
  64. package/dist/core/rest/projects-client/connectors.d.ts +2 -0
  65. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  66. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  67. package/dist/core/rest/projects-client/files.js +2 -2
  68. package/dist/core/rest/projects-client/files.js.map +1 -1
  69. package/dist/core/rest/projects-client/gateway.d.ts +51 -0
  70. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
  71. package/dist/core/rest/projects-client/gateway.js.map +1 -1
  72. package/dist/core/rest/projects-client/iam.d.ts +51 -3
  73. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  74. package/dist/core/rest/projects-client/iam.js +18 -1
  75. package/dist/core/rest/projects-client/iam.js.map +1 -1
  76. package/dist/core/rest/projects-client/index.d.ts +1 -0
  77. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  78. package/dist/core/rest/projects-client/index.js +1 -0
  79. package/dist/core/rest/projects-client/index.js.map +1 -1
  80. package/dist/core/rest/projects-client/projects.d.ts +1 -1
  81. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  82. package/dist/core/rest/projects-client/projects.js +3 -0
  83. package/dist/core/rest/projects-client/projects.js.map +1 -1
  84. package/dist/core/rest/projects-client/secrets.d.ts +11 -0
  85. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
  86. package/dist/core/rest/projects-client/secrets.js +1 -1
  87. package/dist/core/rest/projects-client/secrets.js.map +1 -1
  88. package/dist/core/rest/projects-client/session-costs.d.ts +33 -0
  89. package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
  90. package/dist/core/rest/projects-client/session-costs.js.map +1 -1
  91. package/dist/core/rest/projects-client/sessions.d.ts +226 -2
  92. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  93. package/dist/core/rest/projects-client/sessions.js +101 -4
  94. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  95. package/dist/core/rest/projects-client/shared.d.ts +10 -1
  96. package/dist/core/rest/projects-client/shared.d.ts.map +1 -1
  97. package/dist/core/rest/projects-client/shared.js.map +1 -1
  98. package/dist/core/rest/projects-client/tokens.d.ts +13 -1
  99. package/dist/core/rest/projects-client/tokens.d.ts.map +1 -1
  100. package/dist/core/rest/projects-client/tokens.js +7 -2
  101. package/dist/core/rest/projects-client/tokens.js.map +1 -1
  102. package/dist/core/rest/projects-client/triggers.d.ts +69 -2
  103. package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
  104. package/dist/core/rest/projects-client/triggers.js +1 -1
  105. package/dist/core/rest/projects-client/triggers.js.map +1 -1
  106. package/dist/core/session/compaction.d.ts +98 -0
  107. package/dist/core/session/compaction.d.ts.map +1 -0
  108. package/dist/core/session/compaction.js +108 -0
  109. package/dist/core/session/compaction.js.map +1 -0
  110. package/dist/core/session/health.d.ts +22 -0
  111. package/dist/core/session/health.d.ts.map +1 -1
  112. package/dist/core/session/health.js +31 -5
  113. package/dist/core/session/health.js.map +1 -1
  114. package/dist/core/session/index.d.ts +2 -0
  115. package/dist/core/session/index.d.ts.map +1 -1
  116. package/dist/core/session/index.js +2 -0
  117. package/dist/core/session/index.js.map +1 -1
  118. package/dist/core/session/message-queue.d.ts +79 -15
  119. package/dist/core/session/message-queue.d.ts.map +1 -1
  120. package/dist/core/session/message-queue.js +73 -27
  121. package/dist/core/session/message-queue.js.map +1 -1
  122. package/dist/core/session/rewind.d.ts +76 -10
  123. package/dist/core/session/rewind.d.ts.map +1 -1
  124. package/dist/core/session/rewind.js +68 -11
  125. package/dist/core/session/rewind.js.map +1 -1
  126. package/dist/core/session/working.d.ts +241 -0
  127. package/dist/core/session/working.d.ts.map +1 -0
  128. package/dist/core/session/working.js +261 -0
  129. package/dist/core/session/working.js.map +1 -0
  130. package/dist/core/session-sync/session-sync-controller.d.ts +35 -20
  131. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  132. package/dist/core/session-sync/session-sync-controller.js +48 -115
  133. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  134. package/dist/core/stream/event-stream.d.ts +22 -0
  135. package/dist/core/stream/event-stream.d.ts.map +1 -1
  136. package/dist/core/stream/event-stream.js +132 -36
  137. package/dist/core/stream/event-stream.js.map +1 -1
  138. package/dist/core/turns/grouping.d.ts +32 -2
  139. package/dist/core/turns/grouping.d.ts.map +1 -1
  140. package/dist/core/turns/grouping.js +31 -2
  141. package/dist/core/turns/grouping.js.map +1 -1
  142. package/dist/core/turns/index.d.ts +1 -0
  143. package/dist/core/turns/index.d.ts.map +1 -1
  144. package/dist/core/turns/index.js +1 -0
  145. package/dist/core/turns/index.js.map +1 -1
  146. package/dist/core/turns/open-turn.d.ts +81 -0
  147. package/dist/core/turns/open-turn.d.ts.map +1 -0
  148. package/dist/core/turns/open-turn.js +77 -0
  149. package/dist/core/turns/open-turn.js.map +1 -0
  150. package/dist/core/turns/state.js +26 -26
  151. package/dist/core/turns/state.js.map +1 -1
  152. package/dist/core/turns/types.d.ts +5 -0
  153. package/dist/core/turns/types.d.ts.map +1 -1
  154. package/dist/index.d.ts +2 -1
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +2 -1
  157. package/dist/index.js.map +1 -1
  158. package/dist/kortix.esm.min.js +25 -25
  159. package/dist/kortix.global.js +25 -25
  160. package/dist/node/server.d.ts.map +1 -1
  161. package/dist/node/server.js +14 -2
  162. package/dist/node/server.js.map +1 -1
  163. package/dist/react/index.d.ts +2 -1
  164. package/dist/react/index.d.ts.map +1 -1
  165. package/dist/react/index.js +7 -1
  166. package/dist/react/index.js.map +1 -1
  167. package/dist/react/initial-session-pin.d.ts +17 -0
  168. package/dist/react/initial-session-pin.d.ts.map +1 -1
  169. package/dist/react/initial-session-pin.js +58 -0
  170. package/dist/react/initial-session-pin.js.map +1 -1
  171. package/dist/react/opencode.d.ts +6 -2
  172. package/dist/react/opencode.d.ts.map +1 -1
  173. package/dist/react/opencode.js +5 -1
  174. package/dist/react/opencode.js.map +1 -1
  175. package/dist/react/prefetch-session-start.d.ts +10 -4
  176. package/dist/react/prefetch-session-start.d.ts.map +1 -1
  177. package/dist/react/prefetch-session-start.js +10 -4
  178. package/dist/react/prefetch-session-start.js.map +1 -1
  179. package/dist/react/query-keys.d.ts +8 -2
  180. package/dist/react/query-keys.d.ts.map +1 -1
  181. package/dist/react/query-keys.js +8 -2
  182. package/dist/react/query-keys.js.map +1 -1
  183. package/dist/react/session-start-stash.d.ts +25 -0
  184. package/dist/react/session-start-stash.d.ts.map +1 -1
  185. package/dist/react/session-start-stash.js +34 -3
  186. package/dist/react/session-start-stash.js.map +1 -1
  187. package/dist/react/session-title-sync.d.ts +5 -1
  188. package/dist/react/session-title-sync.d.ts.map +1 -1
  189. package/dist/react/session-title-sync.js +16 -4
  190. package/dist/react/session-title-sync.js.map +1 -1
  191. package/dist/react/use-can.d.ts +105 -0
  192. package/dist/react/use-can.d.ts.map +1 -0
  193. package/dist/react/use-can.js +190 -0
  194. package/dist/react/use-can.js.map +1 -0
  195. package/dist/react/use-canonical-opencode-session.d.ts +6 -1
  196. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  197. package/dist/react/use-canonical-opencode-session.js +46 -3
  198. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  199. package/dist/react/use-opencode-events/handle-event.d.ts +10 -0
  200. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  201. package/dist/react/use-opencode-events/handle-event.js +76 -7
  202. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  203. package/dist/react/use-opencode-events/helpers.d.ts +21 -8
  204. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  205. package/dist/react/use-opencode-events/helpers.js +25 -26
  206. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  207. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  208. package/dist/react/use-opencode-events/index.js +43 -26
  209. package/dist/react/use-opencode-events/index.js.map +1 -1
  210. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
  211. package/dist/react/use-opencode-events/use-event-stream-refs.js +66 -3
  212. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
  213. package/dist/react/use-opencode-local.d.ts +17 -0
  214. package/dist/react/use-opencode-local.d.ts.map +1 -1
  215. package/dist/react/use-opencode-local.js +41 -7
  216. package/dist/react/use-opencode-local.js.map +1 -1
  217. package/dist/react/use-opencode-sessions/messages.d.ts +101 -1
  218. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
  219. package/dist/react/use-opencode-sessions/messages.js +481 -63
  220. package/dist/react/use-opencode-sessions/messages.js.map +1 -1
  221. package/dist/react/use-project-apps.d.ts +24 -1
  222. package/dist/react/use-project-apps.d.ts.map +1 -1
  223. package/dist/react/use-project-apps.js +5 -3
  224. package/dist/react/use-project-apps.js.map +1 -1
  225. package/dist/react/use-runtime-boot-stalled.d.ts +32 -0
  226. package/dist/react/use-runtime-boot-stalled.d.ts.map +1 -0
  227. package/dist/react/use-runtime-boot-stalled.js +48 -0
  228. package/dist/react/use-runtime-boot-stalled.js.map +1 -0
  229. package/dist/react/use-runtime-reconnect.d.ts +67 -1
  230. package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
  231. package/dist/react/use-runtime-reconnect.js +116 -18
  232. package/dist/react/use-runtime-reconnect.js.map +1 -1
  233. package/dist/react/use-session-prompts.d.ts +113 -0
  234. package/dist/react/use-session-prompts.d.ts.map +1 -0
  235. package/dist/react/use-session-prompts.js +242 -0
  236. package/dist/react/use-session-prompts.js.map +1 -0
  237. package/dist/react/use-session-send.d.ts +169 -20
  238. package/dist/react/use-session-send.d.ts.map +1 -1
  239. package/dist/react/use-session-send.js +178 -29
  240. package/dist/react/use-session-send.js.map +1 -1
  241. package/dist/react/use-session-sync.d.ts +35 -2
  242. package/dist/react/use-session-sync.d.ts.map +1 -1
  243. package/dist/react/use-session-sync.js +46 -9
  244. package/dist/react/use-session-sync.js.map +1 -1
  245. package/dist/react/use-session-working.d.ts +57 -0
  246. package/dist/react/use-session-working.d.ts.map +1 -0
  247. package/dist/react/use-session-working.js +178 -0
  248. package/dist/react/use-session-working.js.map +1 -0
  249. package/dist/react/use-session.d.ts +122 -5
  250. package/dist/react/use-session.d.ts.map +1 -1
  251. package/dist/react/use-session.js +343 -69
  252. package/dist/react/use-session.js.map +1 -1
  253. package/package.json +2 -2
  254. package/dist/browser/stores/tab-store.d.ts +0 -91
  255. package/dist/browser/stores/tab-store.d.ts.map +0 -1
  256. package/dist/browser/stores/tab-store.js +0 -369
  257. package/dist/browser/stores/tab-store.js.map +0 -1
  258. package/dist/core/session/send-queue.d.ts +0 -70
  259. package/dist/core/session/send-queue.d.ts.map +0 -1
  260. package/dist/core/session/send-queue.js +0 -116
  261. package/dist/core/session/send-queue.js.map +0 -1
@@ -2,7 +2,10 @@
2
2
  import { ApiError, backendApi } from '../../http/api-client.js';
3
3
  import { markSessionFresh } from '../../http/fresh-sessions.js';
4
4
  import { unwrap } from './shared.js';
5
- /** @param options.scope - `project` asks for the manager-only full inventory. */
5
+ /**
6
+ * @param options.scope - `project` asks for the manager-only lifecycle
7
+ * inventory. Both scopes omit sessions the caller cannot open.
8
+ */
6
9
  export async function listProjectSessions(projectId, options) {
7
10
  const params = new URLSearchParams();
8
11
  if (options?.scope && options.scope !== 'visible')
@@ -50,11 +53,38 @@ export async function createProjectSession(projectId, input) {
50
53
  }
51
54
  return session;
52
55
  }
53
- export async function ensureWarmProjectSession(projectId) {
54
- const result = unwrap(await backendApi.post(`/projects/${projectId}/sessions/warm`, {}));
55
- markSessionFresh(result.session.session_id);
56
+ /**
57
+ * Pre-create the session a present user is about to start.
58
+ *
59
+ * Speculative by contract: the caller ignores every failure and falls through to
60
+ * `createProjectSession`, which re-evaluates every gate and surfaces the real
61
+ * error. `showErrors: false` keeps the recoverable `409 WARM_SESSION_UNAVAILABLE`
62
+ * — an account with no concurrent-session headroom, a project whose repo cannot
63
+ * be read — out of the global error sink, where it became a toast on an ordinary
64
+ * project page view.
65
+ */
66
+ export async function ensureWarmProjectSession(projectId, options) {
67
+ const body = options?.excludeSessionId
68
+ ? { exclude_session_id: options.excludeSessionId }
69
+ : {};
70
+ const result = unwrap(await backendApi.post(`/projects/${projectId}/sessions/warm`, body, {
71
+ showErrors: false,
72
+ }));
73
+ // A REUSED session is, by definition, not fresh: it is the same session a
74
+ // previous take (or a previous tab) already consumed, possibly with turns
75
+ // already in flight. Marking it fresh painted the resumed session as an
76
+ // instant typeable EMPTY shell, hiding exactly the mis-delivery this whole
77
+ // exclusion mechanism exists to prevent.
78
+ if (!result.reused)
79
+ markSessionFresh(result.session.session_id);
56
80
  return result;
57
81
  }
82
+ /**
83
+ * @deprecated A warm session is an ordinary session. Navigate to
84
+ * `ensureWarmProjectSession`'s `session.session_id` and prompt it — the first
85
+ * prompt makes it visible on its own. This call remains only so consumers
86
+ * pinned to an older shape keep working; it will be removed in the next major.
87
+ */
58
88
  export async function claimWarmProjectSession(projectId, input) {
59
89
  const session = unwrap(await backendApi.post(`/projects/${projectId}/sessions/warm/claim`, input, {
60
90
  showErrors: false,
@@ -91,6 +121,73 @@ export async function getSessionTranscript(projectId, sessionId, options) {
91
121
  const qs = search.toString();
92
122
  return unwrap(await backendApi.get(`/projects/${projectId}/sessions/${sessionId}/transcript${qs ? `?${qs}` : ''}`));
93
123
  }
124
+ /** Server truth about this session's running turns (`GET .../turn`), answered
125
+ * independently of the live stream.
126
+ *
127
+ * `turns` comes from the control plane's LIFECYCLE AUTHORITY — the same record
128
+ * the reaper renews deadlines from — so it is true for a turn the durable
129
+ * ledger has not recorded yet (a boot prompt has no ledger row until the
130
+ * runtime accepts it) and false for a stale ledger row left open by a write
131
+ * that failed. `last_ended` is history, and history comes from the ledger,
132
+ * which retains terminal rows the authority erases. */
133
+ export async function getSessionTurn(projectId, sessionId) {
134
+ return unwrap(await backendApi.get(`/projects/${projectId}/sessions/${sessionId}/turn`));
135
+ }
136
+ /** Put one prompt in the session's server-side inbox (`POST .../prompts`).
137
+ * Resolving means the prompt is DURABLE, not that it has been delivered. */
138
+ export async function createSessionPrompt(projectId, sessionId, input) {
139
+ return unwrap(await backendApi.post(`/projects/${projectId}/sessions/${sessionId}/prompts`, {
140
+ client_message_id: input.clientMessageId,
141
+ message_id: input.messageId,
142
+ parts: input.parts,
143
+ ...(input.overrides ? { overrides: input.overrides } : {}),
144
+ ...(input.remintOnDelivery ? { remint_on_delivery: true } : {}),
145
+ }));
146
+ }
147
+ /** Every prompt this session still owes the user, oldest first. Delivered
148
+ * prompts are omitted — they are in the transcript. */
149
+ export async function listSessionPrompts(projectId, sessionId) {
150
+ return unwrap(await backendApi.get(`/projects/${projectId}/sessions/${sessionId}/prompts`));
151
+ }
152
+ /**
153
+ * Drop a prompt that has not gone out yet. A prompt already on the wire cannot
154
+ * be cancelled and the server answers 409.
155
+ *
156
+ * Returns the removed prompt, because the row is HARD-deleted: re-POSTing this
157
+ * result with its original `client_message_id` is the only lossless undo.
158
+ */
159
+ export async function deleteSessionPrompt(projectId, sessionId, promptId) {
160
+ const body = unwrap(await backendApi.delete(`/projects/${projectId}/sessions/${sessionId}/prompts/${promptId}`));
161
+ return body.removed;
162
+ }
163
+ /**
164
+ * Run THIS prompt next — the one primitive behind both "retry" and "send now".
165
+ *
166
+ * They are one intent: the user pointed at a row and asked for that message.
167
+ * The row is re-queued, put ahead of the ordering rule, and the session's hold
168
+ * is released so the rest drains at the next boundary. Its wire id is
169
+ * UNCHANGED, so a delivery that actually landed is still absorbed by the proxy
170
+ * instead of running twice.
171
+ */
172
+ export async function retrySessionPrompt(projectId, sessionId, promptId) {
173
+ return unwrap(await backendApi.post(`/projects/${projectId}/sessions/${sessionId}/prompts/${promptId}/retry`, {}));
174
+ }
175
+ /**
176
+ * Hold — or release — every queued prompt of this session.
177
+ *
178
+ * What the Stop button writes. "Stopping means stop doing things, and that
179
+ * includes the queue" was a browser-local pause while the queue was
180
+ * browser-local; with the queue in Postgres, a client-side pause leaves the
181
+ * server free to admit the prompt the user pressed Stop to get ahead of, about
182
+ * one scheduler tick after the abort clears turn authority.
183
+ *
184
+ * A hold is released by an ACTION, never by a timer: sending anything new, or
185
+ * `retrySessionPrompt` on a row, releases it — the same rule the browser queue
186
+ * always had.
187
+ */
188
+ export async function holdSessionPrompts(projectId, sessionId, held) {
189
+ return unwrap(await backendApi.post(`/projects/${projectId}/sessions/${sessionId}/prompts/hold`, { held }));
190
+ }
94
191
  /** A session's live voice-call transcript — every spoken turn plus every
95
192
  * ask_kortix/run_command the worker issued, in one monotonic feed (a call's
96
193
  * `callId` IS its `sessionId`, so there is nothing else to key this by).
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/sessions.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAyB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAyB,MAAM,EAAE,MAAM,UAAU,CAAC;AAqLzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,OAA2C;IAE3C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAmB,aAAa,SAAS,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC;AACnG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,SAAiB,EACjB,MAAwB;IAExB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,UAAU,EACtD,MAAM,CACP,CACF,CAAC;AACJ,CAAC;AAgDD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,SAAiB,EAAE,SAAiB;IACpF,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,WAAW,CACxD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,SAAiB,EAAE,SAAiB;IAChF,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,gBAAgB,EAC5D,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,SAAiB,EACjB,KAAoC;IAEpC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,gBAAgB,EAC5D,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,SAAiB,EACjB,OAAe;IAEf,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,aAAa,SAAS,kBAAkB,OAAO,EAAE,CACxE,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAiC;IAC7F,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,UAAU,CAAC,IAAI,CAAiB,aAAa,SAAS,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CACtF,CAAC;IACF,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,gFAAgF;IAChF,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;QAC3B,gBAAgB,CAAE,OAAsC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,OAAyC;IAEzC,MAAM,IAAI,GAAG,OAAO,EAAE,gBAAgB;QACpC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAClD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,UAAU,CAAC,IAAI,CAA2B,aAAa,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAC5F,UAAU,EAAE,KAAK;KAClB,CAAC,CACH,CAAC;IACF,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,yCAAyC;IACzC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,KAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,UAAU,CAAC,IAAI,CAAiB,aAAa,SAAS,sBAAsB,EAAE,KAAK,EAAE;QACzF,UAAU,EAAE,KAAK;KAClB,CAAC,CACH,CAAC;IACF,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,SAAiB,EACjB,OAAkC;IAElC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAAiB,aAAa,SAAS,aAAa,SAAS,EAAE,EAAE;QACnF,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CAAC,CACH,CAAC;AACJ,CAAC;AAmDD;kFACkF;AAClF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,SAAiB,EACjB,KAAc,EACd,OAA4E;IAE5E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,aAAa,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAChG,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACzE;QACE,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CACF,CACF,CAAC;AACJ,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,SAAiB,EACjB,OAA4C;IAE5C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/E,CACF,CAAC;AACJ,CAAC;AAsCD;;;;;;;;wDAQwD;AACxD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,SAAiB;IAEjB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,OAAO,CACpD,CACF,CAAC;AACJ,CAAC;AAkGD;6EAC6E;AAC7E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,SAAiB,EACjB,KAA+B;IAE/B,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,UAAU,EACtD;QACE,iBAAiB,EAAE,KAAK,CAAC,eAAe;QACxC,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CACF,CACF,CAAC;AACJ,CAAC;AAED;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB;IAEjB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,UAAU,CACvD,CACF,CAAC;AACJ,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CACjB,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,aAAa,SAAS,YAAY,QAAQ,EAAE,CACnE,CACF,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;IAEhB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,YAAY,QAAQ,QAAQ,EACxE,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,IAAa;IAEb,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,eAAe,EAC3D,EAAE,IAAI,EAAE,CACT,CACF,CAAC;AACJ,CAAC;AA0BD;;;;;sEAKsE;AACtE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,OAAmE;IAEnE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,SAAS,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACpF,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CACpC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,SAAiB,EACjB,KAGC;IAED,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CAAiB,aAAa,SAAS,aAAa,SAAS,EAAE,EAAE,KAAK,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,SAAiB;IAC7E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CAAkB,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC,CACzF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,SAAiB;IAC9E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,UAAU,EACtD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,SAAiB;IAC3E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,SAAS,OAAO,EACnD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AA+BD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAiB,EACjB,SAAiB;IAEjB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EACzE,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CACF,CAAC;AACJ,CAAC;AAsED,SAAS,6BAA6B,CAAC,KAAa;IAClD,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAA6B,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gEAAgE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EACjB,SAAiB,EACjB,QAAqD,EAAE;IAEvD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EACzE,KAAK,EACL,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,SAAiB,EACjB,SAAiB,EACjB,KAAkD,EAClD,OAAkD,EAClD,UAA4B,EAAE;IAE9B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,CAC1C,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,EAChF,KAAK,EACL,OAAO,CACR,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAI7C,CAAC;QACT,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IAEhG,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAA+B,IAAI,CAAC;IAE/C,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAElD,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACpC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAElC,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;wBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC;AACjB,CAAC;AAkFD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,SAAiB;IAEjB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CACzE,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,SAAiB,EACjB,KAAwB;IAExB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EACxE,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,SAAiB,EACjB,aAAqB;IAErB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,aAAa,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EACxE,EAAE,cAAc,EAAE,aAAa,EAAE,CAClC,CACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,14 @@
1
1
  export type AccountRole = 'owner' | 'admin' | 'member';
2
- export type ProjectRole = 'manager' | 'editor' | 'member';
2
+ /**
3
+ * The two built-in project roles. `member` is read + run; `manager` is
4
+ * everything (including members, delete, and every Customize surface).
5
+ *
6
+ * BREAKING (2026-08-18): the third role `editor` is removed. It held exactly
7
+ * what `manager` holds minus member-management and delete, and the extra tier
8
+ * bought nothing — every `editor` assignment became `manager`. The API rejects
9
+ * `editor` on write with `400`; it is never returned on read.
10
+ */
11
+ export type ProjectRole = 'manager' | 'member';
3
12
  export type ConnectorSharing = {
4
13
  mode: 'project';
5
14
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/shared.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,QAAQ,EAAE;IAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,EACvD,eAAe,SAA2B,mBAM3C;AAuBD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAgBnB"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/shared.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AACvD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,QAAQ,EAAE;IAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,EACvD,eAAe,SAA2B,mBAM3C;AAuBD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAgBnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/shared.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAsCjF;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CACpB,QAAuD,EACvD,eAAe,GAAG,wBAAwB;IAE1C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,QAAQ,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AA+BD,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB,EACxB,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YACxC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC3C,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/shared.ts"],"names":[],"mappings":"AAAA,iFAAiF;AA+CjF;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CACpB,QAAuD,EACvD,eAAe,GAAG,wBAAwB;IAE1C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,QAAQ,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AA+BD,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB,EACxB,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YACxC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC3C,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -33,8 +33,20 @@ export interface CreatedAccountToken {
33
33
  expires_at: string | null;
34
34
  created_at: string;
35
35
  }
36
+ export interface ListAccountTokensOptions {
37
+ /**
38
+ * Narrow the list to the CALLER'S OWN hand-minted keys — no other member's
39
+ * keys, no session connector tokens, no service-account bearers. This is the
40
+ * read behind a person's own settings page; omit it for the administrative
41
+ * account-wide list.
42
+ *
43
+ * The narrowing is server-side on purpose: the response carries no
44
+ * `user_id`, `session_id` or `service_account_id`, so a client cannot do it.
45
+ */
46
+ mine?: boolean;
47
+ }
36
48
  /** List CLI PATs for an account (defaults to the caller's resolved account). */
37
- export declare function listAccountTokens(accountId?: string): Promise<AccountToken[]>;
49
+ export declare function listAccountTokens(accountId?: string, options?: ListAccountTokensOptions): Promise<AccountToken[]>;
38
50
  /** Mint a new account-scoped CLI PAT. The `secret_key` is returned once — the
39
51
  * caller must persist it immediately; subsequent reads only ever see `public_key`. */
40
52
  export declare function createAccountToken(input: CreateAccountTokenInput): Promise<CreatedAccountToken>;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/tokens.ts"],"names":[],"mappings":"AAaA,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb;8BAC0B;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;oEACgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,wBAAsB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,2BAGzD;AAED;uFACuF;AACvF,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,gCAUtE;AAED,wCAAwC;AACxC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;QAG1C,OAAO;GAExC;AASD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,wCAI3D;AAED,4FAA4F;AAC5F,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mCAQ1B;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAE5C,OAAO;GAIxC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/tokens.ts"],"names":[],"mappings":"AAaA,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb;8BAC0B;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;oEACgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAsB,iBAAiB,CACrC,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,wBAAwB,2BAOnC;AAED;uFACuF;AACvF,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,gCAUtE;AAED,wCAAwC;AACxC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;QAG1C,OAAO;GAExC;AASD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,wCAI3D;AAED,4FAA4F;AAC5F,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mCAQ1B;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAE5C,OAAO;GAIxC"}
@@ -10,8 +10,13 @@
10
10
  import { backendApi } from '../../http/api-client.js';
11
11
  import { unwrap } from './shared.js';
12
12
  /** List CLI PATs for an account (defaults to the caller's resolved account). */
13
- export async function listAccountTokens(accountId) {
14
- const qs = accountId ? `?account_id=${encodeURIComponent(accountId)}` : '';
13
+ export async function listAccountTokens(accountId, options) {
14
+ const params = new URLSearchParams();
15
+ if (accountId)
16
+ params.set('account_id', accountId);
17
+ if (options?.mine)
18
+ params.set('mine', 'true');
19
+ const qs = params.size > 0 ? `?${params.toString()}` : '';
15
20
  return unwrap(await backendApi.get(`/accounts/tokens${qs}`));
16
21
  }
17
22
  /** Mint a new account-scoped CLI PAT. The `secret_key` is returned once — the
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/tokens.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oEAAoE;AACpE,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,4EAA4E;AAC5E,mEAAmE;AACnE,yEAAyE;AACzE,wDAAwD;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAwClC,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAkB;IACxD,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAiB,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;uFACuF;AACvF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA8B;IACrE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACxD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CAAsB,kBAAkB,EAAE;QAC7D,IAAI;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAkB;IAC1E,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CAAkB,oBAAoB,OAAO,GAAG,EAAE,EAAE,CAAC,CAC7E,CAAC;AACJ,CAAC;AAoCD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAA8B,aAAa,SAAS,YAAY,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,KAAyB;IAEzB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,YAAY,EAClC,KAAK,IAAI,EAAE,CACZ,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,OAAe;IAC5E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,cAAc,OAAO,EAAE,CAC9C,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/tokens.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oEAAoE;AACpE,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,4EAA4E;AAC5E,mEAAmE;AACnE,yEAAyE;AACzE,wDAAwD;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAqDlC,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAkB,EAClB,OAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAiB,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;uFACuF;AACvF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA8B;IACrE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACxD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CAAsB,kBAAkB,EAAE;QAC7D,IAAI;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAkB;IAC1E,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CAAkB,oBAAoB,OAAO,GAAG,EAAE,EAAE,CAAC,CAC7E,CAAC;AACJ,CAAC;AAoCD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAA8B,aAAa,SAAS,YAAY,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,KAAyB;IAEzB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,YAAY,EAClC,KAAK,IAAI,EAAE,CACZ,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,OAAe;IAC5E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,cAAc,OAAO,EAAE,CAC9C,CACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,14 @@
1
- export type ProjectTriggerType = 'cron' | 'webhook';
1
+ export type ProjectTriggerType = 'cron' | 'webhook' | 'monitor';
2
+ /**
3
+ * How the platform runs a `type: monitor` trigger's `run` command:
4
+ * - `poll` — run it every `interval`, print, exit.
5
+ * - `stream` — run it once and keep it alive.
6
+ *
7
+ * Both shapes emit events as stdout lines, so nothing downstream (filter →
8
+ * prompt template → session_mode) can tell them apart.
9
+ * See docs/specs/2026-08-12-monitors.md.
10
+ */
11
+ export type ProjectMonitorMode = 'poll' | 'stream';
2
12
  /**
3
13
  * How each fire uses sessions:
4
14
  * - `fresh` (default) — a brand-new session per run.
@@ -8,6 +18,15 @@ export type ProjectTriggerType = 'cron' | 'webhook';
8
18
  * trigger fans out into a session per chat / customer / repo.
9
19
  */
10
20
  export type ProjectTriggerSessionMode = 'fresh' | 'reuse' | 'pinned' | 'keyed';
21
+ /**
22
+ * Who may open sessions created by this trigger. The trigger agent remains the
23
+ * owner. Project managers always retain access, including in `private` mode.
24
+ */
25
+ export interface TriggerSessionAccess {
26
+ mode: 'private' | 'project' | 'members';
27
+ memberIds: string[];
28
+ groupIds: string[];
29
+ }
11
30
  /** Parsed trigger spec — what the listing endpoint returns. */
12
31
  export interface ProjectTrigger {
13
32
  /** URL-safe slug (the filename minus `.md`). */
@@ -29,6 +48,22 @@ export interface ProjectTrigger {
29
48
  timezone: string;
30
49
  /** project_secrets key holding the webhook HMAC secret. */
31
50
  secret_env: string | null;
51
+ /**
52
+ * For type='monitor' only — the repo-relative command the platform
53
+ * supervises 24/7 in the project's monitor box. Its stdout lines are the
54
+ * events; nothing else is. Null on cron/webhook.
55
+ */
56
+ run: string | null;
57
+ /** For type='monitor' only — see {@link ProjectMonitorMode}. Null otherwise. */
58
+ mode: ProjectMonitorMode | null;
59
+ /** For mode='poll' only — the poll period in whole seconds. Null otherwise. */
60
+ interval_seconds: number | null;
61
+ /**
62
+ * For type='monitor' only — the silence watchdog in whole seconds. No event
63
+ * inside this window synthesizes a `silent` lifecycle event, so a wedged
64
+ * monitor can never fail silently. Null when the monitor declares none.
65
+ */
66
+ expect_event_within_seconds: number | null;
32
67
  prompt_template: string;
33
68
  /** Session strategy — see {@link ProjectTriggerSessionMode}. */
34
69
  session_mode: ProjectTriggerSessionMode;
@@ -48,6 +83,8 @@ export interface ProjectTrigger {
48
83
  * when unfiltered.
49
84
  */
50
85
  filter: Record<string, string> | null;
86
+ /** Access policy applied to every session this trigger creates. */
87
+ session_access: TriggerSessionAccess;
51
88
  last_fired_at: string | null;
52
89
  /** Public fire URL for webhook triggers; null for cron. */
53
90
  webhook_url: string | null;
@@ -95,7 +132,22 @@ export interface CreateProjectTriggerInput {
95
132
  timezone?: string;
96
133
  /** For type='webhook'. Name of a project_secrets entry. */
97
134
  secret_env?: string;
98
- /** Session strategy across fires. Omit for the default 'fresh'. */
135
+ /** Required for type='monitor'. Repo-relative command whose stdout lines fire. */
136
+ run?: string;
137
+ /** Required for type='monitor'. See {@link ProjectMonitorMode}. */
138
+ mode?: ProjectMonitorMode;
139
+ /**
140
+ * Required for mode='poll', rejected on mode='stream'. Duration literal
141
+ * (`30s`, `5m`, `24h`, `7d`), floor 30s. Never a bare number.
142
+ */
143
+ interval?: string;
144
+ /** For type='monitor'. Silence watchdog as a duration literal; floor 5m. */
145
+ expect_event_within?: string;
146
+ /**
147
+ * Session strategy across fires. Omit for the type's default — 'fresh' on
148
+ * cron/webhook, 'reuse' on monitor (a monitor fires repeatedly by design, so
149
+ * 'fresh' would mint a session per event).
150
+ */
99
151
  session_mode?: ProjectTriggerSessionMode;
100
152
  /** Required when session_mode === 'pinned': the session id to loop. */
101
153
  session_id?: string | null;
@@ -107,6 +159,8 @@ export interface CreateProjectTriggerInput {
107
159
  session_key?: string | null;
108
160
  /** Payload paths mapped to the value they must equal for the trigger to fire. */
109
161
  filter?: Record<string, string> | null;
162
+ /** Defaults to private. This is account-local runtime state, not manifest config. */
163
+ session_access?: TriggerSessionAccess;
110
164
  }
111
165
  export interface UpdateProjectTriggerInput {
112
166
  name?: string;
@@ -120,12 +174,25 @@ export interface UpdateProjectTriggerInput {
120
174
  run_at?: string | null;
121
175
  timezone?: string;
122
176
  secret_env?: string;
177
+ /** For type='monitor'. Repo-relative command whose stdout lines fire. */
178
+ run?: string;
179
+ /** For type='monitor'. See {@link ProjectMonitorMode}. */
180
+ mode?: ProjectMonitorMode;
181
+ /**
182
+ * For mode='poll'. Duration literal (`30s`, `5m`, `24h`, `7d`), floor 30s.
183
+ * null clears it — required when switching a poll monitor to 'stream'.
184
+ */
185
+ interval?: string | null;
186
+ /** For type='monitor'. Duration literal, floor 5m. null clears the watchdog. */
187
+ expect_event_within?: string | null;
123
188
  session_mode?: ProjectTriggerSessionMode;
124
189
  session_id?: string | null;
125
190
  /** See {@link CreateProjectTriggerInput.session_key}. null clears it. */
126
191
  session_key?: string | null;
127
192
  /** null or {} clears the filter. */
128
193
  filter?: Record<string, string> | null;
194
+ /** Replaces the policy and updates prior sessions created by this trigger. */
195
+ session_access?: TriggerSessionAccess;
129
196
  }
130
197
  export declare function listProjectTriggers(projectId: string): Promise<ProjectTriggerListing>;
131
198
  export declare function createProjectTrigger(projectId: string, input: CreateProjectTriggerInput): Promise<ProjectTriggerListing>;
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/triggers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Triggers — cron/webhook triggers defined in the project manifest.
1
+ // Triggers — cron/webhook/monitor triggers defined in the project manifest.
2
2
  import { backendApi } from '../../http/api-client.js';
3
3
  import { unwrap } from './shared.js';
4
4
  export async function listProjectTriggers(projectId) {
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/triggers.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAkJlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,WAAW,CAClC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,KAAgC;IAEhC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,WAAW,EACjC,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,IAAY,EACZ,KAAgC;IAEhC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CACpB,aAAa,SAAS,aAAa,IAAI,EAAE,EACzC,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,IAAY;IACxE,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,aAAa,IAAI,EAAE,CAC1C,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAiB,EACjB,MAAe;IAEf,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CACpB,aAAa,SAAS,sBAAsB,EAC5C,EAAE,MAAM,EAAE,CACX,CACF,CAAC;AACJ,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACtE,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,IAAI,OAAO,EAC9C,EAAE,CACH,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../../src/core/rest/projects-client/triggers.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAuNlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,WAAW,CAClC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,KAAgC;IAEhC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,WAAW,EACjC,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,IAAY,EACZ,KAAgC;IAEhC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CACpB,aAAa,SAAS,aAAa,IAAI,EAAE,EACzC,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,IAAY;IACxE,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,aAAa,IAAI,EAAE,CAC1C,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAiB,EACjB,MAAe;IAEf,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CACpB,aAAa,SAAS,sBAAsB,EAC5C,EAAE,MAAM,EAAE,CACX,CACF,CAAC;AACJ,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACtE,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,aAAa,IAAI,OAAO,EAC9C,EAAE,CACH,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Is this session COMPACTING? One pure projection, shaped like `working.ts`.
3
+ *
4
+ * Compaction is not a turn — `GET .../turn` reports nothing for it and the
5
+ * working projection deliberately knows nothing about it — but the composer
6
+ * still has to hold while it runs, so it had its own answer. That answer was a
7
+ * client-only boolean set by `startCompaction` and cleared ONLY by the
8
+ * `session.compacted` SSE frame: an unbounded latch on a signal that can be
9
+ * lost, which is the same defect the working projection was built to end.
10
+ *
11
+ * Two honest inputs replace it:
12
+ *
13
+ * - `serverCompactingAtMs` — `Session.time.compacting`, the runtime's own
14
+ * record, which nothing in this repo read before. It is what makes a
15
+ * compaction started by a second device or a trigger visible here at all.
16
+ * - `optimisticAtMs` — this tab's own `/compact`, which is accepted locally
17
+ * long before the row exists, and is therefore BOUNDED.
18
+ */
19
+ /**
20
+ * How long this tab's own `/compact` may claim `compacting` on its own.
21
+ *
22
+ * Generous next to a real compaction (a summarize call against the whole
23
+ * transcript), and finite because the release signal is one SSE frame. Missing
24
+ * that frame — a backgrounded tab, a stream reconnect — used to pin the
25
+ * composer for the lifetime of the tab.
26
+ */
27
+ export declare const OPTIMISTIC_COMPACTION_MAX_MS = 60000;
28
+ export interface CompactionInputs {
29
+ /** ms epoch at which this tab issued `/compact`, or null. */
30
+ optimisticAtMs: number | null;
31
+ /** `Session.time.compacting` from the runtime session row, or null. */
32
+ serverCompactingAtMs: number | null;
33
+ nowMs: number;
34
+ }
35
+ /**
36
+ * Precedence, and there are only two rules:
37
+ *
38
+ * 1. The runtime says a compaction is open → compacting. It is an observation
39
+ * of the server's own row, so it is not bounded here; the row is cleared by
40
+ * the refetch `session.compacted` already triggers.
41
+ * 2. Otherwise this tab's own unanswered `/compact`, until it ages out.
42
+ */
43
+ export declare function projectCompacting(inputs: CompactionInputs): boolean;
44
+ /**
45
+ * The next instant at which {@link projectCompacting} could answer differently
46
+ * on its own — i.e. when the optimistic stamp ages out.
47
+ *
48
+ * The projection is pure and moves with `nowMs`, so something has to ask it
49
+ * again at that instant or the cap is never applied. Nothing else re-renders
50
+ * when a compaction quietly outlives its stamp: the store slot has not changed,
51
+ * the transcript is idle, and the lost frame is precisely the case where no
52
+ * further event arrives. Same mechanism, same reason, as `workingExpiryAtMs`.
53
+ *
54
+ * `null` when nothing is left to expire (deadlines already past are skipped, so
55
+ * re-arming from what this returns terminates).
56
+ */
57
+ export declare function compactionExpiryAtMs(inputs: CompactionInputs): number | null;
58
+ /**
59
+ * How long a SERVER-observed `Session.time.compacting` may go unconfirmed
60
+ * before the caller must force a fresh read instead of trusting the cached
61
+ * row forever.
62
+ *
63
+ * Rule 1 of {@link projectCompacting} treats any non-null
64
+ * `serverCompactingAtMs` as authoritative for as long as it is observed — by
65
+ * design, since it is the runtime's own record, not a guess, and
66
+ * {@link compactionExpiryAtMs} deliberately arms no timer for it. But the
67
+ * only event that is SUPPOSED to clear that cached row
68
+ * (`session.compacted`, handled in `use-opencode-events/handle-event.ts`) can
69
+ * be lost the exact same way any SSE frame can — a backgrounded tab, a
70
+ * stream reconnect — and the targeted refetch that handler fires is its own
71
+ * network call that can itself fail. `useOpenCodeSession`
72
+ * (`use-opencode-sessions/sessions.ts`) reads the row with
73
+ * `staleTime: Infinity` and nothing else ever refetches it, so without a
74
+ * ceiling here "authoritative" becomes "wedged for the tab's lifetime" the
75
+ * moment either of those is lost — reproducing the exact unbounded-latch
76
+ * class this module exists to end.
77
+ *
78
+ * This is that ceiling. It does not change `projectCompacting`'s answer —
79
+ * rule 1 stays authoritative right up to the deadline — it only tells the
80
+ * caller (`use-session.ts`) WHEN to stop trusting the cached row and ask the
81
+ * server again, independent of whether `session.compacted` ever arrives.
82
+ */
83
+ export declare const SERVER_COMPACTION_REVALIDATE_MS = 90000;
84
+ /**
85
+ * The next instant at which a server-observed compaction flag needs a live
86
+ * re-check (see {@link SERVER_COMPACTION_REVALIDATE_MS}), or `null` when no
87
+ * server flag is currently observed.
88
+ *
89
+ * Unlike {@link compactionExpiryAtMs}, this CAN return an instant already in
90
+ * the past: the deadline is anchored to `serverCompactingAtMs` (when the flag
91
+ * was FIRST observed), not to `nowMs`, so a session mounted well after
92
+ * compaction started — or one whose revalidation kept re-arming because the
93
+ * server kept confirming `compacting: true` — can already be overdue the
94
+ * moment this is read. The caller fires the re-check immediately in that
95
+ * case rather than skip it: a stale flag discovered late is still stale.
96
+ */
97
+ export declare function serverCompactionRevalidateAtMs(inputs: CompactionInputs): number | null;
98
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uEAAuE;IACvE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAInE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAK5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAGtF"}