@kortix/sdk 0.12.2 → 0.12.3

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 (62) hide show
  1. package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
  2. package/dist/browser/cache/idb-sync-cache.js +26 -8
  3. package/dist/browser/cache/idb-sync-cache.js.map +1 -1
  4. package/dist/browser/stores/sync-store.d.ts +12 -0
  5. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  6. package/dist/browser/stores/sync-store.js +193 -40
  7. package/dist/browser/stores/sync-store.js.map +1 -1
  8. package/dist/core/client/kortix.d.ts +18 -0
  9. package/dist/core/client/kortix.d.ts.map +1 -1
  10. package/dist/core/client/kortix.js +12 -0
  11. package/dist/core/client/kortix.js.map +1 -1
  12. package/dist/core/files/client.d.ts +10 -0
  13. package/dist/core/files/client.d.ts.map +1 -1
  14. package/dist/core/files/client.js +52 -1
  15. package/dist/core/files/client.js.map +1 -1
  16. package/dist/core/http/api-client.d.ts +16 -0
  17. package/dist/core/http/api-client.d.ts.map +1 -1
  18. package/dist/core/http/api-client.js +32 -1
  19. package/dist/core/http/api-client.js.map +1 -1
  20. package/dist/core/http/auth.d.ts +7 -0
  21. package/dist/core/http/auth.d.ts.map +1 -1
  22. package/dist/core/http/auth.js +4 -2
  23. package/dist/core/http/auth.js.map +1 -1
  24. package/dist/core/rest/projects-client/projects.d.ts +1 -1
  25. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  26. package/dist/core/rest/projects-client/projects.js.map +1 -1
  27. package/dist/core/rest/projects-client/sessions.d.ts +94 -0
  28. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  29. package/dist/core/rest/projects-client/sessions.js +30 -0
  30. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  31. package/dist/core/rest/projects-client/setup-links.d.ts +2 -0
  32. package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -1
  33. package/dist/core/rest/projects-client/setup-links.js.map +1 -1
  34. package/dist/core/runtime/client.d.ts +19 -5
  35. package/dist/core/runtime/client.d.ts.map +1 -1
  36. package/dist/core/runtime/client.js +53 -11
  37. package/dist/core/runtime/client.js.map +1 -1
  38. package/dist/core/session/message-queue.d.ts +114 -0
  39. package/dist/core/session/message-queue.d.ts.map +1 -0
  40. package/dist/core/session/message-queue.js +155 -0
  41. package/dist/core/session/message-queue.js.map +1 -0
  42. package/dist/core/session/send-queue.d.ts +70 -0
  43. package/dist/core/session/send-queue.d.ts.map +1 -0
  44. package/dist/core/session/send-queue.js +116 -0
  45. package/dist/core/session/send-queue.js.map +1 -0
  46. package/dist/kortix.esm.min.js +15 -15
  47. package/dist/kortix.global.js +15 -15
  48. package/dist/react/index.d.ts +1 -1
  49. package/dist/react/index.d.ts.map +1 -1
  50. package/dist/react/index.js +1 -1
  51. package/dist/react/index.js.map +1 -1
  52. package/dist/react/use-model-defaults.d.ts.map +1 -1
  53. package/dist/react/use-model-defaults.js +27 -0
  54. package/dist/react/use-model-defaults.js.map +1 -1
  55. package/dist/react/use-session-send.d.ts +21 -0
  56. package/dist/react/use-session-send.d.ts.map +1 -1
  57. package/dist/react/use-session-send.js +28 -0
  58. package/dist/react/use-session-send.js.map +1 -1
  59. package/dist/react/use-session.d.ts.map +1 -1
  60. package/dist/react/use-session.js +35 -0
  61. package/dist/react/use-session.js.map +1 -1
  62. package/package.json +9 -5
@@ -1 +1 @@
1
- {"version":3,"file":"idb-sync-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/cache/idb-sync-cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmHH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CA4BnE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBlE;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa1D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BnD"}
1
+ {"version":3,"file":"idb-sync-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/cache/idb-sync-cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqIH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CA4BnE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBlE;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB1D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BnD"}
@@ -12,14 +12,29 @@ const DB_VERSION = 2;
12
12
  const STORE_NAME = 'sessions';
13
13
  const MAX_CACHED_SESSIONS = 50;
14
14
  const MAX_SESSION_AGE_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
15
- async function getCurrentCacheScope() {
16
- try {
17
- const userId = (await platformConfig().getUserId?.()) ?? null;
18
- return userId ? `user:${userId}` : null;
19
- }
20
- catch {
21
- return null;
22
- }
15
+ let cacheScopePromise = null;
16
+ function getCurrentCacheScope() {
17
+ if (cacheScopePromise)
18
+ return cacheScopePromise;
19
+ const pending = (async () => {
20
+ try {
21
+ const userId = (await platformConfig().getUserId?.()) ?? null;
22
+ return userId ? `user:${userId}` : null;
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ })();
28
+ cacheScopePromise = pending;
29
+ // Authentication can hydrate after the first cache access. Retain a real
30
+ // user scope for this browser session, but let an unauthenticated lookup be
31
+ // retried instead of pinning `null` until reload.
32
+ void pending.then((scope) => {
33
+ if (!scope && cacheScopePromise === pending) {
34
+ cacheScopePromise = null;
35
+ }
36
+ });
37
+ return pending;
23
38
  }
24
39
  let dbPromise = null;
25
40
  function openDB() {
@@ -184,6 +199,9 @@ export async function deleteSessionFromIDB(sessionId, kortixSessionScope) {
184
199
  }
185
200
  }
186
201
  export async function clearSessionIDBCache() {
202
+ // The host calls this on sign-out and account changes. Invalidate identity
203
+ // before touching IndexedDB so the next write cannot reuse the previous user.
204
+ cacheScopePromise = null;
187
205
  try {
188
206
  pendingWrites.clear();
189
207
  if (flushTimer) {
@@ -1 +1 @@
1
- {"version":3,"file":"idb-sync-cache.js","sourceRoot":"","sources":["../../../src/browser/cache/idb-sync-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idb-sync-cache.js","sourceRoot":"","sources":["../../../src/browser/cache/idb-sync-cache.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,18 @@ interface SyncState {
21
21
  setTodo: (sessionID: string, todos: Todo[]) => void;
22
22
  optimisticAdd: (sessionID: string, message: Message, messageParts: Part[]) => void;
23
23
  optimisticRemove: (sessionID: string, messageID: string) => void;
24
+ /**
25
+ * Mark an optimistic message as actually POSTed to the server.
26
+ *
27
+ * Until this is called the message is `pending`: the server has never been
28
+ * told about it, so it cannot be a duplicate of anything the server returns.
29
+ * {@link SyncState.hydrate} relies on that to tell "still uploading" apart
30
+ * from "already echoed" — see the two-pass correlation there.
31
+ *
32
+ * Callers that never call this lose only the ordinal fallback; exact
33
+ * part-id correlation still supersedes their messages normally.
34
+ */
35
+ markOptimisticDispatched: (sessionID: string, messageID: string) => void;
24
36
  clearOptimisticMessages: (sessionID: string) => void;
25
37
  /** True when the session's message list still holds an unconfirmed optimistic
26
38
  * message — lets the SSE reconciler avoid idling+clearing a brand-new session
@@ -1 +1 @@
1
- {"version":3,"file":"sync-store.d.ts","sourceRoot":"","sources":["../../../src/browser/stores/sync-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,OAAO,EACP,KAAK,IAAI,aAAa,EACtB,IAAI,EAEJ,aAAa,EAEb,IAAI,EACJ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKnF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAe/C,UAAU,SAAS;IAElB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAG9B,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,KACT,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,IAAI,EAAE,KAChB,IAAI,CAAC;IACV,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;+DAE2D;IAC3D,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,CACR,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC,KACzC,IAAI,CAAC;IACV,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IAIvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAqBD,eAAO,MAAM,YAAY,wEAwtBtB,CAAC"}
1
+ {"version":3,"file":"sync-store.d.ts","sourceRoot":"","sources":["../../../src/browser/stores/sync-store.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,43 @@ function isTextLikePart(part) {
14
14
  // Store Implementation
15
15
  // Track optimistic message IDs so we can remove them when the server sends
16
16
  // the real user message (which has a different, server-generated ID).
17
- const optimisticIds = new Set();
17
+ // Keyed by session, like every other field in this store. It used to be one
18
+ // process-wide `Set<string>` shared by every session in the tab, and
19
+ // `clearSession` never released its entries — so ids accumulated for the
20
+ // lifetime of the tab, and a leaked id made `hydrate` skip parts for any real
21
+ // message that happened to reuse it (`if (isOptimistic(...)) continue`).
22
+ const optimisticIds = new Map();
23
+ // Optimistic ids whose prompt has actually been POSTed. An optimistic message
24
+ // starts `pending` (absent here) and becomes `dispatched` when the send goes
25
+ // out. `hydrate` never lets a `pending` message be superseded by an ordinal
26
+ // match: the server has not been told it exists, so nothing the server returns
27
+ // can be a copy of it.
28
+ const dispatchedOptimisticIds = new Map();
29
+ function trackId(store, sessionID, messageID) {
30
+ const bucket = store.get(sessionID);
31
+ if (bucket)
32
+ bucket.add(messageID);
33
+ else
34
+ store.set(sessionID, new Set([messageID]));
35
+ }
36
+ function untrackId(store, sessionID, messageID) {
37
+ const bucket = store.get(sessionID);
38
+ if (!bucket)
39
+ return;
40
+ bucket.delete(messageID);
41
+ if (bucket.size === 0)
42
+ store.delete(sessionID);
43
+ }
44
+ function hasTrackedId(store, sessionID, messageID) {
45
+ return store.get(sessionID)?.has(messageID) ?? false;
46
+ }
47
+ /** Release every id this session was tracking — called from `clearSession`. */
48
+ function forgetSessionIds(sessionID) {
49
+ optimisticIds.delete(sessionID);
50
+ dispatchedOptimisticIds.delete(sessionID);
51
+ }
52
+ const isOptimistic = (sessionID, messageID) => hasTrackedId(optimisticIds, sessionID, messageID);
53
+ const isDispatched = (sessionID, messageID) => hasTrackedId(dispatchedOptimisticIds, sessionID, messageID);
18
54
  // Track message IDs where optimistic parts were bridged to the real message.
19
55
  // When the first real part arrives for a bridged message, the bridged parts
20
56
  // are cleared so optimistic and real parts don't co-exist (which would
@@ -208,7 +244,7 @@ export const useSyncStore = create()((set, get) => ({
208
244
  todos: { ...s.todos, [sessionID]: todos },
209
245
  })),
210
246
  optimisticAdd: (sessionID, message, messageParts) => {
211
- optimisticIds.add(message.id);
247
+ trackId(optimisticIds, sessionID, message.id);
212
248
  set((s) => {
213
249
  const list = s.messages[sessionID] ?? [];
214
250
  // Always append optimistic messages at the end of the list.
@@ -226,8 +262,13 @@ export const useSyncStore = create()((set, get) => ({
226
262
  };
227
263
  });
228
264
  },
265
+ markOptimisticDispatched: (sessionID, messageID) => {
266
+ if (isOptimistic(sessionID, messageID))
267
+ trackId(dispatchedOptimisticIds, sessionID, messageID);
268
+ },
229
269
  optimisticRemove: (sessionID, messageID) => {
230
- optimisticIds.delete(messageID);
270
+ untrackId(optimisticIds, sessionID, messageID);
271
+ untrackId(dispatchedOptimisticIds, sessionID, messageID);
231
272
  set((s) => {
232
273
  const list = s.messages[sessionID];
233
274
  if (!list)
@@ -252,12 +293,14 @@ export const useSyncStore = create()((set, get) => ({
252
293
  if (!list)
253
294
  return s;
254
295
  const optIds = list
255
- .filter((m) => optimisticIds.has(m.id))
296
+ .filter((m) => isOptimistic(sessionID, m.id))
256
297
  .map((m) => m.id);
257
298
  if (optIds.length === 0)
258
299
  return s;
259
- for (const id of optIds)
260
- optimisticIds.delete(id);
300
+ for (const id of optIds) {
301
+ untrackId(optimisticIds, sessionID, id);
302
+ untrackId(dispatchedOptimisticIds, sessionID, id);
303
+ }
261
304
  const filtered = list.filter((m) => !optIds.includes(m.id));
262
305
  const newParts = { ...s.parts };
263
306
  for (const id of optIds)
@@ -269,6 +312,9 @@ export const useSyncStore = create()((set, get) => ({
269
312
  });
270
313
  },
271
314
  clearSession: (sessionID) => set((s) => {
315
+ // Release this session's optimistic tracking along with its messages.
316
+ // Skipping it is what let ids accumulate for the lifetime of the tab.
317
+ forgetSessionIds(sessionID);
272
318
  const existingMessages = s.messages[sessionID] ?? [];
273
319
  const nextParts = { ...s.parts };
274
320
  for (const message of existingMessages)
@@ -293,11 +339,40 @@ export const useSyncStore = create()((set, get) => ({
293
339
  const existing = s.messages[sessionID] ?? [];
294
340
  const merged = [];
295
341
  const seen = new Set();
296
- // Check if incoming messages contain real user messages. When the
297
- // server already has the user message, any optimistic (client-
298
- // generated) user messages are duplicates and must be removed.
299
- // Without this, hydrate() + optimistic coexist visual double bubble.
300
- const incomingHasUserMessage = incoming.some((m) => m.role === "user" && !optimisticIds.has(m.id));
342
+ // Which optimistic user messages has the server actually echoed?
343
+ //
344
+ // This test used to be EXISTENTIAL: "if this page holds any real user
345
+ // message at all, every optimistic user message is a duplicate". In an
346
+ // ongoing conversation that is always true the page is full of
347
+ // earlier turns — so a message sent one second ago, which the server
348
+ // had provably never received, was deleted along with its text. The
349
+ // window was wide open by construction: the rehydrate that calls this
350
+ // only runs for sessions whose status is `busy`, and the optimistic
351
+ // add is what sets `busy`. Sending armed the thing that deleted the
352
+ // send.
353
+ //
354
+ // The rule is now identity-based, in two passes.
355
+ const existingIds = new Set(existing.map((m) => m.id));
356
+ // Pass 0 — candidate echoes. A real user message we have NEVER seen
357
+ // before may be the server's copy of something still in flight. One we
358
+ // already held is history, and history cannot supersede the present.
359
+ // This single condition is what fixes the reported bug.
360
+ const candidateEchoes = incoming.filter((m) => m.role === "user" &&
361
+ !isOptimistic(sessionID, m.id) &&
362
+ !existingIds.has(m.id));
363
+ const unclaimedEchoes = new Set(candidateEchoes.map((m) => m.id));
364
+ // Pass 1 — exact correlation by part id. Hosts generate the text part
365
+ // id up front and send it WITH the prompt precisely so the echo
366
+ // updates the same part, which makes this an identity match rather
367
+ // than a guess.
368
+ const echoByPartId = new Map();
369
+ for (const echo of candidateEchoes) {
370
+ const entry = msgs.find((m) => m.info.id === echo.id);
371
+ for (const p of entry?.parts ?? []) {
372
+ if (p?.id)
373
+ echoByPartId.set(p.id, echo.id);
374
+ }
375
+ }
301
376
  // Start with all incoming messages
302
377
  for (const m of incoming) {
303
378
  merged.push(m);
@@ -308,16 +383,28 @@ export const useSyncStore = create()((set, get) => ({
308
383
  // non-optimistic ones are inserted at their sorted position.
309
384
  const deferredOptimistic = [];
310
385
  const supersededOptimistic = [];
386
+ /** optimistic id → the incoming message that superseded it. */
387
+ const supersededBy = new Map();
388
+ const unmatchedOptimisticUsers = [];
311
389
  for (const m of existing) {
312
390
  if (!seen.has(m.id)) {
313
- if (optimisticIds.has(m.id)) {
314
- // If the server already has a real user message, this
315
- // optimistic user message is a duplicate — drop it.
316
- if (incomingHasUserMessage && m.role === "user") {
391
+ if (isOptimistic(sessionID, m.id)) {
392
+ if (m.role !== "user") {
393
+ deferredOptimistic.push(m);
394
+ continue;
395
+ }
396
+ const echoId = (s.parts[m.id] ?? [])
397
+ .map((p) => echoByPartId.get(p.id))
398
+ .find((id) => !!id);
399
+ if (echoId) {
317
400
  supersededOptimistic.push(m.id);
401
+ supersededBy.set(m.id, echoId);
402
+ unclaimedEchoes.delete(echoId);
318
403
  }
319
404
  else {
320
- deferredOptimistic.push(m);
405
+ // Undecided until pass 2 — it may still pair with an
406
+ // echo whose parts the server has not persisted yet.
407
+ unmatchedOptimisticUsers.push(m);
321
408
  }
322
409
  }
323
410
  else {
@@ -326,9 +413,31 @@ export const useSyncStore = create()((set, get) => ({
326
413
  }
327
414
  }
328
415
  }
416
+ // Pass 2 — ordinal fallback, for an echo the server accepted but whose
417
+ // parts have not landed yet (no part ids to match on). Restricted to
418
+ // DISPATCHED messages: one that has not been POSTed cannot be a
419
+ // duplicate of anything the server holds, so it is never eligible.
420
+ // That restriction is what keeps a message sent from another tab from
421
+ // consuming this tab's in-flight bubble.
422
+ const claimable = candidateEchoes.filter((m) => unclaimedEchoes.has(m.id));
423
+ let next = 0;
424
+ for (const m of unmatchedOptimisticUsers) {
425
+ const echo = isDispatched(sessionID, m.id)
426
+ ? claimable[next]
427
+ : undefined;
428
+ if (echo) {
429
+ next += 1;
430
+ supersededOptimistic.push(m.id);
431
+ supersededBy.set(m.id, echo.id);
432
+ }
433
+ else {
434
+ deferredOptimistic.push(m);
435
+ }
436
+ }
329
437
  // Clean up superseded optimistic IDs
330
438
  for (const id of supersededOptimistic) {
331
- optimisticIds.delete(id);
439
+ untrackId(optimisticIds, sessionID, id);
440
+ untrackId(dispatchedOptimisticIds, sessionID, id);
332
441
  }
333
442
  // Append surviving optimistic messages at the end
334
443
  for (const m of deferredOptimistic) {
@@ -345,29 +454,29 @@ export const useSyncStore = create()((set, get) => ({
345
454
  // Mirrors the message.updated SSE handler (see above) — without
346
455
  // this, a fetch/hydrate that races ahead of parts persistence
347
456
  // would drop the user's text and render an empty bubble.
348
- const realUserMsg = incoming.find((m) => m.role === "user" && !optimisticIds.has(m.id));
349
- const realUserEntry = realUserMsg
350
- ? msgs.find((m) => m.info.id === realUserMsg.id)
351
- : undefined;
352
- const serverHasRealUserParts = (realUserEntry?.parts?.length ?? 0) > 0;
353
- let bridge;
457
+ // Bridge along the pairing established above, not to "whichever real
458
+ // user message came first". With more than one message in flight the
459
+ // first-match version could graft one message's text onto another's
460
+ // bubble; `supersededBy` names the exact echo each optimistic message
461
+ // lost to.
354
462
  for (const id of supersededOptimistic) {
355
- if (!bridge && newParts[id]?.length)
356
- bridge = newParts[id];
463
+ const echoId = supersededBy.get(id);
464
+ const bridge = newParts[id];
357
465
  delete newParts[id];
358
- }
359
- if (bridge &&
360
- realUserMsg &&
361
- !serverHasRealUserParts &&
362
- !newParts[realUserMsg.id]?.length) {
363
- newParts[realUserMsg.id] = bridge;
364
- bridgedPartIds.add(realUserMsg.id);
466
+ if (!echoId || !bridge?.length)
467
+ continue;
468
+ const echoEntry = msgs.find((m) => m.info.id === echoId);
469
+ const serverHasParts = (echoEntry?.parts?.length ?? 0) > 0;
470
+ if (serverHasParts || newParts[echoId]?.length)
471
+ continue;
472
+ newParts[echoId] = bridge;
473
+ bridgedPartIds.add(echoId);
365
474
  }
366
475
  for (const m of msgs) {
367
476
  if (!m?.info?.id)
368
477
  continue;
369
478
  const mid = m.info.id;
370
- if (optimisticIds.has(mid))
479
+ if (isOptimistic(sessionID, mid))
371
480
  continue; // Don't touch optimistic parts
372
481
  const inParts = m.parts
373
482
  .filter((p) => !!p?.id)
@@ -421,6 +530,7 @@ export const useSyncStore = create()((set, get) => ({
421
530
  }),
422
531
  reset: () => {
423
532
  optimisticIds.clear();
533
+ dispatchedOptimisticIds.clear();
424
534
  bridgedPartIds.clear();
425
535
  set({
426
536
  messages: {},
@@ -435,7 +545,7 @@ export const useSyncStore = create()((set, get) => ({
435
545
  const list = get().messages[sessionID];
436
546
  if (!list || list.length === 0)
437
547
  return false;
438
- return list.some((m) => optimisticIds.has(m.id));
548
+ return list.some((m) => isOptimistic(sessionID, m.id));
439
549
  },
440
550
  getMessages: (sessionID) => {
441
551
  const s = get();
@@ -459,16 +569,59 @@ export const useSyncStore = create()((set, get) => ({
459
569
  // optimistic message(s) in a SINGLE atomic set() call.
460
570
  // This prevents the intermediate render where the user bubble
461
571
  // vanishes (optimistic removed) before the real one appears.
462
- if (info.role === "user" && !optimisticIds.has(info.id)) {
572
+ if (info.role === "user" && !isOptimistic(info.sessionID, info.id)) {
463
573
  const msgs = get().messages[info.sessionID];
464
574
  if (msgs) {
465
- const optIds = msgs
466
- .filter((m) => m.role === "user" && optimisticIds.has(m.id))
467
- .map((m) => m.id);
575
+ // ONE confirmation retires ONE optimistic message.
576
+ //
577
+ // This used to retire every optimistic user message in the
578
+ // session. With a single send in flight that is correct, and
579
+ // is the whole point of this branch — it swaps the bubble in
580
+ // one `set()` so the user never sees it blink. With two in
581
+ // flight it took the innocent one with it: confirm the plain
582
+ // message and the one still uploading its attachment vanished
583
+ // too. Same defect `hydrate` had, on the SSE path.
584
+ //
585
+ // Correlate the same way `hydrate` does: exact part id first
586
+ // (hosts send the client-generated id WITH the prompt), then
587
+ // the oldest dispatched message as a fallback for a
588
+ // confirmation that carries no parts yet.
589
+ const state = get();
590
+ const optimisticUsers = msgs.filter((m) => m.role === "user" && isOptimistic(info.sessionID, m.id));
591
+ const incomingPartIds = new Set((state.parts[info.id] ?? []).map((p) => p.id));
592
+ const byPartId = optimisticUsers.find((m) => (state.parts[m.id] ?? []).some((p) => incomingPartIds.has(p.id)));
593
+ // The fallback requires `dispatched`, matching `hydrate`.
594
+ //
595
+ // It briefly did not: "with exactly one optimistic message in
596
+ // flight there is nothing to be ambiguous about, so retire it".
597
+ // That had a hole. A SECOND TAB on the same session produces a
598
+ // `message.updated` for a message that is not ours, and the one
599
+ // message we do have in flight may still be uploading — so the
600
+ // single-in-flight rule handed the other tab's confirmation our
601
+ // un-sent message and deleted it. Exactly the bug this whole
602
+ // change set exists to fix, through a side door.
603
+ //
604
+ // The argument for being generous was that a host which calls
605
+ // `beginOptimisticSend` and then POSTs by hand, never marking
606
+ // dispatch, would keep its bubble forever. That is checkable
607
+ // rather than hypothetical: `optimisticAdd` has exactly one
608
+ // caller, and every send path through this SDK
609
+ // (`sendAndRecover`, `replayStartStash`, `useSession.sendParts`)
610
+ // marks dispatch. Losing a message the user typed is worse than
611
+ // a double bubble on a host that does not exist.
612
+ //
613
+ // Note this fallback is the LIVE path here, not part-id
614
+ // matching: at `message.updated` time the confirmed message
615
+ // usually has no parts in the store yet (they arrive separately
616
+ // via `message.part.updated`).
617
+ const matched = byPartId ?? optimisticUsers.find((m) => isDispatched(info.sessionID, m.id));
618
+ const optIds = matched ? [matched.id] : [];
468
619
  if (optIds.length > 0) {
469
620
  // Clean up optimistic tracking
470
- for (const id of optIds)
471
- optimisticIds.delete(id);
621
+ for (const id of optIds) {
622
+ untrackId(optimisticIds, info.sessionID, id);
623
+ untrackId(dispatchedOptimisticIds, info.sessionID, id);
624
+ }
472
625
  // Atomic: remove optimistic + insert real in one set()
473
626
  set((s) => {
474
627
  const list = s.messages[info.sessionID] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"sync-store.js","sourceRoot":"","sources":["../../../src/browser/stores/sync-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-store.js","sourceRoot":"","sources":["../../../src/browser/stores/sync-store.ts"],"names":[],"mappings":"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"}