@versini/sassysaint 8.104.4 → 8.105.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 (29) hide show
  1. package/dist/chunks/{AboutChangelog.BBEyIcvm.js → AboutChangelog.BOo6xnQU.js} +2 -2
  2. package/dist/chunks/{AboutEntry.BO3eEi8Q.js → AboutEntry.BJrEy0cG.js} +20 -20
  3. package/dist/chunks/{App.B9wSOZ8V.js → App.CJwakCK6.js} +2379 -2337
  4. package/dist/chunks/{Chart.CGt6Jbxe.js → Chart.Du7EB2GA.js} +5 -6
  5. package/dist/chunks/{ChatBubbleAssistant.jqPoeog_.js → ChatBubbleAssistant.C0hLrPzq.js} +12 -12
  6. package/dist/chunks/{ChatBubbleUser.e-eYYHlS.js → ChatBubbleUser.CkbwjjY3.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.RsGrGMBo.js → ChatHistoryTable.B-BpH1Lu.js} +19 -19
  8. package/dist/chunks/{HistoryEntry.DGdE9OFU.js → HistoryEntry.DaXJ8Q-f.js} +23 -23
  9. package/dist/chunks/{LoginEntry.Dzv5GceG.js → LoginEntry.O7xxzGCC.js} +4 -4
  10. package/dist/chunks/{LogoEntry.BsyYkeR8.js → LogoEntry.DJZqUqg7.js} +1 -1
  11. package/dist/chunks/{MemoriesEntry.CTScrnaV.js → MemoriesEntry.2v0Kr4-K.js} +5 -5
  12. package/dist/chunks/{ProfileEntry.B2S36axF.js → ProfileEntry.DL1hPr1o.js} +4 -4
  13. package/dist/chunks/{SettingsEntry.CyGpgENO.js → SettingsEntry.BBz6Yx2v.js} +5 -5
  14. package/dist/chunks/{Table.CWpPar8S.js → Table.KI0EOT13.js} +1 -1
  15. package/dist/chunks/{UsageEntry.D_9lbC97.js → UsageEntry.HApOoMRD.js} +14 -14
  16. package/dist/chunks/{index.C4FbJvh2.js → index.Bh0XSa-M.js} +1 -1
  17. package/dist/chunks/{index.BAowdTf8.js → index.BsjHgnVB.js} +1 -1
  18. package/dist/chunks/{index.BAsDqNZN.js → index.CEBjkMRt.js} +1 -1
  19. package/dist/chunks/{index.DovqyY5E.js → index.DAhP7ZLu.js} +1 -1
  20. package/dist/chunks/{index.6c9Ts4ri.js → index.DMqMfGAO.js} +1 -1
  21. package/dist/chunks/{index.B6b6mKen.js → index.DTy8CE3T.js} +1 -1
  22. package/dist/chunks/{index.e-Z8L5Z4.js → index.DeAiHvMD.js} +2 -2
  23. package/dist/chunks/{index.B6Mc8UFz.js → index.DedGiEIm.js} +3 -3
  24. package/dist/chunks/{index.DVZW6t26.js → index.G5bXk8Yy.js} +1496 -1650
  25. package/dist/chunks/{index.D-Mn9tha.js → index.rGG3tlcN.js} +1 -1
  26. package/dist/chunks/{useMarkdown.CdvKmdxq.js → useMarkdown.CTOUBBx6.js} +10 -10
  27. package/dist/components/SassySaint/SassySaint.js +1 -1
  28. package/dist/index.js +4 -4
  29. package/package.json +3 -3
@@ -1,8 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn } from "./App.B9wSOZ8V.js";
3
- import Op, { useMemo as Lp } from "react";
4
- import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.BsyYkeR8.js";
5
- import { isProbablyMobile as Ip } from "./index.DVZW6t26.js";
2
+ import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.CJwakCK6.js";
3
+ import Lp, { useMemo as Ep } from "react";
4
+ import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.DJZqUqg7.js";
6
5
  var hs = { exports: {} }, Dp = hs.exports, nn;
7
6
  function Bp() {
8
7
  return nn || (nn = 1, (function(Ae, pe) {
@@ -5012,7 +5011,7 @@ var ds = { exports: {} }, Rp = ds.exports, ln;
5012
5011
  function Wp() {
5013
5012
  return ln || (ln = 1, (function(Ae, pe) {
5014
5013
  (function(At, ot) {
5015
- Ae.exports = ot(Op);
5014
+ Ae.exports = ot(Lp);
5016
5015
  })(typeof self < "u" ? self : Rp, function(At) {
5017
5016
  return (function(ot) {
5018
5017
  function J(_) {
@@ -5132,7 +5131,7 @@ const Hp = /* @__PURE__ */ dn(Xp), hn = [
5132
5131
  categories: J,
5133
5132
  chartTitle: yt
5134
5133
  }) => {
5135
- const _ = Ip() ? Ep : on, lt = Lp(() => {
5134
+ const _ = Op() ? Ip : on, lt = Ep(() => {
5136
5135
  const Xt = ot === ls.CURRENT_YEAR || ot === ls.LAST_YEAR, ue = Ae.map((ht) => {
5137
5136
  if (Xt) {
5138
5137
  const Zt = ht.data.slice(pe, pe + 3);
@@ -1,11 +1,11 @@
1
1
  import { jsx as ss } from "react/jsx-runtime";
2
- import { n as is, useUserPreferences as rs, convertCamelCaseToReadable as as, numberFormatter as os, pluralize as ls } from "./index.DVZW6t26.js";
3
- import { BUBBLE_FOOTER_EMPTY as us } from "./index.BAowdTf8.js";
2
+ import { n as is, useUserPreferences as rs } from "./index.G5bXk8Yy.js";
3
+ import { BUBBLE_FOOTER_EMPTY as as } from "./index.BsjHgnVB.js";
4
+ import { convertStringToHumanReadable as os, numberFormatter as ls, pluralize as us, AsyncBubble as cs } from "./App.CJwakCK6.js";
4
5
  import Xt from "clsx";
5
- import cs, { useState as Me, useEffect as qt, useContext as vt } from "react";
6
- import { useMarkdown as fs } from "./useMarkdown.CdvKmdxq.js";
7
- import { ChatContext as hs, AppContext as ds } from "./LogoEntry.BsyYkeR8.js";
8
- import { AsyncBubble as ps } from "./App.B9wSOZ8V.js";
6
+ import fs, { useState as Me, useEffect as qt, useContext as vt } from "react";
7
+ import { useMarkdown as hs } from "./useMarkdown.CTOUBBx6.js";
8
+ import { ChatContext as ds, AppContext as ps } from "./LogoEntry.DJZqUqg7.js";
9
9
  function ms(e, t) {
10
10
  e.indexOf(t) === -1 && e.push(t);
11
11
  }
@@ -2814,7 +2814,7 @@ const ve = {
2814
2814
  MODEL: "Model",
2815
2815
  PLUGIN: "Plugin",
2816
2816
  USAGE: "Session usage"
2817
- }, xa = Xt("max-w-[99cqw]", "mt-3"), ka = cs.memo(
2817
+ }, xa = Xt("max-w-[99cqw]", "mt-3"), ka = fs.memo(
2818
2818
  ({
2819
2819
  content: e,
2820
2820
  annotations: t,
@@ -2824,9 +2824,9 @@ const ve = {
2824
2824
  }) => {
2825
2825
  const r = wa(e, s), {
2826
2826
  state: { streaming: a, restoredModel: o, tokenUsage: l }
2827
- } = vt(hs), {
2827
+ } = vt(ds), {
2828
2828
  state: { fullScreen: c }
2829
- } = vt(ds), u = t?.model || o, f = l, [h, m] = fs(), { user: b, getAccessToken: y } = is(), { data: v } = rs({
2829
+ } = vt(ps), u = t?.model || o, f = l, [h, m] = hs(), { user: b, getAccessToken: y } = is(), { data: v } = rs({
2830
2830
  user: b?.username,
2831
2831
  getAccessToken: y
2832
2832
  }), T = v?.showDetails || !1, A = Xt("prose-li:ps-3", {
@@ -2835,11 +2835,11 @@ const ve = {
2835
2835
  let V;
2836
2836
  return T && (V = {
2837
2837
  [ve.MODEL]: u || null,
2838
- [ve.PLUGIN]: n ? as(n) : null
2839
- }, f && (i ? V[ve.USAGE] = `${os.format(f)} ${ls("token", f)}` : V[ve.USAGE] = us)), qt(() => {
2838
+ [ve.PLUGIN]: n ? os(n) : null
2839
+ }, f && (i ? V[ve.USAGE] = `${ls.format(f)} ${us("token", f)}` : V[ve.USAGE] = as)), qt(() => {
2840
2840
  r && m(r);
2841
2841
  }, [r, m]), /* @__PURE__ */ ss(
2842
- ps,
2842
+ cs,
2843
2843
  {
2844
2844
  tail: !0,
2845
2845
  copyToClipboardMode: "light",
@@ -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.BsyYkeR8.js";
2
+ import { Button as _ } from "./LogoEntry.DJZqUqg7.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.CdvKmdxq.js";
5
- import { AsyncBubble as k } from "./App.B9wSOZ8V.js";
4
+ import { useMarkdown as b } from "./useMarkdown.CTOUBBx6.js";
5
+ import { AsyncBubble as k } from "./App.CJwakCK6.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 S, v as M, INFINITE_SCROLL_THRESHOLD as L, pluralize as k, numberFormatter as U, isProbablyMobile as D } from "./index.DVZW6t26.js";
3
- import { IconCloseLight as z, CARDS as B, ButtonIcon as C, IconRestore as $, IconStarInCircle as Y, IconStarInCircleLight as W, IconDelete as j } from "./LogoEntry.BsyYkeR8.js";
4
- import { useState as G, Fragment as K } from "react";
2
+ import { y as S, v as M, INFINITE_SCROLL_THRESHOLD as L } from "./index.G5bXk8Yy.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.DJZqUqg7.js";
4
+ import { useState as W, Fragment as j } from "react";
5
5
  import i from "clsx";
6
- import { j as V, D as F, F as N, G as H, W as o, Y as I } from "./Table.CWpPar8S.js";
7
- import { ResponsiveTooltip as w } from "./App.B9wSOZ8V.js";
6
+ import { j as G, D as K, F as N, G as V, W as o, Y as k } from "./Table.KI0EOT13.js";
7
+ import { pluralize as I, ResponsiveTooltip as w, numberFormatter as F, isProbablyMobile as H } from "./App.CJwakCK6.js";
8
8
  /*!
9
9
  @versini/ui-pill v5.2.4
10
10
  © 2025 gizmette.com
@@ -46,7 +46,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
46
46
  }))
47
47
  };
48
48
  }, R = ({ label: t, className: a, variant: l = "information", description: m, onClose: d }) => {
49
- const [h, p] = G(!0), g = (f) => {
49
+ const [h, p] = W(!0), g = (f) => {
50
50
  d && (d(f), f.defaultPrevented || p(!1));
51
51
  };
52
52
  if (!h)
@@ -71,7 +71,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
71
71
  onClick: g,
72
72
  className: u.button,
73
73
  "aria-label": "Close",
74
- children: /* @__PURE__ */ e(z, {
74
+ children: /* @__PURE__ */ e(U, {
75
75
  size: "size-3"
76
76
  })
77
77
  })
@@ -108,13 +108,13 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
108
108
  isFiltered: O = !1,
109
109
  isSearchActive: T = !1
110
110
  }) => {
111
- const y = D() ? Z : ee, E = (r) => {
111
+ const y = H() ? Z : ee, E = (r) => {
112
112
  switch (r) {
113
113
  case n.ROW:
114
114
  return /* @__PURE__ */ e(o, { className: "sr-only", children: "Row" }, r);
115
115
  case n.TIMESTAMP:
116
116
  return T ? /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm", children: "Date" }, r) : /* @__PURE__ */ e(
117
- I,
117
+ k,
118
118
  {
119
119
  focusMode: "system",
120
120
  buttonClassName: "text-xs sm:text-sm",
@@ -133,7 +133,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
133
133
  return /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm", children: "Summary" }, r);
134
134
  case n.TOKEN_USAGE:
135
135
  return T ? /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm text-right", children: "Tokens" }, r) : /* @__PURE__ */ e(
136
- I,
136
+ k,
137
137
  {
138
138
  focusMode: "system",
139
139
  buttonClassName: "text-xs sm:text-sm",
@@ -206,7 +206,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
206
206
  {
207
207
  className: i("dark:text-gray-400", "text-xs sm:text-sm"),
208
208
  align: "right",
209
- children: s.tokenUsage ? U.format(s.tokenUsage) : "0"
209
+ children: s.tokenUsage ? F.format(s.tokenUsage) : "0"
210
210
  },
211
211
  r
212
212
  );
@@ -231,7 +231,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
231
231
  onClick: async () => {
232
232
  await d(s);
233
233
  },
234
- children: /* @__PURE__ */ e($, { size: "size-3", monotone: !0 })
234
+ children: /* @__PURE__ */ e(z, { size: "size-3", monotone: !0 })
235
235
  }
236
236
  )
237
237
  }
@@ -250,7 +250,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
250
250
  onClick: async () => {
251
251
  await p(s);
252
252
  },
253
- children: s.favoriteChat ? /* @__PURE__ */ e(Y, { size: "size-4", monotone: !0 }) : /* @__PURE__ */ e(W, { size: "size-4", monotone: !0 })
253
+ children: s.favoriteChat ? /* @__PURE__ */ e(B, { size: "size-4", monotone: !0 }) : /* @__PURE__ */ e($, { size: "size-4", monotone: !0 })
254
254
  }
255
255
  )
256
256
  }
@@ -270,7 +270,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
270
270
  onClick: () => {
271
271
  h(s);
272
272
  },
273
- children: /* @__PURE__ */ e(j, { size: "size-3", monotone: !0 })
273
+ children: /* @__PURE__ */ e(Y, { size: "size-3", monotone: !0 })
274
274
  }
275
275
  )
276
276
  }
@@ -284,24 +284,24 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
284
284
  }
285
285
  };
286
286
  return /* @__PURE__ */ c(
287
- V,
287
+ G,
288
288
  {
289
289
  stickyHeader: !0,
290
290
  compact: !0,
291
291
  mode: "alt-system",
292
292
  caption: (() => {
293
293
  const r = t.length, s = f ?? r;
294
- return O && s > r ? `Showing ${k(`${r} chat`, r)} out of ${s}` : k(`${r} chat`, r);
294
+ return O && s > r ? `Showing ${I(`${r} chat`, r)} out of ${s}` : I(`${r} chat`, r);
295
295
  })(),
296
296
  disabled: u && t.length > 0,
297
297
  children: [
298
- /* @__PURE__ */ e(F, { children: /* @__PURE__ */ e(N, { children: y.map((r) => E(r)) }) }),
299
- /* @__PURE__ */ e(H, { children: u && t.length === 0 ? /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(o, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : t.slice(0, l).map((r, s) => r?.summary ? /* @__PURE__ */ c(K, { children: [
298
+ /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(N, { children: y.map((r) => E(r)) }) }),
299
+ /* @__PURE__ */ e(V, { children: u && t.length === 0 ? /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(o, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : t.slice(0, l).map((r, s) => r?.summary ? /* @__PURE__ */ c(j, { children: [
300
300
  s === l - L && /* @__PURE__ */ e("tr", { ref: g }),
301
301
  /* @__PURE__ */ e(N, { children: y.map(
302
302
  (b) => _(b, r, s)
303
303
  ) })
304
- ] }, `${B.HISTORY.TITLE}-${r.id}-${s}`) : null) })
304
+ ] }, `${D.HISTORY.TITLE}-${r.id}-${s}`) : null) })
305
305
  ]
306
306
  }
307
307
  );
@@ -1,15 +1,15 @@
1
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, debounce as Te, ACTION_SEARCH as ge } from "./index.DVZW6t26.js";
3
- import { HistoryContext as Y, ChatContext as Ae, e as m, APP_CLASSNAME as Ee, TOAST_CHAT_DELETED as _e, HISTORY_TITLE as Le, IconSearch as De, Button as Oe, L as ke, j as ve } from "./LogoEntry.BsyYkeR8.js";
4
- import { Card as Re } from "./index.D-Mn9tha.js";
5
- import { useAiChat as be, useLocalStorage as C, ConfirmationPanel as Ie, LazyToastContainerWrapper as xe, showErrorToast as we, v4 as He, CHAT_RESET as Ne, CHAT_SET_ATTACHMENTS as Fe, CHAT_SET_STATUS as Me, Panel as Ge, Toggle as B, CancelButton as Ve } from "./App.B9wSOZ8V.js";
6
- import { TextInput as ze } from "./index.C4FbJvh2.js";
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.G5bXk8Yy.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.DJZqUqg7.js";
4
+ import { Card as ve } from "./index.rGG3tlcN.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.CJwakCK6.js";
6
+ import { TextInput as ze } from "./index.Bh0XSa-M.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.RsGrGMBo.js"
12
+ "./ChatHistoryTable.B-BpH1Lu.js"
13
13
  ).then((S) => ({ default: S.ChatHistoryTable }))
14
14
  ), Ye = ({
15
15
  filteredHistory: S,
@@ -34,7 +34,7 @@ const Ke = Be(
34
34
  setChatId: T,
35
35
  setInitialMessages: c,
36
36
  dispatch: g
37
- } = V(Ae), { setInput: A } = be(), [v, R] = C({
37
+ } = V(ge), { setInput: A } = Re(), [v, R] = C({
38
38
  key: u + se,
39
39
  initialValue: m.DESC
40
40
  }), [F, M] = C({
@@ -76,7 +76,7 @@ const Ke = Be(
76
76
  await q({
77
77
  userId: l?.username || "",
78
78
  id: e.id
79
- }), y(""), await we(_e, {
79
+ }), y(""), await xe(Ee, {
80
80
  autoClose: 2e3,
81
81
  containerId: "history-table"
82
82
  });
@@ -92,7 +92,7 @@ const Ke = Be(
92
92
  }
93
93
  });
94
94
  g({
95
- type: Me,
95
+ type: Fe,
96
96
  payload: {
97
97
  streaming: !1,
98
98
  loading: !1,
@@ -108,14 +108,14 @@ const Ke = Be(
108
108
  id: e.id,
109
109
  timestamp: e.timestamp,
110
110
  message: e.summary
111
- }, D(!h), W === e.id && (T(He()), c([]), A(""), g({
112
- type: Ne,
111
+ }, D(!h), W === e.id && (T(we()), c([]), A(""), g({
112
+ type: He,
113
113
  payload: {
114
114
  privateChat: !1,
115
115
  reasoning: !1
116
116
  }
117
117
  }), g({
118
- type: Fe,
118
+ type: Ne,
119
119
  payload: {
120
120
  attachments: 0
121
121
  }
@@ -143,7 +143,7 @@ const Ke = Be(
143
143
  );
144
144
  return /* @__PURE__ */ i(ae, { children: [
145
145
  /* @__PURE__ */ i(
146
- Ie,
146
+ be,
147
147
  {
148
148
  showConfirmation: h,
149
149
  setShowConfirmation: D,
@@ -170,7 +170,7 @@ const Ke = Be(
170
170
  ]
171
171
  }
172
172
  ),
173
- /* @__PURE__ */ t("div", { className: Ee, children: /* @__PURE__ */ t(xe, { containerId: "history-table" }) }),
173
+ /* @__PURE__ */ t("div", { className: Ae, children: /* @__PURE__ */ t(Ie, { containerId: "history-table" }) }),
174
174
  /* @__PURE__ */ t(Ue, { fallback: /* @__PURE__ */ t("div", {}), children: /* @__PURE__ */ t(
175
175
  Ke,
176
176
  {
@@ -226,10 +226,10 @@ const Ke = Be(
226
226
  }, [o, h]);
227
227
  const A = async (r) => {
228
228
  d(r), p({
229
- type: ge,
229
+ type: Te,
230
230
  payload: { searchString: r }
231
231
  });
232
- }, v = Te((r) => {
232
+ }, v = Ge((r) => {
233
233
  A(r.target.value.trim());
234
234
  }, 800), R = async (r) => {
235
235
  r.preventDefault();
@@ -239,27 +239,27 @@ const Ke = Be(
239
239
  H(r);
240
240
  };
241
241
  return /* @__PURE__ */ i(
242
- Ge,
242
+ Me,
243
243
  {
244
244
  open: S,
245
245
  onOpenChange: f,
246
- title: Le,
246
+ title: _e,
247
247
  animation: !0,
248
248
  animationType: "fade",
249
249
  blurEffect: "large",
250
250
  initialFocus: y,
251
251
  footer: /* @__PURE__ */ t(
252
- ke,
252
+ Oe,
253
253
  {
254
254
  columnGap: 2,
255
255
  alignHorizontal: "flex-end",
256
256
  className: "pb-8 sm:pb-0",
257
- children: /* @__PURE__ */ t(ve, { children: /* @__PURE__ */ t(Ve, { onOpenChange: f, ref: y }) })
257
+ children: /* @__PURE__ */ t(ke, { children: /* @__PURE__ */ t(Ve, { onOpenChange: f, ref: y }) })
258
258
  }
259
259
  ),
260
260
  children: [
261
261
  /* @__PURE__ */ t(
262
- Re,
262
+ ve,
263
263
  {
264
264
  header: k && a.searchString ? "Loading..." : a.searchString ? "Filters applied" : "Filters",
265
265
  className: "prose-dark dark:prose-lighter mb-4",
@@ -282,7 +282,7 @@ const Ke = Be(
282
282
  label: "Search",
283
283
  onChange: v,
284
284
  className: "my-2",
285
- rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(De, { monotone: !0, size: "size-3" }) })
285
+ rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(Le, { monotone: !0, size: "size-3" }) })
286
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: [
@@ -311,7 +311,7 @@ const Ke = Be(
311
311
  )
312
312
  ] }),
313
313
  /* @__PURE__ */ t(
314
- Oe,
314
+ De,
315
315
  {
316
316
  mode: "light",
317
317
  size: "small",
@@ -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.DVZW6t26.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.BsyYkeR8.js";
4
- import { Card as O } from "./index.D-Mn9tha.js";
5
- import { TextInput as T, TextInputMask as W } from "./index.C4FbJvh2.js";
2
+ import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.G5bXk8Yy.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.DJZqUqg7.js";
4
+ import { Card as O } from "./index.rGG3tlcN.js";
5
+ import { TextInput as T, TextInputMask as W } from "./index.Bh0XSa-M.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.DVZW6t26.js";
4
+ import { V as d, e as u1, P as m1, r as p1 } from "./index.G5bXk8Yy.js";
5
5
  /*!
6
6
  @versini/ui-hooks v6.0.0
7
7
  © 2025 gizmette.com
@@ -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 ke, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as be, useDeleteMemory as Ee, useDeleteAllActiveMemories as Me, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le } from "./index.DVZW6t26.js";
3
- import { L as M, j as f, Button as B, e as s, ButtonIcon as L, IconEdit as Oe, IconDelete as te, IconRestore as _e } from "./LogoEntry.BsyYkeR8.js";
4
- import { Panel as ae, Toggle as O, CancelButton as ce, useLocalStorage as re, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.B9wSOZ8V.js";
5
- import { j as ne, D as oe, F as v, W as a, Y as z, G as le, H as se } from "./Table.CWpPar8S.js";
2
+ import { n as Te, LOCAL_STORAGE_PREFIX as ee, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as ke, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as be, useDeleteMemory as Ee, useDeleteAllActiveMemories as Me, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le } from "./index.G5bXk8Yy.js";
3
+ import { L as M, j as f, Button as B, e as s, ButtonIcon as L, IconEdit as Oe, IconDelete as te, IconRestore as _e } from "./LogoEntry.DJZqUqg7.js";
4
+ import { Panel as ae, Toggle as O, CancelButton as ce, useLocalStorage as re, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.CJwakCK6.js";
5
+ import { j as ne, D as oe, F as v, W as a, Y as z, G as le, H as se } from "./Table.KI0EOT13.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.6c9Ts4ri.js";
8
+ import { TextArea as Be } from "./index.DMqMfGAO.js";
9
9
  const Pe = ({
10
10
  open: w,
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.B9wSOZ8V.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.BsyYkeR8.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.CJwakCK6.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.DJZqUqg7.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.DVZW6t26.js";
6
- import { Card as h } from "./index.D-Mn9tha.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.G5bXk8Yy.js";
6
+ import { Card as h } from "./index.rGG3tlcN.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.DVZW6t26.js";
3
- import { AppContext as Ze, SETTINGS_TITLE as et, CARDS as r, Button as pe, PROMPTS_DESCRIPTION as tt, L as ot, j as Ee, APP_SET_OLED_MODE as Se, APP_SET_FULL_SCREEN as ge } from "./LogoEntry.BsyYkeR8.js";
4
- import { Card as f } from "./index.D-Mn9tha.js";
5
- import { useCapability as Te, useLocalStorage as be, Panel as st, Toggle as l, CancelButton as at } from "./App.B9wSOZ8V.js";
6
- import { TextArea as Ne } from "./index.6c9Ts4ri.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.G5bXk8Yy.js";
3
+ import { AppContext as Ze, SETTINGS_TITLE as et, CARDS as r, Button as pe, PROMPTS_DESCRIPTION as tt, L as ot, j as Ee, APP_SET_OLED_MODE as Se, APP_SET_FULL_SCREEN as ge } from "./LogoEntry.DJZqUqg7.js";
4
+ import { Card as f } from "./index.rGG3tlcN.js";
5
+ import { useCapability as Te, useLocalStorage as be, Panel as st, Toggle as l, CancelButton as at } from "./App.CJwakCK6.js";
6
+ import { TextArea as Ne } from "./index.DMqMfGAO.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 Et = ({
9
9
  open: ye,
@@ -1,7 +1,7 @@
1
1
  import { jsx as l, jsxs as g } from "react/jsx-runtime";
2
2
  import d from "clsx";
3
3
  import w, { useContext as p } from "react";
4
- import { ButtonIcon as I, e as k } from "./LogoEntry.BsyYkeR8.js";
4
+ import { ButtonIcon as I, e as k } from "./LogoEntry.DJZqUqg7.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, pluralize as N } from "./index.DVZW6t26.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 g, ButtonIcon as u, IconChart as le, IconSelected as H, IconUnSelected as b, IconPrevious as se, IconNext as ae } from "./LogoEntry.BsyYkeR8.js";
4
- import { Card as P } from "./index.D-Mn9tha.js";
5
- import { useLocalStorage as D, Panel as oe, DropdownMenu as ie, DropdownMenuGroupLabel as ce, DropdownMenuItem as G, DropdownMenuSub as de, CancelButton as Te } from "./App.B9wSOZ8V.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.G5bXk8Yy.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.DJZqUqg7.js";
4
+ import { Card as P } from "./index.rGG3tlcN.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.CJwakCK6.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.CGt6Jbxe.js"
19
+ "./Chart.Du7EB2GA.js"
20
20
  )
21
21
  ), Ne = ({
22
22
  open: v,
@@ -25,13 +25,13 @@ const a = [0, 3, 6, 9], s = {
25
25
  const f = ue(null), { getAccessToken: p, user: L } = X(), x = ne(), { data: o, isSuccess: F } = Z({
26
26
  user: L?.username,
27
27
  getAccessToken: p
28
- }), z = Math.floor((/* @__PURE__ */ new Date()).getMonth() / 3) * 3, [m, O] = U(z), [i, Y] = D({
28
+ }), z = Math.floor((/* @__PURE__ */ new Date()).getMonth() / 3) * 3, [m, O] = U(z), [i, Y] = g({
29
29
  key: M + J,
30
30
  initialValue: s.MODEL
31
- }), [n, E] = D({
31
+ }), [n, E] = g({
32
32
  key: M + Q,
33
33
  initialValue: e.CURRENT_YEAR
34
- }), [l, S] = D({
34
+ }), [l, S] = g({
35
35
  key: M + $,
36
36
  initialValue: null
37
37
  }), [B, V] = U(
@@ -79,7 +79,7 @@ const a = [0, 3, 6, 9], s = {
79
79
  E(r), r !== e.SPECIFIC_MONTH && S(null), (r === e.CURRENT_YEAR || r === e.LAST_YEAR) && O(z);
80
80
  }, W = (r) => {
81
81
  S(r), V((/* @__PURE__ */ new Date()).getFullYear()), E(e.SPECIFIC_MONTH);
82
- }, q = () => n === e.SPECIFIC_MONTH && l !== null ? g[l] : k[n];
82
+ }, q = () => n === e.SPECIFIC_MONTH && l !== null ? N[l] : k[n];
83
83
  return /* @__PURE__ */ d(
84
84
  oe,
85
85
  {
@@ -134,7 +134,7 @@ const a = [0, 3, 6, 9], s = {
134
134
  },
135
135
  r
136
136
  )),
137
- /* @__PURE__ */ t(de, { label: "Month", children: g.map((r, A) => /* @__PURE__ */ t(
137
+ /* @__PURE__ */ t(de, { label: "Month", children: N.map((r, A) => /* @__PURE__ */ t(
138
138
  G,
139
139
  {
140
140
  label: r,
@@ -178,7 +178,7 @@ const a = [0, 3, 6, 9], s = {
178
178
  viewMode: i,
179
179
  timeRange: n,
180
180
  categories: I.categories,
181
- chartTitle: n === e.SPECIFIC_MONTH && l !== null ? g[l] : void 0
181
+ chartTitle: n === e.SPECIFIC_MONTH && l !== null ? N[l] : void 0
182
182
  }
183
183
  ),
184
184
  n !== e.MONTH_TO_DATE && /* @__PURE__ */ d(h, { className: "mt-2", alignHorizontal: "center", columnGap: 2, children: [
@@ -215,12 +215,12 @@ const a = [0, 3, 6, 9], s = {
215
215
  children: F ? te(
216
216
  x,
217
217
  {
218
- [N(T.MAIN_STATISTICS.TOTAL, o.totalChats)]: o.totalChats,
219
- [N(
218
+ [D(T.MAIN_STATISTICS.TOTAL, o.totalChats)]: o.totalChats,
219
+ [D(
220
220
  T.MAIN_STATISTICS.TOTAL_PRIVATE,
221
221
  o.privateChats
222
222
  )]: o.privateChats,
223
- [N(
223
+ [D(
224
224
  T.MAIN_STATISTICS.TOTAL_DELETED,
225
225
  o.deletedChats
226
226
  )]: o.deletedChats
@@ -1,5 +1,5 @@
1
1
  import { jsxs as F, jsx as g, Fragment as V } from "react/jsx-runtime";
2
- import { useResizeObserver as q, useUniqueId as B, useMergeRefs as W } from "./LogoEntry.BsyYkeR8.js";
2
+ import { useResizeObserver as q, useUniqueId as B, useMergeRefs as W } from "./LogoEntry.DJZqUqg7.js";
3
3
  import { LiveRegion as H } from "./index.BAdB50GZ.js";
4
4
  import P, { useState as M, useRef as R, useLayoutEffect as O, useEffect as z } from "react";
5
5
  import l from "clsx";
@@ -1,5 +1,5 @@
1
1
  import { jsxs as h, jsx as l } from "react/jsx-runtime";
2
- import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./LogoEntry.BsyYkeR8.js";
2
+ import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./LogoEntry.DJZqUqg7.js";
3
3
  import { useState as N, useEffect as $ } from "react";
4
4
  import t from "clsx";
5
5
  /*!
@@ -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.CdvKmdxq.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.CTOUBBx6.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 { convert as E, convertElement as u } from "./useMarkdown.CdvKmdxq.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.CTOUBBx6.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as T } from "react/jsx-runtime";
2
- import { useMergeRefs as ne, useResizeObserver as G, useUniqueId as ce } from "./LogoEntry.BsyYkeR8.js";
2
+ import { useMergeRefs as ne, useResizeObserver as G, useUniqueId as ce } from "./LogoEntry.DJZqUqg7.js";
3
3
  import ie, { useState as E, useEffect as le, useRef as A, useLayoutEffect as R } from "react";
4
4
  import { LiveRegion as ue } from "./index.BAdB50GZ.js";
5
5
  import n from "clsx";
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.CdvKmdxq.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.CTOUBBx6.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,5 +1,5 @@
1
- import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.CdvKmdxq.js";
2
- import { toText as Ca } from "./index.DovqyY5E.js";
1
+ import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.CTOUBBx6.js";
2
+ import { toText as Ca } from "./index.DAhP7ZLu.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.B9wSOZ8V.js";
2
- import { visit as In } from "./useMarkdown.CdvKmdxq.js";
3
- import { toText as Cn } from "./index.DovqyY5E.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.CJwakCK6.js";
2
+ import { visit as In } from "./useMarkdown.CTOUBBx6.js";
3
+ import { toText as Cn } from "./index.DAhP7ZLu.js";
4
4
  function xn(e) {
5
5
  const t = e.regex, i = e.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] }), a = "decltype\\(auto\\)", r = "[a-zA-Z_]\\w*::", d = "(?!struct)(" + a + "|" + t.optional(r) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", c = {
6
6
  className: "type",