@versini/sassysaint 5.5.27 → 5.5.29

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.
@@ -1,5 +1,5 @@
1
1
  import { jsxs as I, jsx as d, Fragment as yt } from "react/jsx-runtime";
2
- import { g as bt, ACTION_RESTORE as Vr, ACTION_MESSAGE as xe, ROLE_ASSISTANT as we, ACTION_RESET as ar, ACTION_MODEL as nr, ACTION_STREAMING as or, ACTION_SORT as zr, ACTION_SEARCH as Pr, ACTION_RESET_PROMPT as sr, ACTION_TOGGLE_PROMPT as ir, DEFAULT_AI_ENGINE as Se, P as cr, un as Me, ROLE_SYSTEM as Ur, ROLE_INTERNAL as vt, ROLE_HIDDEN as Hr, STATS_SEPARATOR as $t, CLIPBOARD_PROMPT as Mt, TYPE_QUESTION as Fr, C as lr, SEND as Gr, ERROR_MESSAGE as Wr, ROLE_USER as nt, L as jr, j as qr, isLastMessageFromRole as Kr, getMessageContaintWrapperClass as Jr, Logo as Yr, getMainPaddingClass as Dt, r as Xr, LOCAL_STORAGE_PREFIX as Vt, LOCAL_STORAGE_SEARCH as Qr, LOCAL_STORAGE_SORT as Zr } from "./index.DbvpSzKK.js";
2
+ import { g as bt, ACTION_RESTORE as Vr, ACTION_MESSAGE as Ee, ROLE_ASSISTANT as we, ACTION_RESET as ar, ACTION_MODEL as nr, ACTION_STREAMING as or, ACTION_SORT as zr, ACTION_SEARCH as Pr, ACTION_RESET_PROMPT as sr, ACTION_TOGGLE_PROMPT as ir, DEFAULT_AI_ENGINE as Se, P as cr, un as Me, ROLE_SYSTEM as Ur, ROLE_INTERNAL as vt, ROLE_HIDDEN as Hr, STATS_SEPARATOR as $t, CLIPBOARD_PROMPT as Mt, TYPE_QUESTION as Fr, C as lr, SEND as Gr, ERROR_MESSAGE as Wr, ROLE_USER as nt, L as jr, j as qr, isLastMessageFromRole as Kr, getMessageContaintWrapperClass as Jr, Logo as Yr, getMainPaddingClass as Dt, r as Xr, LOCAL_STORAGE_PREFIX as Vt, LOCAL_STORAGE_SEARCH as Qr, LOCAL_STORAGE_SORT as Zr } from "./index.BaqfJtBN.js";
3
3
  import c from "clsx";
4
4
  import $, { useRef as S, useEffect as L, useCallback as Z, useSyncExternalStore as ea, useState as G, useMemo as De, useContext as U, createContext as ta, useLayoutEffect as fe, useDebugValue as ra, useId as aa, useReducer as Be, lazy as dr, Suspense as ot } from "react";
5
5
  const na = ({
@@ -223,7 +223,7 @@ try {
223
223
  });
224
224
  } catch {
225
225
  }
226
- const Ve = "thead", kt = "tfoot", ye = "tbody", Ee = {
226
+ const Ve = "thead", kt = "tfoot", ye = "tbody", xe = {
227
227
  ASC: "asc",
228
228
  DESC: "desc"
229
229
  }, ba = ({
@@ -312,7 +312,7 @@ const Ve = "thead", kt = "tfoot", ye = "tbody", Ee = {
312
312
  "odd:bg-table-light-odd even:bg-table-light-even dark:odd:bg-table-dark-odd dark:even:bg-table-dark-even": r === ye && e === "alt-system"
313
313
  },
314
314
  t
315
- ), Ea = ({
315
+ ), xa = ({
316
316
  cellWrapper: e,
317
317
  className: t,
318
318
  compact: r,
@@ -336,7 +336,7 @@ const Ve = "thead", kt = "tfoot", ye = "tbody", Ee = {
336
336
  },
337
337
  t
338
338
  )
339
- }), xa = ({
339
+ }), Ea = ({
340
340
  buttonClassName: e
341
341
  }) => c("rounded-none text-sm", e), Ht = "av-button", _t = "icon", mr = "button", st = "link", wa = ({
342
342
  type: e,
@@ -670,7 +670,7 @@ const hr = $.forwardRef(
670
670
  noBackground: p,
671
671
  align: b,
672
672
  radius: y
673
- }), E = c({
673
+ }), x = c({
674
674
  "text-copy-accent-dark": r === "light" && !i,
675
675
  "text-copy-light": r === "dark" && !i,
676
676
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -703,7 +703,7 @@ const hr = $.forwardRef(
703
703
  ...N,
704
704
  children: [
705
705
  g && /* @__PURE__ */ d("span", { className: "pr-2", children: g }),
706
- /* @__PURE__ */ d("div", { className: E, children: e }),
706
+ /* @__PURE__ */ d("div", { className: x, children: e }),
707
707
  u && /* @__PURE__ */ d("span", { className: "pl-2", children: u })
708
708
  ]
709
709
  }
@@ -711,7 +711,7 @@ const hr = $.forwardRef(
711
711
  }
712
712
  );
713
713
  hr.displayName = "ButtonSort";
714
- const Et = ({
714
+ const xt = ({
715
715
  children: e,
716
716
  fill: t,
717
717
  viewBox: r,
@@ -761,7 +761,7 @@ const $a = ({
761
761
  monotone: a,
762
762
  ...n
763
763
  }) => /* @__PURE__ */ I(
764
- Et,
764
+ xt,
765
765
  {
766
766
  defaultViewBox: "0 0 576 512",
767
767
  size: "size-5",
@@ -794,7 +794,7 @@ const $a = ({
794
794
  monotone: a,
795
795
  ...n
796
796
  }) => /* @__PURE__ */ I(
797
- Et,
797
+ xt,
798
798
  {
799
799
  defaultViewBox: "0 0 576 512",
800
800
  size: "size-5",
@@ -827,7 +827,7 @@ const $a = ({
827
827
  monotone: a,
828
828
  ...n
829
829
  }) => /* @__PURE__ */ I(
830
- Et,
830
+ xt,
831
831
  {
832
832
  defaultViewBox: "0 0 576 512",
833
833
  size: "size-5",
@@ -959,7 +959,7 @@ const be = $.createContext({
959
959
  align: a,
960
960
  ...n
961
961
  }) => {
962
- const o = U(be), s = t || (o.cellWrapper === Ve ? "th" : "td"), { mainClasses: i, alignClasses: l } = Ea({
962
+ const o = U(be), s = t || (o.cellWrapper === Ve ? "th" : "td"), { mainClasses: i, alignClasses: l } = xa({
963
963
  cellWrapper: o.cellWrapper,
964
964
  className: r,
965
965
  mode: o.mode,
@@ -981,14 +981,14 @@ const be = $.createContext({
981
981
  cellId: f,
982
982
  ...m
983
983
  }) => {
984
- const u = xa({ buttonClassName: r });
984
+ const u = Ea({ buttonClassName: r });
985
985
  return /* @__PURE__ */ d(
986
986
  Va,
987
987
  {
988
988
  component: n,
989
989
  className: a,
990
990
  role: "columnheader",
991
- "aria-sort": l === Ee.ASC && h === f ? "ascending" : l === Ee.DESC && h === f ? "descending" : "other",
991
+ "aria-sort": l === xe.ASC && h === f ? "ascending" : l === xe.DESC && h === f ? "descending" : "other",
992
992
  ...m,
993
993
  children: /* @__PURE__ */ d(
994
994
  hr,
@@ -1002,7 +1002,7 @@ const be = $.createContext({
1002
1002
  mode: s,
1003
1003
  fullWidth: !0,
1004
1004
  labelRight: t,
1005
- children: l === Ee.ASC && h === f ? /* @__PURE__ */ d(Da, { className: "size-4", monotone: !0 }) : l === Ee.DESC && h === f ? /* @__PURE__ */ d(Ma, { className: "size-4", monotone: !0 }) : /* @__PURE__ */ d($a, { className: "size-4", monotone: !0 })
1005
+ children: l === xe.ASC && h === f ? /* @__PURE__ */ d(Da, { className: "size-4", monotone: !0 }) : l === xe.DESC && h === f ? /* @__PURE__ */ d(Ma, { className: "size-4", monotone: !0 }) : /* @__PURE__ */ d($a, { className: "size-4", monotone: !0 })
1006
1006
  }
1007
1007
  )
1008
1008
  }
@@ -1024,7 +1024,7 @@ function Ua() {
1024
1024
  return Ke(Pa);
1025
1025
  }
1026
1026
  const Ha = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Ft = { randomUUID: Ha };
1027
- function xt(e, t, r) {
1027
+ function Et(e, t, r) {
1028
1028
  var n;
1029
1029
  if (Ft.randomUUID && !t && !e)
1030
1030
  return Ft.randomUUID();
@@ -1054,7 +1054,7 @@ const Fa = (e, t) => {
1054
1054
  prompts: e.prompts
1055
1055
  };
1056
1056
  }
1057
- if ((t == null ? void 0 : t.type) === xe) {
1057
+ if ((t == null ? void 0 : t.type) === Ee) {
1058
1058
  const r = t.payload.message.role, a = t.payload.message.content, n = t.payload.message.name, o = t.payload.message.processingTime, s = t.payload.message.messageId;
1059
1059
  if (r !== "") {
1060
1060
  const i = {
@@ -1105,7 +1105,7 @@ const Fa = (e, t) => {
1105
1105
  }
1106
1106
  }
1107
1107
  return (t == null ? void 0 : t.type) === ar ? {
1108
- id: xt(),
1108
+ id: Et(),
1109
1109
  model: e.model,
1110
1110
  engine: e.engine,
1111
1111
  usage: 0,
@@ -1421,35 +1421,35 @@ async function kr(...e) {
1421
1421
  };
1422
1422
  if (e.length < 3)
1423
1423
  return R();
1424
- let E = a, C;
1424
+ let x = a, C;
1425
1425
  const ee = ht();
1426
1426
  y[g] = [
1427
1427
  ee,
1428
1428
  0
1429
1429
  ];
1430
- const x = !_(l), oe = p(), H = oe.data, W = oe._c, te = _(W) ? H : W;
1431
- if (x && (l = Q(l) ? l(te, H) : l, b({
1430
+ const E = !_(l), oe = p(), H = oe.data, W = oe._c, te = _(W) ? H : W;
1431
+ if (E && (l = Q(l) ? l(te, H) : l, b({
1432
1432
  data: l,
1433
1433
  _c: te
1434
- })), Q(E))
1434
+ })), Q(x))
1435
1435
  try {
1436
- E = E(te);
1436
+ x = x(te);
1437
1437
  } catch (B) {
1438
1438
  C = B;
1439
1439
  }
1440
- if (E && fr(E))
1441
- if (E = await E.catch((B) => {
1440
+ if (x && fr(x))
1441
+ if (x = await x.catch((B) => {
1442
1442
  C = B;
1443
1443
  }), ee !== y[g][0]) {
1444
1444
  if (C) throw C;
1445
- return E;
1446
- } else C && x && h(C) && (s = !0, b({
1445
+ return x;
1446
+ } else C && E && h(C) && (s = !0, b({
1447
1447
  data: te,
1448
1448
  _c: z
1449
1449
  }));
1450
1450
  if (s && !C)
1451
1451
  if (Q(s)) {
1452
- const B = s(E, te);
1452
+ const B = s(x, te);
1453
1453
  b({
1454
1454
  data: B,
1455
1455
  error: z,
@@ -1457,7 +1457,7 @@ async function kr(...e) {
1457
1457
  });
1458
1458
  } else
1459
1459
  b({
1460
- data: E,
1460
+ data: x,
1461
1461
  error: z,
1462
1462
  _c: z
1463
1463
  });
@@ -1469,7 +1469,7 @@ async function kr(...e) {
1469
1469
  if (f) throw C;
1470
1470
  return;
1471
1471
  }
1472
- return E;
1472
+ return x;
1473
1473
  }
1474
1474
  }
1475
1475
  const Yt = (e, t) => {
@@ -1573,14 +1573,14 @@ const Yt = (e, t) => {
1573
1573
  return r(...o);
1574
1574
  const l = i[s];
1575
1575
  return _(l) ? r(...o) : (delete i[s], l);
1576
- }), a), _n = pn.concat(kn), En = (e) => function(...r) {
1576
+ }), a), _n = pn.concat(kn), xn = (e) => function(...r) {
1577
1577
  const a = vn(), [n, o, s] = bn(r), i = gn(a, s);
1578
1578
  let l = e;
1579
1579
  const { use: h } = i, f = (h || []).concat(_n);
1580
1580
  for (let m = f.length; m--; )
1581
1581
  l = f[m](l);
1582
1582
  return l(n, o || i.fetcher || null, i);
1583
- }, xn = (e, t, r) => {
1583
+ }, En = (e, t, r) => {
1584
1584
  const a = t[e] || (t[e] = []);
1585
1585
  return a.push(r), () => {
1586
1586
  const n = a.indexOf(r);
@@ -1610,7 +1610,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1610
1610
  }), rt = {
1611
1611
  dedupe: !0
1612
1612
  }, wn = (e, t, r) => {
1613
- const { cache: a, compare: n, suspense: o, fallbackData: s, revalidateOnMount: i, revalidateIfStale: l, refreshInterval: h, refreshWhenHidden: f, refreshWhenOffline: m, keepPreviousData: u } = r, [g, p, b, k] = X.get(a), [y, N] = Pe(e), A = S(!1), R = S(!1), E = S(y), C = S(t), ee = S(r), x = () => ee.current, oe = () => x().isVisible() && x().isOnline(), [H, W, te, B] = pr(a, y), j = S({}).current, me = _(s) ? _(r.fallback) ? z : r.fallback[y] : s, q = (w, v) => {
1613
+ const { cache: a, compare: n, suspense: o, fallbackData: s, revalidateOnMount: i, revalidateIfStale: l, refreshInterval: h, refreshWhenHidden: f, refreshWhenOffline: m, keepPreviousData: u } = r, [g, p, b, k] = X.get(a), [y, N] = Pe(e), A = S(!1), R = S(!1), x = S(y), C = S(t), ee = S(r), E = () => ee.current, oe = () => E().isVisible() && E().isOnline(), [H, W, te, B] = pr(a, y), j = S({}).current, me = _(s) ? _(r.fallback) ? z : r.fallback[y] : s, q = (w, v) => {
1614
1614
  for (const O in j) {
1615
1615
  const T = O;
1616
1616
  if (T === "data") {
@@ -1621,7 +1621,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1621
1621
  }
1622
1622
  return !0;
1623
1623
  }, ke = De(() => {
1624
- const w = !y || !t ? !1 : _(i) ? x().isPaused() || o ? !1 : l !== !1 : i, v = (V) => {
1624
+ const w = !y || !t ? !1 : _(i) ? E().isPaused() || o ? !1 : l !== !1 : i, v = (V) => {
1625
1625
  const ae = ue(V);
1626
1626
  return delete ae._k, w ? {
1627
1627
  isValidating: !0,
@@ -1649,13 +1649,13 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1649
1649
  a,
1650
1650
  y
1651
1651
  ]
1652
- ), ke[0], ke[1]), se = !A.current, Ne = g[y] && g[y].length > 0, ie = K.data, re = _(ie) ? me && fr(me) ? tt(me) : me : ie, pe = K.error, Re = S(re), ge = u ? _(ie) ? Re.current : ie : re, Ce = Ne && !_(pe) ? !1 : se && !_(i) ? i : x().isPaused() ? !1 : o ? _(re) ? !1 : l : _(re) || l, J = !!(y && t && se && Ce), Y = _(K.isValidating) ? J : K.isValidating, We = _(K.isLoading) ? J : K.isLoading, he = Z(
1652
+ ), ke[0], ke[1]), se = !A.current, Ne = g[y] && g[y].length > 0, ie = K.data, re = _(ie) ? me && fr(me) ? tt(me) : me : ie, pe = K.error, Re = S(re), ge = u ? _(ie) ? Re.current : ie : re, Ce = Ne && !_(pe) ? !1 : se && !_(i) ? i : E().isPaused() ? !1 : o ? _(re) ? !1 : l : _(re) || l, J = !!(y && t && se && Ce), Y = _(K.isValidating) ? J : K.isValidating, We = _(K.isLoading) ? J : K.isLoading, he = Z(
1653
1653
  async (w) => {
1654
1654
  const v = C.current;
1655
- if (!y || !v || R.current || x().isPaused())
1655
+ if (!y || !v || R.current || E().isPaused())
1656
1656
  return !1;
1657
1657
  let O, T, P = !0;
1658
- const ce = w || {}, M = !b[y] || !ce.dedupe, V = () => Kt ? !R.current && y === E.current && A.current : y === E.current, ae = {
1658
+ const ce = w || {}, M = !b[y] || !ce.dedupe, V = () => Kt ? !R.current && y === x.current && A.current : y === x.current, ae = {
1659
1659
  isValidating: !1,
1660
1660
  isLoading: !1
1661
1661
  }, Ot = () => {
@@ -1669,25 +1669,25 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1669
1669
  _(H().data) && (Bt.isLoading = !0);
1670
1670
  try {
1671
1671
  if (M && (W(Bt), r.loadingTimeout && _(H().data) && setTimeout(() => {
1672
- P && V() && x().onLoadingSlow(y, r);
1672
+ P && V() && E().onLoadingSlow(y, r);
1673
1673
  }, r.loadingTimeout), b[y] = [
1674
1674
  v(N),
1675
1675
  ht()
1676
1676
  ]), [O, T] = b[y], O = await O, M && setTimeout(Lt, r.dedupingInterval), !b[y] || b[y][1] !== T)
1677
- return M && V() && x().onDiscarded(y), !1;
1677
+ return M && V() && E().onDiscarded(y), !1;
1678
1678
  ae.error = z;
1679
1679
  const F = p[y];
1680
1680
  if (!_(F) && // case 1
1681
1681
  (T <= F[0] || // case 2
1682
1682
  T <= F[1] || // case 3
1683
1683
  F[1] === 0))
1684
- return Ot(), M && V() && x().onDiscarded(y), !1;
1684
+ return Ot(), M && V() && E().onDiscarded(y), !1;
1685
1685
  const ne = H().data;
1686
- ae.data = n(ne, O) ? ne : O, M && V() && x().onSuccess(O, y, r);
1686
+ ae.data = n(ne, O) ? ne : O, M && V() && E().onSuccess(O, y, r);
1687
1687
  } catch (F) {
1688
1688
  Lt();
1689
- const ne = x(), { shouldRetryOnError: je } = ne;
1690
- ne.isPaused() || (ae.error = F, M && V() && (ne.onError(F, y, ne), (je === !0 || Q(je) && je(F)) && (!x().revalidateOnFocus || !x().revalidateOnReconnect || oe()) && ne.onErrorRetry(F, y, ne, (Dr) => {
1689
+ const ne = E(), { shouldRetryOnError: je } = ne;
1690
+ ne.isPaused() || (ae.error = F, M && V() && (ne.onError(F, y, ne), (je === !0 || Q(je) && je(F)) && (!E().revalidateOnFocus || !E().revalidateOnReconnect || oe()) && ne.onErrorRetry(F, y, ne, (Dr) => {
1691
1691
  const qe = g[y];
1692
1692
  qe && qe[0] && qe[0](_e.ERROR_REVALIDATE_EVENT, Dr);
1693
1693
  }, {
@@ -1714,7 +1714,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1714
1714
  ]
1715
1715
  ), Ie = Z(
1716
1716
  // Use callback to make sure `keyRef.current` returns latest result every time
1717
- (...w) => kr(a, E.current, ...w),
1717
+ (...w) => kr(a, x.current, ...w),
1718
1718
  // eslint-disable-next-line react-hooks/exhaustive-deps
1719
1719
  []
1720
1720
  );
@@ -1724,12 +1724,12 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1724
1724
  if (!y) return;
1725
1725
  const w = he.bind(z, rt);
1726
1726
  let v = 0;
1727
- const T = xn(y, g, (P, ce = {}) => {
1727
+ const T = En(y, g, (P, ce = {}) => {
1728
1728
  if (P == _e.FOCUS_EVENT) {
1729
1729
  const M = Date.now();
1730
- x().revalidateOnFocus && M > v && oe() && (v = M + x().focusThrottleInterval, w());
1730
+ E().revalidateOnFocus && M > v && oe() && (v = M + E().focusThrottleInterval, w());
1731
1731
  } else if (P == _e.RECONNECT_EVENT)
1732
- x().revalidateOnReconnect && oe() && w();
1732
+ E().revalidateOnReconnect && oe() && w();
1733
1733
  else {
1734
1734
  if (P == _e.MUTATE_EVENT)
1735
1735
  return he();
@@ -1737,7 +1737,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1737
1737
  return he(ce);
1738
1738
  }
1739
1739
  });
1740
- return R.current = !1, E.current = y, A.current = !0, W({
1740
+ return R.current = !1, x.current = y, A.current = !0, W({
1741
1741
  _k: N
1742
1742
  }), Ce && (_(re) || Te ? w() : an(w)), () => {
1743
1743
  R.current = !0, T();
@@ -1751,7 +1751,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1751
1751
  T && w !== -1 && (w = setTimeout(O, T));
1752
1752
  }
1753
1753
  function O() {
1754
- !H().error && (f || x().isVisible()) && (m || x().isOnline()) ? he(rt).then(v) : v();
1754
+ !H().error && (f || E().isVisible()) && (m || E().isOnline()) ? he(rt).then(v) : v();
1755
1755
  }
1756
1756
  return v(), () => {
1757
1757
  w && (clearTimeout(w), w = -1);
@@ -1791,7 +1791,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1791
1791
  return j.isLoading = !0, We;
1792
1792
  }
1793
1793
  };
1794
- }, Sn = En(wn), le = {
1794
+ }, Sn = xn(wn), le = {
1795
1795
  GET_LOCATION: `query GetLocation($latitude: Float!, $longitude: Float!) {
1796
1796
  location(latitude: $latitude, longitude: $longitude) {
1797
1797
  country
@@ -1915,11 +1915,11 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1915
1915
  schema: le.SET_USER_PREFERENCES,
1916
1916
  method: "setUserPreferences"
1917
1917
  }
1918
- }, Er = process.env.PUBLIC_SASSY_API_SERVER_URL, Tn = async ({
1918
+ }, xr = process.env.PUBLIC_SASSY_API_SERVER_URL, Tn = async ({
1919
1919
  query: e,
1920
1920
  data: t,
1921
1921
  headers: r = {}
1922
- }) => await fetch(`${Er}/graphql`, {
1922
+ }) => await fetch(`${xr}/graphql`, {
1923
1923
  method: "POST",
1924
1924
  credentials: "include",
1925
1925
  headers: {
@@ -1963,7 +1963,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1963
1963
  method: a = "POST"
1964
1964
  }) => {
1965
1965
  const n = `Bearer ${e}`;
1966
- return await fetch(`${Er}/api/${t}`, {
1966
+ return await fetch(`${xr}/api/${t}`, {
1967
1967
  method: a,
1968
1968
  credentials: "include",
1969
1969
  headers: {
@@ -1998,7 +1998,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
1998
1998
  if (n.status === 200 && n.errors === void 0)
1999
1999
  return n.data;
2000
2000
  throw new Error("An error occurred while fetching the data.");
2001
- }, xr = async ([e, t], r) => Fe({
2001
+ }, Er = async ([e, t], r) => Fe({
2002
2002
  getAccessToken: r,
2003
2003
  type: Ue.GET_USER_PREFERENCES,
2004
2004
  params: {
@@ -2008,7 +2008,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
2008
2008
  keys: e,
2009
2009
  getAccessToken: t
2010
2010
  }) => He({
2011
- fetcher: xr,
2011
+ fetcher: Er,
2012
2012
  scope: "/preferences",
2013
2013
  keys: e,
2014
2014
  swrOptions: { keepPreviousData: !0 },
@@ -2019,7 +2019,7 @@ const tt = $.use || // This extra generic is to avoid TypeScript mixing up the g
2019
2019
  }) => {
2020
2020
  Tt(
2021
2021
  ["/preferences", ...e],
2022
- (r) => xr(r, t)
2022
+ (r) => Er(r, t)
2023
2023
  );
2024
2024
  }, An = async ([e, t], r) => Fe({
2025
2025
  getAccessToken: r,
@@ -2486,10 +2486,10 @@ const Kn = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
2486
2486
  onChange: N,
2487
2487
  onFocus: A,
2488
2488
  onBlur: R,
2489
- ...E
2489
+ ...x
2490
2490
  }, C) => {
2491
2491
  var ee;
2492
- const x = S(null), oe = zn([C, x]), [H, W] = Xt(), [te, B] = Xt(), j = S(80), me = S(-25), q = S(null), ke = S(30), K = S(null), se = Hn({ id: e, prefix: `${Tr}-` }), [Ne, ie] = G(0), [re, pe] = G(0), [Re, ge] = G(
2492
+ const E = S(null), oe = zn([C, E]), [H, W] = Xt(), [te, B] = Xt(), j = S(80), me = S(-25), q = S(null), ke = S(30), K = S(null), se = Hn({ id: e, prefix: `${Tr}-` }), [Ne, ie] = G(0), [re, pe] = G(0), [Re, ge] = G(
2493
2493
  !!(!b && p)
2494
2494
  ), Ce = `${t} error, ${p}`, J = eo({
2495
2495
  className: o,
@@ -2525,7 +2525,7 @@ const Kn = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
2525
2525
  }, [W]), fe(() => {
2526
2526
  B && B.width && pe(B.width + 18 + 10);
2527
2527
  }, [B]), fe(() => {
2528
- n || x && x.current && Y !== void 0 && (x.current.style.height = "inherit", x.current.style.height = x.current.scrollHeight + "px");
2528
+ n || E && E.current && Y !== void 0 && (E.current.style.height = "inherit", E.current.style.height = E.current.scrollHeight + "px");
2529
2529
  }, [Y, n]), fe(() => {
2530
2530
  n || setTimeout(() => {
2531
2531
  var v;
@@ -2536,9 +2536,9 @@ const Kn = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
2536
2536
  }, 0);
2537
2537
  }, [Y, n]), fe(() => {
2538
2538
  var v, O;
2539
- if (!n && x && x.current && Y !== void 0) {
2539
+ if (!n && E && E.current && Y !== void 0) {
2540
2540
  const { labelOffset: T, helperTextOffset: P, scrollHeight: ce } = to({
2541
- scrollHeight: x.current.scrollHeight,
2541
+ scrollHeight: E.current.scrollHeight,
2542
2542
  currentHeight: j.current,
2543
2543
  currentLabelOffset: me.current,
2544
2544
  currentHelperTextOffset: ke.current
@@ -2596,7 +2596,7 @@ const Kn = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
2596
2596
  onChange: he,
2597
2597
  onFocus: Ie,
2598
2598
  onBlur: w,
2599
- ...E
2599
+ ...x
2600
2600
  }
2601
2601
  ),
2602
2602
  !n && /* @__PURE__ */ d(
@@ -2665,7 +2665,7 @@ const ro = ({
2665
2665
  });
2666
2666
  }, Zt = (e) => {
2667
2667
  $e(e, !1), e({
2668
- type: xe,
2668
+ type: Ee,
2669
2669
  payload: {
2670
2670
  message: {
2671
2671
  role: vt,
@@ -2699,7 +2699,7 @@ const ro = ({
2699
2699
  }
2700
2700
  });
2701
2701
  if (g && g.ok) {
2702
- const p = xt();
2702
+ const p = Et();
2703
2703
  h.current = g.body.getReader();
2704
2704
  const b = new TextDecoder();
2705
2705
  for (; ; ) {
@@ -2711,31 +2711,31 @@ const ro = ({
2711
2711
  }
2712
2712
  const N = b.decode(y, { stream: !0 }), A = N.indexOf($t);
2713
2713
  if (A !== -1) {
2714
- const R = N.substring(0, A), E = JSON.parse(
2714
+ const R = N.substring(0, A), x = JSON.parse(
2715
2715
  N.substring(A + $t.length)
2716
2716
  );
2717
2717
  t({
2718
2718
  type: nr,
2719
2719
  payload: {
2720
- model: E.model,
2721
- usage: E.usage
2720
+ model: x.model,
2721
+ usage: x.usage
2722
2722
  }
2723
2723
  }), t({
2724
- type: xe,
2724
+ type: Ee,
2725
2725
  payload: {
2726
2726
  message: {
2727
2727
  content: R,
2728
2728
  role: we,
2729
2729
  messageId: p,
2730
- processingTime: E.processingTime,
2731
- name: E.name
2730
+ processingTime: x.processingTime,
2731
+ name: x.name
2732
2732
  }
2733
2733
  }
2734
2734
  }), $e(t, !1);
2735
2735
  break;
2736
2736
  } else
2737
2737
  t({
2738
- type: xe,
2738
+ type: Ee,
2739
2739
  payload: {
2740
2740
  message: {
2741
2741
  content: N,
@@ -2754,7 +2754,7 @@ const ro = ({
2754
2754
  }, [e == null ? void 0 : e.messages]);
2755
2755
  const f = async (m) => {
2756
2756
  m.preventDefault(), t({
2757
- type: xe,
2757
+ type: Ee,
2758
2758
  payload: {
2759
2759
  message: {
2760
2760
  role: nt,
@@ -2773,7 +2773,7 @@ const ro = ({
2773
2773
  });
2774
2774
  }
2775
2775
  }, [r, a]), L(() => {
2776
- e && e.usage === 0 && e.messages.length === 0 && l.current && l.current.focus();
2776
+ e && e.usage === 0 && e.messages.length === 0 && (o(""), l.current && l.current.focus());
2777
2777
  }, [e]), /* @__PURE__ */ d(yt, { children: /* @__PURE__ */ d("form", { className: "mt-2", onSubmit: f, children: /* @__PURE__ */ d(
2778
2778
  Cr,
2779
2779
  {
@@ -2841,7 +2841,7 @@ const ro = ({
2841
2841
  "footer",
2842
2842
  {
2843
2843
  className: c(
2844
- "md:mx-auto md:max-w-4xl w-11/12 fixed left-1/2 transform -translate-x-1/2 z-1000",
2844
+ "px-2 sm:px-0 md:mx-auto md:max-w-4xl w-full fixed left-1/2 transform -translate-x-1/2 z-1000",
2845
2845
  a
2846
2846
  ),
2847
2847
  children: [
@@ -3184,7 +3184,7 @@ const Or = $.forwardRef(
3184
3184
  align: b,
3185
3185
  radius: k,
3186
3186
  variant: y
3187
- }), E = c({
3187
+ }), x = c({
3188
3188
  "text-copy-accent-dark": r === "light" && !i,
3189
3189
  "text-copy-light": r === "dark" && !i,
3190
3190
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -3201,7 +3201,7 @@ const Or = $.forwardRef(
3201
3201
  ...N,
3202
3202
  children: [
3203
3203
  g && /* @__PURE__ */ d("span", { className: "pr-2", children: g }),
3204
- /* @__PURE__ */ d("div", { className: E, children: e }),
3204
+ /* @__PURE__ */ d("div", { className: x, children: e }),
3205
3205
  u && /* @__PURE__ */ d("span", { className: "pl-2", children: u })
3206
3206
  ]
3207
3207
  }
@@ -3259,7 +3259,7 @@ const bo = $.forwardRef(
3259
3259
  noBackground: p,
3260
3260
  align: b,
3261
3261
  radius: y
3262
- }), E = c({
3262
+ }), x = c({
3263
3263
  "text-copy-accent-dark": r === "light" && !i,
3264
3264
  "text-copy-light": r === "dark" && !i,
3265
3265
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -3292,7 +3292,7 @@ const bo = $.forwardRef(
3292
3292
  ...N,
3293
3293
  children: [
3294
3294
  g && /* @__PURE__ */ d("span", { className: "pr-2", children: g }),
3295
- /* @__PURE__ */ d("div", { className: E, children: e }),
3295
+ /* @__PURE__ */ d("div", { className: x, children: e }),
3296
3296
  u && /* @__PURE__ */ d("span", { className: "pl-2", children: u })
3297
3297
  ]
3298
3298
  }
@@ -3413,10 +3413,10 @@ const _o = ({
3413
3413
  }) => c("p-4", {
3414
3414
  "max-w-xs sm:max-w-md md:max-w-2xl": !t,
3415
3415
  "lg:max-w-3xl": e === "left" && !t
3416
- }), Eo = ({ kind: e }) => c({
3416
+ }), xo = ({ kind: e }) => c({
3417
3417
  "bg-surface-lighter dark:bg-surface-dark": e === "left",
3418
3418
  "bg-surface-accent": e === "right"
3419
- }), xo = ({ kind: e }) => c(
3419
+ }), Eo = ({ kind: e }) => c(
3420
3420
  "prose prose-dark dark:prose-lighter prose-p:my-3 prose-blockquote:my-3 prose-ol:my-3 prose-ul:my-3 prose-ul:prose-li:marker:text-black",
3421
3421
  {
3422
3422
  "text-copy-lighter": e === "right"
@@ -3439,8 +3439,8 @@ const _o = ({
3439
3439
  ), n = c(
3440
3440
  "flex flex-col empty:hidden",
3441
3441
  _o({ kind: e, noMaxWidth: r }),
3442
- xo({ kind: e }),
3443
3442
  Eo({ kind: e }),
3443
+ xo({ kind: e }),
3444
3444
  wo({ kind: e })
3445
3445
  ), o = "pr-2 pt-1 text-end text-xs text-copy-light", s = c("flex flex-col-reverse gap-2 sm:flex-row", {
3446
3446
  "ml-2": e === "left",
@@ -3873,7 +3873,7 @@ const Do = $.forwardRef(
3873
3873
  noBackground: p,
3874
3874
  align: b,
3875
3875
  radius: y
3876
- }), E = c({
3876
+ }), x = c({
3877
3877
  "text-copy-accent-dark": r === "light" && !i,
3878
3878
  "text-copy-light": r === "dark" && !i,
3879
3879
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -3906,7 +3906,7 @@ const Do = $.forwardRef(
3906
3906
  ...N,
3907
3907
  children: [
3908
3908
  g && /* @__PURE__ */ d("span", { className: "pr-2", children: g }),
3909
- /* @__PURE__ */ d("div", { className: E, children: e }),
3909
+ /* @__PURE__ */ d("div", { className: x, children: e }),
3910
3910
  u && /* @__PURE__ */ d("span", { className: "pl-2", children: u })
3911
3911
  ]
3912
3912
  }
@@ -3973,7 +3973,7 @@ try {
3973
3973
  const rr = dr(
3974
3974
  () => import(
3975
3975
  /* webpackChunkName: "LazyMessageAssistant" */
3976
- "./MessageAssistant.Dknim93I.js"
3976
+ "./MessageAssistant.iJ_Zcs4X.js"
3977
3977
  ).then((e) => e.MessageAssistant)
3978
3978
  ), Uo = () => {
3979
3979
  const { state: e } = U(ve);
@@ -4051,7 +4051,7 @@ const rr = dr(
4051
4051
  }, Fo = dr(
4052
4052
  () => import(
4053
4053
  /* webpackChunkName: "LazyHeader" */
4054
- "./HeaderToolbar.KloFL3xh.js"
4054
+ "./HeaderToolbar.uJUm-tb1.js"
4055
4055
  )
4056
4056
  );
4057
4057
  function Mr({ isComponent: e = !1 }) {
@@ -4060,9 +4060,9 @@ function Mr({ isComponent: e = !1 }) {
4060
4060
  initialValue: ""
4061
4061
  }), [n] = Ut({
4062
4062
  key: Vt + Zr,
4063
- initialValue: Ee.ASC
4063
+ initialValue: xe.ASC
4064
4064
  }), [o, s] = Be(Fa, {
4065
- id: xt(),
4065
+ id: Et(),
4066
4066
  model: Se,
4067
4067
  engine: Se,
4068
4068
  usage: 0,
@@ -4143,7 +4143,7 @@ export {
4143
4143
  ro as NewChatButton,
4144
4144
  Ue as SERVICE_TYPES,
4145
4145
  Yo as be,
4146
- Ee as f,
4146
+ xe as f,
4147
4147
  Ko as ge,
4148
4148
  Jo as he,
4149
4149
  Va as ie,
@@ -1,10 +1,10 @@
1
1
  import { jsx as t, jsxs as m, Fragment as z } from "react/jsx-runtime";
2
- import { g as M, un as P, R as B, CARDS as C, renderDataAsList as ie, pluralize as de, ABOUT_TITLE as lt, L as H, j as _, C as U, INFINITE_SCROLL_LIMIT as Le, INFINITE_SCROLL_THRESHOLD as ze, LOCAL_STORAGE_PREFIX as oe, LOCAL_STORAGE_SORT as ct, P as W, ACTION_RESET as De, ACTION_RESTORE as it, ACTION_SORT as Me, LOCAL_STORAGE_SEARCH as dt, HISTORY_TITLE as mt, ye, ACTION_SEARCH as ht, debounce as ut, M as gt, z as Re, durationFormatter as pt, PROFILE_TITLE as ft, PROMPTS_DESCRIPTION as bt, DEFAULT_AI_ENGINE as yt, LOCAL_STORAGE_ENGINE_TOGGLE as Ve, LOCAL_STORAGE_CHAT_DETAILS as kt, SETTINGS_TITLE as vt, ENGINE_OPENAI as F, ENGINE_ANTHROPIC as D, APP_NAME as Nt, getCurrentGeoLocation as xt, LOG_OUT as Ae } from "./index.DbvpSzKK.js";
2
+ import { g as M, un as P, R as B, CARDS as C, renderDataAsList as ie, pluralize as de, ABOUT_TITLE as lt, L as H, j as _, C as U, INFINITE_SCROLL_LIMIT as Le, INFINITE_SCROLL_THRESHOLD as ze, LOCAL_STORAGE_PREFIX as oe, LOCAL_STORAGE_SORT as ct, P as W, ACTION_RESET as De, ACTION_RESTORE as it, ACTION_SORT as Me, LOCAL_STORAGE_SEARCH as dt, HISTORY_TITLE as mt, ye, ACTION_SEARCH as ht, debounce as ut, M as gt, z as Re, durationFormatter as pt, PROFILE_TITLE as ft, PROMPTS_DESCRIPTION as bt, DEFAULT_AI_ENGINE as yt, LOCAL_STORAGE_ENGINE_TOGGLE as Ve, LOCAL_STORAGE_CHAT_DETAILS as kt, SETTINGS_TITLE as vt, ENGINE_OPENAI as F, ENGINE_ANTHROPIC as D, APP_NAME as Nt, getCurrentGeoLocation as xt, LOG_OUT as Ae } from "./index.BaqfJtBN.js";
3
3
  import * as I from "react";
4
4
  import he, { useId as we, forwardRef as Ue, useState as E, useRef as Y, useContext as K, useEffect as G, useCallback as wt, Fragment as Ct } from "react";
5
5
  import u from "clsx";
6
6
  import { useFloatingTree as He, useFloatingNodeId as Et, useListItem as Ge, useFloating as je, offset as It, flip as Tt, shift as St, autoUpdate as _t, useClick as We, useRole as Ye, useDismiss as Ke, useListNavigation as Lt, useTypeahead as zt, useInteractions as Ze, useMergeRefs as Ce, FloatingNode as Mt, FloatingList as Rt, FloatingPortal as qe, FloatingFocusManager as Qe, FloatingTree as At, FloatingOverlay as Bt } from "@floating-ui/react";
7
- import { useServerCapabilities as Pt, HistoryContext as Xe, E as re, ge as Ot, he as $t, ue as be, ie as R, ye as Ft, me as Dt, be as Vt, serviceCall as Z, SERVICE_TYPES as q, f as ee, AppContext as Ee, useChatsHistory as Ut, useUserChatStats as Ht, useUserPreferences as Ie, Fe as Be, NewChatButton as Gt } from "./App.IeJvle-0.js";
7
+ import { useServerCapabilities as Pt, HistoryContext as Xe, E as re, ge as Ot, he as $t, ue as be, ie as R, ye as Ft, me as Dt, be as Vt, serviceCall as Z, SERVICE_TYPES as q, f as ee, AppContext as Ee, useChatsHistory as Ut, useUserChatStats as Ht, useUserPreferences as Ie, Fe as Be, NewChatButton as Gt } from "./App.DyeWL8AM.js";
8
8
  const ke = ({
9
9
  className: e,
10
10
  viewBox: o,
@@ -1215,8 +1215,8 @@ const te = "panel", ce = "messagebox", Na = ({
1215
1215
  header: C.ABOUT.TITLE_CLIENT,
1216
1216
  className: "prose-dark dark:prose-lighter",
1217
1217
  children: ie(o, {
1218
- [C.ABOUT.VERSION]: "5.19.13",
1219
- [C.ABOUT.BUILD_TIMESTAMP]: "01/07/2025 04:59 PM EST"
1218
+ [C.ABOUT.VERSION]: "5.19.15",
1219
+ [C.ABOUT.BUILD_TIMESTAMP]: "01/07/2025 08:06 PM EST"
1220
1220
  })
1221
1221
  }
1222
1222
  ) }),
@@ -1,6 +1,6 @@
1
1
  import { jsx as We, jsxs as P0, Fragment as Sa } from "react/jsx-runtime";
2
- import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as Ns, parse as Sn, parse$1 as Nn, normalize as kn, svg as ks, html as Ts, visitParents as Ms, SKIP as As, longestStreak as Os, factorySpace as xr, markdownLineEnding as $t, Markdown as Rs, remarkGfm as Cs } from "./MessageAssistant.Dknim93I.js";
3
- import { P as Is, L as Ds, j as Ls } from "./index.DbvpSzKK.js";
2
+ import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as Ns, parse as Sn, parse$1 as Nn, normalize as kn, svg as ks, html as Ts, visitParents as Ms, SKIP as As, longestStreak as Os, factorySpace as xr, markdownLineEnding as $t, Markdown as Rs, remarkGfm as Cs } from "./MessageAssistant.iJ_Zcs4X.js";
3
+ import { P as Is, L as Ds, j as Ls } from "./index.BaqfJtBN.js";
4
4
  import Bs, { useState as zs, useEffect as Ps } from "react";
5
5
  import Fs from "clsx";
6
6
  const ka = ({
@@ -1,8 +1,8 @@
1
1
  import { jsxs as Ye, jsx as re, Fragment as Jt } from "react/jsx-runtime";
2
- import { AppContext as pi, E as hi, le as at } from "./App.IeJvle-0.js";
2
+ import { AppContext as pi, E as hi, le as at } from "./App.DyeWL8AM.js";
3
3
  import sn from "clsx";
4
4
  import { lazy as mi, useContext as gi, Suspense as di } from "react";
5
- import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.DbvpSzKK.js";
5
+ import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.BaqfJtBN.js";
6
6
  function Zt(e) {
7
7
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
8
8
  }
@@ -8654,7 +8654,7 @@ function Uc(e) {
8654
8654
  const qc = mi(
8655
8655
  () => import(
8656
8656
  /* webpackChunkName: "LazyMarkdownWithExtra" */
8657
- "./MarkdownWithExtra.CthzIB3B.js"
8657
+ "./MarkdownWithExtra.CLkNRAnW.js"
8658
8658
  )
8659
8659
  ), Tn = {
8660
8660
  MODEL: "Model",
@@ -3693,7 +3693,7 @@ const Hn = "ASK! ME! ANYTHING!", Wn = "Callisto", Bn = "Log in", Gn = "Sign in w
3693
3693
  ) });
3694
3694
  }, zn = new URL(document.location.href).searchParams, Fn = !!zn.get("debug") || !1, jn = or(() => import(
3695
3695
  /* webpackChunkName: "LazyApp" */
3696
- "./App.IeJvle-0.js"
3696
+ "./App.DyeWL8AM.js"
3697
3697
  ).then((e) => e.App)), qn = ({ isComponent: e }) => {
3698
3698
  const { isAuthenticated: t } = jt();
3699
3699
  return t ? /* @__PURE__ */ l(sr, { fallback: /* @__PURE__ */ l("div", {}), children: /* @__PURE__ */ l(jn, { isComponent: e }) }) : /* @__PURE__ */ l(Yn, {});
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.DbvpSzKK.js";
2
+ import { SassySaint as a } from "../../chunks/index.BaqfJtBN.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.DbvpSzKK.js";
1
+ import { SassySaint as r } from "./chunks/index.BaqfJtBN.js";
2
2
  /*!
3
- @sassysaint/client v5.19.13
3
+ @sassysaint/client v5.19.15
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "5.19.13",
9
- buildTime: "01/07/2025 04:59 PM EST",
8
+ version: "5.19.15",
9
+ buildTime: "01/07/2025 08:06 PM EST",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint",
3
- "version": "5.5.27",
3
+ "version": "5.5.29",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@
30
30
  "react-dom": "^18.3.1 || ^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "5.19.13",
33
+ "@sassysaint/client": "5.19.15",
34
34
  "@versini/ui-styles": "3.1.0"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "7cc0cfcd6d7506ea71c2333506b33c525de51eb4"
44
+ "gitHead": "b912c1dcfeb0ba28ebc269e6a4ebb313d7069f77"
45
45
  }