@versini/sassysaint 8.106.1 → 8.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/chunks/{AboutChangelog.C1rKf-fs.js → AboutChangelog.SjeBKoP3.js} +2 -2
  2. package/dist/chunks/{AboutEntry.BAR4O6Y4.js → AboutEntry.Dx70PfSW.js} +7 -7
  3. package/dist/chunks/{App.B9tjGMnG.js → App.CRK1D8_p.js} +29 -31
  4. package/dist/chunks/Bubble.BfOIcmYO.js +183 -0
  5. package/dist/chunks/{Chart.BJQmO98B.js → Chart.BDkv6_qF.js} +2 -2
  6. package/dist/chunks/{ChatBubbleAssistant.B5Un5WKI.js → ChatBubbleAssistant.BXp6-ZoJ.js} +462 -430
  7. package/dist/chunks/{ChatBubbleUser.DEe4IIdl.js → ChatBubbleUser.BcziRDGl.js} +3 -3
  8. package/dist/chunks/{ChatHistoryTable.-d8_qx2Z.js → ChatHistoryTable.Dh8i_P43.js} +4 -4
  9. package/dist/chunks/{HistoryEntry.BSAHx4eZ.js → HistoryEntry.CRqDuJuI.js} +28 -27
  10. package/dist/chunks/{LoginEntry.DR0qFvNl.js → LoginEntry.MulnQ2ox.js} +4 -4
  11. package/dist/chunks/{LogoEntry.BwA2ssO6.js → LogoEntry.DYecYZ2Y.js} +23 -23
  12. package/dist/chunks/{MemoriesEntry.Cz7T3caz.js → MemoriesEntry.agins9xZ.js} +5 -5
  13. package/dist/chunks/{ProfileEntry.Cotp19Aj.js → ProfileEntry.DcvJm9lG.js} +4 -4
  14. package/dist/chunks/{SettingsEntry.C55bTACC.js → SettingsEntry.CjUNaeTF.js} +5 -5
  15. package/dist/chunks/{Table.DWGS6ANJ.js → Table.CAFliCT0.js} +1 -1
  16. package/dist/chunks/{UsageEntry.HvLHOBP5.js → UsageEntry._XHUaG2y.js} +5 -5
  17. package/dist/chunks/{index.Ce0LQWUm.js → index.BxFuyW85.js} +1 -1
  18. package/dist/chunks/{index.BOLZ9GJH.js → index.CGRIKPif.js} +1 -1
  19. package/dist/chunks/{index.DVCf7tp5.js → index.COrehOGK.js} +196 -182
  20. package/dist/chunks/{index.1CBqWB-9.js → index.COvsBKt7.js} +2 -2
  21. package/dist/chunks/{index.Dnj64P2t.js → index.ClDN1LM3.js} +3 -3
  22. package/dist/chunks/{index.Cik0_Cr1.js → index.Cvhs29M0.js} +1 -1
  23. package/dist/chunks/{index.yI7VsMw8.js → index.D2r8OZJ8.js} +1 -1
  24. package/dist/chunks/{index.BSJ1MGWU.js → index.DnIWTzcM.js} +1 -1
  25. package/dist/chunks/{index.DNRN6B_p.js → index.mPjUzcCU.js} +1 -1
  26. package/dist/chunks/{useMarkdown.Di6pc73q.js → useMarkdown.B8MP9bLa.js} +7 -7
  27. package/dist/components/SassySaint/SassySaint.js +1 -1
  28. package/dist/index.js +4 -4
  29. package/dist/style.css +1 -1
  30. package/package.json +3 -3
  31. package/dist/chunks/index.j05AJWYD.js +0 -153
@@ -1,8 +1,8 @@
1
1
  import { jsx as i, Fragment as S, jsxs as C } from "react/jsx-runtime";
2
- import { Button as _ } from "./LogoEntry.BwA2ssO6.js";
2
+ import { Button as _ } from "./LogoEntry.DYecYZ2Y.js";
3
3
  import { useState as h, useMemo as m, isValidElement as T, useEffect as B } from "react";
4
- import { useMarkdown as b } from "./useMarkdown.Di6pc73q.js";
5
- import { AsyncBubble as k } from "./App.B9tjGMnG.js";
4
+ import { useMarkdown as b } from "./useMarkdown.B8MP9bLa.js";
5
+ import { AsyncBubble as k } from "./App.CRK1D8_p.js";
6
6
  /*!
7
7
  @versini/ui-truncate v6.1.8
8
8
  © 2025 gizmette.com
@@ -1,10 +1,10 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { y as w, v as y, INFINITE_SCROLL_THRESHOLD as L } from "./index.DVCf7tp5.js";
3
- import { IconCloseLight as U, CARDS as D, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y } from "./LogoEntry.BwA2ssO6.js";
2
+ import { y as w, v as y, INFINITE_SCROLL_THRESHOLD as L } from "./index.COrehOGK.js";
3
+ import { IconCloseLight as U, CARDS as D, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y } from "./LogoEntry.DYecYZ2Y.js";
4
4
  import { useState as K, Fragment as V } from "react";
5
5
  import i from "clsx";
6
- import { H as W, F as j, q as N, Y as F, O as n, J as k } from "./Table.DWGS6ANJ.js";
7
- import { pluralize as I, ResponsiveTooltip as S, numberFormatter as G, isProbablyMobile as H } from "./App.B9tjGMnG.js";
6
+ import { H as W, F as j, q as N, Y as F, O as n, J as k } from "./Table.CAFliCT0.js";
7
+ import { pluralize as I, ResponsiveTooltip as S, numberFormatter as G, isProbablyMobile as H } from "./App.CRK1D8_p.js";
8
8
  /*!
9
9
  @versini/ui-pill v5.2.4
10
10
  © 2025 gizmette.com
@@ -1,15 +1,15 @@
1
- import { jsxs as i, Fragment as ae, jsx as t } from "react/jsx-runtime";
2
- import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as u, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, y as I, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, v as ue, LOCAL_STORAGE_SEARCH as Ce, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as ye, useUserChatStats as pe, ACTION_SEARCH as Te } from "./index.DVCf7tp5.js";
3
- import { HistoryContext as Y, ChatContext as ge, e as m, APP_CLASSNAME as Ae, TOAST_CHAT_DELETED as Ee, HISTORY_TITLE as _e, IconSearch as Le, Button as De, L as Oe, j as ke } from "./LogoEntry.BwA2ssO6.js";
4
- import { Card as ve } from "./index.DNRN6B_p.js";
5
- import { useAiChat as Re, useLocalStorage as C, ConfirmationPanel as be, LazyToastContainerWrapper as Ie, showErrorToast as xe, v4 as we, CHAT_RESET as He, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as Fe, Panel as Me, debounce as Ge, Toggle as B, CancelButton as Ve } from "./App.B9tjGMnG.js";
6
- import { TextInput as ze } from "./index.yI7VsMw8.js";
1
+ import { jsxs as n, Fragment as ae, jsx as t } from "react/jsx-runtime";
2
+ import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as u, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ne, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, v as ue, LOCAL_STORAGE_SEARCH as Ce, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as ye, useUserChatStats as pe, ACTION_SEARCH as Te } from "./index.COrehOGK.js";
3
+ import { HistoryContext as Y, ChatContext as ge, e as m, APP_CLASSNAME as Ae, TOAST_CHAT_DELETED as Ee, HISTORY_TITLE as _e, IconSearch as Le, Button as De, L as Oe, j as ke } from "./LogoEntry.DYecYZ2Y.js";
4
+ import { Card as ve } from "./index.mPjUzcCU.js";
5
+ import { useAiChat as Re, useLocalStorage as C, ConfirmationPanel as be, LazyToastContainerWrapper as Ie, showErrorToast as xe, v4 as we, CHAT_RESET as He, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as Fe, Panel as Me, debounce as Ge, Toggle as B, CancelButton as Ve } from "./App.CRK1D8_p.js";
6
+ import { TextInput as ze } from "./index.D2r8OZJ8.js";
7
7
  import Pe from "clsx";
8
8
  import { useRef as x, useState as G, useContext as V, useCallback as j, Suspense as Ue, lazy as Be, useEffect as je } from "react";
9
9
  const Ke = Be(
10
10
  () => import(
11
11
  /* webpackChunkName: "history-table" */
12
- "./ChatHistoryTable.-d8_qx2Z.js"
12
+ "./ChatHistoryTable.Dh8i_P43.js"
13
13
  ).then((S) => ({ default: S.ChatHistoryTable }))
14
14
  ), Ye = ({
15
15
  filteredHistory: S,
@@ -41,25 +41,25 @@ const Ke = Be(
41
41
  key: u + oe,
42
42
  initialValue: m.ASC
43
43
  }), [, r] = C({
44
- key: u + ne,
44
+ key: u + ie,
45
45
  initialValue: I
46
46
  }), [W] = C({
47
- key: u + ie,
47
+ key: u + ne,
48
48
  initialValue: ""
49
49
  }), { mutateAsync: q } = ce({ getAccessToken: a }), { mutateAsync: Q } = le({
50
50
  getAccessToken: a
51
51
  }), X = (e) => {
52
- const n = o.sortedCell === e;
52
+ const i = o.sortedCell === e;
53
53
  let s, b;
54
54
  switch (e) {
55
55
  case I:
56
- b = R, s = n ? o.sortDirection : v;
56
+ b = R, s = i ? o.sortDirection : v;
57
57
  break;
58
58
  case ue:
59
- b = M, s = n ? o.sortDirection : F;
59
+ b = M, s = i ? o.sortDirection : F;
60
60
  break;
61
61
  default:
62
- b = R, s = n ? o.sortDirection : v;
62
+ b = R, s = i ? o.sortDirection : v;
63
63
  break;
64
64
  }
65
65
  const P = s === m.ASC ? m.DESC : m.ASC;
@@ -84,8 +84,8 @@ const Ke = Be(
84
84
  }
85
85
  }, Z = async (e) => {
86
86
  try {
87
- const n = await a(), s = await de({
88
- accessToken: n,
87
+ const i = await a(), s = await de({
88
+ accessToken: i,
89
89
  type: he.GET_CHAT,
90
90
  params: {
91
91
  id: e.id
@@ -98,6 +98,7 @@ const Ke = Be(
98
98
  loading: !1,
99
99
  restoring: !0,
100
100
  restoredModel: s.data?.model || "",
101
+ restoredTimestamp: s.data?.timestamp || "",
101
102
  restoredUsage: s.data?.tokenUsage || 0
102
103
  }
103
104
  }), A(""), T(e.id), c(s.data.messages), f(!1);
@@ -133,16 +134,16 @@ const Ke = Be(
133
134
  }, []), te = j(
134
135
  (e) => {
135
136
  if (p.current && p.current.disconnect(), e) {
136
- const n = {
137
+ const i = {
137
138
  rootMargin: "20px"
138
- }, s = new IntersectionObserver(z, n);
139
+ }, s = new IntersectionObserver(z, i);
139
140
  s.observe(e), p.current = s;
140
141
  }
141
142
  },
142
143
  [z]
143
144
  );
144
- return /* @__PURE__ */ i(ae, { children: [
145
- /* @__PURE__ */ i(
145
+ return /* @__PURE__ */ n(ae, { children: [
146
+ /* @__PURE__ */ n(
146
147
  be,
147
148
  {
148
149
  showConfirmation: h,
@@ -155,13 +156,13 @@ const Ke = Be(
155
156
  },
156
157
  children: [
157
158
  /* @__PURE__ */ t("p", { className: "m-0", children: "Are you sure you want to delete the following chat:" }),
158
- /* @__PURE__ */ i("ul", { className: "m-0", children: [
159
- /* @__PURE__ */ i("li", { children: [
159
+ /* @__PURE__ */ n("ul", { className: "m-0", children: [
160
+ /* @__PURE__ */ n("li", { children: [
160
161
  "Timestamp:",
161
162
  " ",
162
163
  /* @__PURE__ */ t("span", { className: "text-lg", children: d.current && d.current.timestamp })
163
164
  ] }),
164
- /* @__PURE__ */ i("li", { children: [
165
+ /* @__PURE__ */ n("li", { children: [
165
166
  "First message:",
166
167
  " ",
167
168
  /* @__PURE__ */ t("span", { className: "text-lg", children: d.current?.message })
@@ -238,7 +239,7 @@ const Ke = Be(
238
239
  }, M = (r) => {
239
240
  H(r);
240
241
  };
241
- return /* @__PURE__ */ i(
242
+ return /* @__PURE__ */ n(
242
243
  Me,
243
244
  {
244
245
  open: S,
@@ -265,7 +266,7 @@ const Ke = Be(
265
266
  className: "prose-dark dark:prose-lighter mb-4",
266
267
  noBorder: !0,
267
268
  compact: !0,
268
- children: /* @__PURE__ */ i("form", { autoComplete: "off", onSubmit: R, children: [
269
+ children: /* @__PURE__ */ n("form", { autoComplete: "off", onSubmit: R, children: [
269
270
  /* @__PURE__ */ t(
270
271
  ze,
271
272
  {
@@ -285,8 +286,8 @@ const Ke = Be(
285
286
  rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(Le, { monotone: !0, size: "size-3" }) })
286
287
  }
287
288
  ),
288
- /* @__PURE__ */ i("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
289
- /* @__PURE__ */ i("div", { className: "flex flex-col sm:flex-row gap-2 order-1 sm:order-0", children: [
289
+ /* @__PURE__ */ n("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
290
+ /* @__PURE__ */ n("div", { className: "flex flex-col sm:flex-row gap-2 order-1 sm:order-0", children: [
290
291
  /* @__PURE__ */ t(
291
292
  B,
292
293
  {
@@ -326,7 +327,7 @@ const Ke = Be(
326
327
  ] })
327
328
  }
328
329
  ),
329
- /* @__PURE__ */ i(
330
+ /* @__PURE__ */ n(
330
331
  "div",
331
332
  {
332
333
  className: Pe(
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as e, Fragment as x } from "react/jsx-runtime";
2
- import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.DVCf7tp5.js";
3
- import { Logo as N, L as E, j as t, PASSWORD_PLACEHOLDER as y, ButtonIcon as p, IconShow as S, IconHide as v, Button as w, LOG_IN as P, LOG_IN_PASSKEY as z, IconPasskey as B } from "./LogoEntry.BwA2ssO6.js";
4
- import { Card as O } from "./index.DNRN6B_p.js";
5
- import { TextInput as T, TextInputMask as W } from "./index.yI7VsMw8.js";
2
+ import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.COrehOGK.js";
3
+ import { Logo as N, L as E, j as t, PASSWORD_PLACEHOLDER as y, ButtonIcon as p, IconShow as S, IconHide as v, Button as w, LOG_IN as P, LOG_IN_PASSKEY as z, IconPasskey as B } from "./LogoEntry.DYecYZ2Y.js";
4
+ import { Card as O } from "./index.mPjUzcCU.js";
5
+ import { TextInput as T, TextInputMask as W } from "./index.D2r8OZJ8.js";
6
6
  import { useState as s, useEffect as h } from "react";
7
7
  const q = () => {
8
8
  const { login: g, logoutReason: o, loginWithPasskey: f } = L(), [n, l] = s(""), [d, m] = s(""), [c, C] = s(!0), [r, u] = s({
@@ -1,7 +1,7 @@
1
1
  import E, { useRef as N, useEffect as A, useCallback as e1, useState as h1, useMemo as Y, useContext as t1, useId as d1, useLayoutEffect as X } from "react";
2
2
  import { jsx as o, jsxs as l } from "react/jsx-runtime";
3
3
  import n from "clsx";
4
- import { V as d, e as u1, P as m1, r as p1 } from "./index.DVCf7tp5.js";
4
+ import { V as d, e as u1, P as m1, r as p1 } from "./index.COrehOGK.js";
5
5
  /*!
6
6
  @versini/ui-hooks v6.0.0
7
7
  © 2025 gizmette.com
@@ -133,7 +133,7 @@ const f1 = {
133
133
  3: ["Apr", "May", "Jun"],
134
134
  6: ["Jul", "Aug", "Sep"],
135
135
  9: ["Oct", "Nov", "Dec"]
136
- }, k = {
136
+ }, M = {
137
137
  TODAY: "today",
138
138
  YESTERDAY: "yesterday",
139
139
  MONTH_TO_DATE: "monthToDate",
@@ -153,13 +153,13 @@ const f1 = {
153
153
  "October",
154
154
  "November",
155
155
  "December"
156
- ], k2 = {
157
- [k.TODAY]: "Today",
158
- [k.YESTERDAY]: "Yesterday",
159
- [k.MONTH_TO_DATE]: "Month to date",
160
- [k.CURRENT_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear()} by trimester`,
161
- [k.LAST_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear() - 1} by trimester`
162
- }, M2 = {
156
+ ], M2 = {
157
+ [M.TODAY]: "Today",
158
+ [M.YESTERDAY]: "Yesterday",
159
+ [M.MONTH_TO_DATE]: "Month to date",
160
+ [M.CURRENT_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear()} by trimester`,
161
+ [M.LAST_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear() - 1} by trimester`
162
+ }, k2 = {
163
163
  PREFERENCES: {
164
164
  TITLE: "User profile",
165
165
  USERNAME: "Username",
@@ -312,7 +312,7 @@ try {
312
312
  });
313
313
  } catch {
314
314
  }
315
- function k1(e) {
315
+ function M1(e) {
316
316
  return Y(() => e.every((t) => t == null) ? () => {
317
317
  } : (t) => {
318
318
  e.forEach((c) => {
@@ -335,14 +335,14 @@ try {
335
335
  });
336
336
  } catch {
337
337
  }
338
- const M1 = (e, t, c) => {
338
+ const k1 = (e, t, c) => {
339
339
  !t && (!document.activeElement || document.activeElement !== e.currentTarget) && typeof e?.currentTarget?.focus == "function" && e.currentTarget.focus(), typeof c == "function" && c(e);
340
340
  }, j = /* @__PURE__ */ E.forwardRef((e, t) => {
341
341
  const { onClick: c, noInternalClick: s = !1, ...a } = e;
342
342
  return /* @__PURE__ */ o("button", {
343
343
  ref: t,
344
344
  onClick: (r) => {
345
- M1(r, s, c);
345
+ k1(r, s, c);
346
346
  },
347
347
  ...a
348
348
  });
@@ -606,7 +606,7 @@ const z = "icon", K = "button", G = "link", O1 = ({ type: e, size: t, labelRight
606
606
  }), n(a, c);
607
607
  }, U1 = ({ animated: e }) => n({
608
608
  "transition-opacity duration-300 ease-in-out": e
609
- }), c1 = ({ type: e, className: t, raw: c, mode: s, focusMode: a, disabled: r, fullWidth: h, size: m, noBorder: y, labelRight: f, labelLeft: v, noBackground: g, variant: p, truncate: T, align: C, radius: R, animated: M }) => (p || (p = "primary"), c ? n(Q, t) : n(Q, P1({
609
+ }), c1 = ({ type: e, className: t, raw: c, mode: s, focusMode: a, disabled: r, fullWidth: h, size: m, noBorder: y, labelRight: f, labelLeft: v, noBackground: g, variant: p, truncate: T, align: C, radius: R, animated: k }) => (p || (p = "primary"), c ? n(Q, t) : n(Q, P1({
610
610
  mode: s,
611
611
  variant: p,
612
612
  noBackground: g,
@@ -623,7 +623,7 @@ const z = "icon", K = "button", G = "link", O1 = ({ type: e, size: t, labelRight
623
623
  labelRight: f,
624
624
  labelLeft: v,
625
625
  align: C,
626
- animated: M
626
+ animated: k
627
627
  }), L1({
628
628
  type: e,
629
629
  size: m,
@@ -647,7 +647,7 @@ const z = "icon", K = "button", G = "link", O1 = ({ type: e, size: t, labelRight
647
647
  "w-full": h,
648
648
  "disabled:cursor-not-allowed disabled:opacity-50": r
649
649
  }, n({
650
- "transition-[width] duration-300 ease-in": e === z && M
650
+ "transition-[width] duration-300 ease-in": e === z && k
651
651
  }), t));
652
652
  /*!
653
653
  @versini/ui-button v11.0.0
@@ -670,7 +670,7 @@ const L = {
670
670
  small: 16,
671
671
  medium: 24,
672
672
  large: 32
673
- }, G1 = 2, F1 = 300, Y1 = /* @__PURE__ */ E.forwardRef(({ children: e, disabled: t = !1, mode: c = "system", focusMode: s = "system", fullWidth: a = !1, className: r, type: h = "button", raw: m = !1, noBorder: y = !1, "aria-label": f, label: v, size: g = "medium", labelRight: p, labelLeft: T, noBackground: C = !1, align: R = "center", radius: M = "large", variant: q = "secondary", iconClassName: s1, animated: I = !1, ...a1 }, o1) => {
673
+ }, G1 = 2, F1 = 300, Y1 = /* @__PURE__ */ E.forwardRef(({ children: e, disabled: t = !1, mode: c = "system", focusMode: s = "system", fullWidth: a = !1, className: r, type: h = "button", raw: m = !1, noBorder: y = !1, "aria-label": f, label: v, size: g = "medium", labelRight: p, labelLeft: T, noBackground: C = !1, align: R = "center", radius: k = "large", variant: q = "secondary", iconClassName: s1, animated: I = !1, ...a1 }, o1) => {
674
674
  const r1 = c1({
675
675
  type: z,
676
676
  mode: c,
@@ -685,7 +685,7 @@ const L = {
685
685
  labelLeft: T,
686
686
  noBackground: C,
687
687
  align: R,
688
- radius: M,
688
+ radius: k,
689
689
  variant: q,
690
690
  animated: I
691
691
  }), i1 = D1({
@@ -695,7 +695,7 @@ const L = {
695
695
  variant: q
696
696
  }), W = U1({
697
697
  animated: I
698
- }), n1 = "flex items-center justify-center relative w-full h-full overflow-hidden", [_, V] = U(), [b, H] = U(), [O, J] = U(), D = N(0), w = N(null), x = N(null), l1 = k1([
698
+ }), n1 = "flex items-center justify-center relative w-full h-full overflow-hidden", [_, V] = U(), [b, H] = U(), [O, J] = U(), D = N(0), w = N(null), x = N(null), l1 = M1([
699
699
  o1,
700
700
  w
701
701
  ]);
@@ -1605,7 +1605,7 @@ const be = ({
1605
1605
  "prose-h1:mb-0 prose-h2:mt-0",
1606
1606
  r,
1607
1607
  {
1608
- "prose-h2:text-copy-error-light dark:prose-h2:text-copy-error-light": t && c?.runningMode === "development"
1608
+ "prose-h2:text-copy-error-light!": t && c?.runningMode === "development"
1609
1609
  }
1610
1610
  ),
1611
1611
  children: [
@@ -1630,7 +1630,7 @@ export {
1630
1630
  S1 as AppContext,
1631
1631
  K1 as Button,
1632
1632
  Y1 as ButtonIcon,
1633
- M2 as CARDS,
1633
+ k2 as CARDS,
1634
1634
  v2 as CLIPBOARD_PROMPT,
1635
1635
  P2 as ChatContext,
1636
1636
  e2 as FOOTER_BOTTOM,
@@ -1694,8 +1694,8 @@ export {
1694
1694
  _2 as PROMPTS_DESCRIPTION,
1695
1695
  L2 as PromptsContext,
1696
1696
  n2 as SETTINGS_TITLE,
1697
- k as TIME_RANGES,
1698
- k2 as TIME_RANGE_LABELS,
1697
+ M as TIME_RANGES,
1698
+ M2 as TIME_RANGE_LABELS,
1699
1699
  E2 as TOAST_CACHE_DISABLED,
1700
1700
  w2 as TOAST_CACHE_ENABLED,
1701
1701
  I2 as TOAST_CHAT_DELETED,
@@ -1706,7 +1706,7 @@ export {
1706
1706
  t2 as appReducer,
1707
1707
  f1 as e,
1708
1708
  _e as j,
1709
- k1 as useMergeRefs,
1709
+ M1 as useMergeRefs,
1710
1710
  U as useResizeObserver,
1711
1711
  C1 as useTheme,
1712
1712
  B2 as useUniqueId
@@ -1,11 +1,11 @@
1
1
  import { jsx as e, jsxs as r, Fragment as I } from "react/jsx-runtime";
2
- import { n as Te, LOCAL_STORAGE_PREFIX as ee, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as Ee, useDeleteMemory as Me, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le } from "./index.DVCf7tp5.js";
3
- import { L as b, j as f, Button as B, e as c, ButtonIcon as L, IconEdit as Oe, IconDelete as te, IconRestore as _e } from "./LogoEntry.BwA2ssO6.js";
4
- import { Panel as se, Toggle as O, CancelButton as ae, useLocalStorage as re, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.B9tjGMnG.js";
5
- import { H as oe, F as ne, q as v, O as s, J as z, Y as le, G as ce } from "./Table.DWGS6ANJ.js";
2
+ import { n as Te, LOCAL_STORAGE_PREFIX as ee, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as Ee, useDeleteMemory as Me, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le } from "./index.COrehOGK.js";
3
+ import { L as b, j as f, Button as B, e as c, ButtonIcon as L, IconEdit as Oe, IconDelete as te, IconRestore as _e } from "./LogoEntry.DYecYZ2Y.js";
4
+ import { Panel as se, Toggle as O, CancelButton as ae, useLocalStorage as re, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.CRK1D8_p.js";
5
+ import { H as oe, F as ne, q as v, O as s, J as z, Y as le, G as ce } from "./Table.CAFliCT0.js";
6
6
  import C from "clsx";
7
7
  import { useState as N, useEffect as ze, useRef as q } from "react";
8
- import { TextArea as Be } from "./index.Cik0_Cr1.js";
8
+ import { TextArea as Be } from "./index.Cvhs29M0.js";
9
9
  const Pe = ({
10
10
  open: k,
11
11
  onOpenChange: D,
@@ -1,9 +1,9 @@
1
1
  import { jsxs as t, Fragment as H, jsx as e } from "react/jsx-runtime";
2
- import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.B9tjGMnG.js";
3
- import { useUniqueId as J, CARDS as s, L as u, j as i, Button as Q, ButtonIcon as X, IconPasskey as L, PROFILE_TITLE as Z } from "./LogoEntry.BwA2ssO6.js";
2
+ import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.CRK1D8_p.js";
3
+ import { useUniqueId as J, CARDS as s, L as u, j as i, Button as Q, ButtonIcon as X, IconPasskey as L, PROFILE_TITLE as Z } from "./LogoEntry.DYecYZ2Y.js";
4
4
  import { useState as m, useMemo as ee, useCallback as N, useRef as ae } from "react";
5
- import { n as ne, useUserPreferences as se, useServerCapabilities as re, p as te, setUserPlan as le, renderDataAsList as ie, st as ce, isTauri as oe } from "./index.DVCf7tp5.js";
6
- import { Card as h } from "./index.DNRN6B_p.js";
5
+ import { n as ne, useUserPreferences as se, useServerCapabilities as re, p as te, setUserPlan as le, renderDataAsList as ie, st as ce, isTauri as oe } from "./index.COrehOGK.js";
6
+ import { Card as h } from "./index.mPjUzcCU.js";
7
7
  import de from "clsx";
8
8
  const me = () => {
9
9
  const {
@@ -1,9 +1,9 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as Ve, useEntitlements as Fe, useUserPreferences as We, w as ie, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as de, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, V as Qe, K as ue, applyOledMode as me, getCurrentGeoLocation as Je, graphQLRequest as he, handleServiceWorkerToggle as Xe, SERVICE_TYPES as fe } from "./index.DVCf7tp5.js";
3
- import { AppContext as Ze, SETTINGS_TITLE as et, CARDS as r, Button as Ee, PROMPTS_DESCRIPTION as tt, L as ot, j as pe, APP_SET_OLED_MODE as Se, APP_SET_FULL_SCREEN as ge } from "./LogoEntry.BwA2ssO6.js";
4
- import { Card as f } from "./index.DNRN6B_p.js";
5
- import { useCapability as be, useLocalStorage as Te, Panel as st, Toggle as l, CancelButton as at } from "./App.B9tjGMnG.js";
6
- import { TextArea as Ne } from "./index.Cik0_Cr1.js";
2
+ import { n as Ve, useEntitlements as Fe, useUserPreferences as We, w as ie, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as de, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, V as Qe, K as ue, applyOledMode as me, getCurrentGeoLocation as Je, graphQLRequest as he, handleServiceWorkerToggle as Xe, SERVICE_TYPES as fe } from "./index.COrehOGK.js";
3
+ import { AppContext as Ze, SETTINGS_TITLE as et, CARDS as r, Button as Ee, PROMPTS_DESCRIPTION as tt, L as ot, j as pe, APP_SET_OLED_MODE as Se, APP_SET_FULL_SCREEN as ge } from "./LogoEntry.DYecYZ2Y.js";
4
+ import { Card as f } from "./index.mPjUzcCU.js";
5
+ import { useCapability as be, useLocalStorage as Te, Panel as st, Toggle as l, CancelButton as at } from "./App.CRK1D8_p.js";
6
+ import { TextArea as Ne } from "./index.Cvhs29M0.js";
7
7
  import { useRef as nt, useContext as rt, useState as s, useMemo as lt, useCallback as ct, useEffect as Ce } from "react";
8
8
  const pt = ({
9
9
  open: ye,
@@ -1,7 +1,7 @@
1
1
  import { jsx as l, jsxs as b, Fragment as I } from "react/jsx-runtime";
2
2
  import c from "clsx";
3
3
  import x, { useContext as _ } from "react";
4
- import { ButtonIcon as C, e as k } from "./LogoEntry.BwA2ssO6.js";
4
+ import { ButtonIcon as C, e as k } from "./LogoEntry.DYecYZ2Y.js";
5
5
  /*!
6
6
  @versini/ui-button v11.0.0
7
7
  © 2025 gizmette.com
@@ -1,8 +1,8 @@
1
1
  import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
- import { n as X, useUserChatStats as Z, LOCAL_STORAGE_PREFIX as M, LOCAL_STORAGE_USAGE_VIEW_MODE as J, LOCAL_STORAGE_USAGE_TIME_RANGE as Q, LOCAL_STORAGE_USAGE_SELECTED_MONTH as $, useChatsUsage as ee, renderDataAsList as te } from "./index.DVCf7tp5.js";
3
- import { useUniqueId as ne, TIME_RANGES as e, USAGE_TITLE as re, CARDS as T, L as h, j as c, TIME_RANGE_LABELS as k, MONTHS as N, ButtonIcon as u, IconChart as le, IconSelected as H, IconUnSelected as b, IconPrevious as se, IconNext as ae } from "./LogoEntry.BwA2ssO6.js";
4
- import { Card as P } from "./index.DNRN6B_p.js";
5
- import { useLocalStorage as g, Panel as oe, DropdownMenu as ie, DropdownMenuGroupLabel as ce, DropdownMenuItem as G, DropdownMenuSub as de, CancelButton as Te, pluralize as D } from "./App.B9tjGMnG.js";
2
+ import { n as X, useUserChatStats as Z, LOCAL_STORAGE_PREFIX as M, LOCAL_STORAGE_USAGE_VIEW_MODE as J, LOCAL_STORAGE_USAGE_TIME_RANGE as Q, LOCAL_STORAGE_USAGE_SELECTED_MONTH as $, useChatsUsage as ee, renderDataAsList as te } from "./index.COrehOGK.js";
3
+ import { useUniqueId as ne, TIME_RANGES as e, USAGE_TITLE as re, CARDS as T, L as h, j as c, TIME_RANGE_LABELS as k, MONTHS as N, ButtonIcon as u, IconChart as le, IconSelected as H, IconUnSelected as b, IconPrevious as se, IconNext as ae } from "./LogoEntry.DYecYZ2Y.js";
4
+ import { Card as P } from "./index.mPjUzcCU.js";
5
+ import { useLocalStorage as g, Panel as oe, DropdownMenu as ie, DropdownMenuGroupLabel as ce, DropdownMenuItem as G, DropdownMenuSub as de, CancelButton as Te, pluralize as D } from "./App.CRK1D8_p.js";
6
6
  import { useRef as ue, useState as U, Suspense as Ee, lazy as Se } from "react";
7
7
  const a = [0, 3, 6, 9], s = {
8
8
  TOKEN: "token",
@@ -16,7 +16,7 @@ const a = [0, 3, 6, 9], s = {
16
16
  ], Ae = Se(
17
17
  () => import(
18
18
  /* webpackChunkName: "chart-highcharts" */
19
- "./Chart.BJQmO98B.js"
19
+ "./Chart.BDkv6_qF.js"
20
20
  )
21
21
  ), Ne = ({
22
22
  open: v,
@@ -1,4 +1,4 @@
1
- import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.Di6pc73q.js";
1
+ import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.B8MP9bLa.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.Di6pc73q.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.B8MP9bLa.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {