@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.
- package/README.md +3 -6
- package/dist/browser/session-sync/session-sync-registry.d.ts +7 -2
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +33 -44
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/browser/stores/opencode-compaction-store.d.ts +9 -3
- package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -1
- package/dist/browser/stores/opencode-compaction-store.js +5 -12
- package/dist/browser/stores/opencode-compaction-store.js.map +1 -1
- package/dist/browser/stores/sandbox-connection-store.d.ts +28 -17
- package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
- package/dist/browser/stores/sandbox-connection-store.js +32 -84
- package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
- package/dist/browser/stores/session-working-store.d.ts +73 -0
- package/dist/browser/stores/session-working-store.d.ts.map +1 -0
- package/dist/browser/stores/session-working-store.js +86 -0
- package/dist/browser/stores/session-working-store.js.map +1 -0
- package/dist/browser/stores/sync-store/types.d.ts +14 -4
- package/dist/browser/stores/sync-store/types.d.ts.map +1 -1
- package/dist/browser/stores/sync-store.d.ts +140 -3
- package/dist/browser/stores/sync-store.d.ts.map +1 -1
- package/dist/browser/stores/sync-store.js +425 -36
- package/dist/browser/stores/sync-store.js.map +1 -1
- package/dist/core/client/kortix.d.ts +102 -1
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +78 -0
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/files/client.d.ts +50 -2
- package/dist/core/files/client.d.ts.map +1 -1
- package/dist/core/files/client.js +253 -44
- package/dist/core/files/client.js.map +1 -1
- package/dist/core/files/types.d.ts +11 -0
- package/dist/core/files/types.d.ts.map +1 -1
- package/dist/core/http/abort-error.d.ts +89 -0
- package/dist/core/http/abort-error.d.ts.map +1 -0
- package/dist/core/http/abort-error.js +190 -0
- package/dist/core/http/abort-error.js.map +1 -0
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +18 -4
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/platform-client/github-app.d.ts +13 -0
- package/dist/core/rest/platform-client/github-app.d.ts.map +1 -1
- package/dist/core/rest/platform-client/github-app.js +2 -0
- package/dist/core/rest/platform-client/github-app.js.map +1 -1
- package/dist/core/rest/platform-client/members.d.ts +10 -64
- package/dist/core/rest/platform-client/members.d.ts.map +1 -1
- package/dist/core/rest/platform-client/members.js +10 -28
- package/dist/core/rest/platform-client/members.js.map +1 -1
- package/dist/core/rest/projects-client/accounts.d.ts +30 -1
- package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
- package/dist/core/rest/projects-client/accounts.js +1 -1
- package/dist/core/rest/projects-client/accounts.js.map +1 -1
- package/dist/core/rest/projects-client/apps.d.ts +13 -0
- package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
- package/dist/core/rest/projects-client/apps.js.map +1 -1
- package/dist/core/rest/projects-client/assignments.d.ts +114 -0
- package/dist/core/rest/projects-client/assignments.d.ts.map +1 -0
- package/dist/core/rest/projects-client/assignments.js +91 -0
- package/dist/core/rest/projects-client/assignments.js.map +1 -0
- package/dist/core/rest/projects-client/billing.d.ts +10 -1
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +11 -2
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +2 -0
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/files.js +2 -2
- package/dist/core/rest/projects-client/files.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +51 -0
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
- package/dist/core/rest/projects-client/gateway.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +51 -3
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
- package/dist/core/rest/projects-client/iam.js +18 -1
- package/dist/core/rest/projects-client/iam.js.map +1 -1
- package/dist/core/rest/projects-client/index.d.ts +1 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +1 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +1 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +3 -0
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/secrets.d.ts +11 -0
- package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
- package/dist/core/rest/projects-client/secrets.js +1 -1
- package/dist/core/rest/projects-client/secrets.js.map +1 -1
- package/dist/core/rest/projects-client/session-costs.d.ts +33 -0
- package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-costs.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +226 -2
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +101 -4
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/rest/projects-client/shared.d.ts +10 -1
- package/dist/core/rest/projects-client/shared.d.ts.map +1 -1
- package/dist/core/rest/projects-client/shared.js.map +1 -1
- package/dist/core/rest/projects-client/tokens.d.ts +13 -1
- package/dist/core/rest/projects-client/tokens.d.ts.map +1 -1
- package/dist/core/rest/projects-client/tokens.js +7 -2
- package/dist/core/rest/projects-client/tokens.js.map +1 -1
- package/dist/core/rest/projects-client/triggers.d.ts +69 -2
- package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
- package/dist/core/rest/projects-client/triggers.js +1 -1
- package/dist/core/rest/projects-client/triggers.js.map +1 -1
- package/dist/core/session/compaction.d.ts +98 -0
- package/dist/core/session/compaction.d.ts.map +1 -0
- package/dist/core/session/compaction.js +108 -0
- package/dist/core/session/compaction.js.map +1 -0
- package/dist/core/session/health.d.ts +22 -0
- package/dist/core/session/health.d.ts.map +1 -1
- package/dist/core/session/health.js +31 -5
- package/dist/core/session/health.js.map +1 -1
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +2 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/message-queue.d.ts +79 -15
- package/dist/core/session/message-queue.d.ts.map +1 -1
- package/dist/core/session/message-queue.js +73 -27
- package/dist/core/session/message-queue.js.map +1 -1
- package/dist/core/session/rewind.d.ts +76 -10
- package/dist/core/session/rewind.d.ts.map +1 -1
- package/dist/core/session/rewind.js +68 -11
- package/dist/core/session/rewind.js.map +1 -1
- package/dist/core/session/working.d.ts +241 -0
- package/dist/core/session/working.d.ts.map +1 -0
- package/dist/core/session/working.js +261 -0
- package/dist/core/session/working.js.map +1 -0
- package/dist/core/session-sync/session-sync-controller.d.ts +35 -20
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +48 -115
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/stream/event-stream.d.ts +22 -0
- package/dist/core/stream/event-stream.d.ts.map +1 -1
- package/dist/core/stream/event-stream.js +132 -36
- package/dist/core/stream/event-stream.js.map +1 -1
- package/dist/core/turns/grouping.d.ts +32 -2
- package/dist/core/turns/grouping.d.ts.map +1 -1
- package/dist/core/turns/grouping.js +31 -2
- package/dist/core/turns/grouping.js.map +1 -1
- package/dist/core/turns/index.d.ts +1 -0
- package/dist/core/turns/index.d.ts.map +1 -1
- package/dist/core/turns/index.js +1 -0
- package/dist/core/turns/index.js.map +1 -1
- package/dist/core/turns/open-turn.d.ts +81 -0
- package/dist/core/turns/open-turn.d.ts.map +1 -0
- package/dist/core/turns/open-turn.js +77 -0
- package/dist/core/turns/open-turn.js.map +1 -0
- package/dist/core/turns/state.js +26 -26
- package/dist/core/turns/state.js.map +1 -1
- package/dist/core/turns/types.d.ts +5 -0
- package/dist/core/turns/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +25 -25
- package/dist/kortix.global.js +25 -25
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +14 -2
- package/dist/node/server.js.map +1 -1
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +7 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/initial-session-pin.d.ts +17 -0
- package/dist/react/initial-session-pin.d.ts.map +1 -1
- package/dist/react/initial-session-pin.js +58 -0
- package/dist/react/initial-session-pin.js.map +1 -1
- package/dist/react/opencode.d.ts +6 -2
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +5 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/prefetch-session-start.d.ts +10 -4
- package/dist/react/prefetch-session-start.d.ts.map +1 -1
- package/dist/react/prefetch-session-start.js +10 -4
- package/dist/react/prefetch-session-start.js.map +1 -1
- package/dist/react/query-keys.d.ts +8 -2
- package/dist/react/query-keys.d.ts.map +1 -1
- package/dist/react/query-keys.js +8 -2
- package/dist/react/query-keys.js.map +1 -1
- package/dist/react/session-start-stash.d.ts +25 -0
- package/dist/react/session-start-stash.d.ts.map +1 -1
- package/dist/react/session-start-stash.js +34 -3
- package/dist/react/session-start-stash.js.map +1 -1
- package/dist/react/session-title-sync.d.ts +5 -1
- package/dist/react/session-title-sync.d.ts.map +1 -1
- package/dist/react/session-title-sync.js +16 -4
- package/dist/react/session-title-sync.js.map +1 -1
- package/dist/react/use-can.d.ts +105 -0
- package/dist/react/use-can.d.ts.map +1 -0
- package/dist/react/use-can.js +190 -0
- package/dist/react/use-can.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +6 -1
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +46 -3
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts +10 -0
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
- package/dist/react/use-opencode-events/handle-event.js +76 -7
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-events/helpers.d.ts +21 -8
- package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
- package/dist/react/use-opencode-events/helpers.js +25 -26
- package/dist/react/use-opencode-events/helpers.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +43 -26
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
- package/dist/react/use-opencode-events/use-event-stream-refs.js +66 -3
- package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts +17 -0
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +41 -7
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-sessions/messages.d.ts +101 -1
- package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/messages.js +481 -63
- package/dist/react/use-opencode-sessions/messages.js.map +1 -1
- package/dist/react/use-project-apps.d.ts +24 -1
- package/dist/react/use-project-apps.d.ts.map +1 -1
- package/dist/react/use-project-apps.js +5 -3
- package/dist/react/use-project-apps.js.map +1 -1
- package/dist/react/use-runtime-boot-stalled.d.ts +32 -0
- package/dist/react/use-runtime-boot-stalled.d.ts.map +1 -0
- package/dist/react/use-runtime-boot-stalled.js +48 -0
- package/dist/react/use-runtime-boot-stalled.js.map +1 -0
- package/dist/react/use-runtime-reconnect.d.ts +67 -1
- package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
- package/dist/react/use-runtime-reconnect.js +116 -18
- package/dist/react/use-runtime-reconnect.js.map +1 -1
- package/dist/react/use-session-prompts.d.ts +113 -0
- package/dist/react/use-session-prompts.d.ts.map +1 -0
- package/dist/react/use-session-prompts.js +242 -0
- package/dist/react/use-session-prompts.js.map +1 -0
- package/dist/react/use-session-send.d.ts +169 -20
- package/dist/react/use-session-send.d.ts.map +1 -1
- package/dist/react/use-session-send.js +178 -29
- package/dist/react/use-session-send.js.map +1 -1
- package/dist/react/use-session-sync.d.ts +35 -2
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +46 -9
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session-working.d.ts +57 -0
- package/dist/react/use-session-working.d.ts.map +1 -0
- package/dist/react/use-session-working.js +178 -0
- package/dist/react/use-session-working.js.map +1 -0
- package/dist/react/use-session.d.ts +122 -5
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +343 -69
- package/dist/react/use-session.js.map +1 -1
- package/package.json +2 -2
- package/dist/browser/stores/tab-store.d.ts +0 -91
- package/dist/browser/stores/tab-store.d.ts.map +0 -1
- package/dist/browser/stores/tab-store.js +0 -369
- package/dist/browser/stores/tab-store.js.map +0 -1
- package/dist/core/session/send-queue.d.ts +0 -70
- package/dist/core/session/send-queue.d.ts.map +0 -1
- package/dist/core/session/send-queue.js +0 -116
- package/dist/core/session/send-queue.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/node/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAI1C;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/node/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAI1C;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CpB;AA4GD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAQvE"}
|
package/dist/node/server.js
CHANGED
|
@@ -49,8 +49,20 @@ export async function forwardKortixRequest(options) {
|
|
|
49
49
|
headers.set('accept-encoding', 'identity');
|
|
50
50
|
const hasBody = request.method !== 'GET' && request.method !== 'HEAD';
|
|
51
51
|
const body = hasBody ? await request.arrayBuffer() : undefined;
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
/*
|
|
53
|
+
* `content-length` is NOT set back on.
|
|
54
|
+
*
|
|
55
|
+
* undici derives it from the body, and setting it explicitly made every
|
|
56
|
+
* bodied request through a wrapper proxy fail with
|
|
57
|
+
* `InvalidArgumentError: invalid content-length header` (UND_ERR_INVALID_ARG)
|
|
58
|
+
* — the throw is swallowed below and returned as a bare
|
|
59
|
+
* `502 Upstream request failed`, with the real cause nowhere in the response.
|
|
60
|
+
*
|
|
61
|
+
* That is not a corner: it is every POST, PUT and PATCH a wrapper forwards.
|
|
62
|
+
* A chat panel could list sessions and read config over GET and then failed
|
|
63
|
+
* the moment it tried to CREATE a session, which reads as "the agent is
|
|
64
|
+
* broken" rather than "the proxy cannot send a body".
|
|
65
|
+
*/
|
|
54
66
|
let upstreamResponse;
|
|
55
67
|
try {
|
|
56
68
|
upstreamResponse = await fetch(upstreamUrl, {
|
package/dist/node/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/node/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGpF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1C,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAI1C;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/node/server.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { answerQuestion, answerPermission, rejectQuestion, classifySendError, ty
|
|
|
3
3
|
export { BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, type BillingErrorUI, } from '../core/http/api/errors.js';
|
|
4
4
|
export { openEventStream, type EventStreamClient, type EventStreamHandle, type EventStreamTimers, type OpenCodeEvent, type OpenEventStreamOptions, } from '../core/stream/event-stream.js';
|
|
5
5
|
export * from './use-kortix-master.js';
|
|
6
|
-
export { useSessionSend, beginOptimisticSend, markOptimisticSendDispatched, abandonOptimisticSend, recoverFromSendFailure, sendAndRecover, applyOptimisticAbort, replayStartStash, type OpenCodeMessagesClient, type SendRecoveryOptions, type SendAndRecoverArgs, type SendAndRecoverResult, type StashReplayTimerHandle, type StashReplayTimers, type PreparedStashSend, type StartStashReplayOptions, type StartStashReplayHandle, type UseSessionSendOptions, type SendCallOptions, type UseSessionSendResult, } from './use-session-send.js';
|
|
6
|
+
export { useSessionSend, beginOptimisticSend, markOptimisticSendDispatched, markOptimisticSendInboxBacked, abandonOptimisticSend, recoverFromSendFailure, sendAndRecover, sendWithReceipt, stopWithReceipt, STOP_HOLD_DEADLINE_MS, applyOptimisticAbort, replayStartStash, type OpenCodeMessagesClient, type SendWithReceiptArgs, type StopWithReceiptOptions, type SendRecoveryOptions, type SendAndRecoverArgs, type SendAndRecoverResult, type StashReplayTimerHandle, type StashReplayTimers, type PreparedStashSend, type StartStashReplayOptions, type StartStashReplayHandle, type UseSessionSendOptions, type SendCallOptions, type UseSessionSendResult, } from './use-session-send.js';
|
|
7
7
|
export { useChatTurns, type TurnView, renderParts, type PartRenderers } from './chat/index.js';
|
|
8
8
|
export { useProjectSecrets, projectSecretsKey } from './use-project-secrets.js';
|
|
9
9
|
export { useProjectTriggers, projectTriggersKey } from './use-project-triggers.js';
|
|
@@ -26,6 +26,7 @@ export * from './use-admin-sandboxes.js';
|
|
|
26
26
|
export * from './use-authenticated-preview-url.js';
|
|
27
27
|
export * from './run-pty-command.js';
|
|
28
28
|
export * from './runtime-actions.js';
|
|
29
|
+
export { useCan, useCans, usePermissionsFor, invalidatePermissionProbes, permissionProbeKey, permissionProbeBatchKey, type CanResult, type CanTarget, type CanOptions, } from './use-can.js';
|
|
29
30
|
export * from './query-keys.js';
|
|
30
31
|
export * from './query-contracts.js';
|
|
31
32
|
export * from './use-project-name.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAYlC,OAAO,EACL,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AAEnB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
|
package/dist/react/index.js
CHANGED
|
@@ -26,7 +26,7 @@ export * from './use-kortix-master.js';
|
|
|
26
26
|
// `session-chat.tsx` — see `use-session-send.ts` for the full contract. Not
|
|
27
27
|
// (yet) re-exported by `./opencode`'s explicit barrel list, so re-exported
|
|
28
28
|
// directly here (same reasoning as the other direct re-exports above).
|
|
29
|
-
export { useSessionSend, beginOptimisticSend, markOptimisticSendDispatched, abandonOptimisticSend, recoverFromSendFailure, sendAndRecover, applyOptimisticAbort, replayStartStash, } from './use-session-send.js';
|
|
29
|
+
export { useSessionSend, beginOptimisticSend, markOptimisticSendDispatched, markOptimisticSendInboxBacked, abandonOptimisticSend, recoverFromSendFailure, sendAndRecover, sendWithReceipt, stopWithReceipt, STOP_HOLD_DEADLINE_MS, applyOptimisticAbort, replayStartStash, } from './use-session-send.js';
|
|
30
30
|
// The headless chat kit — `useChatTurns` (memoized `classifyTurn` over a
|
|
31
31
|
// message list) + `renderParts` (compile-time-exhaustive part -> T
|
|
32
32
|
// dispatcher). Framework-free classification lives in `@kortix/sdk/turns`;
|
|
@@ -69,6 +69,12 @@ export * from './runtime-actions.js';
|
|
|
69
69
|
// single `useProjectName` accessor, and the invalidation/optimistic-write
|
|
70
70
|
// helpers that keep the projects-list and project-detail caches in sync. See
|
|
71
71
|
// `query-keys.ts` for why the root segment is `'kx'` and not `'kortix'`.
|
|
72
|
+
// The client-side authorization probe — relocated from `apps/web/src/lib/`
|
|
73
|
+
// (`use-permission.ts` + `use-project-can.ts`), where it violated the "logic
|
|
74
|
+
// lives in the SDK" rule and left every other host with no probe at all.
|
|
75
|
+
// `invalidatePermissionProbes` is the cache contract every assignment write
|
|
76
|
+
// must honour: a 5-minute stale verdict is a revoke that has not happened yet.
|
|
77
|
+
export { useCan, useCans, usePermissionsFor, invalidatePermissionProbes, permissionProbeKey, permissionProbeBatchKey, } from './use-can.js';
|
|
72
78
|
export * from './query-keys.js';
|
|
73
79
|
export * from './query-contracts.js';
|
|
74
80
|
export * from './use-project-name.js';
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,0EAA0E;AAC1E,gFAAgF;AAChF,qEAAqE;AACrE,cAAc,YAAY,CAAC;AAE3B,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAKlB,MAAM,eAAe,CAAC;AAEvB,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,iEAAiE;AACjE,8BAA8B;AAC9B,OAAO,EACL,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,cAAc,qBAAqB,CAAC;AAEpC,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,22 @@ interface SessionPinSources {
|
|
|
4
4
|
persistedPin?: string | null;
|
|
5
5
|
}
|
|
6
6
|
export declare function resolveSessionPin({ startPin, initialPin, persistedPin, }: SessionPinSources): string | null;
|
|
7
|
+
export declare function sessionPinStorageKey(projectId: string, sessionId: string): string;
|
|
8
|
+
/** Synchronous. Never throws — a private/quota-exceeded browser or a
|
|
9
|
+
* server-side render (no `localStorage` global) both fall through to `null`,
|
|
10
|
+
* which is exactly "nothing cached yet" to every caller. */
|
|
11
|
+
export declare function readPersistedSessionPin(projectId: string, sessionId: string): string | null;
|
|
12
|
+
/** Mirrors a freshly-resolved canonical id so the NEXT mount of this session
|
|
13
|
+
* can paint synchronously. Never throws, and never writes an empty/falsy id
|
|
14
|
+
* — an unresolved pin must not clobber a good one already on disk. */
|
|
15
|
+
export declare function writePersistedSessionPin(projectId: string, sessionId: string, opencodeSessionId: string | null | undefined): void;
|
|
16
|
+
/** The network read (`getProjectSession`'s `opencode_session_id`) always wins
|
|
17
|
+
* once it has loaded — it is more authoritative than a local echo of a
|
|
18
|
+
* possibly-stale prior pin. Before it loads, fall back to the synchronous
|
|
19
|
+
* local cache so there is something to paint with on the first render. */
|
|
20
|
+
export declare function resolvePersistedPin(input: {
|
|
21
|
+
networkPin?: string | null;
|
|
22
|
+
cachedPin?: string | null;
|
|
23
|
+
}): string | null;
|
|
7
24
|
export {};
|
|
8
25
|
//# sourceMappingURL=initial-session-pin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-session-pin.d.ts","sourceRoot":"","sources":["../../src/react/initial-session-pin.ts"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,YAAY,GACb,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAEnC"}
|
|
1
|
+
{"version":3,"file":"initial-session-pin.d.ts","sourceRoot":"","sources":["../../src/react/initial-session-pin.ts"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,YAAY,GACb,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAEnC;AAwBD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED;;6DAE6D;AAC7D,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO3F;AAED;;uEAEuE;AACvE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC3C,IAAI,CAQN;AAED;;;2EAG2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,MAAM,GAAG,IAAI,CAEhB"}
|
|
@@ -1,4 +1,62 @@
|
|
|
1
1
|
export function resolveSessionPin({ startPin, initialPin, persistedPin, }) {
|
|
2
2
|
return startPin ?? initialPin ?? persistedPin ?? null;
|
|
3
3
|
}
|
|
4
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
5
|
+
// T6 — a synchronous, local mirror of the server-persisted pin.
|
|
6
|
+
//
|
|
7
|
+
// `persistedPin` above used to be fed ONLY from `getProjectSession` (a REST
|
|
8
|
+
// round trip via `useProjectSession`). That is real, durable, server-side
|
|
9
|
+
// storage — but it is never available on the FIRST render of a cold mount, so
|
|
10
|
+
// `useCanonicalOpenCodeSession` painted nothing until that fetch (or /start's
|
|
11
|
+
// much slower long-poll) came back, even for a session whose transcript was
|
|
12
|
+
// already sitting in this browser's IDB cache under the very id we're waiting
|
|
13
|
+
// to learn.
|
|
14
|
+
//
|
|
15
|
+
// `readPersistedSessionPin` mirrors the LAST canonical id this browser saw for
|
|
16
|
+
// (projectId, sessionId) in `localStorage` — a synchronous read, so it can
|
|
17
|
+
// feed `persistedPin` on the very first render, before any network call
|
|
18
|
+
// resolves. It is a cache, never a source of truth: `resolvePersistedPin`
|
|
19
|
+
// below always lets the network value win the moment it loads, and
|
|
20
|
+
// `resolveSessionPin`'s own precedence always lets a live /start pin win over
|
|
21
|
+
// everything. A stale entry here can only ever cost one render's worth of
|
|
22
|
+
// showing the previous transcript before something more authoritative
|
|
23
|
+
// corrects it — never a permanent wrong display.
|
|
24
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
25
|
+
export function sessionPinStorageKey(projectId, sessionId) {
|
|
26
|
+
return `kortix:pin:${projectId}/${sessionId}`;
|
|
27
|
+
}
|
|
28
|
+
/** Synchronous. Never throws — a private/quota-exceeded browser or a
|
|
29
|
+
* server-side render (no `localStorage` global) both fall through to `null`,
|
|
30
|
+
* which is exactly "nothing cached yet" to every caller. */
|
|
31
|
+
export function readPersistedSessionPin(projectId, sessionId) {
|
|
32
|
+
if (!projectId || !sessionId)
|
|
33
|
+
return null;
|
|
34
|
+
try {
|
|
35
|
+
return localStorage.getItem(sessionPinStorageKey(projectId, sessionId)) || null;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Mirrors a freshly-resolved canonical id so the NEXT mount of this session
|
|
42
|
+
* can paint synchronously. Never throws, and never writes an empty/falsy id
|
|
43
|
+
* — an unresolved pin must not clobber a good one already on disk. */
|
|
44
|
+
export function writePersistedSessionPin(projectId, sessionId, opencodeSessionId) {
|
|
45
|
+
if (!projectId || !sessionId || !opencodeSessionId)
|
|
46
|
+
return;
|
|
47
|
+
try {
|
|
48
|
+
localStorage.setItem(sessionPinStorageKey(projectId, sessionId), opencodeSessionId);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Best-effort. Worst case the next mount re-waits on the network, exactly
|
|
52
|
+
// as it did before this cache existed.
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** The network read (`getProjectSession`'s `opencode_session_id`) always wins
|
|
56
|
+
* once it has loaded — it is more authoritative than a local echo of a
|
|
57
|
+
* possibly-stale prior pin. Before it loads, fall back to the synchronous
|
|
58
|
+
* local cache so there is something to paint with on the first render. */
|
|
59
|
+
export function resolvePersistedPin(input) {
|
|
60
|
+
return input.networkPin ?? input.cachedPin ?? null;
|
|
61
|
+
}
|
|
4
62
|
//# sourceMappingURL=initial-session-pin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-session-pin.js","sourceRoot":"","sources":["../../src/react/initial-session-pin.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,YAAY,GACM;IAClB,OAAO,QAAQ,IAAI,UAAU,IAAI,YAAY,IAAI,IAAI,CAAC;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"initial-session-pin.js","sourceRoot":"","sources":["../../src/react/initial-session-pin.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,YAAY,GACM;IAClB,OAAO,QAAQ,IAAI,UAAU,IAAI,YAAY,IAAI,IAAI,CAAC;AACxD,CAAC;AAED,gFAAgF;AAChF,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,YAAY;AACZ,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,mEAAmE;AACnE,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AACtE,iDAAiD;AACjD,gFAAgF;AAEhF,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,SAAiB;IACvE,OAAO,cAAc,SAAS,IAAI,SAAS,EAAE,CAAC;AAChD,CAAC;AAED;;6DAE6D;AAC7D,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,SAAiB;IAC1E,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;uEAEuE;AACvE,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,SAAiB,EACjB,iBAA4C;IAE5C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC3D,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,uCAAuC;IACzC,CAAC;AACH,CAAC;AAED;;;2EAG2E;AAC3E,MAAM,UAAU,mBAAmB,CAAC,KAGnC;IACC,OAAO,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,CAAC"}
|
package/dist/react/opencode.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export { useOpenCodeAgents as useRuntimeAgents } from './use-opencode-sessions/a
|
|
|
27
27
|
export { useOpenCodeCommands as useRuntimeCommands } from './use-opencode-sessions/commands.js';
|
|
28
28
|
export { useOpenCodeCurrentProject as useRuntimeCurrentProject, useOpenCodePathInfo as useRuntimePathInfo, } from './use-opencode-sessions/projects.js';
|
|
29
29
|
export { useOpenCodeProviders as useRuntimeProviders } from './use-opencode-sessions/providers.js';
|
|
30
|
-
export { promptOpenCodeMessage as promptRuntimeMessage, useOpenCodeMessages as useRuntimeMessages, } from './use-opencode-sessions/messages.js';
|
|
30
|
+
export { mintSessionWireMessageId, promptOpenCodeMessage as promptRuntimeMessage, useOpenCodeMessages as useRuntimeMessages, } from './use-opencode-sessions/messages.js';
|
|
31
31
|
export { useOpenCodeSession as useRuntimeSession, useOpenCodeSessionDiff as useRuntimeSessionDiff, useOpenCodeSessionTodo as useRuntimeSessionTodo, useOpenCodeSessions as useRuntimeSessions, } from './use-opencode-sessions/sessions.js';
|
|
32
32
|
export { useOpenCodeRuntimeReady as useRuntimeReady } from './use-opencode-sessions/keys.js';
|
|
33
33
|
export { useOpenCodeEventStream as useRuntimeEventStream } from './use-opencode-events/index.js';
|
|
@@ -43,7 +43,7 @@ export { useCreateOpenCodeSession as useCreateRuntimeSession, useSummarizeOpenCo
|
|
|
43
43
|
export * from './use-runtime-reconnect.js';
|
|
44
44
|
export { useOpenCodePendingStore } from '../browser/stores/opencode-pending-store.js';
|
|
45
45
|
export { useOpenCodePendingStore as useRuntimePendingStore } from '../browser/stores/opencode-pending-store.js';
|
|
46
|
-
export { useSandboxConnectionStore, type SandboxConnectionStatus,
|
|
46
|
+
export { useSandboxConnectionStore, type SandboxConnectionStatus, } from '../browser/stores/sandbox-connection-store.js';
|
|
47
47
|
export { requestRuntimeReconnect, useSandboxConnectionStore as useRuntimeConnectionStore, } from '../browser/stores/sandbox-connection-store.js';
|
|
48
48
|
export { useServerStore as useRuntimeStore } from '../browser/stores/server-store.js';
|
|
49
49
|
export { useSyncStore as useSessionStateStore } from '../browser/stores/sync-store.js';
|
|
@@ -60,7 +60,11 @@ export { useProjectConfig } from './use-project-config.js';
|
|
|
60
60
|
export type { ProjectConfigSummary } from '../core/rest/projects-client/index.js';
|
|
61
61
|
export { useSession, type SessionPhase, type UseSessionResult, type UseSessionOptions, } from './use-session.js';
|
|
62
62
|
export { useSessionPicks, type SessionPicks } from './use-session-picks.js';
|
|
63
|
+
export { useSessionPrompts, sessionPromptsPollMs, startSessionWithPrompt, isOptimisticSessionPrompt, optimisticSessionPrompt, applyOptimisticPrompt, settleOptimisticPrompt, removeOptimisticPrompt, reconcileOptimisticPrompts, OPTIMISTIC_PROMPT_PREFIX, SESSION_PROMPTS_POLL_MS, SESSION_PROMPTS_IDLE_POLL_MS, type StartSessionWithPromptAdapters, type UseSessionPromptsResult, } from './use-session-prompts.js';
|
|
64
|
+
export { useSessionWorkingStore } from '../browser/stores/session-working-store.js';
|
|
65
|
+
export { useSessionWorking, workingPollMs, buildWorkingInputs, WORKING_POLL_ACTIVE_MS, WORKING_POLL_IDLE_MS, type SessionTurnObservation, type UseSessionWorkingOptions, } from './use-session-working.js';
|
|
63
66
|
export { useRuntimePhase, type RuntimePhase } from './use-runtime-phase.js';
|
|
67
|
+
export { useRuntimeBootStalled, RUNTIME_BOOT_STALL_MS } from './use-runtime-boot-stalled.js';
|
|
64
68
|
export { useQuestionSelfHeal, hasRunningQuestionTool, type UseQuestionSelfHealOptions, } from './use-question-self-heal.js';
|
|
65
69
|
export { usePermissionSelfHeal, findPermissionBlockedCandidate, hasActiveNonQuestionTool, type UsePermissionSelfHealOptions, } from './use-permission-self-heal.js';
|
|
66
70
|
export { startStashKey, writeStartStash, readStartStash, clearStartStash, migrateStash, migrateLegacyStash, type StartStash, } from './session-start-stash.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAsBH,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EACL,yBAAyB,IAAI,wBAAwB,EACrD,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAChG,OAAO,EACL,qBAAqB,IAAI,oBAAoB,EAC7C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,IAAI,iBAAiB,EACvC,sBAAsB,IAAI,qBAAqB,EAC/C,sBAAsB,IAAI,qBAAqB,EAC/C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACrG,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAsB1C,cAAc,yBAAyB,CAAC;AAKxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAsBH,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EACL,yBAAyB,IAAI,wBAAwB,EACrD,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAChG,OAAO,EACL,wBAAwB,EACxB,qBAAqB,IAAI,oBAAoB,EAC7C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,IAAI,iBAAiB,EACvC,sBAAsB,IAAI,qBAAqB,EAC/C,sBAAsB,IAAI,qBAAqB,EAC/C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACrG,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAsB1C,cAAc,yBAAyB,CAAC;AAKxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,IAAI,yBAAyB,GACvD,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpF,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AAKnC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,0CAA0C,EAC1C,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,oCAAoC,EACpC,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQzE,OAAO,EACL,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,EACxB,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,KAAK,UAAU,GAChB,MAAM,uBAAuB,CAAC"}
|
package/dist/react/opencode.js
CHANGED
|
@@ -48,7 +48,7 @@ export { useOpenCodeAgents as useRuntimeAgents } from './use-opencode-sessions/a
|
|
|
48
48
|
export { useOpenCodeCommands as useRuntimeCommands } from './use-opencode-sessions/commands.js';
|
|
49
49
|
export { useOpenCodeCurrentProject as useRuntimeCurrentProject, useOpenCodePathInfo as useRuntimePathInfo, } from './use-opencode-sessions/projects.js';
|
|
50
50
|
export { useOpenCodeProviders as useRuntimeProviders } from './use-opencode-sessions/providers.js';
|
|
51
|
-
export { promptOpenCodeMessage as promptRuntimeMessage, useOpenCodeMessages as useRuntimeMessages, } from './use-opencode-sessions/messages.js';
|
|
51
|
+
export { mintSessionWireMessageId, promptOpenCodeMessage as promptRuntimeMessage, useOpenCodeMessages as useRuntimeMessages, } from './use-opencode-sessions/messages.js';
|
|
52
52
|
export { useOpenCodeSession as useRuntimeSession, useOpenCodeSessionDiff as useRuntimeSessionDiff, useOpenCodeSessionTodo as useRuntimeSessionTodo, useOpenCodeSessions as useRuntimeSessions, } from './use-opencode-sessions/sessions.js';
|
|
53
53
|
export { useOpenCodeRuntimeReady as useRuntimeReady } from './use-opencode-sessions/keys.js';
|
|
54
54
|
export { useOpenCodeEventStream as useRuntimeEventStream } from './use-opencode-events/index.js';
|
|
@@ -117,7 +117,11 @@ export { useProjectConfig } from './use-project-config.js';
|
|
|
117
117
|
// pill, the new-session hand-off) without a full session.
|
|
118
118
|
export { useSession, } from './use-session.js';
|
|
119
119
|
export { useSessionPicks } from './use-session-picks.js';
|
|
120
|
+
export { useSessionPrompts, sessionPromptsPollMs, startSessionWithPrompt, isOptimisticSessionPrompt, optimisticSessionPrompt, applyOptimisticPrompt, settleOptimisticPrompt, removeOptimisticPrompt, reconcileOptimisticPrompts, OPTIMISTIC_PROMPT_PREFIX, SESSION_PROMPTS_POLL_MS, SESSION_PROMPTS_IDLE_POLL_MS, } from './use-session-prompts.js';
|
|
121
|
+
export { useSessionWorkingStore } from '../browser/stores/session-working-store.js';
|
|
122
|
+
export { useSessionWorking, workingPollMs, buildWorkingInputs, WORKING_POLL_ACTIVE_MS, WORKING_POLL_IDLE_MS, } from './use-session-working.js';
|
|
120
123
|
export { useRuntimePhase } from './use-runtime-phase.js';
|
|
124
|
+
export { useRuntimeBootStalled, RUNTIME_BOOT_STALL_MS } from './use-runtime-boot-stalled.js';
|
|
121
125
|
export { useQuestionSelfHeal, hasRunningQuestionTool, } from './use-question-self-heal.js';
|
|
122
126
|
export { usePermissionSelfHeal, findPermissionBlockedCandidate, hasActiveNonQuestionTool, } from './use-permission-self-heal.js';
|
|
123
127
|
export { startStashKey, writeStartStash, readStartStash, clearStartStash, migrateStash, migrateLegacyStash, } from './session-start-stash.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@ import type { QueryClient } from '@tanstack/react-query';
|
|
|
2
2
|
/**
|
|
3
3
|
* Begin the session runtime boot DURING the route transition (before the session
|
|
4
4
|
* page mounts), so provisioning overlaps navigation instead of starting after the
|
|
5
|
-
* page paints. Idempotent
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* page paints. Idempotent: React Query dedupes against the session page's own
|
|
6
|
+
* query (same key), and `/start` is idempotent server-side. Also warms the route
|
|
7
|
+
* bundle. Use at every createProjectSession→navigate site.
|
|
8
|
+
*
|
|
9
|
+
* Returns the prefetch promise (it never rejects — `prefetchQuery` swallows
|
|
10
|
+
* errors) so a caller can sequence work on `/start` having settled. The warm
|
|
11
|
+
* adoption path needs this: `/start` is what drops a warm session's
|
|
12
|
+
* `metadata.warm`, so a sessions-list refetch issued before it settles can
|
|
13
|
+
* still see the row hidden. Fire-and-forget callers just ignore the return.
|
|
8
14
|
*/
|
|
9
|
-
export declare function prefetchSessionStart(queryClient: QueryClient, projectId: string, sessionId: string): void
|
|
15
|
+
export declare function prefetchSessionStart(queryClient: QueryClient, projectId: string, sessionId: string): Promise<void>;
|
|
10
16
|
//# sourceMappingURL=prefetch-session-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch-session-start.d.ts","sourceRoot":"","sources":["../../src/react/prefetch-session-start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD
|
|
1
|
+
{"version":3,"file":"prefetch-session-start.d.ts","sourceRoot":"","sources":["../../src/react/prefetch-session-start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -3,12 +3,18 @@ import { sessionStartKey, startProjectSession } from '../core/rest/projects-clie
|
|
|
3
3
|
/**
|
|
4
4
|
* Begin the session runtime boot DURING the route transition (before the session
|
|
5
5
|
* page mounts), so provisioning overlaps navigation instead of starting after the
|
|
6
|
-
* page paints. Idempotent
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* page paints. Idempotent: React Query dedupes against the session page's own
|
|
7
|
+
* query (same key), and `/start` is idempotent server-side. Also warms the route
|
|
8
|
+
* bundle. Use at every createProjectSession→navigate site.
|
|
9
|
+
*
|
|
10
|
+
* Returns the prefetch promise (it never rejects — `prefetchQuery` swallows
|
|
11
|
+
* errors) so a caller can sequence work on `/start` having settled. The warm
|
|
12
|
+
* adoption path needs this: `/start` is what drops a warm session's
|
|
13
|
+
* `metadata.warm`, so a sessions-list refetch issued before it settles can
|
|
14
|
+
* still see the row hidden. Fire-and-forget callers just ignore the return.
|
|
9
15
|
*/
|
|
10
16
|
export function prefetchSessionStart(queryClient, projectId, sessionId) {
|
|
11
|
-
|
|
17
|
+
return queryClient.prefetchQuery({
|
|
12
18
|
queryKey: sessionStartKey(projectId, sessionId),
|
|
13
19
|
queryFn: () => startProjectSession(projectId, sessionId),
|
|
14
20
|
staleTime: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch-session-start.js","sourceRoot":"","sources":["../../src/react/prefetch-session-start.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEpF
|
|
1
|
+
{"version":3,"file":"prefetch-session-start.js","sourceRoot":"","sources":["../../src/react/prefetch-session-start.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAwB,EACxB,SAAiB,EACjB,SAAiB;IAEjB,OAAO,WAAW,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC;QAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC;QACxD,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -128,8 +128,10 @@ export declare const qk: {
|
|
|
128
128
|
* (`core/rest/projects-client/sessions.ts`) is a DIFFERENT server
|
|
129
129
|
* request per scope, not a client-side filter of one response —
|
|
130
130
|
* `'visible'` (the default; matches passing no `options` at all) returns
|
|
131
|
-
* what the caller can see, `'project'` is the manager-only
|
|
132
|
-
*
|
|
131
|
+
* what the caller can see, while `'project'` is the manager-only lifecycle
|
|
132
|
+
* inventory that also includes accessible warm and soft-deleted rows
|
|
133
|
+
* (`apps/api/src/projects/lib/session-inventory.ts`). Neither scope returns
|
|
134
|
+
* sessions the caller cannot open.
|
|
133
135
|
* Before this, both scopes shared one scope-less key, so whichever fetch
|
|
134
136
|
* resolved last silently overwrote what the OTHER scope's readers saw —
|
|
135
137
|
* the sidebar could render the unfiltered manager inventory, or the
|
|
@@ -175,6 +177,10 @@ export declare const qk: {
|
|
|
175
177
|
* continuing to hit nothing.
|
|
176
178
|
*/
|
|
177
179
|
readonly sessionSandbox: (id: string, sessionId: string) => readonly ["kx", "project", string, "sessions", string, "sandbox"];
|
|
180
|
+
/** `listSessionPrompts` — the session's server-side prompt inbox. */
|
|
181
|
+
readonly sessionPrompts: (id: string, sessionId: string) => readonly ["kx", "project", string, "sessions", string, "prompts"];
|
|
182
|
+
/** `getSessionTurn` — server truth about the turns running right now. */
|
|
183
|
+
readonly sessionTurn: (id: string, sessionId: string) => readonly ["kx", "project", string, "sessions", string, "turn"];
|
|
178
184
|
readonly connectors: (id: string) => readonly ["kx", "project", string, "connectors"];
|
|
179
185
|
/** One connector's config — `getConnectorConfig(id, slug)`. */
|
|
180
186
|
readonly connectorConfig: (id: string, slug: string) => readonly ["kx", "project", string, "connectors", string];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,EAAE;;QAEX;;;;iEAIyD;;QAGzD,+EAA+E;oCAC5D,MAAM;;;QAIzB,4DAA4D;6BAChD,MAAM;QAElB;;;;;;;;;;;;;WAaG;+BACW,MAAM;8BAEP,MAAM;QACnB;;;;;;;;;;;WAWG;8BACU,MAAM;QACnB;;;;;;;;;;;;;;;WAeG;mCACe,MAAM;QAExB;;;;;;;;;WASG;qCACiB,MAAM;QAE1B
|
|
1
|
+
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,EAAE;;QAEX;;;;iEAIyD;;QAGzD,+EAA+E;oCAC5D,MAAM;;;QAIzB,4DAA4D;6BAChD,MAAM;QAElB;;;;;;;;;;;;;WAaG;+BACW,MAAM;8BAEP,MAAM;QACnB;;;;;;;;;;;WAWG;8BACU,MAAM;QACnB;;;;;;;;;;;;;;;WAeG;mCACe,MAAM;QAExB;;;;;;;;;WASG;qCACiB,MAAM;QAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;gCACY,MAAM,UAAS,SAAS,GAAG,SAAS;QAGnD;;;;;;WAMG;+BACW,MAAM,aAAa,MAAM;gCAExB,MAAM,aAAa,MAAM;QAExC;;;;;;;;;;;WAWG;sCACkB,MAAM,aAAa,MAAM;QAE9C,qEAAqE;sCAChD,MAAM,aAAa,MAAM;QAE9C,yEAAyE;mCACvD,MAAM,aAAa,MAAM;kCAG1B,MAAM;QACvB,+DAA+D;uCACzC,MAAM,QAAQ,MAAM;8BAG7B,MAAM;sCACE,MAAM;sCACN,MAAM;QAC3B,yFAAyF;mCACvE,MAAM;QACxB;iFACyE;sCACpD,MAAM;+BAEb,MAAM;QAEpB,yDAAyD;4BAC9C,MAAM;QACjB,iEAAiE;iCACjD,MAAM,SAAS,MAAM;QACrC,oDAAoD;wCAC7B,MAAM,SAAS,MAAM;QAE5C,gDAAgD;sCAC3B,MAAM,SAAS,MAAM;QAG1C;;;;;4CAKoC;gCACrB,MAAM;QAErB;;;;;;;WAOG;6BACS,MAAM;kCACD,MAAM,QAAQ,MAAM;gCAEtB,MAAM;QAErB;;wEAEgE;gCACjD,MAAM;QACrB;;;;;;;;;;WAUG;wCACoB,MAAM;iCAEb,MAAM;wCACC,MAAM;iCACb,MAAM;QAEtB,6EAA6E;+BAC/D,MAAM;uCACE,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;wCAEjB,MAAM,QAAQ,MAAM;uCAErB,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;QAExC,wFAAwF;mCACtE,MAAM,MAAM,OAAO,GAAG,IAAI;kCAE3B,MAAM,SAAS,MAAM,GAAG,IAAI;sCAExB,MAAM;mCACT,MAAM;;CAElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/react/query-keys.js
CHANGED
|
@@ -128,8 +128,10 @@ export const qk = {
|
|
|
128
128
|
* (`core/rest/projects-client/sessions.ts`) is a DIFFERENT server
|
|
129
129
|
* request per scope, not a client-side filter of one response —
|
|
130
130
|
* `'visible'` (the default; matches passing no `options` at all) returns
|
|
131
|
-
* what the caller can see, `'project'` is the manager-only
|
|
132
|
-
*
|
|
131
|
+
* what the caller can see, while `'project'` is the manager-only lifecycle
|
|
132
|
+
* inventory that also includes accessible warm and soft-deleted rows
|
|
133
|
+
* (`apps/api/src/projects/lib/session-inventory.ts`). Neither scope returns
|
|
134
|
+
* sessions the caller cannot open.
|
|
133
135
|
* Before this, both scopes shared one scope-less key, so whichever fetch
|
|
134
136
|
* resolved last silently overwrote what the OTHER scope's readers saw —
|
|
135
137
|
* the sidebar could render the unfiltered manager inventory, or the
|
|
@@ -175,6 +177,10 @@ export const qk = {
|
|
|
175
177
|
* continuing to hit nothing.
|
|
176
178
|
*/
|
|
177
179
|
sessionSandbox: (id, sessionId) => [...qk.project.session(id, sessionId), 'sandbox'],
|
|
180
|
+
/** `listSessionPrompts` — the session's server-side prompt inbox. */
|
|
181
|
+
sessionPrompts: (id, sessionId) => [...qk.project.session(id, sessionId), 'prompts'],
|
|
182
|
+
/** `getSessionTurn` — server truth about the turns running right now. */
|
|
183
|
+
sessionTurn: (id, sessionId) => [...qk.project.session(id, sessionId), 'turn'],
|
|
178
184
|
connectors: (id) => [...qk.project.scope(id), 'connectors'],
|
|
179
185
|
/** One connector's config — `getConnectorConfig(id, slug)`. */
|
|
180
186
|
connectorConfig: (id, slug) => [...qk.project.connectors(id), slug],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.js","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,QAAQ,EAAE;QACR;;;;iEAIyD;QACzD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAU;QAExC,+EAA+E;QAC/E,IAAI,EAAE,CAAC,SAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,IAAI,KAAK,CAAU;KACpF;IAED,OAAO,EAAE;QACP,4DAA4D;QAC5D,KAAK,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAU;QAErD;;;;;;;;;;;;;WAaG;QACH,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,CAAU;QAEtE,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAU;QACpE;;;;;;;;;;;WAWG;QACH,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAU;QACpE;;;;;;;;;;;;;;;WAeG;QACH,WAAW,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAU;QAE1E;;;;;;;;;WASG;QACH,aAAa,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,CAAU;QAE7E
|
|
1
|
+
{"version":3,"file":"query-keys.js","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,16 @@
|
|
|
6
6
|
* that's how the chosen model/agent/variant apply to the opening turn. Owned by
|
|
7
7
|
* the SDK so the producer (new-session screen) and consumer (`useSession`)
|
|
8
8
|
* share one contract.
|
|
9
|
+
*
|
|
10
|
+
* ## Two producer styles
|
|
11
|
+
*
|
|
12
|
+
* A host with an inbox client (apps/web) writes a PICKS-ONLY stash
|
|
13
|
+
* (`prompt: ''`): the prompt itself becomes a durable server row at session
|
|
14
|
+
* create (or via `startSessionWithPrompt`), and only the model/agent/variant
|
|
15
|
+
* hand-off still travels here. An empty prompt therefore round-trips — see
|
|
16
|
+
* the picks-only test — and `useSession`'s replay sends nothing for it. A
|
|
17
|
+
* host without one (apps/whitelabel-demo, the golden thin-SDK reference)
|
|
18
|
+
* writes the full stash and the replay path delivers it exactly as always.
|
|
9
19
|
*/
|
|
10
20
|
export interface StartStash {
|
|
11
21
|
prompt: string;
|
|
@@ -15,7 +25,22 @@ export interface StartStash {
|
|
|
15
25
|
} | null;
|
|
16
26
|
agent: string | null;
|
|
17
27
|
variant?: string | null;
|
|
28
|
+
/** Epoch ms of the last write. Stamped by {@link writeStartStash}; a stash
|
|
29
|
+
* older than {@link START_STASH_TTL_MS} reads as absent. Absent on entries
|
|
30
|
+
* written before this field existed (treated as fresh once, then
|
|
31
|
+
* re-stamped by any rewrite). */
|
|
32
|
+
at?: number;
|
|
18
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* How long a stash stays deliverable. A stash is a hand-off for the
|
|
36
|
+
* navigation that wrote it — a failed replay restores it (re-stamped), but
|
|
37
|
+
* one that then sits unconsumed is a stale prompt, and replaying it into the
|
|
38
|
+
* session's by-then-real conversation on a much later visit is exactly the
|
|
39
|
+
* mis-delivery the warm-session work exists to prevent. 10 minutes matches
|
|
40
|
+
* the API's own bound for "how stale can a delivery be and still count"
|
|
41
|
+
* (UNDELIVERED_PROMPT_STARVATION_MS).
|
|
42
|
+
*/
|
|
43
|
+
export declare const START_STASH_TTL_MS: number;
|
|
19
44
|
export declare function startStashKey(sessionId: string): string;
|
|
20
45
|
export declare function writeStartStash(sessionId: string, stash: StartStash): void;
|
|
21
46
|
export declare function readStartStash(sessionId: string): StartStash | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start-stash.d.ts","sourceRoot":"","sources":["../../src/react/session-start-stash.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-start-stash.d.ts","sourceRoot":"","sources":["../../src/react/session-start-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;sCAGkC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,QAAc,CAAC;AAE9C,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAYD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAO1E;AAqED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoBnE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAU7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,IAAI,CAwBN"}
|
|
@@ -6,7 +6,27 @@
|
|
|
6
6
|
* that's how the chosen model/agent/variant apply to the opening turn. Owned by
|
|
7
7
|
* the SDK so the producer (new-session screen) and consumer (`useSession`)
|
|
8
8
|
* share one contract.
|
|
9
|
+
*
|
|
10
|
+
* ## Two producer styles
|
|
11
|
+
*
|
|
12
|
+
* A host with an inbox client (apps/web) writes a PICKS-ONLY stash
|
|
13
|
+
* (`prompt: ''`): the prompt itself becomes a durable server row at session
|
|
14
|
+
* create (or via `startSessionWithPrompt`), and only the model/agent/variant
|
|
15
|
+
* hand-off still travels here. An empty prompt therefore round-trips — see
|
|
16
|
+
* the picks-only test — and `useSession`'s replay sends nothing for it. A
|
|
17
|
+
* host without one (apps/whitelabel-demo, the golden thin-SDK reference)
|
|
18
|
+
* writes the full stash and the replay path delivers it exactly as always.
|
|
9
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* How long a stash stays deliverable. A stash is a hand-off for the
|
|
22
|
+
* navigation that wrote it — a failed replay restores it (re-stamped), but
|
|
23
|
+
* one that then sits unconsumed is a stale prompt, and replaying it into the
|
|
24
|
+
* session's by-then-real conversation on a much later visit is exactly the
|
|
25
|
+
* mis-delivery the warm-session work exists to prevent. 10 minutes matches
|
|
26
|
+
* the API's own bound for "how stale can a delivery be and still count"
|
|
27
|
+
* (UNDELIVERED_PROMPT_STARVATION_MS).
|
|
28
|
+
*/
|
|
29
|
+
export const START_STASH_TTL_MS = 10 * 60_000;
|
|
10
30
|
export function startStashKey(sessionId) {
|
|
11
31
|
return `kortix:start:${sessionId}`;
|
|
12
32
|
}
|
|
@@ -22,7 +42,7 @@ function sanitizeStartStash(stash) {
|
|
|
22
42
|
}
|
|
23
43
|
export function writeStartStash(sessionId, stash) {
|
|
24
44
|
try {
|
|
25
|
-
sessionStorage.setItem(startStashKey(sessionId), JSON.stringify(sanitizeStartStash(stash)));
|
|
45
|
+
sessionStorage.setItem(startStashKey(sessionId), JSON.stringify({ ...sanitizeStartStash(stash), at: Date.now() }));
|
|
26
46
|
}
|
|
27
47
|
catch { }
|
|
28
48
|
}
|
|
@@ -97,8 +117,19 @@ function clearLegacyStash(sessionId) {
|
|
|
97
117
|
export function readStartStash(sessionId) {
|
|
98
118
|
try {
|
|
99
119
|
const raw = sessionStorage.getItem(startStashKey(sessionId));
|
|
100
|
-
if (raw)
|
|
101
|
-
|
|
120
|
+
if (raw) {
|
|
121
|
+
const stash = JSON.parse(raw);
|
|
122
|
+
// Expired: dead hand-off, not a pending prompt. Clear it so nothing —
|
|
123
|
+
// including the legacy fallback below — can resurrect it.
|
|
124
|
+
if (typeof stash.at === 'number' && Date.now() - stash.at > START_STASH_TTL_MS) {
|
|
125
|
+
clearStartStash(sessionId);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
// The stamp is a storage detail — consumers get the hand-off payload
|
|
129
|
+
// exactly as it was written.
|
|
130
|
+
const { at: _at, ...payload } = stash;
|
|
131
|
+
return sanitizeStartStash(payload);
|
|
132
|
+
}
|
|
102
133
|
}
|
|
103
134
|
catch {
|
|
104
135
|
// fall through to the legacy shape
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start-stash.js","sourceRoot":"","sources":["../../src/react/session-start-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"session-start-stash.js","sourceRoot":"","sources":["../../src/react/session-start-stash.ts"],"names":[],"mappings":"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"}
|