@burdenoff/fe-libs 2026.1027.2 → 2026.1027.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +8 -5
  2. package/dist/node_modules/@openuidev/devtools/dist/index.js +74 -0
  3. package/dist/node_modules/@openuidev/lang-core/dist/index.js +3779 -0
  4. package/dist/node_modules/@openuidev/lang-core/dist/shared-Dzgc28Wo.js +39 -0
  5. package/dist/node_modules/@openuidev/observability/dist/index.js +30 -0
  6. package/dist/node_modules/@openuidev/react-lang/dist/exports-CLfR509v.js +946 -0
  7. package/dist/node_modules/@openuidev/react-lang/dist/index.js +25 -0
  8. package/dist/node_modules/ci-info/index.js +34 -0
  9. package/dist/node_modules/ci-info/vendors.json.js +331 -0
  10. package/dist/node_modules/react-dom/cjs/react-dom-client.development.js +11168 -0
  11. package/dist/node_modules/react-dom/cjs/react-dom-client.production.js +7384 -0
  12. package/dist/node_modules/react-dom/client.js +19 -0
  13. package/dist/node_modules/scheduler/cjs/scheduler.development.js +203 -0
  14. package/dist/node_modules/scheduler/cjs/scheduler.production.js +203 -0
  15. package/dist/node_modules/scheduler/index.js +10 -0
  16. package/dist/node_modules/zod/v4/classic/errors.js +23 -0
  17. package/dist/node_modules/zod/v4/classic/iso.js +31 -0
  18. package/dist/node_modules/zod/v4/classic/parse.js +6 -0
  19. package/dist/node_modules/zod/v4/classic/schemas.js +339 -0
  20. package/dist/node_modules/zod/v4/core/api.js +491 -0
  21. package/dist/node_modules/zod/v4/core/checks.js +283 -0
  22. package/dist/node_modules/zod/v4/core/core.js +44 -0
  23. package/dist/node_modules/zod/v4/core/doc.js +23 -0
  24. package/dist/node_modules/zod/v4/core/errors.js +41 -0
  25. package/dist/node_modules/zod/v4/core/json-schema-processors.js +306 -0
  26. package/dist/node_modules/zod/v4/core/parse.js +68 -0
  27. package/dist/node_modules/zod/v4/core/regexes.js +25 -0
  28. package/dist/node_modules/zod/v4/core/registries.js +40 -0
  29. package/dist/node_modules/zod/v4/core/schemas.js +796 -0
  30. package/dist/node_modules/zod/v4/core/to-json-schema.js +222 -0
  31. package/dist/node_modules/zod/v4/core/util.js +266 -0
  32. package/dist/node_modules/zod/v4/core/versions.js +8 -0
  33. package/dist/shared/assistant/index.d.ts +4 -0
  34. package/dist/shared/assistant/openui/AssistantOpenUiBlock.d.ts +19 -0
  35. package/dist/shared/assistant/openui/AssistantOpenUiBlock.js +26 -0
  36. package/dist/shared/assistant/openui/AssistantRichContent.d.ts +13 -0
  37. package/dist/shared/assistant/openui/AssistantRichContent.js +37 -0
  38. package/dist/shared/assistant/openui/OpenUiBoundary.d.ts +26 -0
  39. package/dist/shared/assistant/openui/OpenUiBoundary.js +13 -0
  40. package/dist/shared/assistant/openui/generativeUi.d.ts +6 -0
  41. package/dist/shared/assistant/openui/generativeUi.js +12 -0
  42. package/dist/shared/assistant/openui/library.d.ts +2 -0
  43. package/dist/shared/assistant/openui/library.js +191 -0
  44. package/dist/shared/assistant/openui/limits.d.ts +12 -0
  45. package/dist/shared/assistant/openui/limits.js +7 -0
  46. package/dist/shared/assistant/openui/segments.d.ts +40 -0
  47. package/dist/shared/assistant/openui/segments.js +52 -0
  48. package/dist/shared/assistant/ui/AssistantMessageItem.js +115 -109
  49. package/dist/shared-assistant.js +108 -104
  50. package/package.json +2 -1
@@ -7,109 +7,112 @@ import { useAssistantTr as i } from "../i18n.js";
7
7
  import { copyToClipboard as a } from "../clipboard.js";
8
8
  import { AssistantMarkdownRenderer as o } from "./AssistantMarkdownRenderer.js";
9
9
  import { downloadAssistantArtifact as s } from "../api.js";
10
- import { languageConfirmationCopy as ee } from "../appControls/languageReply.js";
11
- import { getAssistantDisplayContent as c } from "../displayContent.js";
12
- import { AssistantToolActivity as l, parseToolActivity as u } from "./AssistantToolActivity.js";
13
- import { usePrefersReducedMotion as d } from "./usePrefersReducedMotion.js";
14
- import { AssistantAvatar as te } from "./AssistantAvatar.js";
10
+ import { languageConfirmationCopy as c } from "../appControls/languageReply.js";
11
+ import { getAssistantDisplayContent as l } from "../displayContent.js";
12
+ import { AssistantToolActivity as ee, parseToolActivity as te } from "./AssistantToolActivity.js";
13
+ import { usePrefersReducedMotion as u } from "./usePrefersReducedMotion.js";
14
+ import { AssistantAvatar as d } from "./AssistantAvatar.js";
15
15
  import { useAssistantSpeech as ne } from "./AssistantSpeechProvider.js";
16
16
  import { AssistantMessageAttachments as re } from "./AssistantMessageAttachments.js";
17
- import { AssistantPendingWriteCard as f } from "./AssistantPendingWriteCard.js";
18
- import { AssistantSpeakButton as p } from "./AssistantSpeakButton.js";
19
- import { SaveToFilesButton as m } from "../../../storage/SaveToFilesButton.js";
17
+ import { AssistantPendingWriteCard as ie } from "./AssistantPendingWriteCard.js";
18
+ import { AssistantSpeakButton as ae } from "./AssistantSpeakButton.js";
19
+ import { SaveToFilesButton as oe } from "../../../storage/SaveToFilesButton.js";
20
20
  import "../../../storage/index.js";
21
- import { AssistantTurnActivity as ie } from "./AssistantTurnActivity.js";
22
- import { useMemo as h, useRef as ae, useState as g } from "react";
23
- import { Check as oe, Copy as se, RotateCcw as _ } from "lucide-react";
24
- import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
21
+ import { useAssistantGenerativeUi as f } from "../openui/generativeUi.js";
22
+ import { stripOpenUiBlocks as se } from "../openui/segments.js";
23
+ import { AssistantRichContent as p } from "../openui/AssistantRichContent.js";
24
+ import { AssistantTurnActivity as ce } from "./AssistantTurnActivity.js";
25
+ import { useMemo as m, useRef as le, useState as h } from "react";
26
+ import { Check as ue, Copy as de, RotateCcw as g } from "lucide-react";
27
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
25
28
  //#region src/shared/assistant/ui/AssistantMessageItem.tsx
26
- function x(e) {
29
+ function b(e) {
27
30
  return e.role === "assistant" ? e.metadata : void 0;
28
31
  }
29
- function ce(e) {
32
+ function fe(e) {
30
33
  return e?.artifacts ?? [];
31
34
  }
32
- function S(e) {
35
+ function x(e) {
33
36
  return window.atob(e);
34
37
  }
35
- function C(e, t, n) {
36
- let r = S(e), i = new Uint8Array(r.length);
38
+ function pe(e, t, n) {
39
+ let r = x(e), i = new Uint8Array(r.length);
37
40
  for (let e = 0; e < r.length; e += 1) i[e] = r.charCodeAt(e);
38
41
  let a = new Blob([i], { type: n }), o = URL.createObjectURL(a), s = document.createElement("a");
39
42
  s.href = o, s.download = t, document.body.appendChild(s), s.click(), document.body.removeChild(s), URL.revokeObjectURL(o);
40
43
  }
41
- var w = () => /* @__PURE__ */ y("span", {
44
+ var S = () => /* @__PURE__ */ v("span", {
42
45
  "aria-hidden": "true",
43
46
  "data-testid": "assistant-streaming-caret",
44
- className: "ml-0.5 inline-block h-4 w-1.5 rounded-sm bg-text-secondary align-middle" + (d() ? "" : " motion-safe:animate-pulse")
45
- }), T = ({ onApprovePendingWrite: d, approvingWriteRef: S = null, pendingWriteExpired: T = !1, pendingWriteApproved: le = !1, pendingWriteGoAheadSent: ue = !1, message: E, processing: D, isStreaming: O, isFailed: k, isLastAssistant: A, isNewestAssistant: j, onRetry: M, legacyWriteCardHidden: N = !1, writeProposals: P, uiOffers: F }) => {
46
- let I = n(), L = i(), { locale: R } = e(), z = ee(E, L), B = z ? z.translated ? R : "en" : E.metadata?.lang, V = z ? `${E.id}:language:${B}` : E.id, H = ae(V), de = r(), { getAccessToken: fe, getWorkspaceToken: pe } = t(), U = ne(), [me, W] = g(null), [he, G] = g(!1), K = E.role === "user", q = h(() => x(E), [E]), J = h(() => ce(q), [q]), Y = D === void 0 ? O ? {
47
+ className: "ml-0.5 inline-block h-4 w-1.5 rounded-sm bg-text-secondary align-middle" + (u() ? "" : " motion-safe:animate-pulse")
48
+ }), C = ({ onApprovePendingWrite: u, approvingWriteRef: x = null, pendingWriteExpired: C = !1, pendingWriteApproved: me = !1, pendingWriteGoAheadSent: he = !1, message: w, processing: T, isStreaming: E, isFailed: D, isLastAssistant: O, isNewestAssistant: k, onRetry: A, legacyWriteCardHidden: j = !1, writeProposals: M, uiOffers: N }) => {
49
+ let P = n(), F = i(), { locale: I } = e(), L = c(w, F), R = L ? L.translated ? I : "en" : w.metadata?.lang, z = L ? `${w.id}:language:${R}` : w.id, B = le(z), ge = r(), { getAccessToken: _e, getWorkspaceToken: ve } = t(), V = ne(), [ye, H] = h(null), [be, U] = h(!1), W = w.role === "user", G = m(() => b(w), [w]), K = m(() => fe(G), [G]), q = T === void 0 ? E ? {
47
50
  status: "streaming",
48
- messageId: E.id,
49
- updatedAt: E.timestamp
50
- } : null : D, X = c(E, Y, L), { steps: Z, text: Q } = h(() => K ? {
51
+ messageId: w.id,
52
+ updatedAt: w.timestamp
53
+ } : null : T, J = l(w, q, F), { steps: Y, text: X } = m(() => W ? {
51
54
  steps: [],
52
- text: E.content
53
- } : X.kind === "output" ? u(X.text) : {
55
+ text: w.content
56
+ } : J.kind === "output" ? te(J.text) : {
54
57
  steps: [],
55
58
  text: ""
56
59
  }, [
57
- K,
58
- E.content,
59
- X.kind,
60
- X.text
61
- ]), ge = () => {
62
- a(Q).then((e) => {
63
- e && (G(!0), setTimeout(() => G(!1), 2e3));
60
+ W,
61
+ w.content,
62
+ J.kind,
63
+ J.text
64
+ ]), Z = f(), Q = m(() => Z ? se(X) : X, [Z, X]), xe = () => {
65
+ a(X).then((e) => {
66
+ e && (U(!0), setTimeout(() => U(!1), 2e3));
64
67
  });
65
- }, _e = async (e) => {
66
- if (!q?.sandboxId || !q.sessionId) return;
68
+ }, Se = async (e) => {
69
+ if (!G?.sandboxId || !G.sessionId) return;
67
70
  let t = new URLSearchParams(window.location.search).get("workspace") ?? "";
68
71
  if (t) {
69
- W(e.path);
72
+ H(e.path);
70
73
  try {
71
- let n = await s(q.sandboxId, t, q.sessionId, e.path, q.mode, {
72
- accessToken: fe(),
73
- workspaceToken: pe()
74
+ let n = await s(G.sandboxId, t, G.sessionId, e.path, G.mode, {
75
+ accessToken: _e(),
76
+ workspaceToken: ve()
74
77
  });
75
- C(n.contentBase64, n.filename, n.mimeType);
78
+ pe(n.contentBase64, n.filename, n.mimeType);
76
79
  } finally {
77
- W(null);
80
+ H(null);
78
81
  }
79
82
  }
80
- }, $ = new Date(E.timestamp).toLocaleTimeString([], {
83
+ }, $ = new Date(w.timestamp).toLocaleTimeString([], {
81
84
  hour: "2-digit",
82
85
  minute: "2-digit"
83
86
  });
84
- if (E.role === "system") return /* @__PURE__ */ y("div", {
87
+ if (w.role === "system") return /* @__PURE__ */ v("div", {
85
88
  className: "flex justify-center px-2 py-1",
86
89
  "data-testid": "assistant-message-system",
87
- children: E.metadata?.localAction?.kind === "navigate" ? /* @__PURE__ */ y("div", {
90
+ children: w.metadata?.localAction?.kind === "navigate" ? /* @__PURE__ */ v("div", {
88
91
  className: "max-w-[90%] break-words rounded-lg border border-border-subtle bg-bg-sunken/60 px-3 py-2 text-center text-xs leading-relaxed text-text-muted",
89
92
  "data-testid": "assistant-message-system-navigation",
90
- children: /* @__PURE__ */ y(o, { content: E.content })
91
- }) : /* @__PURE__ */ y("p", {
93
+ children: /* @__PURE__ */ v(o, { content: w.content })
94
+ }) : /* @__PURE__ */ v("p", {
92
95
  className: "max-w-[90%] whitespace-pre-wrap break-words rounded-lg border border-border-subtle bg-bg-sunken/60 px-3 py-2 text-center text-xs leading-relaxed text-text-muted",
93
- children: E.content
96
+ children: w.content
94
97
  })
95
98
  });
96
- if (K) {
97
- let e = E.metadata?.attachments ?? [];
98
- return /* @__PURE__ */ y("div", {
99
+ if (W) {
100
+ let e = w.metadata?.attachments ?? [];
101
+ return /* @__PURE__ */ v("div", {
99
102
  className: "flex justify-end",
100
103
  "data-testid": "assistant-message-user",
101
- children: /* @__PURE__ */ b("div", {
104
+ children: /* @__PURE__ */ y("div", {
102
105
  className: "max-w-[85%]",
103
106
  children: [
104
- E.content && /* @__PURE__ */ y("div", {
107
+ w.content && /* @__PURE__ */ v("div", {
105
108
  className: "rounded-2xl rounded-br-md bg-action-primary-bg/12 px-3.5 py-2.5 text-[15px] leading-relaxed text-text-primary",
106
- children: /* @__PURE__ */ y("p", {
109
+ children: /* @__PURE__ */ v("p", {
107
110
  className: "whitespace-pre-wrap",
108
- children: E.content
111
+ children: w.content
109
112
  })
110
113
  }),
111
- /* @__PURE__ */ y(re, { attachments: e }),
112
- /* @__PURE__ */ y("div", {
114
+ /* @__PURE__ */ v(re, { attachments: e }),
115
+ /* @__PURE__ */ v("div", {
113
116
  className: "mt-1 pr-1 text-right text-[10px] text-text-muted",
114
117
  children: $
115
118
  })
@@ -117,95 +120,98 @@ var w = () => /* @__PURE__ */ y("span", {
117
120
  })
118
121
  });
119
122
  }
120
- return /* @__PURE__ */ b("div", {
123
+ return /* @__PURE__ */ y("div", {
121
124
  className: "flex gap-2.5",
122
125
  "data-testid": "assistant-message-assistant",
123
- children: [/* @__PURE__ */ y(te, { active: O }), /* @__PURE__ */ b("div", {
126
+ children: [/* @__PURE__ */ v(d, { active: E }), /* @__PURE__ */ y("div", {
124
127
  className: "min-w-0 flex-1",
125
128
  children: [
126
- Z.length > 0 && /* @__PURE__ */ y(l, { steps: Z }),
127
- q?.pendingWrite && !N ? /* @__PURE__ */ y(f, {
128
- pendingWrite: q.pendingWrite,
129
- onApprove: d,
130
- approving: S !== null && S === q.pendingWrite.reference,
131
- expired: T,
132
- approved: le,
133
- goAheadSent: ue,
134
- awaitingTurn: !!O
129
+ Y.length > 0 && /* @__PURE__ */ v(ee, { steps: Y }),
130
+ G?.pendingWrite && !j ? /* @__PURE__ */ v(ie, {
131
+ pendingWrite: G.pendingWrite,
132
+ onApprove: u,
133
+ approving: x !== null && x === G.pendingWrite.reference,
134
+ expired: C,
135
+ approved: me,
136
+ goAheadSent: he,
137
+ awaitingTurn: !!E
135
138
  }) : null,
136
- P,
137
- Q && /* @__PURE__ */ y("div", {
139
+ M,
140
+ X && /* @__PURE__ */ v("div", {
138
141
  className: "text-[15px] leading-relaxed text-text-primary",
139
- children: /* @__PURE__ */ y(o, { content: Q })
142
+ children: /* @__PURE__ */ v(p, {
143
+ content: X,
144
+ streaming: !!E
145
+ })
140
146
  }),
141
- X.kind === "working" && /* @__PURE__ */ y(ie, { processing: Y }),
142
- X.kind === "stopped" && /* @__PURE__ */ y("p", {
147
+ J.kind === "working" && /* @__PURE__ */ v(ce, { processing: q }),
148
+ J.kind === "stopped" && /* @__PURE__ */ v("p", {
143
149
  className: "text-[15px] leading-relaxed text-text-secondary",
144
150
  "data-testid": "assistant-turn-stopped",
145
- children: X.text
151
+ children: J.text
146
152
  }),
147
- O && /* @__PURE__ */ y(w, {}),
148
- F,
149
- J.length > 0 && q?.sandboxId && q.sessionId && /* @__PURE__ */ b("div", {
153
+ E && /* @__PURE__ */ v(S, {}),
154
+ N,
155
+ K.length > 0 && G?.sandboxId && G.sessionId && /* @__PURE__ */ y("div", {
150
156
  className: "mt-3 space-y-2 border-t border-border-subtle pt-2",
151
- children: [/* @__PURE__ */ y("p", {
157
+ children: [/* @__PURE__ */ v("p", {
152
158
  className: "text-[10px] font-medium uppercase tracking-wide text-text-muted",
153
- children: L("message.downloads", "Downloads")
154
- }), /* @__PURE__ */ y("div", {
159
+ children: F("message.downloads", "Downloads")
160
+ }), /* @__PURE__ */ v("div", {
155
161
  className: "flex flex-wrap gap-2",
156
- children: J.map((e) => {
162
+ children: K.map((e) => {
157
163
  let t = `${e.name}${e.type === "directory" ? ".tar.gz" : ""}`;
158
- return /* @__PURE__ */ y(m, {
164
+ return /* @__PURE__ */ v(oe, {
159
165
  label: t,
160
- disabled: me === e.path,
166
+ disabled: ye === e.path,
161
167
  testId: `assistant-artifact-${e.name}`,
162
168
  source: {
163
169
  kind: "sandbox-artifact",
164
- sandboxId: q.sandboxId,
165
- sessionId: q.sessionId,
170
+ sandboxId: G.sandboxId,
171
+ sessionId: G.sessionId,
166
172
  path: e.path,
167
173
  filename: t
168
174
  },
169
- defaultFolderPath: de.artifacts,
170
- onDownload: () => _e(e)
175
+ defaultFolderPath: ge.artifacts,
176
+ onDownload: () => Se(e)
171
177
  }, e.path);
172
178
  })
173
179
  })]
174
180
  }),
175
- !O && (Q || k || A) && /* @__PURE__ */ b("div", {
181
+ !E && (X || D || O) && /* @__PURE__ */ y("div", {
176
182
  className: "mt-1.5 flex items-center gap-1",
177
183
  children: [
178
- Q && /* @__PURE__ */ y("button", {
184
+ X && /* @__PURE__ */ v("button", {
179
185
  type: "button",
180
- onClick: ge,
186
+ onClick: xe,
181
187
  className: "flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] text-text-muted transition-colors hover:bg-bg-elevated hover:text-text-secondary",
182
- "aria-label": L("message.copy", "Copy message"),
188
+ "aria-label": F("message.copy", "Copy message"),
183
189
  "data-testid": "assistant-message-copy",
184
- children: he ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(oe, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ y("span", { children: L("message.copied", "Copied") })] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(se, { className: "size-3" }), /* @__PURE__ */ y("span", { children: L("message.copyShort", "Copy") })] })
190
+ children: be ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(ue, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ v("span", { children: F("message.copied", "Copied") })] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(de, { className: "size-3" }), /* @__PURE__ */ v("span", { children: F("message.copyShort", "Copy") })] })
185
191
  }),
186
- Q && U.isSupported && (() => {
187
- let e = U.blockedFor(V) ?? U.disabledReason, t = U.isSpeaking(E.id) || U.isSpeaking(H.current), n = !!e && !!j, r = n ? `speak-reason-${E.id}` : void 0, i = n ? null : U.deviceFallbackFor(V), a = i ? `speak-fallback-${E.id}` : void 0;
188
- return /* @__PURE__ */ b(v, { children: [
189
- /* @__PURE__ */ y(p, {
192
+ Q.trim() && V.isSupported && (() => {
193
+ let e = V.blockedFor(z) ?? V.disabledReason, t = V.isSpeaking(w.id) || V.isSpeaking(B.current), n = !!e && !!k, r = n ? `speak-reason-${w.id}` : void 0, i = n ? null : V.deviceFallbackFor(z), a = i ? `speak-fallback-${w.id}` : void 0;
194
+ return /* @__PURE__ */ y(_, { children: [
195
+ /* @__PURE__ */ v(ae, {
190
196
  isSpeaking: t,
191
197
  disabled: e !== null,
192
198
  disabledReason: e,
193
199
  describedById: r ?? a,
194
200
  onClick: () => {
195
201
  if (t) {
196
- U.stop();
202
+ V.stop();
197
203
  return;
198
204
  }
199
- H.current = V, U.toggle(V, Q, B);
205
+ B.current = z, V.toggle(z, Q, R);
200
206
  }
201
207
  }),
202
- n && /* @__PURE__ */ y("span", {
208
+ n && /* @__PURE__ */ v("span", {
203
209
  id: r,
204
210
  className: "text-[11px] text-text-muted",
205
211
  "data-testid": "assistant-speak-reason",
206
212
  children: e
207
213
  }),
208
- i && /* @__PURE__ */ y("span", {
214
+ i && /* @__PURE__ */ v("span", {
209
215
  id: a,
210
216
  role: "status",
211
217
  className: "text-[11px] text-text-muted",
@@ -214,24 +220,24 @@ var w = () => /* @__PURE__ */ y("span", {
214
220
  })
215
221
  ] });
216
222
  })(),
217
- (k || A) && M && !E.metadata?.localAction && /* @__PURE__ */ b("button", {
223
+ (D || O) && A && !w.metadata?.localAction && /* @__PURE__ */ y("button", {
218
224
  type: "button",
219
- onClick: M,
220
- className: `flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-colors hover:bg-bg-elevated ${k ? "text-status-error-text" : "text-text-muted hover:text-text-secondary"}`,
221
- "aria-label": L("message.retry", "Retry"),
225
+ onClick: A,
226
+ className: `flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-colors hover:bg-bg-elevated ${D ? "text-status-error-text" : "text-text-muted hover:text-text-secondary"}`,
227
+ "aria-label": F("message.retry", "Retry"),
222
228
  "data-testid": "assistant-message-retry",
223
- children: [/* @__PURE__ */ y(_, { className: "size-3" }), /* @__PURE__ */ y("span", { children: L("message.retry", "Retry") })]
229
+ children: [/* @__PURE__ */ v(g, { className: "size-3" }), /* @__PURE__ */ v("span", { children: F("message.retry", "Retry") })]
224
230
  })
225
231
  ]
226
232
  }),
227
- /* @__PURE__ */ b("div", {
233
+ /* @__PURE__ */ y("div", {
228
234
  className: "mt-1 text-[10px] text-text-muted",
229
- children: [$, E.tokens && /* @__PURE__ */ b("span", {
235
+ children: [$, w.tokens && /* @__PURE__ */ y("span", {
230
236
  className: "ml-2",
231
237
  children: [
232
- E.tokens.input + E.tokens.output,
238
+ w.tokens.input + w.tokens.output,
233
239
  " ",
234
- I.tokens
240
+ P.tokens
235
241
  ]
236
242
  })]
237
243
  })
@@ -240,4 +246,4 @@ var w = () => /* @__PURE__ */ y("span", {
240
246
  });
241
247
  };
242
248
  //#endregion
243
- export { T as AssistantMessageItem, w as StreamingCaret };
249
+ export { C as AssistantMessageItem, S as StreamingCaret };