@burdenoff/fe-libs 2026.1002.1 → 2026.1002.2

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 (48) hide show
  1. package/dist/shared/assistant/gatewayClient.d.ts +6 -0
  2. package/dist/shared/assistant/gatewayClient.d.ts.map +1 -1
  3. package/dist/shared/assistant/gatewayClient.js +1 -0
  4. package/dist/shared/assistant/history/historyApi.d.ts +12 -0
  5. package/dist/shared/assistant/history/historyApi.d.ts.map +1 -1
  6. package/dist/shared/assistant/history/historyApi.js +62 -46
  7. package/dist/shared/assistant/history/historyControls.d.ts +7 -0
  8. package/dist/shared/assistant/history/historyControls.d.ts.map +1 -1
  9. package/dist/shared/assistant/history/historyControls.js +19 -16
  10. package/dist/shared/assistant/history/historyEngine.d.ts +17 -1
  11. package/dist/shared/assistant/history/historyEngine.d.ts.map +1 -1
  12. package/dist/shared/assistant/history/historyEngine.js +507 -467
  13. package/dist/shared/assistant/history/historyList.d.ts +15 -0
  14. package/dist/shared/assistant/history/historyList.d.ts.map +1 -1
  15. package/dist/shared/assistant/history/historyList.js +37 -38
  16. package/dist/shared/assistant/history/historyOperations.d.ts +35 -3
  17. package/dist/shared/assistant/history/historyOperations.d.ts.map +1 -1
  18. package/dist/shared/assistant/history/historyOperations.js +64 -27
  19. package/dist/shared/assistant/history/historySearch.d.ts +110 -0
  20. package/dist/shared/assistant/history/historySearch.d.ts.map +1 -0
  21. package/dist/shared/assistant/history/historySearch.js +226 -0
  22. package/dist/shared/assistant/history/historySearchQuery.d.ts +50 -0
  23. package/dist/shared/assistant/history/historySearchQuery.d.ts.map +1 -0
  24. package/dist/shared/assistant/history/historySearchQuery.js +23 -0
  25. package/dist/shared/assistant/history/historyTransportErrors.d.ts +17 -0
  26. package/dist/shared/assistant/history/historyTransportErrors.d.ts.map +1 -1
  27. package/dist/shared/assistant/history/historyTransportErrors.js +9 -1
  28. package/dist/shared/assistant/history/historyTypes.d.ts +32 -0
  29. package/dist/shared/assistant/history/historyTypes.d.ts.map +1 -1
  30. package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts +32 -0
  31. package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts.map +1 -0
  32. package/dist/shared/assistant/history/useAssistantHistorySearch.js +34 -0
  33. package/dist/shared/assistant/i18nManifest.d.ts +8 -0
  34. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  35. package/dist/shared/assistant/i18nManifest.js +8 -0
  36. package/dist/shared/assistant/index.d.ts +4 -0
  37. package/dist/shared/assistant/index.d.ts.map +1 -1
  38. package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts +5 -1
  39. package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts.map +1 -1
  40. package/dist/shared/assistant/ui/AssistantConversationFilters.js +81 -74
  41. package/dist/shared/assistant/ui/AssistantConversationList.d.ts +9 -0
  42. package/dist/shared/assistant/ui/AssistantConversationList.d.ts.map +1 -1
  43. package/dist/shared/assistant/ui/AssistantConversationList.js +316 -242
  44. package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts +12 -0
  45. package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts.map +1 -0
  46. package/dist/shared/assistant/ui/AssistantHistorySearchBox.js +74 -0
  47. package/dist/shared-assistant.js +175 -171
  48. package/package.json +1 -1
@@ -4,29 +4,32 @@ import { DEFAULT_HISTORY_LIST_FILTER as n, clampToCodePoints as r, codePointLeng
4
4
  import { useAssistantStore as s } from "../store.js";
5
5
  import { chatTurns as c, voiceTurnsOnly as l } from "../voice/turnVisibility.js";
6
6
  import { getAssistantDisplayContent as u } from "../displayContent.js";
7
- import { useOverlayFocus as d } from "./useOverlayFocus.js";
8
- import { AssistantHistoryPinLimitBanner as f, AssistantHistoryUnsavedDeleteNotice as p } from "./AssistantHistoryNotices.js";
9
- import { historyRowAcceptsControls as ee, selectAssistantHistoryList as te } from "../history/historyList.js";
10
- import { useAssistantHistoryStatus as m } from "../history/historyStatus.js";
11
- import { useAssistantHistoryStore as h } from "../history/historyStore.js";
12
- import { assistantHistory as g } from "../history/historyEngine.js";
13
- import { AssistantConversationFilters as ne } from "./AssistantConversationFilters.js";
14
- import { useEffect as re, useId as ie, useLayoutEffect as ae, useMemo as oe, useRef as _, useState as v } from "react";
15
- import { Archive as y, ArchiveRestore as se, Check as ce, MessageSquare as le, PanelLeftClose as ue, Pencil as de, Pin as fe, PinOff as pe, Plus as me, Trash2 as he } from "lucide-react";
16
- import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
7
+ import { useOverlayFocus as ee } from "./useOverlayFocus.js";
8
+ import { AssistantHistoryPinLimitBanner as d, AssistantHistoryUnsavedDeleteNotice as f } from "./AssistantHistoryNotices.js";
9
+ import { historyRowAcceptsControls as te, selectAssistantHistoryList as ne } from "../history/historyList.js";
10
+ import { useAssistantHistoryStatus as p } from "../history/historyStatus.js";
11
+ import { useAssistantHistoryStore as m } from "../history/historyStore.js";
12
+ import { assistantHistory as h } from "../history/historyEngine.js";
13
+ import { selectHistorySearchList as re } from "../history/historySearch.js";
14
+ import { useAssistantHistorySearch as ie } from "../history/useAssistantHistorySearch.js";
15
+ import { AssistantConversationFilters as ae } from "./AssistantConversationFilters.js";
16
+ import { AssistantHistorySearchBox as oe } from "./AssistantHistorySearchBox.js";
17
+ import { useEffect as se, useId as ce, useLayoutEffect as le, useMemo as g, useRef as _, useState as v } from "react";
18
+ import { Archive as ue, ArchiveRestore as de, Check as fe, MessageSquare as pe, PanelLeftClose as me, Pencil as he, Pin as ge, PinOff as _e, Plus as ve, Trash2 as ye } from "lucide-react";
19
+ import { Fragment as be, jsx as y, jsxs as b } from "react/jsx-runtime";
17
20
  //#region src/shared/assistant/ui/AssistantConversationList.tsx
18
- var ge = {
21
+ var xe = {
19
22
  channel: "ANY",
20
23
  pinned: null,
21
24
  archived: "INCLUDE"
22
- }, _e = (e) => `group relative px-3 py-2 cursor-pointer hover:bg-bg-elevated transition-colors ${e ? "bg-bg-elevated border-l-2 border-action-primary-bg" : ""}`, ve = ({ active: e, title: t, onOpen: n, details: r, actions: i, openRef: a, actionRef: o, testId: s }) => {
23
- let c = ie(), l = `${c}-title`, u = `${c}-details`;
24
- return /* @__PURE__ */ S("div", {
25
- className: _e(e),
25
+ }, Se = (e) => `group relative px-3 py-2 cursor-pointer hover:bg-bg-elevated transition-colors ${e ? "bg-bg-elevated border-l-2 border-action-primary-bg" : ""}`, Ce = ({ active: e, title: t, onOpen: n, details: r, actions: i, openRef: a, actionRef: o, testId: s }) => {
26
+ let c = ce(), l = `${c}-title`, u = `${c}-details`;
27
+ return /* @__PURE__ */ b("div", {
28
+ className: Se(e),
26
29
  "data-testid": s,
27
- children: [/* @__PURE__ */ S("div", {
30
+ children: [/* @__PURE__ */ b("div", {
28
31
  className: "flex items-center justify-between",
29
- children: [/* @__PURE__ */ x("button", {
32
+ children: [/* @__PURE__ */ y("button", {
30
33
  ref: a,
31
34
  type: "button",
32
35
  onClick: n,
@@ -34,16 +37,16 @@ var ge = {
34
37
  "aria-describedby": u,
35
38
  className: "flex-1 min-w-0 text-left cursor-pointer focus:outline-none after:absolute after:inset-0 focus-visible:after:outline-2 focus-visible:after:outline-solid focus-visible:after:-outline-offset-2 focus-visible:after:outline-[var(--color-focus-ring)]",
36
39
  "data-testid": "open-conversation",
37
- children: /* @__PURE__ */ x("span", {
40
+ children: /* @__PURE__ */ y("span", {
38
41
  id: l,
39
42
  className: "block text-xs font-medium text-text-primary truncate",
40
43
  children: t
41
44
  })
42
- }), /* @__PURE__ */ x("div", {
45
+ }), /* @__PURE__ */ y("div", {
43
46
  className: "sr-only group-hover:not-sr-only group-focus-within:not-sr-only [@media(pointer:coarse)]:not-sr-only",
44
- children: /* @__PURE__ */ x("div", {
47
+ children: /* @__PURE__ */ y("div", {
45
48
  className: "relative z-10 flex items-center gap-0.5 ml-1",
46
- children: i.map((e) => /* @__PURE__ */ x("button", {
49
+ children: i.map((e) => /* @__PURE__ */ y("button", {
47
50
  ref: o(e.id),
48
51
  type: "button",
49
52
  onClick: e.onActivate,
@@ -55,390 +58,461 @@ var ge = {
55
58
  }, e.id))
56
59
  })
57
60
  })]
58
- }), /* @__PURE__ */ x("div", {
61
+ }), /* @__PURE__ */ y("div", {
59
62
  id: u,
60
63
  children: r
61
64
  })]
62
65
  });
63
- }, ye = (e, t) => {
66
+ }, we = (e, t) => {
64
67
  let n = [];
65
68
  for (let r = 1; r < e.length; r += 1) {
66
69
  let i = e[t + r], a = t - r >= 0 ? e[t - r] : void 0;
67
70
  i !== void 0 && n.push(i), a !== void 0 && n.push(a);
68
71
  }
69
72
  return n;
70
- }, C = () => {
71
- let C = t(), { modes: be } = e(), { conversations: w, activeConversationId: T, processingByConversationId: xe, setActiveConversation: Se, setMode: Ce, createConversation: we, deleteConversation: Te, renameConversation: Ee, setConversationListOpen: E } = s(), [D, O] = v(null), [k, A] = v(""), [j, M] = v(!1), De = ie(), N = m((e) => e.product !== null), P = m((e) => e.scopeKey), F = m((e) => e.loadingIds), I = m((e) => e.olderHeaders), Oe = m((e) => e.unsavedDelete !== void 0), ke = m((e) => e.controlsAvailable), L = N && ke, Ae = m((e) => e.pinLimit), R = h((e) => P === null ? void 0 : e.scopes[P]), je = h((e) => e.tombstones), z = h((e) => e.outbox), [B, Me] = v(n), [Ne, Pe] = v(!1), Fe = L ? B : ge, Ie = (e) => {
72
- Me(e), Pe(!0);
73
- }, V = oe(() => N ? te({
74
- conversations: w,
75
- scopeKey: P,
76
- headers: R?.headers ?? {},
77
- olderHeaders: I && I.scopeKey === P ? I.headers : void 0,
78
- tombstones: je,
79
- loadingIds: F,
80
- outbox: z
81
- }, Fe) : null, [
73
+ }, x = () => {
74
+ let x = t(), { modes: Te } = e(), { conversations: S, activeConversationId: C, processingByConversationId: Ee, setActiveConversation: De, setMode: Oe, createConversation: ke, deleteConversation: Ae, renameConversation: je, setConversationListOpen: w } = s(), [T, E] = v(null), [D, Me] = v(""), [Ne, O] = v(!1), Pe = ce(), k = p((e) => e.product !== null), A = p((e) => e.scopeKey), Fe = p((e) => e.loadingIds), j = p((e) => e.olderHeaders), Ie = p((e) => e.unsavedDelete !== void 0), Le = p((e) => e.controlsAvailable), M = k && Le, Re = p((e) => e.pinLimit), N = m((e) => A === null ? void 0 : e.scopes[A]), ze = m((e) => e.tombstones), P = m((e) => e.outbox), [F, Be] = v(n), [Ve, He] = v(!1), Ue = M ? F : xe, We = (e) => {
75
+ Be(e), He(!0);
76
+ }, [Ge, Ke] = v(""), I = ie({
77
+ text: Ge,
78
+ filter: F,
79
+ enabled: M,
80
+ scopeKey: A,
81
+ epoch: p((e) => e.epoch)
82
+ }), L = M && I.query !== "", R = I.server;
83
+ L && !Ve && He(!0);
84
+ let z = g(() => ({
85
+ conversations: S,
86
+ scopeKey: A,
87
+ headers: N?.headers ?? {},
88
+ olderHeaders: j && j.scopeKey === A ? j.headers : void 0,
89
+ tombstones: ze,
90
+ loadingIds: Fe,
91
+ outbox: P
92
+ }), [
93
+ S,
94
+ A,
82
95
  N,
83
- w,
84
- P,
85
- R,
86
- I,
87
- je,
88
- F,
96
+ j,
97
+ ze,
98
+ Fe,
99
+ P
100
+ ]), B = g(() => k ? ne(z, Ue) : null, [
101
+ k,
102
+ z,
103
+ Ue
104
+ ]), V = g(() => k && L ? re(z, F, I.query, R.status === "results" ? R.hits : null) : null, [
105
+ k,
106
+ L,
89
107
  z,
90
- Fe
91
- ]), Le = L ? B : void 0, Re = o(Le), H = I && I.scopeKey === P ? I : void 0, U = H ? H.filterKey === Re ? H.hasMore : !0 : R?.hasOlderHeaders === !0, W = oe(() => V ? [...V.workspace.map((e) => e.key), ...V.device.map((e) => e.id)] : w.map((e) => e.id), [V, w]);
92
- re(() => {
93
- N && g.notePanelOpened();
94
- }, [N]);
95
- let ze = () => {
96
- we(), E(!1);
97
- }, Be = (e) => {
98
- if (N) {
99
- g.openConversation(e, { modes: be }), E(!1);
108
+ F,
109
+ I.query,
110
+ R
111
+ ]), H = R.status === "results" && R.hasMore, U = R.status === "results" && R.loadingMore, qe = M ? F : void 0, Je = o(qe), W = j && j.scopeKey === A ? j : void 0, G = W ? W.filterKey === Je ? W.hasMore : !0 : N?.hasOlderHeaders === !0, K = g(() => V ? [
112
+ ...V.server.map((e) => e.key),
113
+ ...V.local.map((e) => e.key),
114
+ ...V.device.map((e) => e.id)
115
+ ] : B ? [...B.workspace.map((e) => e.key), ...B.device.map((e) => e.id)] : S.map((e) => e.id), [
116
+ V,
117
+ B,
118
+ S
119
+ ]);
120
+ se(() => {
121
+ k && h.notePanelOpened();
122
+ }, [k]);
123
+ let Ye = () => {
124
+ ke(), w(!1);
125
+ }, Xe = (e) => {
126
+ if (k) {
127
+ h.openConversation(e, { modes: Te }), w(!1);
100
128
  return;
101
129
  }
102
- let t = w.find((t) => t.id === e);
103
- Se(e), t && Ce(t.mode), E(!1);
104
- }, G = _(/* @__PURE__ */ new Map()), Ve = (e) => (t) => {
105
- t ? G.current.set(e, t) : G.current.delete(e);
106
- }, K = _(/* @__PURE__ */ new Map()), He = (e) => (t) => (n) => {
130
+ let t = S.find((t) => t.id === e);
131
+ De(e), t && Oe(t.mode), w(!1);
132
+ }, Ze = _(/* @__PURE__ */ new Map()), Qe = (e) => (t) => {
133
+ t ? Ze.current.set(e, t) : Ze.current.delete(e);
134
+ }, $e = _(/* @__PURE__ */ new Map()), et = (e) => (t) => (n) => {
107
135
  let r = `${e}\u0000${t}`;
108
- n ? K.current.set(r, n) : K.current.delete(r);
109
- }, q = _(null), J = _(null), Ue = _(null), We = _(null), Ge = (e, t) => {
110
- O(e), A(r(t, 80)), M(!1);
111
- }, Ke = (e) => {
112
- A(r(e, 80)), M(i(e) > 80);
113
- }, qe = () => {
114
- D && k.trim() && Ee(D, k), D && (q.current = {
136
+ n ? $e.current.set(r, n) : $e.current.delete(r);
137
+ }, q = _(null), tt = _(null), nt = _(null), rt = _(null), it = _(null), at = (e, t) => {
138
+ E(e), Me(r(t, 80)), O(!1);
139
+ }, ot = (e) => {
140
+ Me(r(e, 80)), O(i(e) > 80);
141
+ }, st = () => {
142
+ T && D.trim() && je(T, D), T && (q.current = {
115
143
  kind: "renamed",
116
- key: D
117
- }), O(null), M(!1);
118
- }, Je = (e) => {
144
+ key: T
145
+ }), E(null), O(!1);
146
+ }, ct = (e) => {
119
147
  q.current = {
120
148
  kind: "deleted",
121
149
  key: e,
122
- before: W
123
- }, N ? g.deleteConversation(e) : Te(e);
124
- }, Ye = (e, t, n) => {
150
+ before: K
151
+ }, k ? h.deleteConversation(e) : Ae(e);
152
+ }, lt = (e, t, n) => {
125
153
  q.current = {
126
154
  kind: "control",
127
155
  key: e,
128
156
  control: t,
129
- before: W
130
- }, g.updateConversation(e, n) || (q.current = null);
131
- }, Y = C("history.untitled", "Untitled conversation"), X = "text-[10px] text-text-muted px-1 py-0.5 bg-bg-sunken rounded", Xe = (e) => e === 1 ? C("conversationList.messageCountOne", "1 message") : C("conversationList.messageCount", "{{count}} messages", { count: e }), Ze = (e) => e === 1 ? C("conversationList.spokenCountOne", "1 spoken") : C("conversationList.spokenCount", "{{count}} spoken", { count: e }), Qe = (e, t) => /* @__PURE__ */ S("div", {
132
- className: _e(t),
133
- children: [/* @__PURE__ */ S("div", {
157
+ before: K
158
+ }, h.updateConversation(e, n) || (q.current = null);
159
+ }, ut = x("history.untitled", "Untitled conversation"), J = "text-[10px] text-text-muted px-1 py-0.5 bg-bg-sunken rounded", dt = (e) => e === 1 ? x("conversationList.messageCountOne", "1 message") : x("conversationList.messageCount", "{{count}} messages", { count: e }), ft = (e) => e === 1 ? x("conversationList.spokenCountOne", "1 spoken") : x("conversationList.spokenCount", "{{count}} spoken", { count: e }), pt = (e, t) => /* @__PURE__ */ b("div", {
160
+ className: Se(t),
161
+ children: [/* @__PURE__ */ b("div", {
134
162
  className: "flex items-center gap-1",
135
- children: [/* @__PURE__ */ x("input", {
136
- ref: J,
137
- "aria-label": C("conversations.renameLabel", "Conversation title"),
138
- "aria-describedby": j ? De : void 0,
139
- value: k,
140
- onChange: (e) => Ke(e.target.value),
163
+ children: [/* @__PURE__ */ y("input", {
164
+ ref: tt,
165
+ "aria-label": x("conversations.renameLabel", "Conversation title"),
166
+ "aria-describedby": Ne ? Pe : void 0,
167
+ value: D,
168
+ onChange: (e) => ot(e.target.value),
141
169
  onKeyDown: (t) => {
142
- t.key === "Enter" && (t.preventDefault(), qe()), t.key === "Escape" && (t.preventDefault(), t.stopPropagation(), O(null), M(!1), q.current = {
170
+ t.key === "Enter" && (t.preventDefault(), st()), t.key === "Escape" && (t.preventDefault(), t.stopPropagation(), E(null), O(!1), q.current = {
143
171
  kind: "renamed",
144
172
  key: e
145
173
  });
146
174
  },
147
175
  className: "flex-1 text-xs bg-bg-sunken border border-border-default rounded px-2 py-1 text-text-primary focus:outline-none focus:border-action-primary-bg"
148
- }), /* @__PURE__ */ x("button", {
176
+ }), /* @__PURE__ */ y("button", {
149
177
  type: "button",
150
- onClick: qe,
178
+ onClick: st,
151
179
  className: "p-1 hover:bg-bg-sunken rounded",
152
- "aria-label": C("conversations.saveTitle", "Save title"),
153
- children: /* @__PURE__ */ x(ce, { className: "size-3 text-status-success-text" })
180
+ "aria-label": x("conversations.saveTitle", "Save title"),
181
+ children: /* @__PURE__ */ y(fe, { className: "size-3 text-status-success-text" })
154
182
  })]
155
- }), /* @__PURE__ */ x("p", {
156
- id: De,
183
+ }), /* @__PURE__ */ y("p", {
184
+ id: Pe,
157
185
  role: "status",
158
186
  className: "text-[10px] text-text-muted",
159
- children: j ? C("conversations.titleLimit", "Titles are up to {{limit}} characters", { limit: 80 }) : ""
187
+ children: Ne ? x("conversations.titleLimit", "Titles are up to {{limit}} characters", { limit: 80 }) : ""
160
188
  })]
161
- }, e), $e = (e) => {
162
- let t = L && ee(e, z, P), n = e.pinnedAt !== null, r = e.archivedAt !== null, i = [];
189
+ }, e), mt = (e) => {
190
+ let t = M && te(e, P, A), n = e.pinnedAt !== null, r = e.archivedAt !== null, i = [];
163
191
  return t && !r && i.push({
164
192
  id: "pin",
165
- label: n ? C("conversations.unpin", "Unpin conversation") : C("conversations.pin", "Pin conversation"),
166
- icon: x(n ? pe : fe, { className: "size-3 text-text-muted" }),
167
- onActivate: () => Ye(e.key, "pin", { pinned: !n }),
193
+ label: n ? x("conversations.unpin", "Unpin conversation") : x("conversations.pin", "Pin conversation"),
194
+ icon: y(n ? _e : ge, { className: "size-3 text-text-muted" }),
195
+ onActivate: () => lt(e.key, "pin", { pinned: !n }),
168
196
  testId: "pin-conversation"
169
197
  }), (e.conversation || t) && i.push({
170
198
  id: "rename",
171
- label: C("conversations.rename", "Rename conversation"),
172
- icon: /* @__PURE__ */ x(de, { className: "size-3 text-text-muted" }),
173
- onActivate: () => Ge(e.key, e.title),
199
+ label: x("conversations.rename", "Rename conversation"),
200
+ icon: /* @__PURE__ */ y(he, { className: "size-3 text-text-muted" }),
201
+ onActivate: () => at(e.key, e.title),
174
202
  testId: "rename-conversation"
175
203
  }), t && i.push({
176
204
  id: "archive",
177
- label: r ? C("conversations.unarchive", "Unarchive conversation") : C("conversations.archive", "Archive conversation"),
178
- icon: x(r ? se : y, { className: "size-3 text-text-muted" }),
179
- onActivate: () => Ye(e.key, "archive", { archived: !r }),
205
+ label: r ? x("conversations.unarchive", "Unarchive conversation") : x("conversations.archive", "Archive conversation"),
206
+ icon: y(r ? de : ue, { className: "size-3 text-text-muted" }),
207
+ onActivate: () => lt(e.key, "archive", { archived: !r }),
180
208
  testId: "archive-conversation"
181
209
  }), i.push({
182
210
  id: "delete",
183
- label: C("conversations.delete", "Delete conversation"),
184
- icon: /* @__PURE__ */ x(he, { className: "size-3 text-status-error-text" }),
185
- onActivate: () => Je(e.key),
211
+ label: x("conversations.delete", "Delete conversation"),
212
+ icon: /* @__PURE__ */ y(ye, { className: "size-3 text-status-error-text" }),
213
+ onActivate: () => ct(e.key),
186
214
  testId: "delete-conversation"
187
215
  }), i;
188
- }, et = (e) => [{
216
+ }, ht = (e) => [{
189
217
  id: "rename",
190
- label: C("conversations.rename", "Rename conversation"),
191
- icon: /* @__PURE__ */ x(de, { className: "size-3 text-text-muted" }),
192
- onActivate: () => Ge(e.id, e.title),
218
+ label: x("conversations.rename", "Rename conversation"),
219
+ icon: /* @__PURE__ */ y(he, { className: "size-3 text-text-muted" }),
220
+ onActivate: () => at(e.id, e.title),
193
221
  testId: "rename-conversation"
194
222
  }, {
195
223
  id: "delete",
196
- label: C("conversations.delete", "Delete conversation"),
197
- icon: /* @__PURE__ */ x(he, { className: "size-3 text-status-error-text" }),
198
- onActivate: () => Je(e.id),
224
+ label: x("conversations.delete", "Delete conversation"),
225
+ icon: /* @__PURE__ */ y(ye, { className: "size-3 text-status-error-text" }),
226
+ onActivate: () => ct(e.id),
199
227
  testId: "delete-conversation"
200
- }], Z = (e, t) => {
201
- let n = e.id === T, r = e.id === D, i = be.find((t) => t.id === e.mode), a = c(e.messages), o = l(e.messages), s = a[a.length - 1], d = a.length === 0 && e.messages.length > 0, f = xe[e.id], p = s ? u(s, f, C).text.slice(0, 60) : "";
202
- return r ? Qe(e.id, n) : /* @__PURE__ */ x(ve, {
228
+ }], Y = (e, t) => {
229
+ let n = e.id === C, r = e.id === T, i = Te.find((t) => t.id === e.mode), a = c(e.messages), o = l(e.messages), s = a[a.length - 1], ee = a.length === 0 && e.messages.length > 0, d = Ee[e.id], f = s ? u(s, d, x).text.slice(0, 60) : "";
230
+ return r ? pt(e.id, n) : /* @__PURE__ */ y(Ce, {
203
231
  active: n,
204
- title: (t ? t.title : e.title) || Y,
205
- onOpen: () => Be(e.id),
206
- openRef: Ve(e.id),
207
- actionRef: He(e.id),
208
- actions: t ? t.actions : et(e),
209
- details: /* @__PURE__ */ S(b, { children: [
210
- /* @__PURE__ */ S("div", {
232
+ title: (t ? t.title : e.title) || ut,
233
+ onOpen: () => Xe(e.id),
234
+ openRef: Qe(e.id),
235
+ actionRef: et(e.id),
236
+ actions: t ? t.actions : ht(e),
237
+ details: /* @__PURE__ */ b(be, { children: [
238
+ /* @__PURE__ */ b("div", {
211
239
  className: "flex flex-wrap items-center gap-1.5 mt-0.5",
212
240
  children: [
213
- /* @__PURE__ */ x("span", {
214
- className: X,
241
+ /* @__PURE__ */ y("span", {
242
+ className: J,
215
243
  children: i?.label ?? e.mode
216
244
  }),
217
- /* @__PURE__ */ x("span", {
245
+ /* @__PURE__ */ y("span", {
218
246
  className: "text-[10px] text-text-muted",
219
- children: Xe(a.length)
247
+ children: dt(a.length)
220
248
  }),
221
- o.length > 0 ? /* @__PURE__ */ x("span", {
249
+ o.length > 0 ? /* @__PURE__ */ y("span", {
222
250
  className: "text-[10px] text-text-muted",
223
251
  "data-testid": "history-spoken-count",
224
- children: Ze(o.length)
252
+ children: ft(o.length)
225
253
  }) : null,
226
- f && f.status !== "idle" && /* @__PURE__ */ x("span", {
254
+ d && d.status !== "idle" && /* @__PURE__ */ y("span", {
227
255
  className: "text-[10px] text-action-primary-bg px-1 py-0.5 bg-bg-sunken rounded",
228
- children: f.status
256
+ children: d.status
229
257
  }),
230
258
  t?.badges
231
259
  ]
232
260
  }),
233
261
  t?.note,
234
- p && /* @__PURE__ */ x("p", {
262
+ f && /* @__PURE__ */ y("p", {
235
263
  className: "text-[10px] text-text-muted truncate mt-0.5",
236
- children: p
264
+ children: f
237
265
  }),
238
- d && /* @__PURE__ */ x("p", {
266
+ ee && /* @__PURE__ */ y("p", {
239
267
  className: "text-[10px] text-text-muted truncate mt-0.5",
240
- children: C("conversationList.voiceOnly", "Spoken conversation")
268
+ children: x("conversationList.voiceOnly", "Spoken conversation")
241
269
  })
242
270
  ] })
243
271
  }, e.id);
244
- }, tt = (e) => e.blocked === "quota" ? C("history.notSavedQuota", "Not saved yet: this workspace has reached its conversation limit. It will be saved when there is room.") : e.blocked === "invalid" ? C("history.notSavedInvalid", "Part of this conversation couldn't be saved. It stays on this device.") : e.blocked === "scope" ? C("history.notSavedScope", "Some turns were sent from another workspace. They stay on this device.") : null, nt = (e) => {
245
- let t = tt(e);
246
- return /* @__PURE__ */ S(b, { children: [
247
- e.channel === "VOICE" ? /* @__PURE__ */ x("span", {
248
- className: X,
272
+ }, gt = (e) => e.blocked === "quota" ? x("history.notSavedQuota", "Not saved yet: this workspace has reached its conversation limit. It will be saved when there is room.") : e.blocked === "invalid" ? x("history.notSavedInvalid", "Part of this conversation couldn't be saved. It stays on this device.") : e.blocked === "scope" ? x("history.notSavedScope", "Some turns were sent from another workspace. They stay on this device.") : null, _t = (e) => {
273
+ let t = gt(e);
274
+ return /* @__PURE__ */ b(be, { children: [
275
+ e.channel === "VOICE" ? /* @__PURE__ */ y("span", {
276
+ className: J,
249
277
  "data-testid": "history-badge-voice",
250
- children: C("conversationList.badgeVoice", "Voice")
251
- }) : e.channel === "MIXED" ? /* @__PURE__ */ x("span", {
252
- className: X,
278
+ children: x("conversationList.badgeVoice", "Voice")
279
+ }) : e.channel === "MIXED" ? /* @__PURE__ */ y("span", {
280
+ className: J,
253
281
  "data-testid": "history-badge-mixed",
254
- children: C("conversationList.badgeMixed", "Chat + voice")
282
+ children: x("conversationList.badgeMixed", "Chat + voice")
255
283
  }) : null,
256
- e.pinnedAt === null ? null : /* @__PURE__ */ S("span", {
257
- className: `${X} inline-flex items-center gap-0.5`,
284
+ e.pinnedAt === null ? null : /* @__PURE__ */ b("span", {
285
+ className: `${J} inline-flex items-center gap-0.5`,
258
286
  "data-testid": "history-badge-pinned",
259
- children: [/* @__PURE__ */ x(fe, {
287
+ children: [/* @__PURE__ */ y(ge, {
260
288
  className: "size-2.5",
261
289
  "aria-hidden": "true"
262
- }), C("conversationList.badgePinned", "Pinned")]
290
+ }), x("conversationList.badgePinned", "Pinned")]
263
291
  }),
264
- e.archivedAt === null ? null : /* @__PURE__ */ S("span", {
265
- className: `${X} inline-flex items-center gap-0.5`,
292
+ e.archivedAt === null ? null : /* @__PURE__ */ b("span", {
293
+ className: `${J} inline-flex items-center gap-0.5`,
266
294
  "data-testid": "history-badge-archived",
267
- children: [/* @__PURE__ */ x(y, {
295
+ children: [/* @__PURE__ */ y(ue, {
268
296
  className: "size-2.5",
269
297
  "aria-hidden": "true"
270
- }), C("conversationList.badgeArchived", "Archived")]
298
+ }), x("conversationList.badgeArchived", "Archived")]
271
299
  }),
272
- e.legacy ? /* @__PURE__ */ x("span", {
273
- className: X,
300
+ e.legacy ? /* @__PURE__ */ y("span", {
301
+ className: J,
274
302
  "data-testid": "history-badge-read-only",
275
- children: C("history.badgeReadOnly", "Read-only")
303
+ children: x("history.badgeReadOnly", "Read-only")
276
304
  }) : null,
277
- t === null ? null : /* @__PURE__ */ x("span", {
278
- className: X,
305
+ t === null ? null : /* @__PURE__ */ y("span", {
306
+ className: J,
279
307
  "data-testid": "history-badge-not-saved",
280
- children: C("history.badgeNotSaved", "Not saved")
308
+ children: x("history.badgeNotSaved", "Not saved")
281
309
  }),
282
- e.loading ? /* @__PURE__ */ x("span", {
283
- className: X,
310
+ e.loading ? /* @__PURE__ */ y("span", {
311
+ className: J,
284
312
  "data-testid": "history-badge-loading",
285
- children: C("history.badgeLoading", "Loading…")
313
+ children: x("history.badgeLoading", "Loading…")
286
314
  }) : null
287
315
  ] });
288
- }, rt = (e) => {
289
- let t = tt(e);
290
- return t === null ? null : /* @__PURE__ */ x("p", {
316
+ }, vt = (e) => {
317
+ let t = gt(e);
318
+ return t === null ? null : /* @__PURE__ */ y("p", {
291
319
  className: "text-[10px] text-text-muted break-words mt-0.5",
292
320
  "data-testid": "history-not-saved-reason",
293
321
  children: t
294
322
  });
295
- }, it = (e) => e.key === D ? Qe(e.key, e.key === T) : /* @__PURE__ */ x(ve, {
296
- active: e.key === T,
297
- title: e.title || Y,
298
- onOpen: () => Be(e.key),
299
- openRef: Ve(e.key),
300
- actionRef: He(e.key),
301
- actions: $e(e),
302
- details: /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("div", {
323
+ }, yt = (e) => e.key === T ? pt(e.key, e.key === C) : /* @__PURE__ */ y(Ce, {
324
+ active: e.key === C,
325
+ title: e.title || ut,
326
+ onOpen: () => Xe(e.key),
327
+ openRef: Qe(e.key),
328
+ actionRef: et(e.key),
329
+ actions: mt(e),
330
+ details: /* @__PURE__ */ b(be, { children: [/* @__PURE__ */ y("div", {
303
331
  className: "flex flex-wrap items-center gap-1.5 mt-0.5",
304
- children: nt(e)
305
- }), rt(e)] }),
332
+ children: _t(e)
333
+ }), vt(e)] }),
306
334
  testId: "history-server-row"
307
- }, e.key), at = (e) => /* @__PURE__ */ x("h3", {
335
+ }, e.key), bt = (e) => e.conversation ? Y(e.conversation, {
336
+ title: e.title || ut,
337
+ badges: _t(e),
338
+ note: vt(e),
339
+ actions: mt(e)
340
+ }) : yt(e), X = (e) => /* @__PURE__ */ y("h3", {
308
341
  className: "px-3 pt-2 pb-1 text-[10px] font-semibold uppercase tracking-wide text-text-muted",
309
342
  children: e
310
- }), ot = V ? V.workspace.length + V.device.length : w.length, st = V ? ot === 0 && !U : w.length === 0, Q = L ? a(B) : null, ct = Q === "archived" ? C("conversationList.emptyArchived", "No archived conversations") : Q === "pinned" ? C("conversationList.emptyPinned", "No pinned conversations") : Q === "voice" ? C("conversationList.emptyVoice", "No voice conversations") : Q === "chat" ? C("conversationList.emptyChat", "No chat conversations") : C("conversations.empty", "No conversations yet"), $ = d("assistant-open-history");
311
- return ae(() => {
312
- D !== null && J.current?.focus({ preventScroll: !0 });
313
- }, [D]), ae(() => {
343
+ }), Z = V ? V.server.length + V.local.length + V.device.length : B ? B.workspace.length + B.device.length : S.length, xt = V ? Z === 0 && R.status !== "searching" && !H : B ? Z === 0 && !G : S.length === 0, St = (e) => e === 0 ? x("conversationFilters.none", "No conversations match") : e === 1 ? x("conversationFilters.countOne", "1 conversation") : x("conversationFilters.count", "{{count}} conversations", { count: e }), Ct = L ? I.tooShort ? x("historySearch.tooShort", "Type 2 or more characters to search this workspace") : R.status === "searching" ? x("historySearch.searching", "Searching…") : St(Z) : void 0, wt = L ? R.status === "fallback" ? R.reason === "busy" ? x("historySearch.busy", "Search is busy right now. Showing matches on this device.") : x("historySearch.failed", "Couldn't search this workspace. Showing matches on this device.") : R.status === "results" && R.moreFailed ? x("historySearch.moreFailed", "Couldn't load more results. Try again.") : "" : "", Q = M && !L ? a(F) : null, Tt = L ? St(0) : Q === "archived" ? x("conversationList.emptyArchived", "No archived conversations") : Q === "pinned" ? x("conversationList.emptyPinned", "No pinned conversations") : Q === "voice" ? x("conversationList.emptyVoice", "No voice conversations") : Q === "chat" ? x("conversationList.emptyChat", "No chat conversations") : x("conversations.empty", "No conversations yet"), $ = ee("assistant-open-history");
344
+ return le(() => {
345
+ T !== null && tt.current?.focus({ preventScroll: !0 });
346
+ }, [T]), le(() => {
314
347
  let e = q.current;
315
- if (!e || (e.kind === "deleted" ? W.includes(e.key) : e.kind === "renamed" ? D === e.key : e.kind !== "control" && U)) return;
348
+ if (!e || (e.kind === "deleted" ? K.includes(e.key) : e.kind === "renamed" ? T === e.key : e.kind !== "control" && (e.kind === "more" ? U : G))) return;
316
349
  q.current = null;
317
350
  let t = document.activeElement;
318
351
  if (t && t !== document.body) return;
319
- let n, r = e.kind === "control" && W.includes(e.key) ? K.current.get(`${e.key}\u0000${e.control}`) : void 0;
352
+ let n, r = e.kind === "control" && K.includes(e.key) ? $e.current.get(`${e.key}\u0000${e.control}`) : void 0;
320
353
  if (e.kind === "renamed") n = [e.key];
321
- else if (e.kind === "control") n = W.includes(e.key) ? [e.key] : [...ye(e.before, e.before.indexOf(e.key)), ...W];
322
- else if (e.kind === "deleted") n = [...ye(e.before, e.before.indexOf(e.key)), ...W];
323
- else {
324
- let t = I && I.scopeKey === P ? I.headers : {}, r = new Set(e.before), i = V?.workspace ?? [];
354
+ else if (e.kind === "control") n = K.includes(e.key) ? [e.key] : [...we(e.before, e.before.indexOf(e.key)), ...K];
355
+ else if (e.kind === "deleted") n = [...we(e.before, e.before.indexOf(e.key)), ...K];
356
+ else if (e.kind === "more") {
357
+ let t = new Set(e.before), r = V?.server ?? [];
358
+ n = [
359
+ ...K.filter((e) => !t.has(e)),
360
+ r[r.length - 1]?.key,
361
+ ...K
362
+ ];
363
+ } else {
364
+ let t = j && j.scopeKey === A ? j.headers : {}, r = new Set(e.before), i = B?.workspace ?? [];
325
365
  n = [
326
- ...W.filter((e) => !r.has(e) && e in t),
366
+ ...K.filter((e) => !r.has(e) && e in t),
327
367
  i[i.length - 1]?.key,
328
- ...W
368
+ ...K
329
369
  ];
330
370
  }
331
- (r ?? n.map((e) => e === void 0 ? void 0 : e === D ? J.current ?? void 0 : G.current.get(e)).find((e) => e !== void 0) ?? Ue.current ?? We.current ?? $.current)?.focus({ preventScroll: !0 });
371
+ (r ?? n.map((e) => e === void 0 ? void 0 : e === T ? tt.current ?? void 0 : Ze.current.get(e)).find((e) => e !== void 0) ?? nt.current ?? rt.current ?? it.current ?? $.current)?.focus({ preventScroll: !0 });
332
372
  }, [
333
- W,
334
- D,
373
+ K,
374
+ T,
375
+ G,
376
+ j,
377
+ A,
378
+ B,
379
+ $,
335
380
  U,
336
- I,
337
- P,
338
- V,
339
- $
340
- ]), /* @__PURE__ */ S("div", {
381
+ V
382
+ ]), /* @__PURE__ */ b("div", {
341
383
  ref: $,
342
384
  tabIndex: -1,
343
385
  role: "region",
344
- "aria-label": C("conversations.title", "History"),
386
+ "aria-label": x("conversations.title", "History"),
345
387
  className: "absolute inset-0 z-10 flex flex-col bg-bg-surface outline-none animate-in slide-in-from-left-2 fade-in duration-200",
346
388
  "data-testid": "conversation-list",
347
389
  children: [
348
- /* @__PURE__ */ S("div", {
390
+ /* @__PURE__ */ b("div", {
349
391
  className: "flex items-center justify-between px-4 py-3 border-b border-border-default bg-bg-elevated",
350
- children: [/* @__PURE__ */ x("span", {
392
+ children: [/* @__PURE__ */ y("span", {
351
393
  className: "text-[13px] font-semibold text-text-primary",
352
- children: C("conversations.title", "History")
353
- }), /* @__PURE__ */ S("div", {
394
+ children: x("conversations.title", "History")
395
+ }), /* @__PURE__ */ b("div", {
354
396
  className: "flex items-center gap-0.5",
355
- children: [/* @__PURE__ */ x("button", {
397
+ children: [/* @__PURE__ */ y("button", {
356
398
  type: "button",
357
- onClick: ze,
399
+ onClick: Ye,
358
400
  className: "p-1.5 rounded-lg text-text-secondary hover:bg-bg-sunken transition-colors",
359
- "aria-label": C("conversations.new", "New conversation"),
401
+ "aria-label": x("conversations.new", "New conversation"),
360
402
  "data-testid": "new-conversation",
361
- children: /* @__PURE__ */ x(me, { className: "size-4" })
362
- }), /* @__PURE__ */ S("button", {
403
+ children: /* @__PURE__ */ y(ve, { className: "size-4" })
404
+ }), /* @__PURE__ */ b("button", {
363
405
  type: "button",
364
- onClick: () => E(!1),
406
+ onClick: () => w(!1),
365
407
  className: "flex items-center gap-1 px-2 py-1.5 rounded-lg text-text-secondary hover:bg-bg-sunken transition-colors",
366
- "aria-label": C("conversations.collapse", "Collapse history"),
408
+ "aria-label": x("conversations.collapse", "Collapse history"),
367
409
  "data-testid": "collapse-conversation-list",
368
- children: [/* @__PURE__ */ x(ue, { className: "size-4" }), /* @__PURE__ */ x("span", {
410
+ children: [/* @__PURE__ */ y(me, { className: "size-4" }), /* @__PURE__ */ y("span", {
369
411
  className: "text-[11px] font-medium",
370
- children: C("conversations.collapseLabel", "Collapse")
412
+ children: x("conversations.collapseLabel", "Collapse")
371
413
  })]
372
414
  })]
373
415
  })]
374
416
  }),
375
- N && Oe ? /* @__PURE__ */ x(p, {}) : null,
376
- N && Ae ? /* @__PURE__ */ x(f, {
377
- limit: Ae.limit,
378
- onDismiss: () => m.getState().notePinLimit(void 0)
417
+ k && Ie ? /* @__PURE__ */ y(f, {}) : null,
418
+ k && Re ? /* @__PURE__ */ y(d, {
419
+ limit: Re.limit,
420
+ onDismiss: () => p.getState().notePinLimit(void 0)
379
421
  }) : null,
380
- L ? /* @__PURE__ */ x(ne, {
381
- filter: B,
382
- onChange: Ie,
383
- count: ot,
384
- announce: Ne
422
+ M ? /* @__PURE__ */ y(ae, {
423
+ filter: F,
424
+ onChange: We,
425
+ count: Z,
426
+ announce: Ve,
427
+ search: /* @__PURE__ */ y(oe, {
428
+ value: Ge,
429
+ onChange: Ke,
430
+ onSubmit: I.flush,
431
+ notice: wt
432
+ }),
433
+ statusText: Ct
385
434
  }) : null,
386
- /* @__PURE__ */ x("div", {
435
+ /* @__PURE__ */ y("div", {
387
436
  className: "scrollbar-slim flex-1 overflow-y-auto",
388
- children: st ? /* @__PURE__ */ S("div", {
437
+ children: xt ? /* @__PURE__ */ b("div", {
389
438
  className: "flex flex-col items-center justify-center h-full text-center px-4",
390
439
  "data-testid": "history-empty",
391
440
  children: [
392
- /* @__PURE__ */ x(le, { className: "size-6 text-text-muted mb-2" }),
393
- /* @__PURE__ */ x("p", {
441
+ /* @__PURE__ */ y(pe, { className: "size-6 text-text-muted mb-2" }),
442
+ /* @__PURE__ */ y("p", {
394
443
  className: "text-xs text-text-muted",
395
- children: ct
444
+ children: Tt
396
445
  }),
397
- Q === null ? /* @__PURE__ */ x("button", {
398
- ref: We,
446
+ Q === null && !L ? /* @__PURE__ */ y("button", {
447
+ ref: it,
399
448
  type: "button",
400
- onClick: ze,
449
+ onClick: Ye,
401
450
  className: "mt-2 text-xs text-action-primary-bg hover:underline",
402
- children: C("conversations.startNew", "Start a new conversation")
451
+ children: x("conversations.startNew", "Start a new conversation")
403
452
  }) : null
404
453
  ]
405
- }) : V ? /* @__PURE__ */ S("div", {
454
+ }) : V ? /* @__PURE__ */ b("div", {
455
+ className: "py-1",
456
+ "data-testid": "history-search-results",
457
+ children: [V.server.length > 0 || H ? /* @__PURE__ */ b("section", {
458
+ "data-testid": "history-search-group-workspace",
459
+ children: [
460
+ X(x("history.groupWorkspace", "This workspace")),
461
+ V.server.map(bt),
462
+ H ? /* @__PURE__ */ y("button", {
463
+ ref: rt,
464
+ type: "button",
465
+ onClick: () => {
466
+ U || (q.current = {
467
+ kind: "more",
468
+ before: K
469
+ }), I.loadMore();
470
+ },
471
+ className: "mx-3 my-1 text-xs text-action-primary-bg hover:underline",
472
+ "data-testid": "history-search-show-more",
473
+ children: x("historySearch.showMore", "Show more results")
474
+ }) : null
475
+ ]
476
+ }) : null, V.local.length > 0 || V.device.length > 0 ? /* @__PURE__ */ b("section", {
477
+ "data-testid": "history-search-group-device",
478
+ children: [
479
+ X(x("history.groupDevice", "On this device")),
480
+ V.local.map(bt),
481
+ V.device.map((e) => Y(e))
482
+ ]
483
+ }) : null]
484
+ }) : B ? /* @__PURE__ */ b("div", {
406
485
  className: "py-1",
407
- children: [V.workspace.length > 0 || U ? /* @__PURE__ */ S("section", {
486
+ children: [B.workspace.length > 0 || G ? /* @__PURE__ */ b("section", {
408
487
  "data-testid": "history-group-workspace",
409
488
  children: [
410
- at(C("history.groupWorkspace", "This workspace")),
411
- V.workspace.map((e) => e.conversation ? Z(e.conversation, {
412
- title: e.title || Y,
413
- badges: nt(e),
414
- note: rt(e),
415
- actions: $e(e)
416
- }) : it(e)),
417
- U ? /* @__PURE__ */ x("button", {
418
- ref: Ue,
489
+ X(x("history.groupWorkspace", "This workspace")),
490
+ B.workspace.map(bt),
491
+ G ? /* @__PURE__ */ y("button", {
492
+ ref: nt,
419
493
  type: "button",
420
494
  onClick: () => {
421
495
  q.current = {
422
496
  kind: "older",
423
- before: W
424
- }, g.loadOlderHeaders(Le);
497
+ before: K
498
+ }, h.loadOlderHeaders(qe);
425
499
  },
426
500
  className: "mx-3 my-1 text-xs text-action-primary-bg hover:underline",
427
501
  "data-testid": "history-show-older",
428
- children: C("history.showOlder", "Show older conversations")
502
+ children: x("history.showOlder", "Show older conversations")
429
503
  }) : null
430
504
  ]
431
- }) : null, V.device.length > 0 ? /* @__PURE__ */ S("section", {
505
+ }) : null, B.device.length > 0 ? /* @__PURE__ */ b("section", {
432
506
  "data-testid": "history-group-device",
433
- children: [at(C("history.groupDevice", "On this device")), V.device.map((e) => Z(e))]
507
+ children: [X(x("history.groupDevice", "On this device")), B.device.map((e) => Y(e))]
434
508
  }) : null]
435
- }) : /* @__PURE__ */ x("div", {
509
+ }) : /* @__PURE__ */ y("div", {
436
510
  className: "py-1",
437
- children: w.map((e) => Z(e))
511
+ children: S.map((e) => Y(e))
438
512
  })
439
513
  })
440
514
  ]
441
515
  });
442
516
  };
443
517
  //#endregion
444
- export { C as AssistantConversationList };
518
+ export { x as AssistantConversationList };