@burdenoff/fe-libs 2026.1007.5 → 2026.1008.1

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 (119) hide show
  1. package/dist/shared/assistant/api.d.ts +11 -0
  2. package/dist/shared/assistant/api.d.ts.map +1 -1
  3. package/dist/shared/assistant/api.js +6 -2
  4. package/dist/shared/assistant/attachmentCommit.d.ts +175 -0
  5. package/dist/shared/assistant/attachmentCommit.d.ts.map +1 -0
  6. package/dist/shared/assistant/attachmentCommit.js +638 -0
  7. package/dist/shared/assistant/attachments.d.ts +39 -19
  8. package/dist/shared/assistant/attachments.d.ts.map +1 -1
  9. package/dist/shared/assistant/conversation.d.ts +14 -0
  10. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  11. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts +8 -1
  12. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
  13. package/dist/shared/assistant/createSandboxAssistantTransport.js +70 -51
  14. package/dist/shared/assistant/history/historyEngine.js +280 -280
  15. package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
  16. package/dist/shared/assistant/history/historyMapping.js +19 -12
  17. package/dist/shared/assistant/i18nManifest.d.ts +23 -2
  18. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  19. package/dist/shared/assistant/i18nManifest.js +26 -3
  20. package/dist/shared/assistant/index.d.ts +9 -0
  21. package/dist/shared/assistant/index.d.ts.map +1 -1
  22. package/dist/shared/assistant/localUiCommandCopy.d.ts +23 -0
  23. package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -1
  24. package/dist/shared/assistant/localUiCommandCopy.js +60 -23
  25. package/dist/shared/assistant/localUiCommands.d.ts +29 -0
  26. package/dist/shared/assistant/localUiCommands.d.ts.map +1 -1
  27. package/dist/shared/assistant/localUiCommands.js +18 -7
  28. package/dist/shared/assistant/types.d.ts +19 -8
  29. package/dist/shared/assistant/types.d.ts.map +1 -1
  30. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  31. package/dist/shared/assistant/ui/AssistantChatArea.js +1624 -1266
  32. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts +18 -3
  33. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts.map +1 -1
  34. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.js +1 -1
  35. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +5 -0
  36. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  37. package/dist/shared/assistant/ui/AssistantMessageItem.js +89 -84
  38. package/dist/shared/assistant/ui/AssistantMessageList.d.ts +5 -0
  39. package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
  40. package/dist/shared/assistant/ui/AssistantMessageList.js +26 -25
  41. package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts +45 -0
  42. package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts.map +1 -0
  43. package/dist/shared/assistant/ui/AssistantUiOfferLink.js +56 -0
  44. package/dist/shared/assistant/ui/assistantOverlayState.d.ts +9 -0
  45. package/dist/shared/assistant/ui/assistantOverlayState.d.ts.map +1 -1
  46. package/dist/shared/assistant/ui/assistantOverlayState.js +37 -28
  47. package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.d.ts +8 -5
  48. package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.d.ts.map +1 -1
  49. package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.js +26 -9
  50. package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts +3 -2
  51. package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts.map +1 -1
  52. package/dist/shared/assistant/ui/composer/AssistantComposer.js +214 -125
  53. package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.d.ts.map +1 -1
  54. package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.js +1 -1
  55. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +15 -0
  56. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  57. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +127 -118
  58. package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts +6 -1
  59. package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts.map +1 -1
  60. package/dist/shared/assistant/ui/voice/VoiceConversationView.js +7 -7
  61. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts +6 -1
  62. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts.map +1 -1
  63. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.js +15 -12
  64. package/dist/shared/assistant/uiActions/actOnResolve.d.ts +108 -0
  65. package/dist/shared/assistant/uiActions/actOnResolve.d.ts.map +1 -0
  66. package/dist/shared/assistant/uiActions/actOnResolve.js +51 -0
  67. package/dist/shared/assistant/uiActions/linkContext.d.ts +29 -0
  68. package/dist/shared/assistant/uiActions/linkContext.d.ts.map +1 -1
  69. package/dist/shared/assistant/uiActions/linkContext.js +37 -10
  70. package/dist/shared/assistant/uiActions/navIntent.d.ts +58 -0
  71. package/dist/shared/assistant/uiActions/navIntent.d.ts.map +1 -0
  72. package/dist/shared/assistant/uiActions/navIntent.js +79 -0
  73. package/dist/shared/assistant/uiActions/navigateAction.d.ts +6 -1
  74. package/dist/shared/assistant/uiActions/navigateAction.d.ts.map +1 -1
  75. package/dist/shared/assistant/uiActions/navigateAction.js +18 -14
  76. package/dist/shared/assistant/uiActions/navigationOutcome.d.ts +16 -2
  77. package/dist/shared/assistant/uiActions/navigationOutcome.d.ts.map +1 -1
  78. package/dist/shared/assistant/uiActions/navigationOutcome.js +6 -2
  79. package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts +39 -0
  80. package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts.map +1 -0
  81. package/dist/shared/assistant/uiActions/offerYesOnSurface.js +34 -0
  82. package/dist/shared/assistant/uiActions/uiCatalogue.d.ts +14 -0
  83. package/dist/shared/assistant/uiActions/uiCatalogue.d.ts.map +1 -1
  84. package/dist/shared/assistant/uiActions/uiCatalogue.js +23 -3
  85. package/dist/shared/assistant/uiActions/uiOffers.d.ts +249 -0
  86. package/dist/shared/assistant/uiActions/uiOffers.d.ts.map +1 -0
  87. package/dist/shared/assistant/uiActions/uiOffers.js +195 -0
  88. package/dist/shared/assistant/useAssistantAttachments.d.ts +20 -2
  89. package/dist/shared/assistant/useAssistantAttachments.d.ts.map +1 -1
  90. package/dist/shared/assistant/useAssistantAttachments.js +146 -202
  91. package/dist/shared/assistant/useAttachmentCommitter.d.ts +17 -0
  92. package/dist/shared/assistant/useAttachmentCommitter.d.ts.map +1 -0
  93. package/dist/shared/assistant/useAttachmentCommitter.js +41 -0
  94. package/dist/shared/assistant/voiceCommit.d.ts +36 -0
  95. package/dist/shared/assistant/voiceCommit.d.ts.map +1 -0
  96. package/dist/shared/assistant/voiceCommit.js +24 -0
  97. package/dist/shared/assistant/writeProposals.d.ts +6 -0
  98. package/dist/shared/assistant/writeProposals.d.ts.map +1 -1
  99. package/dist/shared/assistant/writeReplyBinder.d.ts +40 -0
  100. package/dist/shared/assistant/writeReplyBinder.d.ts.map +1 -1
  101. package/dist/shared/assistant/writeReplyBinder.js +100 -83
  102. package/dist/shared/assistant/writeReplySend.d.ts +14 -0
  103. package/dist/shared/assistant/writeReplySend.d.ts.map +1 -1
  104. package/dist/shared/assistant/writeReplySend.js +32 -29
  105. package/dist/shared/hooks/index.d.ts +2 -0
  106. package/dist/shared/hooks/index.d.ts.map +1 -1
  107. package/dist/shared/navigation/unsavedChanges.d.ts +83 -0
  108. package/dist/shared/navigation/unsavedChanges.d.ts.map +1 -0
  109. package/dist/shared/navigation/unsavedChanges.js +46 -0
  110. package/dist/shared-assistant.js +247 -238
  111. package/dist/shared-hooks.js +10 -9
  112. package/dist/shared.js +20 -19
  113. package/dist/storage/filesPort.d.ts +111 -0
  114. package/dist/storage/filesPort.d.ts.map +1 -0
  115. package/dist/storage/filesPort.js +262 -0
  116. package/dist/storage/index.d.ts +2 -0
  117. package/dist/storage/index.d.ts.map +1 -1
  118. package/dist/storage/index.js +9 -8
  119. package/package.json +1 -1
@@ -2,21 +2,21 @@ import { PROFILE_STORAGE_CHANGE_EVENT as e } from "../../providers/shell/Profile
2
2
  import { coalesceUpdatePatch as t, historyFilterKey as n, isValidUpdatePatch as r, normaliseHistoryTitle as i } from "./historyControls.js";
3
3
  import { isHistoryConversationBusy as a, setAssistantStorageFullHandler as o, setHistoryOpenFilterSource as s, setHistoryRenameSink as c, setHistoryStampSource as l } from "./stampRegistry.js";
4
4
  import { useAssistantStore as u } from "../store.js";
5
- import { isTurnInFlight as d } from "../turnState.js";
6
- import { getActorId as f, getWorkspaceId as ee } from "../context.js";
7
- import { AssistantHistoryControlsUnavailableError as te, AssistantHistorySearchUnavailableError as p } from "./historyTransportErrors.js";
8
- import { ASSISTANT_HISTORY_QUOTA_RETRY_MS as ne, ASSISTANT_HISTORY_SCHEMA_PAUSE_MS as re, assistantHistoryBackoffMs as ie, classifyAssistantHistoryError as m, planAssistantHistoryRetry as ae } from "./historyErrors.js";
5
+ import { getActorId as d, getWorkspaceId as f } from "../context.js";
6
+ import { isTurnInFlight as p } from "../turnState.js";
7
+ import { AssistantHistoryControlsUnavailableError as ee, AssistantHistorySearchUnavailableError as m } from "./historyTransportErrors.js";
8
+ import { ASSISTANT_HISTORY_QUOTA_RETRY_MS as te, ASSISTANT_HISTORY_SCHEMA_PAUSE_MS as ne, assistantHistoryBackoffMs as re, classifyAssistantHistoryError as h, planAssistantHistoryRetry as ie } from "./historyErrors.js";
9
9
  import "./historySearchQuery.js";
10
- import { ASSISTANT_HISTORY_CONTROLS_RECHECK_MS as oe, createGatewayHistoryTransport as h } from "./historyApi.js";
11
- import { assistantHistoryScopeKey as g, completeAssistantHistoryScope as se, isLegacyHistoryConvKey as ce } from "./historyTypes.js";
12
- import { historyConvKeyOf as le, historyHeaderOf as _, historyScopeKeyOfStamp as v, materializeHistoryHeader as ue, selectHistoryEvictions as de } from "./historyList.js";
13
- import { fromHistoryEntry as fe, historyEntriesMatchKind as pe, isHistoryClientId as me, toHistoryEntries as he } from "./historyMapping.js";
14
- import { applyHistoryPage as ge, planHistoryEarlierLoad as _e, planHistoryOpenLoad as ve } from "./historyMerge.js";
15
- import { assistantHistoryGenerationOf as ye, isCurrentAssistantHistoryGeneration as be, useAssistantHistoryStatus as xe } from "./historyStatus.js";
16
- import { assistantHistoryStore as y, headerHasControls as Se } from "./historyStore.js";
10
+ import { ASSISTANT_HISTORY_CONTROLS_RECHECK_MS as ae, createGatewayHistoryTransport as g } from "./historyApi.js";
11
+ import { assistantHistoryScopeKey as _, completeAssistantHistoryScope as oe, isLegacyHistoryConvKey as se } from "./historyTypes.js";
12
+ import { historyConvKeyOf as v, historyHeaderOf as y, historyScopeKeyOfStamp as b, materializeHistoryHeader as ce, selectHistoryEvictions as le } from "./historyList.js";
13
+ import { fromHistoryEntry as ue, historyEntriesMatchKind as de, isHistoryClientId as fe, toHistoryEntries as pe } from "./historyMapping.js";
14
+ import { applyHistoryPage as me, planHistoryEarlierLoad as he, planHistoryOpenLoad as ge } from "./historyMerge.js";
15
+ import { assistantHistoryGenerationOf as _e, isCurrentAssistantHistoryGeneration as ve, useAssistantHistoryStatus as ye } from "./historyStatus.js";
16
+ import { assistantHistoryStore as x, headerHasControls as be } from "./historyStore.js";
17
17
  //#region src/shared/assistant/history/historyEngine.ts
18
- var Ce = 1e3, we = 3e4, Te = 2e3, Ee = 15e3, De = 5 * 6e4, Oe = 2e3, ke = 100, Ae = 10, je = 100, Me = 5, Ne = 3, Pe = 2, Fe = 10 * 6e4, Ie = [10, 0], Le = 3e4, b = 1440 * 60 * 1e3;
19
- function x() {
18
+ var xe = 1e3, Se = 3e4, Ce = 2e3, we = 15e3, Te = 5 * 6e4, Ee = 2e3, De = 100, Oe = 10, ke = 100, Ae = 5, je = 3, Me = 2, Ne = 10 * 6e4, Pe = [10, 0], Fe = 3e4, S = 1440 * 60 * 1e3;
19
+ function C() {
20
20
  let e = /* @__PURE__ */ new Map(), t = 0;
21
21
  return {
22
22
  now: () => Date.now(),
@@ -34,34 +34,34 @@ function x() {
34
34
  }
35
35
  };
36
36
  }
37
- function Re() {
37
+ function Ie() {
38
38
  let e = typeof navigator > "u" ? void 0 : navigator.locks;
39
39
  return !e || typeof e.request != "function" ? null : { request: (t, n) => new Promise((r, i) => {
40
40
  e.request(t, { ifAvailable: !0 }, (e) => n(e !== null).then(r, i)).catch(i);
41
41
  }) };
42
42
  }
43
- function S(e, t) {
43
+ function w(e, t) {
44
44
  try {
45
45
  return e();
46
46
  } catch {
47
47
  return t;
48
48
  }
49
49
  }
50
- var ze = (e, t) => {
50
+ var Le = (e, t) => {
51
51
  console.warn(`[assistant] history: ${e}`, t ?? "");
52
52
  };
53
- function Be(e) {
53
+ function Re(e) {
54
54
  if (!e.titleLocked) return e;
55
55
  let t = { ...e };
56
56
  return delete t.titleLocked, t;
57
57
  }
58
- var Ve = (e) => e.entries.map((e) => e.clientMessageId);
59
- function C(h) {
60
- let { transport: y, storage: b, clock: x } = h, C = b.useStore, w = h.mainStore ?? u, T = h.status ?? xe, He = h.locks === void 0 ? Re() : h.locks, Ue = h.random ?? Math.random, We = () => S(h.readActorId ?? f, null), Ge = () => S(h.readWorkspaceId ?? ee, ""), Ke = h.isConversationBusy ?? a, E = h.log ?? ze, D = /* @__PURE__ */ new Map(), O = null, k = null, A = null, j = 0, M = !1, qe = !1, Je = !1, Ye = null, Xe = !1, Ze = !1, Qe = 0, $e = -Infinity, N = null, et = !1, tt = /* @__PURE__ */ new Set(), nt = 0, rt = !1, P = null, it = -Infinity, F = null, I = null, at = /* @__PURE__ */ new Set(), L = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), ot = /* @__PURE__ */ new Set(), st = [], B = () => x.now(), V = () => k ? g(k) : null, ct = () => B() < j, lt = () => O !== null && A === null && b.isBoundToActiveProfile(), H = () => lt() && k !== null && !ct() && !M, U = () => S(() => y.controlsAvailable(), !1), W = (e) => (ot.add(e), e.finally(() => ot.delete(e)).catch(() => void 0), e), G = (e, t, n, r = !1) => {
58
+ var ze = (e) => e.entries.map((e) => e.clientMessageId);
59
+ function T(g) {
60
+ let { transport: x, storage: S, clock: C } = g, T = S.useStore, E = g.mainStore ?? u, D = g.status ?? ye, Be = g.locks === void 0 ? Ie() : g.locks, Ve = g.random ?? Math.random, He = () => w(g.readActorId ?? d, null), Ue = () => w(g.readWorkspaceId ?? f, ""), We = g.isConversationBusy ?? a, O = g.log ?? Le, k = /* @__PURE__ */ new Map(), A = null, j = null, M = null, N = 0, Ge = !1, Ke = !1, qe = !1, Je = null, Ye = !1, Xe = !1, Ze = 0, Qe = -Infinity, $e = null, et = !1, tt = /* @__PURE__ */ new Set(), nt = 0, rt = !1, P = null, it = -Infinity, F = null, I = null, at = /* @__PURE__ */ new Set(), L = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), ot = /* @__PURE__ */ new Set(), st = [], B = () => C.now(), V = () => j ? _(j) : null, ct = () => B() < N, lt = () => A !== null && M === null && S.isBoundToActiveProfile(), H = () => lt() && j !== null && !ct() && !Ge, U = () => w(() => x.controlsAvailable(), !1), W = (e) => (ot.add(e), e.finally(() => ot.delete(e)).catch(() => void 0), e), G = (e, t, n, r = !1) => {
61
61
  let i = B() + Math.max(0, t), a = z.get(e);
62
62
  if (a && !r && a.at <= i) return;
63
- a && x.clearTimeout(a.handle);
64
- let o = x.setTimeout(() => {
63
+ a && C.clearTimeout(a.handle);
64
+ let o = C.setTimeout(() => {
65
65
  z.get(e)?.handle === o && z.delete(e), n();
66
66
  }, Math.max(0, t));
67
67
  z.set(e, {
@@ -70,40 +70,40 @@ function C(h) {
70
70
  });
71
71
  }, ut = (e) => {
72
72
  let t = z.get(e);
73
- t && x.clearTimeout(t.handle), z.delete(e);
74
- }, K = () => ye(T.getState(), b.boundKey()), q = (e) => O !== null && b.isBoundToActiveProfile() && be(e, T.getState(), b.boundKey()), J = (e) => w.getState().conversations.find((t) => t.id === e), Y = (e) => d(w.getState().processingByConversationId[e]?.status) || S(() => Ke(e), !0), dt = (e, t) => {
75
- let n = C.getState().scopes[e]?.headers[t];
73
+ t && C.clearTimeout(t.handle), z.delete(e);
74
+ }, K = () => _e(D.getState(), S.boundKey()), q = (e) => A !== null && S.isBoundToActiveProfile() && ve(e, D.getState(), S.boundKey()), J = (e) => E.getState().conversations.find((t) => t.id === e), Y = (e) => p(E.getState().processingByConversationId[e]?.status) || w(() => We(e), !0), dt = (e, t) => {
75
+ let n = T.getState().scopes[e]?.headers[t];
76
76
  if (n) return n;
77
- let r = T.getState().olderHeaders;
77
+ let r = D.getState().olderHeaders;
78
78
  return (r?.scopeKey === e ? r.headers[t] : void 0) || ((F && F.gen.scopeKey === e && q(F.gen) ? F.headers[t] : void 0) ?? null);
79
79
  }, ft = (e) => {
80
- if (!b.isBoundToActiveProfile()) return;
80
+ if (!S.isBoundToActiveProfile()) return;
81
81
  let t;
82
- for (let n of C.getState().outbox) n.type === "update" && n.convKey === e && n.patch.title !== void 0 && (t = n.patch.title);
82
+ for (let n of T.getState().outbox) n.type === "update" && n.convKey === e && n.patch.title !== void 0 && (t = n.patch.title);
83
83
  return t;
84
84
  }, pt = (e, t) => ft(e) === void 0 ? t : void 0, mt = () => {
85
- if (A) return A;
86
- if (b.isBoundToActiveProfile()) return Promise.resolve(!0);
87
- if (b.heldByNewerBuild() || b.activeProfileKey() === null) return Promise.resolve(!1);
88
- T.getState().noteUnsavedDelete(void 0);
89
- let e = W(b.rebind().then(() => b.isBoundToActiveProfile(), () => !1));
90
- return A = e, e.then(() => {
91
- A === e && (A = null);
85
+ if (M) return M;
86
+ if (S.isBoundToActiveProfile()) return Promise.resolve(!0);
87
+ if (S.heldByNewerBuild() || S.activeProfileKey() === null) return Promise.resolve(!1);
88
+ D.getState().noteUnsavedDelete(void 0);
89
+ let e = W(S.rebind().then(() => S.isBoundToActiveProfile(), () => !1));
90
+ return M = e, e.then(() => {
91
+ M === e && (M = null);
92
92
  }), e;
93
93
  }, ht = (e) => {
94
- let t = e ? g(e) : null, n = t !== V();
95
- k = e, T.getState().setHistoryScope(O, O === null ? null : t), !(!n || O === null) && (M = !1, ut("auth"), Qe = 0, $e = -Infinity, N = null, I = null, P = null, it = -Infinity, L.clear(), W(mt().then((t) => {
96
- !t || k !== e || (gt(), _t(), $("scope"), Q());
94
+ let t = e ? _(e) : null, n = t !== V();
95
+ j = e, D.getState().setHistoryScope(A, A === null ? null : t), !(!n || A === null) && (Ge = !1, ut("auth"), Ze = 0, Qe = -Infinity, $e = null, I = null, P = null, it = -Infinity, L.clear(), W(mt().then((t) => {
96
+ !t || j !== e || (gt(), _t(), $("scope"), Q());
97
97
  })));
98
98
  }, X = () => {
99
- if (O === null) return;
100
- let e = se(We(), Ge(), O);
101
- if ((e ? g(e) : null) !== V()) {
99
+ if (A === null) return;
100
+ let e = oe(He(), Ue(), A);
101
+ if ((e ? _(e) : null) !== V()) {
102
102
  ht(e);
103
103
  return;
104
104
  }
105
- let t = b.activeProfileKey();
106
- if (t === null || t === b.boundKey()) {
105
+ let t = S.activeProfileKey();
106
+ if (t === null || t === S.boundKey()) {
107
107
  gt();
108
108
  return;
109
109
  }
@@ -114,34 +114,34 @@ function C(h) {
114
114
  function gt() {
115
115
  let e = V();
116
116
  if (e === null) return;
117
- let t = w.getState(), n = t.conversations.find((e) => e.id === t.activeConversationId);
118
- !n?.sync || v(n.sync) === e || Y(n.id) || t.setActiveConversation(null);
117
+ let t = E.getState(), n = t.conversations.find((e) => e.id === t.activeConversationId);
118
+ !n?.sync || b(n.sync) === e || Y(n.id) || t.setActiveConversation(null);
119
119
  }
120
120
  function _t() {
121
- if (!b.isBoundToActiveProfile()) return;
122
- let e = C.getState().tombstones, t = T.getState().olderHeaders;
123
- t && Object.keys(t.headers).some((t) => t in e) && T.getState().setOlderHeaders({
121
+ if (!S.isBoundToActiveProfile()) return;
122
+ let e = T.getState().tombstones, t = D.getState().olderHeaders;
123
+ t && Object.keys(t.headers).some((t) => t in e) && D.getState().setOlderHeaders({
124
124
  ...t,
125
125
  headers: Object.fromEntries(Object.entries(t.headers).filter(([t]) => !(t in e)))
126
126
  }), F && Object.keys(F.headers).some((t) => t in e) && (F = {
127
127
  gen: F.gen,
128
128
  headers: Object.fromEntries(Object.entries(F.headers).filter(([t]) => !(t in e)))
129
129
  });
130
- let n = w.getState(), r = n.conversations.filter((t) => {
130
+ let n = E.getState(), r = n.conversations.filter((t) => {
131
131
  let n = e[t.id];
132
- return t.sync !== void 0 && n !== void 0 && v(t.sync) === n.scopeKey;
132
+ return t.sync !== void 0 && n !== void 0 && b(t.sync) === n.scopeKey;
133
133
  }).map((e) => e.id);
134
134
  if (r.length === 0) return;
135
135
  let i = n.activeConversationId;
136
136
  n.removeConversationsSilently(r);
137
- for (let e of r) T.getState().noteRemoteDelete({
137
+ for (let e of r) D.getState().noteRemoteDelete({
138
138
  conversationId: e,
139
139
  wasActive: e === i,
140
140
  at: B()
141
141
  });
142
142
  }
143
143
  function vt(e, t, n) {
144
- let r = C.getState();
144
+ let r = T.getState();
145
145
  r.recordHistoryTombstone(e, {
146
146
  scopeKey: t,
147
147
  at: B(),
@@ -150,49 +150,49 @@ function C(h) {
150
150
  }), r.dropHistoryItems(e, () => !0, B()), _t();
151
151
  }
152
152
  function Z(e) {
153
- T.getState().setHistoryPaused(ct() ? j : void 0, e.class);
153
+ D.getState().setHistoryPaused(ct() ? N : void 0, e.class);
154
154
  }
155
155
  function yt(e, t) {
156
- j = Math.max(j, B() + e), T.getState().setHistoryPaused(j, t.class), G("pause", j - B(), () => {
157
- T.getState().setHistoryPaused(void 0, t.class), $("resume"), Q();
156
+ N = Math.max(N, B() + e), D.getState().setHistoryPaused(N, t.class), G("pause", N - B(), () => {
157
+ D.getState().setHistoryPaused(void 0, t.class), $("resume"), Q();
158
158
  }, !0);
159
159
  }
160
160
  function bt(e) {
161
- M = !0, Z(e), G("auth", De, () => {
162
- M = !1, $("auth-recheck"), Q();
161
+ Ge = !0, Z(e), G("auth", Te, () => {
162
+ Ge = !1, $("auth-recheck"), Q();
163
163
  }, !0);
164
164
  }
165
165
  function xt(e) {
166
166
  switch (e.class) {
167
- case "schema-unavailable": return yt(re, e), !0;
167
+ case "schema-unavailable": return yt(ne, e), !0;
168
168
  case "auth": return bt(e), !0;
169
169
  case "scope-inactive": return Z(e), X(), !0;
170
170
  case "controls-unavailable": return Z(e), !0;
171
171
  default: return Z(e), !1;
172
172
  }
173
173
  }
174
- let St = (e) => e.product === O && We() === e.actorId, Ct = (e, t, n, r) => {
175
- if (O === null) return;
174
+ let St = (e) => e.product === A && He() === e.actorId, Ct = (e, t, n, r) => {
175
+ if (A === null) return;
176
176
  let i = J(e), a = i?.sync;
177
177
  if (!i || !a || a.origin !== "created" && a.origin !== "remote" || !St(a)) return;
178
178
  if (r !== a.workspaceId) {
179
- w.getState().patchConversationSync(e, (e) => ({
179
+ E.getState().patchConversationSync(e, (e) => ({
180
180
  ...e,
181
181
  blocked: "scope"
182
182
  }));
183
183
  return;
184
184
  }
185
185
  let o = t.map((e) => i.messages.find((t) => t.id === e));
186
- if (o.length === 0 || !me(e)) return;
186
+ if (o.length === 0 || !fe(e)) return;
187
187
  let s = o.filter((e) => e !== void 0);
188
188
  if (s.length !== o.length) return;
189
- let c = he(s, {
189
+ let c = pe(s, {
190
190
  productId: a.product,
191
191
  clientConversationId: e,
192
192
  kind: n
193
193
  });
194
- if (!pe(n, c)) {
195
- E("a committed turn does not have the shape the server stores; kept on this device", {
194
+ if (!de(n, c)) {
195
+ O("a committed turn does not have the shape the server stores; kept on this device", {
196
196
  kind: n,
197
197
  roles: c.map((e) => e.role)
198
198
  });
@@ -201,43 +201,43 @@ function C(h) {
201
201
  let l = {
202
202
  id: `save:${e}:${t.join("+")}`,
203
203
  type: "save",
204
- scopeKey: v(a),
204
+ scopeKey: b(a),
205
205
  convKey: e,
206
206
  kind: n,
207
207
  entries: c,
208
208
  attempts: 0
209
209
  }, u = () => {
210
- if (!b.isBoundToActiveProfile() || !St(a)) return;
211
- let n = C.getState();
212
- e in n.tombstones || (n.enqueueHistoryItem(l), C.getState().outbox.some((e) => e.id === l.id) && (w.getState().markHistoryState(e, t, "pending"), Q()));
213
- }, f = () => {
210
+ if (!S.isBoundToActiveProfile() || !St(a)) return;
211
+ let n = T.getState();
212
+ e in n.tombstones || (n.enqueueHistoryItem(l), T.getState().outbox.some((e) => e.id === l.id) && (E.getState().markHistoryState(e, t, "pending"), Q()));
213
+ }, d = () => {
214
214
  lt() ? u() : W(mt().then((e) => e ? u() : void 0));
215
- }, ee = w.getState().processingByConversationId[e];
216
- if (n === "NOTE" && d(ee?.status)) {
217
- R.set(e, [...R.get(e) ?? [], f]);
215
+ }, f = E.getState().processingByConversationId[e];
216
+ if (n === "NOTE" && p(f?.status)) {
217
+ R.set(e, [...R.get(e) ?? [], d]);
218
218
  return;
219
219
  }
220
- f();
220
+ d();
221
221
  };
222
222
  function wt(e) {
223
- for (let [t, n] of [...R]) d(e.processingByConversationId[t]?.status) || (R.delete(t), W(Promise.resolve().then(() => {
224
- if (O !== null) for (let e of n) e();
223
+ for (let [t, n] of [...R]) p(e.processingByConversationId[t]?.status) || (R.delete(t), W(Promise.resolve().then(() => {
224
+ if (A !== null) for (let e of n) e();
225
225
  })));
226
226
  }
227
227
  let Tt = (e) => {
228
- let t = w.getState(), n = t.conversations.find((t) => t.id === e), r = n?.sync, i = V();
229
- if (n && !r || O === null || !b.isBoundToActiveProfile()) {
228
+ let t = E.getState(), n = t.conversations.find((t) => t.id === e), r = n?.sync, i = V();
229
+ if (n && !r || A === null || !S.isBoundToActiveProfile()) {
230
230
  n && t.deleteConversation(e);
231
231
  return;
232
232
  }
233
- let a = r ? v(r) : i;
233
+ let a = r ? b(r) : i;
234
234
  if (a === null) {
235
235
  n && t.deleteConversation(e);
236
236
  return;
237
237
  }
238
238
  let o = dt(a, e);
239
239
  if (!n && !o) return;
240
- let s = r?.origin === "legacy" || o?.legacy === !0 || ce(e), c = r?.serverId ?? o?.serverId ?? (ce(e) ? e.slice(7) : void 0), l = C.getState(), u = B(), d = !s || c ? {
240
+ let s = r?.origin === "legacy" || o?.legacy === !0 || se(e), c = r?.serverId ?? o?.serverId ?? (se(e) ? e.slice(7) : void 0), l = T.getState(), u = B(), d = !s || c ? {
241
241
  id: `delete:${e}:${u}`,
242
242
  type: "delete",
243
243
  scopeKey: a,
@@ -246,77 +246,77 @@ function C(h) {
246
246
  ...c ? { serverId: c } : {},
247
247
  attempts: 0
248
248
  } : null;
249
- n && w.getState().deleteConversation(e), l.recordHistoryDelete(e, {
249
+ n && E.getState().deleteConversation(e), l.recordHistoryDelete(e, {
250
250
  scopeKey: a,
251
251
  at: u,
252
252
  confirmed: d === null,
253
253
  ...c ? { serverId: c } : {}
254
- }, d), d && b.persistFailing() && T.getState().noteUnsavedDelete({
254
+ }, d), d && S.persistFailing() && D.getState().noteUnsavedDelete({
255
255
  conversationId: e,
256
256
  at: u
257
257
  }), Q();
258
258
  }, Et = (e, n) => {
259
259
  let a = V();
260
- if (O === null || a === null || !k || !b.isBoundToActiveProfile()) return !1;
260
+ if (A === null || a === null || !j || !S.isBoundToActiveProfile()) return !1;
261
261
  let o = n.title === void 0 ? { ...n } : {
262
262
  ...n,
263
263
  title: i(n.title)
264
264
  };
265
265
  if (!r(o)) return !1;
266
- let s = C.getState();
266
+ let s = T.getState();
267
267
  if (e in s.tombstones) return !1;
268
268
  let c = J(e), l = c?.sync;
269
- if (c && !l || l && (v(l) !== a || !St(l))) return !1;
269
+ if (c && !l || l && (b(l) !== a || !St(l))) return !1;
270
270
  let u = dt(a, e);
271
271
  if (!c && (!u || u.gone)) return !1;
272
- let d = l?.origin === "legacy" || u?.legacy === !0 || ce(e), f = l?.serverId ?? u?.serverId ?? (ce(e) ? e.slice(7) : void 0);
272
+ let d = l?.origin === "legacy" || u?.legacy === !0 || se(e), f = l?.serverId ?? u?.serverId ?? (se(e) ? e.slice(7) : void 0);
273
273
  if (d && !f) return !1;
274
- let ee = s.outbox.some((t) => t.type === "save" && t.convKey === e && t.scopeKey === a);
275
- if (!d && !f && !u && !ee) return !1;
276
- let te = B(), p = null;
277
- for (let t of s.outbox) t.type === "update" && t.convKey === e && t.scopeKey === a && (p = t);
278
- let ne = p && !tt.has(p.id) ? p : null, re = ne ? t(ne.patch, o) : o;
274
+ let p = s.outbox.some((t) => t.type === "save" && t.convKey === e && t.scopeKey === a);
275
+ if (!d && !f && !u && !p) return !1;
276
+ let ee = B(), m = null;
277
+ for (let t of s.outbox) t.type === "update" && t.convKey === e && t.scopeKey === a && (m = t);
278
+ let te = m && !tt.has(m.id) ? m : null, ne = te ? t(te.patch, o) : o;
279
279
  nt += 1;
280
- let ie = {
281
- id: `update:${e}:${te}:${nt}`,
280
+ let re = {
281
+ id: `update:${e}:${ee}:${nt}`,
282
282
  type: "update",
283
283
  scopeKey: a,
284
284
  convKey: e,
285
285
  legacy: d,
286
286
  ...f ? { serverId: f } : {},
287
- patch: re,
288
- at: te,
287
+ patch: ne,
288
+ at: ee,
289
289
  attempts: 0
290
290
  };
291
- return s.queueHistoryUpdate(ie, ne?.id ?? null, te), C.getState().outbox.some((e) => e.id === ie.id) ? (o.title !== void 0 && c && w.getState().patchConversationSync(e, Be, { title: o.title }), Q(), !0) : !1;
292
- }, Dt = (e) => e.type === "update" && (!U() || !kt(e)), Ot = (e, t) => C.getState().outbox.find((n) => n.convKey === e && n.scopeKey === t && !Dt(n)), kt = (e) => e.nextAttemptAt === void 0 || e.nextAttemptAt <= B(), Q = () => {
291
+ return s.queueHistoryUpdate(re, te?.id ?? null, ee), T.getState().outbox.some((e) => e.id === re.id) ? (o.title !== void 0 && c && E.getState().patchConversationSync(e, Re, { title: o.title }), Q(), !0) : !1;
292
+ }, Dt = (e) => e.type === "update" && (!U() || !kt(e)), Ot = (e, t) => T.getState().outbox.find((n) => n.convKey === e && n.scopeKey === t && !Dt(n)), kt = (e) => e.nextAttemptAt === void 0 || e.nextAttemptAt <= B(), Q = () => {
293
293
  if (!H()) return;
294
- if (qe) {
295
- Je = !0, Ye?.();
294
+ if (Ke) {
295
+ qe = !0, Je?.();
296
296
  return;
297
297
  }
298
- qe = !0, Je = !1;
298
+ Ke = !0, qe = !1;
299
299
  let e = V();
300
300
  W((async () => {
301
301
  if (e === null) return;
302
- let t = `bf-assistant-history:${b.boundKey() ?? ""}:${e}`;
303
- if (!He) {
302
+ let t = `bf-assistant-history:${S.boundKey() ?? ""}:${e}`;
303
+ if (!Be) {
304
304
  await At(e);
305
305
  return;
306
306
  }
307
- await He.request(t, async (t) => {
308
- t ? await At(e) : G("drain", Ee, Q);
307
+ await Be.request(t, async (t) => {
308
+ t ? await At(e) : G("drain", we, Q);
309
309
  });
310
- })().catch((e) => E("the save queue stopped unexpectedly", e)).finally(() => {
311
- qe = !1, Je && Q();
310
+ })().catch((e) => O("the save queue stopped unexpectedly", e)).finally(() => {
311
+ Ke = !1, qe && Q();
312
312
  }));
313
313
  };
314
314
  async function At(e) {
315
315
  let t = /* @__PURE__ */ new Map();
316
316
  for (; !(!H() || V() !== e);) {
317
- Je = !1;
317
+ qe = !1;
318
318
  let n = null, r = /* @__PURE__ */ new Map();
319
- for (let t of C.getState().outbox) if (!(t.scopeKey !== e || r.has(t.convKey))) {
319
+ for (let t of T.getState().outbox) if (!(t.scopeKey !== e || r.has(t.convKey))) {
320
320
  if (Dt(t)) {
321
321
  U() && t.nextAttemptAt !== void 0 && (n = n === null ? t.nextAttemptAt : Math.min(n, t.nextAttemptAt));
322
322
  continue;
@@ -329,15 +329,15 @@ function C(h) {
329
329
  n = n === null ? e : Math.min(n, e);
330
330
  continue;
331
331
  }
332
- t.size >= Pe || t.set(i, jt(i, e).finally(() => {
332
+ t.size >= Me || t.set(i, jt(i, e).finally(() => {
333
333
  t.delete(i);
334
334
  }));
335
335
  }
336
336
  if (n !== null && G("drain", n - B(), Q), t.size === 0) break;
337
337
  let i = new Promise((e) => {
338
- Ye = e;
338
+ Je = e;
339
339
  });
340
- await Promise.race([...t.values(), i]), Ye = null;
340
+ await Promise.race([...t.values(), i]), Je = null;
341
341
  }
342
342
  await Promise.all(t.values());
343
343
  }
@@ -349,12 +349,12 @@ function C(h) {
349
349
  }
350
350
  }
351
351
  async function Mt(e) {
352
- if (e.convKey in C.getState().tombstones) return C.getState().completeHistoryItems([e.id], B()), "next";
353
- let t = k;
354
- if (!t || g(t) !== e.scopeKey) return "stop";
355
- let n = b.boundKey(), r;
352
+ if (e.convKey in T.getState().tombstones) return T.getState().completeHistoryItems([e.id], B()), "next";
353
+ let t = j;
354
+ if (!t || _(t) !== e.scopeKey) return "stop";
355
+ let n = S.boundKey(), r;
356
356
  try {
357
- r = await y.save(t, {
357
+ r = await x.save(t, {
358
358
  clientConversationId: e.convKey,
359
359
  kind: e.kind,
360
360
  entries: e.entries
@@ -365,8 +365,8 @@ function C(h) {
365
365
  return Nt(e, r, n), "next";
366
366
  }
367
367
  function Nt(e, t, n) {
368
- if (b.boundKey() !== n) return;
369
- let r = C.getState(), i = r.outbox.some((t) => t.id === e.id);
368
+ if (S.boundKey() !== n) return;
369
+ let r = T.getState(), i = r.outbox.some((t) => t.id === e.id);
370
370
  if (e.convKey in r.tombstones) {
371
371
  r.completeHistoryItems([e.id], B());
372
372
  return;
@@ -376,13 +376,13 @@ function C(h) {
376
376
  return;
377
377
  }
378
378
  if (r.completeHistoryItems([e.id], B()), !i) return;
379
- t.droppedMetadataKeys.length > 0 && E("the server did not keep some message details", t.droppedMetadataKeys), r.applyHistoryHeaders(e.scopeKey, { [e.convKey]: _(t.conversation) });
379
+ t.droppedMetadataKeys.length > 0 && O("the server did not keep some message details", t.droppedMetadataKeys), r.applyHistoryHeaders(e.scopeKey, { [e.convKey]: y(t.conversation) });
380
380
  let a = J(e.convKey);
381
- if (a?.sync && v(a.sync) === e.scopeKey) {
382
- let n = new Set(Ve(e)), r = {};
381
+ if (a?.sync && b(a.sync) === e.scopeKey) {
382
+ let n = new Set(ze(e)), r = {};
383
383
  for (let e of t.entries) e.clientMessageId && n.has(e.clientMessageId) && e.seq !== null && (r[e.clientMessageId] = e.seq);
384
384
  let i = Object.values(r);
385
- w.getState().markHistoryState(e.convKey, [...n], "saved", r), w.getState().patchConversationSync(e.convKey, (e) => {
385
+ E.getState().markHistoryState(e.convKey, [...n], "saved", r), E.getState().patchConversationSync(e.convKey, (e) => {
386
386
  let n = e.lastSeq ?? 0, r = i.length > 0 && Math.min(...i) === n + 1 ? Math.max(...i) : n;
387
387
  return {
388
388
  ...e,
@@ -393,19 +393,19 @@ function C(h) {
393
393
  };
394
394
  }, { title: pt(e.convKey, t.conversation.title) });
395
395
  }
396
- G("pull-after-save", Te, () => $("applied"), !0);
396
+ G("pull-after-save", Ce, () => $("applied"), !0);
397
397
  }
398
398
  async function Pt(e) {
399
- let t = k;
400
- if (!t || g(t) !== e.scopeKey) return "stop";
401
- let n = e.legacy && e.serverId ? { conversationId: e.serverId } : { clientConversationId: e.convKey }, r = b.boundKey(), i;
399
+ let t = j;
400
+ if (!t || _(t) !== e.scopeKey) return "stop";
401
+ let n = e.legacy && e.serverId ? { conversationId: e.serverId } : { clientConversationId: e.convKey }, r = S.boundKey(), i;
402
402
  try {
403
- i = await y.remove(t, n);
403
+ i = await x.remove(t, n);
404
404
  } catch (t) {
405
405
  return Lt(e, t, r);
406
406
  }
407
- if (b.boundKey() !== r) return "stop";
408
- let a = C.getState();
407
+ if (S.boundKey() !== r) return "stop";
408
+ let a = T.getState();
409
409
  a.completeHistoryItems([e.id], B());
410
410
  let o = i.conversation?.id ?? e.serverId;
411
411
  return a.recordHistoryTombstone(e.convKey, {
@@ -413,32 +413,32 @@ function C(h) {
413
413
  at: B(),
414
414
  confirmed: !0,
415
415
  ...o ? { serverId: o } : {}
416
- }), T.getState().unsavedDelete?.conversationId === e.convKey && T.getState().noteUnsavedDelete(void 0), "next";
416
+ }), D.getState().unsavedDelete?.conversationId === e.convKey && D.getState().noteUnsavedDelete(void 0), "next";
417
417
  }
418
418
  async function Ft(e) {
419
- if (e.convKey in C.getState().tombstones) return C.getState().completeHistoryItems([e.id], B()), "next";
420
- let t = k;
421
- if (!t || g(t) !== e.scopeKey) return "stop";
422
- let n = e.legacy && e.serverId ? { conversationId: e.serverId } : { clientConversationId: e.convKey }, r = b.boundKey(), i;
419
+ if (e.convKey in T.getState().tombstones) return T.getState().completeHistoryItems([e.id], B()), "next";
420
+ let t = j;
421
+ if (!t || _(t) !== e.scopeKey) return "stop";
422
+ let n = e.legacy && e.serverId ? { conversationId: e.serverId } : { clientConversationId: e.convKey }, r = S.boundKey(), i;
423
423
  tt.add(e.id);
424
424
  try {
425
- i = await y.update(t, n, e.patch);
425
+ i = await x.update(t, n, e.patch);
426
426
  } catch (t) {
427
- if (b.boundKey() !== r) return "stop";
428
- if (t instanceof te) return U() && C.getState().updateHistoryItem(e.id, (e) => ({
427
+ if (S.boundKey() !== r) return "stop";
428
+ if (t instanceof ee) return U() && T.getState().updateHistoryItem(e.id, (e) => ({
429
429
  ...e,
430
- nextAttemptAt: B() + oe
430
+ nextAttemptAt: B() + ae
431
431
  })), "stop";
432
- let n = m(t);
433
- return n.class === "not-found" || n.class === "rejected" ? (C.getState().completeHistoryItems([e.id], B()), Z(n), E("the server did not take a conversation change; dropped", n), "next") : Lt(e, t, r);
432
+ let n = h(t);
433
+ return n.class === "not-found" || n.class === "rejected" ? (T.getState().completeHistoryItems([e.id], B()), Z(n), O("the server did not take a conversation change; dropped", n), "next") : Lt(e, t, r);
434
434
  } finally {
435
435
  tt.delete(e.id);
436
436
  }
437
437
  return It(e, i, r), "next";
438
438
  }
439
439
  function It(e, t, n) {
440
- if (b.boundKey() !== n) return;
441
- let r = C.getState();
440
+ if (S.boundKey() !== n) return;
441
+ let r = T.getState();
442
442
  if (e.convKey in r.tombstones) {
443
443
  r.completeHistoryItems([e.id], B());
444
444
  return;
@@ -463,36 +463,36 @@ function C(h) {
463
463
  patch: t,
464
464
  at: e.at,
465
465
  attempts: 0
466
- }, e.id, i)) : r.completeHistoryItems([e.id], i), T.getState().notePinLimit({
466
+ }, e.id, i)) : r.completeHistoryItems([e.id], i), D.getState().notePinLimit({
467
467
  conversationId: e.convKey,
468
468
  limit: 50,
469
469
  at: i
470
470
  });
471
471
  } else r.completeHistoryItems([e.id], i);
472
- C.getState().applyHistoryHeaders(e.scopeKey, { [e.convKey]: _(t.conversation) });
472
+ T.getState().applyHistoryHeaders(e.scopeKey, { [e.convKey]: y(t.conversation) });
473
473
  let a = J(e.convKey);
474
- a?.sync && v(a.sync) === e.scopeKey && w.getState().patchConversationSync(e.convKey, (e) => ({
474
+ a?.sync && b(a.sync) === e.scopeKey && E.getState().patchConversationSync(e.convKey, (e) => ({
475
475
  ...e,
476
476
  serverId: t.conversation.id,
477
477
  revision: Math.max(e.revision ?? 0, t.conversation.revision)
478
- }), { title: pt(e.convKey, t.conversation.title) }), G("pull-after-save", Te, () => $("applied"), !0);
478
+ }), { title: pt(e.convKey, t.conversation.title) }), G("pull-after-save", Ce, () => $("applied"), !0);
479
479
  }
480
480
  function Lt(e, t, n) {
481
- let r = m(t);
482
- if (b.boundKey() !== n) return "stop";
483
- let i = ae(r, e, Ue), a = C.getState();
481
+ let r = h(t);
482
+ if (S.boundKey() !== n) return "stop";
483
+ let i = ie(r, e, Ve), a = T.getState();
484
484
  switch (i.action) {
485
- case "drop": return a.completeHistoryItems([e.id], B()), e.type === "save" && w.getState().patchConversationSync(e.convKey, (e) => ({
485
+ case "drop": return a.completeHistoryItems([e.id], B()), e.type === "save" && E.getState().patchConversationSync(e.convKey, (e) => ({
486
486
  ...e,
487
487
  blocked: "invalid"
488
- })), Z(r), E("the server refused a saved turn; it stays on this device", r), "next";
488
+ })), Z(r), O("the server refused a saved turn; it stays on this device", r), "next";
489
489
  case "pause": return xt(r), "stop";
490
490
  case "park": return a.updateHistoryItem(e.id, (e) => ({
491
491
  ...e,
492
492
  attempts: e.attempts + 1,
493
493
  ...e.type === "save" ? { parked: "quota" } : {},
494
- nextAttemptAt: B() + Math.max(i.delayMs, ne)
495
- })), e.type === "save" && w.getState().patchConversationSync(e.convKey, (e) => ({
494
+ nextAttemptAt: B() + Math.max(i.delayMs, te)
495
+ })), e.type === "save" && E.getState().patchConversationSync(e.convKey, (e) => ({
496
496
  ...e,
497
497
  blocked: "quota"
498
498
  })), Z(r), "stop";
@@ -505,26 +505,26 @@ function C(h) {
505
505
  }
506
506
  }
507
507
  let $ = (e) => {
508
- if (H() && !((e === "focus" || e === "visibility") && B() - $e < we)) {
509
- if (Xe) {
510
- Ze = !0;
508
+ if (H() && !((e === "focus" || e === "visibility") && B() - Qe < Se)) {
509
+ if (Ye) {
510
+ Xe = !0;
511
511
  return;
512
512
  }
513
- Xe = !0, Ze = !1, $e = B(), W(Rt().catch((e) => E("a history pull stopped unexpectedly", e)).finally(() => {
514
- Xe = !1, O !== null && !U() && G("controls-recheck", oe, () => $("controls-recheck")), Ze && $("again");
513
+ Ye = !0, Xe = !1, Qe = B(), W(Rt().catch((e) => O("a history pull stopped unexpectedly", e)).finally(() => {
514
+ Ye = !1, A !== null && !U() && G("controls-recheck", ae, () => $("controls-recheck")), Xe && $("again");
515
515
  }));
516
516
  }
517
517
  };
518
518
  async function Rt() {
519
- let e = k, t = K();
519
+ let e = j, t = K();
520
520
  if (!e || !t) return;
521
521
  Vt(t.scopeKey);
522
522
  let n = !1;
523
- for (let r = 0; r < Ae; r += 1) {
524
- let i = C.getState().scopes[t.scopeKey], a = i?.gen ?? 0, o;
523
+ for (let r = 0; r < Oe; r += 1) {
524
+ let i = T.getState().scopes[t.scopeKey], a = i?.gen ?? 0, o;
525
525
  try {
526
- o = await y.changes(e, {
527
- first: ke,
526
+ o = await x.changes(e, {
527
+ first: De,
528
528
  after: i?.cursor ?? null
529
529
  });
530
530
  } catch (e) {
@@ -532,10 +532,10 @@ function C(h) {
532
532
  return;
533
533
  }
534
534
  if (!q(t)) return;
535
- if (Qe = 0, o.resetRequired && !Bt(i)) {
535
+ if (Ze = 0, o.resetRequired && !Bt(i)) {
536
536
  if (n) return;
537
537
  n = !0;
538
- let e = C.getState().resetHistoryScope(t.scopeKey, B());
538
+ let e = T.getState().resetHistoryScope(t.scopeKey, B());
539
539
  I = {
540
540
  scopeKey: t.scopeKey,
541
541
  gen: e,
@@ -553,14 +553,14 @@ function C(h) {
553
553
  G("pull-more", 0, () => $("more"));
554
554
  }
555
555
  function zt(e, t, n) {
556
- let r = C.getState(), i = {}, a = {}, o = [], s = r.scopes[e]?.cursorRev ?? 0;
556
+ let r = T.getState(), i = {}, a = {}, o = [], s = r.scopes[e]?.cursorRev ?? 0;
557
557
  for (let t of n.nodes) {
558
- let n = le(t);
558
+ let n = v(t);
559
559
  if (s = Math.max(s, t.revision), t.deleted) {
560
560
  a[n] = { serverId: t.id };
561
561
  continue;
562
562
  }
563
- I?.scopeKey === e && I.seen.add(n), !(n in r.tombstones) && (i[n] = _(t), o.push({
563
+ I?.scopeKey === e && I.seen.add(n), !(n in r.tombstones) && (i[n] = y(t), o.push({
564
564
  convKey: n,
565
565
  serverId: t.id,
566
566
  revision: t.revision,
@@ -576,12 +576,12 @@ function C(h) {
576
576
  last: !n.pageInfo.hasNextPage,
577
577
  at: B()
578
578
  })) return !1;
579
- for (let e of Object.keys(a)) C.getState().dropHistoryItems(e, (e) => e.type === "delete", B());
579
+ for (let e of Object.keys(a)) T.getState().dropHistoryItems(e, (e) => e.type === "delete", B());
580
580
  _t();
581
- let c = w.getState();
581
+ let c = E.getState();
582
582
  for (let t of o) {
583
583
  let n = c.conversations.find((e) => e.id === t.convKey);
584
- !n?.sync || v(n.sync) !== e || w.getState().patchConversationSync(t.convKey, (e) => ({
584
+ !n?.sync || b(n.sync) !== e || E.getState().patchConversationSync(t.convKey, (e) => ({
585
585
  ...e,
586
586
  serverId: t.serverId,
587
587
  revision: Math.max(e.revision ?? 0, t.revision)
@@ -595,7 +595,7 @@ function C(h) {
595
595
  return t >= 0 && t < 864e5;
596
596
  }
597
597
  function Vt(e) {
598
- let t = C.getState().scopes[e], n = t?.gen ?? 0;
598
+ let t = T.getState().scopes[e], n = t?.gen ?? 0;
599
599
  if (t?.rescanning && !(I?.scopeKey === e && I.gen === n)) {
600
600
  if (t.hasOlderHeaders) {
601
601
  I = null;
@@ -610,70 +610,70 @@ function C(h) {
610
610
  }
611
611
  }
612
612
  function Ht(e) {
613
- return new Set(w.getState().conversations.filter((t) => t.sync !== void 0 && !!t.sync.serverId && v(t.sync) === e).map((e) => e.id));
613
+ return new Set(E.getState().conversations.filter((t) => t.sync !== void 0 && !!t.sync.serverId && b(t.sync) === e).map((e) => e.id));
614
614
  }
615
615
  function Ut(e) {
616
616
  let t = I;
617
- if (!t || t.scopeKey !== e || (I = null, (C.getState().scopes[e]?.gen ?? 0) !== t.gen)) return;
618
- let n = new Set(C.getState().outbox.map((e) => e.convKey)), r = w.getState(), i = r.conversations.filter((r) => t.candidates.has(r.id) && r.sync !== void 0 && v(r.sync) === e && !t.seen.has(r.id) && !n.has(r.id) && !Y(r.id)).map((e) => e.id);
617
+ if (!t || t.scopeKey !== e || (I = null, (T.getState().scopes[e]?.gen ?? 0) !== t.gen)) return;
618
+ let n = new Set(T.getState().outbox.map((e) => e.convKey)), r = E.getState(), i = r.conversations.filter((r) => t.candidates.has(r.id) && r.sync !== void 0 && b(r.sync) === e && !t.seen.has(r.id) && !n.has(r.id) && !Y(r.id)).map((e) => e.id);
619
619
  if (i.length === 0) return;
620
620
  let a = r.activeConversationId;
621
- r.removeConversationsSilently(i), a !== null && i.includes(a) && T.getState().noteRemoteDelete({
621
+ r.removeConversationsSilently(i), a !== null && i.includes(a) && D.getState().noteRemoteDelete({
622
622
  conversationId: a,
623
623
  wasActive: !0,
624
624
  at: B()
625
625
  });
626
626
  }
627
627
  function Wt(e) {
628
- let t = m(e);
628
+ let t = h(e);
629
629
  if (t.class === "rejected") {
630
- yt(re, t);
630
+ yt(ne, t);
631
631
  return;
632
632
  }
633
- xt(t) || (Qe += 1, G("pull-retry", Math.max(ie(Qe, Ue), t.retryAfterMs ?? 0), () => $("retry")));
633
+ xt(t) || (Ze += 1, G("pull-retry", Math.max(re(Ze, Ve), t.retryAfterMs ?? 0), () => $("retry")));
634
634
  }
635
635
  function Gt(e) {
636
- let t = C.getState().scopes[e]?.headers ?? {};
637
- return Object.values(t).some((e) => !e.gone && !Se(e));
636
+ let t = T.getState().scopes[e]?.headers ?? {};
637
+ return Object.values(t).some((e) => !e.gone && !be(e));
638
638
  }
639
639
  function Kt(e) {
640
640
  if (P !== null || !U() || !q(e)) return;
641
- let t = C.getState().scopes[e.scopeKey]?.gen ?? 0;
641
+ let t = T.getState().scopes[e.scopeKey]?.gen ?? 0;
642
642
  if (!Gt(e.scopeKey)) {
643
- C.getState().scopes[e.scopeKey] && C.getState().markHistoryScopeControls(e.scopeKey, t);
643
+ T.getState().scopes[e.scopeKey] && T.getState().markHistoryScopeControls(e.scopeKey, t);
644
644
  return;
645
645
  }
646
- B() - it < Fe || (it = B(), P = {
646
+ B() - it < Ne || (it = B(), P = {
647
647
  gen: e,
648
648
  storeGen: t,
649
649
  cursor: null
650
650
  }, qt());
651
651
  }
652
652
  function qt() {
653
- let e = P, t = k;
653
+ let e = P, t = j;
654
654
  if (!e || !t || !H() || !q(e.gen)) {
655
655
  P = null;
656
656
  return;
657
657
  }
658
658
  let n = e.gen.scopeKey;
659
659
  W((async () => {
660
- for (let r = 0; r < Ae; r += 1) {
661
- let r = await y.changes(t, {
662
- first: ke,
660
+ for (let r = 0; r < Oe; r += 1) {
661
+ let r = await x.changes(t, {
662
+ first: De,
663
663
  after: e.cursor
664
664
  });
665
665
  if (P !== e || !q(e.gen)) return;
666
- if (!U() || (C.getState().scopes[n]?.gen ?? 0) !== e.storeGen) {
666
+ if (!U() || (T.getState().scopes[n]?.gen ?? 0) !== e.storeGen) {
667
667
  P = null;
668
668
  return;
669
669
  }
670
- let i = C.getState().tombstones, a = {};
670
+ let i = T.getState().tombstones, a = {};
671
671
  for (let e of r.nodes) {
672
- let t = le(e);
673
- e.deleted || t in i || (a[t] = _(e));
672
+ let t = v(e);
673
+ e.deleted || t in i || (a[t] = y(e));
674
674
  }
675
- if (Object.keys(a).length > 0 && C.getState().applyHistoryHeaders(n, a), e.cursor = r.pageInfo.endCursor ?? e.cursor, !r.pageInfo.hasNextPage) {
676
- P = null, C.getState().markHistoryScopeControls(n, e.storeGen), cn();
675
+ if (Object.keys(a).length > 0 && T.getState().applyHistoryHeaders(n, a), e.cursor = r.pageInfo.endCursor ?? e.cursor, !r.pageInfo.hasNextPage) {
676
+ P = null, T.getState().markHistoryScopeControls(n, e.storeGen), cn();
677
677
  return;
678
678
  }
679
679
  }
@@ -683,29 +683,29 @@ function C(h) {
683
683
  }));
684
684
  }
685
685
  function Jt() {
686
- let e = k, t = K();
687
- rt || !H() || !e || !t || !U() || (rt = !0, W(y.conversations(e, {
686
+ let e = j, t = K();
687
+ rt || !H() || !e || !t || !U() || (rt = !0, W(x.conversations(e, {
688
688
  first: 50,
689
689
  after: null,
690
690
  filter: { pinned: !0 }
691
691
  }).then((e) => {
692
692
  if (!q(t)) return;
693
- let n = C.getState().tombstones, r = {};
693
+ let n = T.getState().tombstones, r = {};
694
694
  for (let t of e.nodes) {
695
- let e = le(t);
696
- t.deleted || e in n || (r[e] = _(t));
695
+ let e = v(t);
696
+ t.deleted || e in n || (r[e] = y(t));
697
697
  }
698
- Object.keys(r).length > 0 && C.getState().applyHistoryHeaders(t.scopeKey, r);
698
+ Object.keys(r).length > 0 && T.getState().applyHistoryHeaders(t.scopeKey, r);
699
699
  }).catch((e) => {
700
- q(t) && xt(m(e));
700
+ q(t) && xt(h(e));
701
701
  }).finally(() => {
702
702
  rt = !1;
703
703
  })));
704
704
  }
705
705
  function Yt(e) {
706
- if (T.getState().setControlsAvailable(e), O === null) return;
706
+ if (D.getState().setControlsAvailable(e), A === null) return;
707
707
  if (!e) {
708
- G("controls-recheck", oe, () => $("controls-recheck"));
708
+ G("controls-recheck", ae, () => $("controls-recheck"));
709
709
  return;
710
710
  }
711
711
  ut("controls-recheck"), Q();
@@ -713,32 +713,32 @@ function C(h) {
713
713
  t && Kt(t);
714
714
  }
715
715
  let Xt = (e) => {
716
- let t = k, r = K();
716
+ let t = j, r = K();
717
717
  if (!H() || !t || !r || et) return;
718
718
  et = !0;
719
719
  let i = e && U() ? e : void 0, a = n(i);
720
720
  W((async () => {
721
- let e = T.getState().olderHeaders, n = e?.scopeKey === r.scopeKey ? { ...e.headers } : {}, o = N?.scopeKey === r.scopeKey && N.filterKey === a ? N.cursor : null, s = !0;
722
- for (let e = 0; e < Me && s; e += 1) {
723
- let e = await y.conversations(t, {
724
- first: je,
721
+ let e = D.getState().olderHeaders, n = e?.scopeKey === r.scopeKey ? { ...e.headers } : {}, o = $e?.scopeKey === r.scopeKey && $e.filterKey === a ? $e.cursor : null, s = !0;
722
+ for (let e = 0; e < Ae && s; e += 1) {
723
+ let e = await x.conversations(t, {
724
+ first: ke,
725
725
  after: o,
726
726
  ...i ? { filter: i } : {}
727
727
  });
728
728
  if (!q(r)) return;
729
- let c = C.getState(), l = c.scopes[r.scopeKey]?.headers ?? {}, u = 0;
729
+ let c = T.getState(), l = c.scopes[r.scopeKey]?.headers ?? {}, u = 0;
730
730
  for (let t of e.nodes) {
731
- let e = le(t);
732
- t.deleted || e in c.tombstones || e in l || e in n || (n[e] = _(t), u += 1);
731
+ let e = v(t);
732
+ t.deleted || e in c.tombstones || e in l || e in n || (n[e] = y(t), u += 1);
733
733
  }
734
- if (o = e.pageInfo.endCursor ?? o, s = e.pageInfo.hasNextPage, N = {
734
+ if (o = e.pageInfo.endCursor ?? o, s = e.pageInfo.hasNextPage, $e = {
735
735
  scopeKey: r.scopeKey,
736
736
  filterKey: a,
737
737
  cursor: o
738
738
  }, u > 0) break;
739
739
  }
740
- let c = C.getState().tombstones, l = Object.fromEntries(Object.entries(n).filter(([e]) => !(e in c)));
741
- T.getState().setOlderHeaders({
740
+ let c = T.getState().tombstones, l = Object.fromEntries(Object.entries(n).filter(([e]) => !(e in c)));
741
+ D.getState().setOlderHeaders({
742
742
  scopeKey: r.scopeKey,
743
743
  headers: l,
744
744
  hasMore: s,
@@ -750,20 +750,20 @@ function C(h) {
750
750
  et = !1;
751
751
  }));
752
752
  }, Zt = async (e) => {
753
- let t = k, n = K();
754
- if (!H() || !t || !n) throw new p();
755
- let r = await y.conversations(t, {
753
+ let t = j, n = K();
754
+ if (!H() || !t || !n) throw new m();
755
+ let r = await x.conversations(t, {
756
756
  first: 50,
757
757
  after: e.after,
758
758
  query: e.query,
759
759
  ...e.filter ? { filter: e.filter } : {}
760
760
  }, e.signal ? { signal: e.signal } : {});
761
- if (e.signal?.throwIfAborted(), !q(n)) throw new p();
762
- let i = C.getState().tombstones, a = [], o = {};
761
+ if (e.signal?.throwIfAborted(), !q(n)) throw new m();
762
+ let i = T.getState().tombstones, a = [], o = {};
763
763
  for (let e of r.nodes) {
764
- let t = le(e);
764
+ let t = v(e);
765
765
  if (e.deleted || t in i) continue;
766
- let r = _(e);
766
+ let r = y(e);
767
767
  a.push({
768
768
  convKey: t,
769
769
  header: r,
@@ -784,55 +784,55 @@ function C(h) {
784
784
  }, Qt = () => {
785
785
  F = null;
786
786
  }, $t = (e, t = {}) => {
787
- let n = w.getState(), r = n.conversations.find((t) => t.id === e), i = V();
788
- if (O === null || i === null || !k) {
787
+ let n = E.getState(), r = n.conversations.find((t) => t.id === e), i = V();
788
+ if (A === null || i === null || !j) {
789
789
  r && n.setActiveConversation(e);
790
790
  return;
791
791
  }
792
- if (!(b.isBoundToActiveProfile() && e in C.getState().tombstones)) {
792
+ if (!(S.isBoundToActiveProfile() && e in T.getState().tombstones)) {
793
793
  if (!r) {
794
794
  let a = dt(i, e);
795
795
  if (!a || a.gone) return;
796
- C.getState().applyHistoryHeaders(i, { [e]: a });
796
+ T.getState().applyHistoryHeaders(i, { [e]: a });
797
797
  let o = ft(e);
798
- if (n.upsertRemoteConversation(ue(e, o === void 0 ? a : {
798
+ if (n.upsertRemoteConversation(ce(e, o === void 0 ? a : {
799
799
  ...a,
800
800
  title: o
801
- }, k, {
801
+ }, j, {
802
802
  modes: t.modes ?? [],
803
803
  autoRouting: n.autoRouting,
804
804
  openedAt: new Date(B()).toISOString()
805
805
  })), r = J(e), !r) return;
806
806
  }
807
- r.sync && v(r.sync) !== i || (w.getState().setActiveConversation(e), r.sync && (w.getState().patchConversationSync(e, (e) => ({
807
+ r.sync && b(r.sync) !== i || (E.getState().setActiveConversation(e), r.sync && (E.getState().patchConversationSync(e, (e) => ({
808
808
  ...e,
809
809
  openedAt: new Date(B()).toISOString()
810
810
  })), en(e, "open")), cn());
811
811
  }
812
812
  }, en = (e, t) => {
813
- let n = k, r = V();
814
- if (O === null || !n || r === null || at.has(e) || b.heldByNewerBuild()) return;
813
+ let n = j, r = V();
814
+ if (A === null || !n || r === null || at.has(e) || S.heldByNewerBuild()) return;
815
815
  if (!H()) {
816
816
  an(e, t);
817
817
  return;
818
818
  }
819
819
  let i = J(e)?.sync;
820
- if (!i || v(i) !== r || e in C.getState().tombstones) return;
820
+ if (!i || b(i) !== r || e in T.getState().tombstones) return;
821
821
  if (Y(e)) {
822
822
  an(e, t);
823
823
  return;
824
824
  }
825
- let a = dt(r, e), o = t === "earlier" ? _e(i) : ve(i, a ? a.lastMessageSeq : null);
825
+ let a = dt(r, e), o = t === "earlier" ? he(i) : ge(i, a ? a.lastMessageSeq : null);
826
826
  if (!o) return;
827
827
  let s = K();
828
- s && (at.add(e), T.getState().setConversationLoading(e, !0), T.getState().setConversationLoadError(e, !1), W(tn(e, n, i.origin === "legacy" ? { conversationId: i.serverId ?? e.slice(7) } : { clientConversationId: e }, o, s, t).catch((t) => rn(e, i, t, s)).finally(() => {
829
- at.delete(e), q(s) && T.getState().setConversationLoading(e, !1);
828
+ s && (at.add(e), D.getState().setConversationLoading(e, !0), D.getState().setConversationLoadError(e, !1), W(tn(e, n, i.origin === "legacy" ? { conversationId: i.serverId ?? e.slice(7) } : { clientConversationId: e }, o, s, t).catch((t) => rn(e, i, t, s)).finally(() => {
829
+ at.delete(e), q(s) && D.getState().setConversationLoading(e, !1);
830
830
  })));
831
831
  };
832
832
  async function tn(e, t, n, r, i, a) {
833
833
  let o = r.paging;
834
- for (let s = 0; s < Ne; s += 1) {
835
- let s = await y.entries(t, n, o);
834
+ for (let s = 0; s < je; s += 1) {
835
+ let s = await x.entries(t, n, o);
836
836
  if (!q(i)) return;
837
837
  if (s.conversation.deleted) {
838
838
  vt(e, i.scopeKey, s.conversation.id);
@@ -853,44 +853,44 @@ function C(h) {
853
853
  }
854
854
  }
855
855
  function nn(e, t, n, r) {
856
- if (e in C.getState().tombstones) return "skipped";
856
+ if (e in T.getState().tombstones) return "skipped";
857
857
  let i = J(e), a = i?.sync;
858
- if (!i || !a || v(a) !== t) return "skipped";
858
+ if (!i || !a || b(a) !== t) return "skipped";
859
859
  if (Y(e)) return "deferred";
860
- C.getState().applyHistoryHeaders(t, { [e]: _(n.conversation) });
861
- let o = n.nodes.map(fe), { messages: s, syncPatch: c } = ge(a, i.messages, o, n, r);
862
- return w.getState().applyHistoryEntries(e, s, c), "applied";
860
+ T.getState().applyHistoryHeaders(t, { [e]: y(n.conversation) });
861
+ let o = n.nodes.map(ue), { messages: s, syncPatch: c } = me(a, i.messages, o, n, r);
862
+ return E.getState().applyHistoryEntries(e, s, c), "applied";
863
863
  }
864
864
  function rn(e, t, n, r) {
865
865
  if (!q(r)) return;
866
- let i = m(n);
866
+ let i = h(n);
867
867
  if (i.class === "not-found") {
868
868
  if (t.origin === "created") return;
869
- C.getState().markHistoryHeaderGone(r.scopeKey, e), T.getState().setConversationLoadError(e, !0), E("the server does not have a conversation the list showed", e);
869
+ T.getState().markHistoryHeaderGone(r.scopeKey, e), D.getState().setConversationLoadError(e, !0), O("the server does not have a conversation the list showed", e);
870
870
  return;
871
871
  }
872
- T.getState().setConversationLoadError(e, !0), i.class === "rejected" ? yt(re, i) : xt(i);
872
+ D.getState().setConversationLoadError(e, !0), i.class === "rejected" ? yt(ne, i) : xt(i);
873
873
  }
874
874
  function an(e, t) {
875
- L.get(e) !== "open" && L.set(e, t), G("deferred-loads", Oe, on);
875
+ L.get(e) !== "open" && L.set(e, t), G("deferred-loads", Ee, on);
876
876
  }
877
877
  function on() {
878
878
  if (!H()) {
879
- L.size > 0 && O !== null && G("deferred-loads", Oe, on);
879
+ L.size > 0 && A !== null && G("deferred-loads", Ee, on);
880
880
  return;
881
881
  }
882
882
  for (let [e, t] of [...L]) Y(e) || (L.delete(e), en(e, t));
883
- L.size > 0 && G("deferred-loads", Oe, on);
883
+ L.size > 0 && G("deferred-loads", Ee, on);
884
884
  }
885
885
  function sn(e) {
886
- if (!b.isBoundToActiveProfile()) return [];
887
- let t = C.getState(), n = new Set(t.outbox.map((e) => e.convKey)), r = w.getState(), i = de({
886
+ if (!S.isBoundToActiveProfile()) return [];
887
+ let t = T.getState(), n = new Set(t.outbox.map((e) => e.convKey)), r = E.getState(), i = le({
888
888
  conversations: r.conversations,
889
889
  activeConversationId: r.activeConversationId,
890
890
  max: e,
891
891
  isProtected: (e) => {
892
892
  if (n.has(e.id) || Y(e.id) || !e.sync) return !0;
893
- let r = t.scopes[v(e.sync)]?.headers[e.id];
893
+ let r = t.scopes[b(e.sync)]?.headers[e.id];
894
894
  return !r || r.gone === !0;
895
895
  }
896
896
  });
@@ -900,34 +900,34 @@ function C(h) {
900
900
  sn(25);
901
901
  }
902
902
  function ln(e) {
903
- for (let t of Ie) if (sn(t).length !== 0 && !e()) return;
903
+ for (let t of Pe) if (sn(t).length !== 0 && !e()) return;
904
904
  }
905
905
  function un() {
906
- if (b.isBoundToActiveProfile()) {
907
- for (let e of Ie) if (sn(e).length !== 0 && b.flush()) return;
908
- G("history-flush", Le, dn);
906
+ if (S.isBoundToActiveProfile()) {
907
+ for (let e of Pe) if (sn(e).length !== 0 && S.flush()) return;
908
+ G("history-flush", Fe, dn);
909
909
  }
910
910
  }
911
911
  function dn() {
912
- !b.isBoundToActiveProfile() || !b.persistFailing() || b.flush();
912
+ !S.isBoundToActiveProfile() || !S.persistFailing() || S.flush();
913
913
  }
914
914
  function fn(e) {
915
915
  if (e) {
916
916
  un();
917
917
  return;
918
918
  }
919
- ut("history-flush"), T.getState().unsavedDelete && T.getState().noteUnsavedDelete(void 0);
919
+ ut("history-flush"), D.getState().unsavedDelete && D.getState().noteUnsavedDelete(void 0);
920
920
  }
921
921
  function pn() {
922
- let e = O === null ? null : se(We(), Ge(), O), t = e ? g(e) : null, n = b.isBoundToActiveProfile() ? C.getState().tombstones : {};
923
- return (e) => !e.sync || t !== null && g(e.sync) === t && !(e.id in n);
922
+ let e = A === null ? null : oe(He(), Ue(), A), t = e ? _(e) : null, n = S.isBoundToActiveProfile() ? T.getState().tombstones : {};
923
+ return (e) => !e.sync || t !== null && _(e.sync) === t && !(e.id in n);
924
924
  }
925
925
  function mn() {
926
- if (h.watchScope === !1) return;
926
+ if (g.watchScope === !1) return;
927
927
  let t = () => {
928
- X(), G("scope-poll", Ce, t, !0);
928
+ X(), G("scope-poll", xe, t, !0);
929
929
  };
930
- if (G("scope-poll", Ce, t, !0), typeof window > "u" || typeof window.addEventListener != "function") return;
930
+ if (G("scope-poll", xe, t, !0), typeof window > "u" || typeof window.addEventListener != "function") return;
931
931
  let n = () => {
932
932
  X(), $("focus"), Q();
933
933
  }, r = () => {
@@ -940,42 +940,42 @@ function C(h) {
940
940
  });
941
941
  }
942
942
  function hn(e) {
943
- O = e, l(() => O === null || b.heldByNewerBuild() ? null : se(We(), Ge(), O)), o(ln), s(pn), c((e, t) => Et(e, { title: t })), b.setWriteListener(fn), T.getState().setControlsAvailable(U()), st.push(y.onControlsChange(Yt), C.subscribe((e, t) => {
943
+ A = e, l(() => A === null || S.heldByNewerBuild() ? null : oe(He(), Ue(), A)), o(ln), s(pn), c((e, t) => Et(e, { title: t })), S.setWriteListener(fn), D.getState().setControlsAvailable(U()), st.push(x.onControlsChange(Yt), T.subscribe((e, t) => {
944
944
  if (e.tombstones !== t.tombstones && _t(), e.outbox !== t.outbox) {
945
945
  let n = new Set(t.outbox.map((e) => e.id));
946
946
  e.outbox.some((e) => !n.has(e.id)) && Q();
947
947
  }
948
- }), w.subscribe((e, t) => {
949
- let n = e.activeConversationId, r = n !== null && d(t.processingByConversationId[n]?.status) && !d(e.processingByConversationId[n]?.status);
948
+ }), E.subscribe((e, t) => {
949
+ let n = e.activeConversationId, r = n !== null && p(t.processingByConversationId[n]?.status) && !p(e.processingByConversationId[n]?.status);
950
950
  (n !== t.activeConversationId || r) && (X(), gt()), R.size > 0 && e.processingByConversationId !== t.processingByConversationId && wt(e), L.size > 0 && e.processingByConversationId !== t.processingByConversationId && on();
951
951
  })), mn(), X();
952
952
  }
953
953
  function gn() {
954
- O = null, k = null, l(null), o(null), s(null), c(null), b.setWriteListener(null), T.getState().noteUnsavedDelete(void 0);
954
+ A = null, j = null, l(null), o(null), s(null), c(null), S.setWriteListener(null), D.getState().noteUnsavedDelete(void 0);
955
955
  for (let e of st) e();
956
956
  st = [];
957
957
  for (let e of [...z.keys()]) ut(e);
958
- L.clear(), R.clear(), P = null, it = -Infinity, F = null, M = !1, T.getState().setHistoryScope(null, null);
958
+ L.clear(), R.clear(), P = null, it = -Infinity, F = null, Ge = !1, D.getState().setHistoryScope(null, null);
959
959
  }
960
960
  let _n = (e) => {
961
- D.set(e, (D.get(e) ?? 0) + 1), O === null ? hn(e) : O !== e && E("a second product asked for server history in the same page; the first keeps it", {
962
- active: O,
961
+ k.set(e, (k.get(e) ?? 0) + 1), A === null ? hn(e) : A !== e && O("a second product asked for server history in the same page; the first keeps it", {
962
+ active: A,
963
963
  asked: e
964
964
  });
965
965
  let t = !1;
966
966
  return () => {
967
967
  if (t) return;
968
968
  t = !0;
969
- let n = (D.get(e) ?? 1) - 1;
970
- if (n > 0 ? D.set(e, n) : D.delete(e), e !== O || D.has(e)) return;
969
+ let n = (k.get(e) ?? 1) - 1;
970
+ if (n > 0 ? k.set(e, n) : k.delete(e), e !== A || k.has(e)) return;
971
971
  gn();
972
- let r = D.keys().next();
972
+ let r = k.keys().next();
973
973
  r.done || hn(r.value);
974
974
  };
975
975
  };
976
976
  function vn() {
977
977
  if (!lt()) return;
978
- let e = C.getState();
978
+ let e = T.getState();
979
979
  for (let t of e.outbox) t.nextAttemptAt === void 0 || t.type === "save" && t.parked || e.updateHistoryItem(t.id, (e) => ({
980
980
  ...e,
981
981
  nextAttemptAt: void 0
@@ -995,14 +995,14 @@ function C(h) {
995
995
  clearSearchResults: Qt,
996
996
  notePanelOpened: () => {
997
997
  if (!lt()) return;
998
- let e = C.getState();
998
+ let e = T.getState();
999
999
  for (let t of e.outbox) t.type !== "save" || !t.parked || e.updateHistoryItem(t.id, (e) => ({
1000
1000
  ...e,
1001
1001
  parked: void 0,
1002
1002
  nextAttemptAt: void 0,
1003
1003
  attempts: e.attempts + 1
1004
1004
  }));
1005
- S(() => y.recheckControls(), void 0), $("history-open"), Q(), Jt();
1005
+ w(() => x.recheckControls(), void 0), $("history-open"), Q(), Jt();
1006
1006
  },
1007
1007
  pull: $,
1008
1008
  drain: Q,
@@ -1010,14 +1010,14 @@ function C(h) {
1010
1010
  for (let e = 0; e < 1e3 && ot.size > 0; e += 1) await Promise.allSettled([...ot]);
1011
1011
  },
1012
1012
  dispose() {
1013
- D.clear(), F = null, O !== null && gn();
1013
+ k.clear(), F = null, A !== null && gn();
1014
1014
  }
1015
1015
  };
1016
1016
  }
1017
- var w = C({
1018
- transport: h(),
1019
- storage: y,
1020
- clock: x()
1017
+ var E = T({
1018
+ transport: g(),
1019
+ storage: x,
1020
+ clock: C()
1021
1021
  });
1022
1022
  //#endregion
1023
- export { b as ASSISTANT_HISTORY_RESET_TRUST_MS, w as assistantHistory, C as createAssistantHistoryEngine, x as createSystemHistoryClock };
1023
+ export { S as ASSISTANT_HISTORY_RESET_TRUST_MS, E as assistantHistory, T as createAssistantHistoryEngine, C as createSystemHistoryClock };