@versini/sassysaint 8.84.0 → 8.85.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 (26) hide show
  1. package/dist/chunks/{AboutChangelog.DZGAHTt1.js → AboutChangelog.Cmviu4q-.js} +3 -3
  2. package/dist/chunks/{AboutEntry.attDhr6o.js → AboutEntry.Hi0jo6Cb.js} +5 -5
  3. package/dist/chunks/{App.D5dFnMgi.js → App.B6stoZHi.js} +823 -820
  4. package/dist/chunks/{Chart.BorMOymc.js → Chart.-Zf5n2lJ.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.C8Hj4aUT.js → ChatBubbleAssistant.CJ9ZlMsQ.js} +10 -10
  6. package/dist/chunks/{ChatBubbleUser.dsKIG0uQ.js → ChatBubbleUser.DrAvgLQQ.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.CZoqrM3Q.js → ChatHistoryTable.lIRb_XTS.js} +12 -12
  8. package/dist/chunks/{HistoryEntry.Bwj5sP0d.js → HistoryEntry.BkHfgtzh.js} +27 -27
  9. package/dist/chunks/{ProfileEntry.C7jF-C7h.js → ProfileEntry.BuGuaJZ7.js} +5 -5
  10. package/dist/chunks/{SettingsEntry.YOmhRpCr.js → SettingsEntry.C5p3uHQS.js} +21 -21
  11. package/dist/chunks/{UsageEntry.CuuhnKaa.js → UsageEntry.BR0TAHBi.js} +7 -7
  12. package/dist/chunks/{UserMemoriesPanel.DHYQrBf3.js → UserMemoriesPanel.I6TEjRS_.js} +9 -9
  13. package/dist/chunks/{index.CZGr8f9z.js → index.-hZzCrDt.js} +1 -1
  14. package/dist/chunks/{index.DtdQADPo.js → index.CMqrKzc1.js} +1 -1
  15. package/dist/chunks/{index.CIkuBITJ.js → index.DrgEENCo.js} +1 -1
  16. package/dist/chunks/{index.xkx1XY3w.js → index.DuJhOApx.js} +1 -1
  17. package/dist/chunks/{index.CB38V3Ui.js → index.Hwof3Goa.js} +1217 -1271
  18. package/dist/chunks/{index.DYbaR-WD.js → index.ZEvOt3IK.js} +2 -2
  19. package/dist/chunks/{index.B-uWa0B5.js → index.f-Tyvnqq.js} +1 -1
  20. package/dist/chunks/{index.Ch3LqJXc.js → index.mKL_Oq89.js} +1 -1
  21. package/dist/chunks/{index.B-hcQUrf.js → index.oca08k9S.js} +3 -3
  22. package/dist/chunks/{useMarkdown.B4zM1uwe.js → useMarkdown.DSduoaoO.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +1 -1
  26. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  import { jsx as Ap } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.D5dFnMgi.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.B6stoZHi.js";
3
3
  import Cp, { useState as Pp, useEffect as Op } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.CB38V3Ui.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.Hwof3Goa.js";
5
5
  var ls = { exports: {} }, Ip = ls.exports, on;
6
6
  function Dp() {
7
7
  return on || (on = 1, (function(we, he) {
@@ -1,14 +1,14 @@
1
1
  import { jsx as x } from "react/jsx-runtime";
2
- import { ChatContext as P, AppContext as R, n as y, useUserPreferences as L, convertCamelCaseToReadable as _, numberFormatter as v, pluralize as B, Q as G } from "./index.CB38V3Ui.js";
3
- import { BUBBLE_FOOTER_EMPTY as D } from "./index.Ch3LqJXc.js";
2
+ import { ChatContext as P, AppContext as R, n as y, useUserPreferences as L, convertCamelCaseToReadable as _, numberFormatter as v, pluralize as B, O as G } from "./index.Hwof3Goa.js";
3
+ import { BUBBLE_FOOTER_EMPTY as D } from "./index.mKL_Oq89.js";
4
4
  import U from "clsx";
5
- import j, { useState as M, useRef as E, useEffect as F, useContext as S } from "react";
6
- import { AsyncBubble as k } from "./App.D5dFnMgi.js";
7
- import { useMarkdown as q } from "./useMarkdown.B4zM1uwe.js";
5
+ import j, { useState as M, useRef as E, useEffect as O, useContext as S } from "react";
6
+ import { AsyncBubble as k } from "./App.B6stoZHi.js";
7
+ import { useMarkdown as q } from "./useMarkdown.DSduoaoO.js";
8
8
  const I = 2, W = I * 1e3, b = "", V = (e) => e * (2 - e);
9
9
  function Y(e, n = !0) {
10
10
  const [a, d] = M(0), [i, p] = M(0), [t, C] = M(e), r = E(0), s = E(0);
11
- return t !== e && (C(e), p(e.startsWith(t) ? a : 0)), F(() => {
11
+ return t !== e && (C(e), p(e.startsWith(t) ? a : 0)), O(() => {
12
12
  if (!n)
13
13
  return;
14
14
  const g = e.split(b).length, c = (o) => {
@@ -38,17 +38,17 @@ const f = {
38
38
  state: { streaming: C, restoredModel: r, tokenUsage: s }
39
39
  } = S(P), {
40
40
  state: { fullScreen: g }
41
- } = S(R), c = n?.model || r, o = s, [u, l] = q(), { user: h, getAccessToken: T } = y(), { data: N } = L({
41
+ } = S(R), c = n?.model || r, o = s, [u, l] = q(), { user: h, getAccessToken: T } = y(), { data: F } = L({
42
42
  user: h?.username,
43
43
  getAccessToken: T
44
- }), O = N?.showDetails || !1, A = U("prose-li:ps-3", {
44
+ }), N = F?.showDetails || !1, A = U("prose-li:ps-3", {
45
45
  "max-w-xs sm:max-w-3xl": !g
46
46
  });
47
47
  let m;
48
- return O && (m = {
48
+ return N && (m = {
49
49
  [f.MODEL]: c || null,
50
50
  [f.PLUGIN]: a ? _(a) : null
51
- }, o && (p ? m[f.USAGE] = `${v.format(o)} ${B("token", o)}` : m[f.USAGE] = D)), F(() => {
51
+ }, o && (p ? m[f.USAGE] = `${v.format(o)} ${B("token", o)}` : m[f.USAGE] = D)), O(() => {
52
52
  t && l(t);
53
53
  }, [t, l]), d === G ? /* @__PURE__ */ x(
54
54
  k,
@@ -1,8 +1,8 @@
1
1
  import { jsx as a, Fragment as h, jsxs as S } from "react/jsx-runtime";
2
- import { Button as C } from "./index.CB38V3Ui.js";
2
+ import { Button as C } from "./index.Hwof3Goa.js";
3
3
  import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
4
- import { AsyncBubble as w } from "./App.D5dFnMgi.js";
5
- import { useMarkdown as x } from "./useMarkdown.B4zM1uwe.js";
4
+ import { AsyncBubble as w } from "./App.B6stoZHi.js";
5
+ import { useMarkdown as x } from "./useMarkdown.DSduoaoO.js";
6
6
  /*!
7
7
  @versini/ui-truncate v5.2.0
8
8
  © 2025 gizmette.com
@@ -1,7 +1,7 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { f as x, h as u, INFINITE_SCROLL_THRESHOLD as v, CARDS as I, pluralize as f, ButtonIcon as i, IconRestore as U, IconStarInCircle as y, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.CB38V3Ui.js";
3
- import { W as P, j as $, G as m, H as B, M as a, F as M } from "./index.CZGr8f9z.js";
4
- import { Tooltip as d } from "./App.D5dFnMgi.js";
2
+ import { B as x, k as u, INFINITE_SCROLL_THRESHOLD as v, CARDS as I, pluralize as M, ButtonIcon as i, IconRestore as U, IconStarInCircle as y, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.Hwof3Goa.js";
3
+ import { W as B, j as P, G as m, H as $, M as a, F as f } from "./index.-hZzCrDt.js";
4
+ import { Tooltip as d } from "./App.B6stoZHi.js";
5
5
  import h from "clsx";
6
6
  import { Fragment as W } from "react";
7
7
  const s = {
@@ -34,13 +34,13 @@ const s = {
34
34
  totalHistoryCount: b,
35
35
  isFiltered: R = !1
36
36
  }) => {
37
- const C = _() ? Y : G, w = (t) => {
37
+ const C = _() ? Y : G, k = (t) => {
38
38
  switch (t) {
39
39
  case s.ROW:
40
40
  return /* @__PURE__ */ e(a, { className: "sr-only", children: "Row" }, t);
41
41
  case s.TIMESTAMP:
42
42
  return /* @__PURE__ */ e(
43
- M,
43
+ f,
44
44
  {
45
45
  focusMode: "system",
46
46
  buttonClassName: "text-xs sm:text-sm",
@@ -59,7 +59,7 @@ const s = {
59
59
  return /* @__PURE__ */ e(a, { className: "text-xs sm:text-sm", children: "Summary" }, t);
60
60
  case s.TOKEN_USAGE:
61
61
  return /* @__PURE__ */ e(
62
- M,
62
+ f,
63
63
  {
64
64
  focusMode: "system",
65
65
  buttonClassName: "text-xs sm:text-sm",
@@ -79,7 +79,7 @@ const s = {
79
79
  default:
80
80
  return null;
81
81
  }
82
- }, k = (t, r, l) => {
82
+ }, w = (t, r, l) => {
83
83
  switch (t) {
84
84
  case s.ROW:
85
85
  return /* @__PURE__ */ e(a, { children: l + 1 }, t);
@@ -197,15 +197,15 @@ const s = {
197
197
  return null;
198
198
  }
199
199
  };
200
- return /* @__PURE__ */ c(P, { stickyHeader: !0, compact: !0, mode: "alt-system", caption: (() => {
200
+ return /* @__PURE__ */ c(B, { stickyHeader: !0, compact: !0, mode: "alt-system", caption: (() => {
201
201
  const t = n.length, r = b ?? t;
202
- return R && r > t ? `Showing ${f(`${t} chat`, t)} out of ${r}` : f(`${t} chat`, t);
202
+ return R && r > t ? `Showing ${M(`${t} chat`, t)} out of ${r}` : M(`${t} chat`, t);
203
203
  })(), children: [
204
- /* @__PURE__ */ e($, { children: /* @__PURE__ */ e(m, { children: C.map((t) => w(t)) }) }),
205
- /* @__PURE__ */ e(B, { children: O && n.length === 0 ? /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(a, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : n.slice(0, p).map((t, r) => t?.messages?.length > 0 ? /* @__PURE__ */ c(W, { children: [
204
+ /* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(m, { children: C.map((t) => k(t)) }) }),
205
+ /* @__PURE__ */ e($, { children: O && n.length === 0 ? /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(a, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : n.slice(0, p).map((t, r) => t?.messages?.length > 0 ? /* @__PURE__ */ c(W, { children: [
206
206
  r === p - v && /* @__PURE__ */ e("tr", { ref: A }),
207
207
  /* @__PURE__ */ e(m, { children: C.map(
208
- (l) => k(l, t, r)
208
+ (l) => w(l, t, r)
209
209
  ) })
210
210
  ] }, `${I.HISTORY.TITLE}-${t.id}-${r}`) : null) })
211
211
  ] });
@@ -1,12 +1,12 @@
1
1
  import { jsxs as c, Fragment as ee, jsx as t } from "react/jsx-runtime";
2
- import { n as V, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as te, HistoryContext as U, ChatContext as re, useLocalStorage as y, LOCAL_STORAGE_PREFIX as p, LOCAL_STORAGE_SORT_TIMESTAMP as ae, e as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, f as v, useDeleteChat as ne, useToggleFavoriteChat as ie, APP_CLASSNAME as ce, TOAST_CHAT_DELETED as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, h as ue, useChatsHistory as Ce, useUserChatStats as Se, LOCAL_STORAGE_SEARCH as fe, LOCAL_STORAGE_FAVORITES_ONLY as ye, HISTORY_TITLE as pe, Card as ge, TextInput as Te, debounce as Ae, IconSearch as Ee, Button as M, L as De, j as _e, ACTION_SEARCH as Le } from "./index.CB38V3Ui.js";
3
- import { useAiChat as ke, ConfirmationPanel as ve, LazyToastContainerWrapper as Oe, showErrorToast as be, CHAT_SET_STATUS as Re, Panel as Ie, Toggle as xe } from "./App.D5dFnMgi.js";
2
+ import { n as V, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as te, HistoryContext as U, ChatContext as re, useLocalStorage as y, LOCAL_STORAGE_PREFIX as p, LOCAL_STORAGE_SORT_TIMESTAMP as ae, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, B as v, useDeleteChat as ne, useToggleFavoriteChat as ie, APP_CLASSNAME as ce, TOAST_CHAT_DELETED as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, k as ue, useChatsHistory as Ce, useUserChatStats as Se, LOCAL_STORAGE_SEARCH as fe, LOCAL_STORAGE_FAVORITES_ONLY as ye, HISTORY_TITLE as pe, Card as ge, TextInput as Te, debounce as Ae, IconSearch as Ee, Button as M, L as De, j$1 as _e, ACTION_SEARCH as ke } from "./index.Hwof3Goa.js";
3
+ import { useAiChat as Le, ConfirmationPanel as ve, LazyToastContainerWrapper as Oe, showErrorToast as be, CHAT_SET_STATUS as Re, Panel as Ie, Toggle as xe } from "./App.B6stoZHi.js";
4
4
  import Ne from "clsx";
5
5
  import { useRef as N, useState as H, useContext as w, useCallback as P, Suspense as He, lazy as we, useEffect as Fe } from "react";
6
6
  const ze = we(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.CZoqrM3Q.js"
9
+ "./ChatHistoryTable.lIRb_XTS.js"
10
10
  ).then((m) => ({ default: m.ChatHistoryTable }))
11
11
  ), Ge = ({
12
12
  filteredHistory: m,
@@ -30,7 +30,7 @@ const ze = we(
30
30
  setChatId: R,
31
31
  setInitialMessages: _,
32
32
  dispatch: I
33
- } = w(re), { setInput: x } = ke(), [L, r] = y({
33
+ } = w(re), { setInput: x } = Le(), [k, r] = y({
34
34
  key: p + ae,
35
35
  initialValue: h.DESC
36
36
  }), [B, j] = y({
@@ -39,34 +39,34 @@ const ze = we(
39
39
  }), [, Y] = y({
40
40
  key: p + oe,
41
41
  initialValue: v
42
- }), { mutateAsync: q } = ne({ getAccessToken: s }), { mutateAsync: K } = ie({
42
+ }), { mutateAsync: $ } = ne({ getAccessToken: s }), { mutateAsync: q } = ie({
43
43
  getAccessToken: s
44
- }), Q = (e) => {
44
+ }), K = (e) => {
45
45
  const o = i.sortedCell === e;
46
- let a, k;
46
+ let a, L;
47
47
  switch (e) {
48
48
  case v:
49
- k = r, a = o ? i.sortDirection : L;
49
+ L = r, a = o ? i.sortDirection : k;
50
50
  break;
51
51
  case ue:
52
- k = j, a = o ? i.sortDirection : B;
52
+ L = j, a = o ? i.sortDirection : B;
53
53
  break;
54
54
  default:
55
- k = r, a = o ? i.sortDirection : L;
55
+ L = r, a = o ? i.sortDirection : k;
56
56
  break;
57
57
  }
58
58
  const z = a === h.ASC ? h.DESC : h.ASC;
59
- k(z), Y(e), b({
59
+ L(z), Y(e), b({
60
60
  type: me,
61
61
  payload: {
62
62
  sortedCell: e,
63
63
  sortDirection: z
64
64
  }
65
65
  });
66
- }, W = async () => {
66
+ }, Q = async () => {
67
67
  const e = n.current;
68
68
  try {
69
- await q({
69
+ await $({
70
70
  userId: l?.username || "",
71
71
  id: e.id
72
72
  }), S(""), await be(le, {
@@ -75,7 +75,7 @@ const ze = we(
75
75
  });
76
76
  } catch {
77
77
  }
78
- }, X = async (e) => {
78
+ }, W = async (e) => {
79
79
  try {
80
80
  const o = await s(), a = await de({
81
81
  accessToken: o,
@@ -96,15 +96,15 @@ const ze = we(
96
96
  }), x(""), R(e.id), _(a.data.messages), C(!1);
97
97
  } catch {
98
98
  }
99
- }, J = (e) => {
99
+ }, X = (e) => {
100
100
  n.current = {
101
101
  id: e.id,
102
102
  timestamp: e.timestamp,
103
103
  message: e.messages.length > 0 ? e.messages[0]?.content : ""
104
104
  }, E(!A);
105
- }, Z = async (e) => {
105
+ }, J = async (e) => {
106
106
  try {
107
- await K({
107
+ await q({
108
108
  userId: l?.username || "",
109
109
  id: e.id
110
110
  }), S("");
@@ -112,7 +112,7 @@ const ze = we(
112
112
  }
113
113
  }, F = P((e) => {
114
114
  e[0].isIntersecting && d((a) => a + G);
115
- }, []), $ = P(
115
+ }, []), Z = P(
116
116
  (e) => {
117
117
  if (f.current && f.current.disconnect(), e) {
118
118
  const o = {
@@ -129,7 +129,7 @@ const ze = we(
129
129
  {
130
130
  showConfirmation: A,
131
131
  setShowConfirmation: E,
132
- action: W,
132
+ action: Q,
133
133
  customStrings: {
134
134
  confirmAction: "Delete",
135
135
  cancelAction: "Cancel",
@@ -159,11 +159,11 @@ const ze = we(
159
159
  filteredHistory: m,
160
160
  historyState: u,
161
161
  lastEntryToLoad: D,
162
- onClickSort: Q,
163
- onClickRestore: X,
164
- onClickDelete: J,
165
- onClickFavorite: Z,
166
- infinityScrollMarkerRef: $,
162
+ onClickSort: K,
163
+ onClickRestore: W,
164
+ onClickDelete: X,
165
+ onClickFavorite: J,
166
+ infinityScrollMarkerRef: Z,
167
167
  isLoading: g,
168
168
  totalHistoryCount: O,
169
169
  isFiltered: T
@@ -203,14 +203,14 @@ const ze = we(
203
203
  }, [n, u]);
204
204
  const _ = async (r) => {
205
205
  b(r), f({
206
- type: Le,
206
+ type: ke,
207
207
  payload: { searchString: r }
208
208
  });
209
209
  }, I = Ae((r) => {
210
210
  _(r.target.value.trim());
211
211
  }, 500), x = async (r) => {
212
212
  r.preventDefault();
213
- }, L = (r) => {
213
+ }, k = (r) => {
214
214
  R(r);
215
215
  };
216
216
  return /* @__PURE__ */ c(
@@ -274,7 +274,7 @@ const ze = we(
274
274
  {
275
275
  name: "favorites-only",
276
276
  checked: u,
277
- onChange: L,
277
+ onChange: k,
278
278
  label: "Show favorites only",
279
279
  narrow: !0,
280
280
  noBorder: !0
@@ -1,6 +1,6 @@
1
1
  import { jsxs as l, Fragment as K, jsx as e } from "react/jsx-runtime";
2
- import { n as O, useUniqueId as W, useUserPreferences as Y, useServerCapabilities as $, d as V, setUserPlan as q, Card as d, renderDataAsList as J, CARDS as n, L as h, j as i, Button as L, it as Q, isTauri as X, ButtonIcon as Z, IconPasskey as g, PROFILE_TITLE as ee } from "./index.CB38V3Ui.js";
3
- import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.D5dFnMgi.js";
2
+ import { n as O, useUniqueId as W, useUserPreferences as Y, useServerCapabilities as $, H as V, setUserPlan as q, Card as d, renderDataAsList as J, CARDS as n, L as h, j$1 as i, Button as L, it as Q, isTauri as X, ButtonIcon as Z, IconPasskey as g, PROFILE_TITLE as ee } from "./index.Hwof3Goa.js";
3
+ import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.B6stoZHi.js";
4
4
  import ie from "clsx";
5
5
  import { useState as m, useMemo as oe, useCallback as P } from "react";
6
6
  const ce = () => {
@@ -93,7 +93,7 @@ const ce = () => {
93
93
  noBorder: !0,
94
94
  children: [
95
95
  /* @__PURE__ */ e("p", { className: "text-sm", children: n.PLANS.DESCRIPTION }),
96
- /* @__PURE__ */ e(h, { columnGap: 3, rowGap: 3, className: "mt-4", children: R.map(({ id: a, label: r, description: G, features: D, models: j }) => {
96
+ /* @__PURE__ */ e(h, { columnGap: 3, rowGap: 3, className: "mt-4", children: R.map(({ id: a, label: r, description: G, features: j, models: D }) => {
97
97
  const c = E?.plan === a, H = c ? n.PLANS.ACTIVE_BADGE : `Get ${r}`, b = x === a;
98
98
  return /* @__PURE__ */ e(i, { span: { fallback: 12, md: 4 }, children: /* @__PURE__ */ e(d, { mode: "darker", className: "prose-lighter h-full", children: /* @__PURE__ */ l(h, { direction: "column", children: [
99
99
  /* @__PURE__ */ l(i, { children: [
@@ -110,9 +110,9 @@ const ce = () => {
110
110
  /* @__PURE__ */ e("p", { className: "mb-0 text-sm opacity-80", children: G })
111
111
  ] }) }),
112
112
  /* @__PURE__ */ e("h4", { children: "Features" }),
113
- /* @__PURE__ */ e("ul", { className: "prose-li:text-sm", children: D.map((o) => /* @__PURE__ */ e("li", { children: o }, o)) }),
113
+ /* @__PURE__ */ e("ul", { className: "prose-li:text-sm", children: j.map((o) => /* @__PURE__ */ e("li", { children: o }, o)) }),
114
114
  /* @__PURE__ */ e("h4", { children: "Models" }),
115
- /* @__PURE__ */ e("ul", { className: "prose-li:text-sm", children: j.map((o) => /* @__PURE__ */ e("li", { children: o }, o)) })
115
+ /* @__PURE__ */ e("ul", { className: "prose-li:text-sm", children: D.map((o) => /* @__PURE__ */ e("li", { children: o }, o)) })
116
116
  ] }),
117
117
  /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e(
118
118
  L,
@@ -1,30 +1,30 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, V as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, k as ue, canEvaluateModels as He, Y as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as E, CARDS as r, b as Je, Button as v, PROMPTS_DESCRIPTION as Xe, e_ as me, L as Ze, j as he, applyOledMode as Ee, APP_SET_OLED_MODE as fe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.CB38V3Ui.js";
3
- import { useCapability as be, Panel as ot, Toggle as l } from "./App.D5dFnMgi.js";
4
- import { TextArea as Te } from "./index.DtdQADPo.js";
2
+ import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, j as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as ue, canEvaluateModels as He, Z as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as E, CARDS as r, w as Ze, Button as v, PROMPTS_DESCRIPTION as Je, ee as me, L as Xe, j$1 as he, applyOledMode as Ee, APP_SET_OLED_MODE as fe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.Hwof3Goa.js";
3
+ import { useCapability as be, Panel as ot, Toggle as l } from "./App.B6stoZHi.js";
4
+ import { TextArea as Te } from "./index.CMqrKzc1.js";
5
5
  import { useContext as at, useState as a, useMemo as st, useCallback as nt, useEffect as Ne } from "react";
6
6
  const ut = ({
7
7
  open: Ce,
8
8
  onOpenChange: A
9
9
  }) => {
10
- const { getAccessToken: I, user: R } = je(), { allowedModels: w, status: B } = Ve(), { dispatch: g } = at(Fe), {
10
+ const { getAccessToken: w, user: R } = je(), { allowedModels: I, status: B } = Ve(), { dispatch: g } = at(Fe), {
11
11
  data: o,
12
12
  isSuccess: ye,
13
13
  refetch: x
14
14
  } = We({
15
15
  user: R?.username,
16
- getAccessToken: I
16
+ getAccessToken: w
17
17
  }), [G, b] = a({
18
18
  loadingLocation: !1
19
19
  }), [L, U] = a({
20
20
  prompts: []
21
- }), [j, V] = a(""), [F, T] = a(""), [W, $] = a(!1), [z, H] = a(!1), [N, Y] = a(!1), [C, q] = a(!1), [K, Q] = a(!1), [k, J] = a(!1), [f, X] = a(null), [Z, ee] = a(!1), [te, oe] = a(!1), ae = be(ie.TOOL.MEMORIES), se = be(ie.ADDON.REASONING), [i, Ie] = de({
21
+ }), [j, V] = a(""), [F, T] = a(""), [W, $] = a(!1), [z, H] = a(!1), [N, Y] = a(!1), [C, q] = a(!1), [K, Q] = a(!1), [k, Z] = a(!1), [f, J] = a(null), [X, ee] = a(!1), [te, oe] = a(!1), ae = be(ie.TOOL.MEMORIES), se = be(ie.ADDON.REASONING), [i, we] = de({
22
22
  key: $e,
23
23
  initialValue: !1
24
- }), [u, we] = de({
24
+ }), [u, Ie] = de({
25
25
  key: ze,
26
26
  initialValue: !1
27
- }), [m, M] = a(!1), [S, D] = a(!1), [ne, re] = a(ue), Le = st(() => He(w, B) ? Ye(w) : !1, [w, B]), ke = (e) => {
27
+ }), [m, M] = a(!1), [S, D] = a(!1), [ne, re] = a(ue), Le = st(() => He(I, B) ? Ye(I) : !1, [I, B]), ke = (e) => {
28
28
  oe(e);
29
29
  }, Me = (e) => {
30
30
  $(e);
@@ -35,7 +35,7 @@ const ut = ({
35
35
  }, Oe = (e) => {
36
36
  se && Q(e);
37
37
  }, Pe = (e) => {
38
- J(e);
38
+ Z(e);
39
39
  }, ve = (e) => {
40
40
  M(e);
41
41
  }, Ae = (e) => {
@@ -46,7 +46,7 @@ const ut = ({
46
46
  e.preventDefault();
47
47
  try {
48
48
  await pe({
49
- accessToken: await I(),
49
+ accessToken: await w(),
50
50
  type: ge.SET_USER_PREFERENCES,
51
51
  params: {
52
52
  user: R?.username,
@@ -67,10 +67,10 @@ const ut = ({
67
67
  useNestedModelSelection: k,
68
68
  themeMode: ne
69
69
  }
70
- }), C !== N && (await tt(C), Y(C)), m !== i && (Ie(m), Ee(m), g({
70
+ }), C !== N && (await tt(C), Y(C)), m !== i && (we(m), Ee(m), g({
71
71
  type: fe,
72
72
  payload: { oledMode: m }
73
- })), S !== u && (we(S), g({
73
+ })), S !== u && (Ie(S), g({
74
74
  type: Se,
75
75
  payload: { fullScreen: S }
76
76
  })), x(), b({
@@ -84,7 +84,7 @@ const ut = ({
84
84
  }), T("...");
85
85
  try {
86
86
  const e = Date.now(), s = await et(), y = await pe({
87
- accessToken: await I(),
87
+ accessToken: await w(),
88
88
  type: ge.GET_LOCATION,
89
89
  params: {
90
90
  latitude: s.latitude,
@@ -136,7 +136,7 @@ const ut = ({
136
136
  try {
137
137
  ee(!0);
138
138
  const e = await qe();
139
- X(e);
139
+ J(e);
140
140
  } catch {
141
141
  } finally {
142
142
  ee(!1);
@@ -145,11 +145,11 @@ const ut = ({
145
145
  return Ne(() => {
146
146
  if (!o)
147
147
  return;
148
- o.instructions && V(o.instructions), o.location && T(o.location), o.tags && U({ prompts: o.tags }), o.sendOnEnter !== void 0 && $(o.sendOnEnter), o.useMemory !== void 0 && H(o.useMemory), o.showDetails !== void 0 && oe(o.showDetails), o.showReasoningButton !== void 0 && Q(o.showReasoningButton), o.useNestedModelSelection !== void 0 && J(o.useNestedModelSelection), o.themeMode !== void 0 && re(o.themeMode);
148
+ o.instructions && V(o.instructions), o.location && T(o.location), o.tags && U({ prompts: o.tags }), o.sendOnEnter !== void 0 && $(o.sendOnEnter), o.useMemory !== void 0 && H(o.useMemory), o.showDetails !== void 0 && oe(o.showDetails), o.showReasoningButton !== void 0 && Q(o.showReasoningButton), o.useNestedModelSelection !== void 0 && Z(o.useNestedModelSelection), o.themeMode !== void 0 && re(o.themeMode);
149
149
  const e = Ke();
150
150
  Y(e), q(e), M(i), D(u);
151
151
  }, [o, i, u]), Ne(() => {
152
- N ? ce() : X(null);
152
+ N ? ce() : J(null);
153
153
  }, [N, ce]), ye ? /* @__PURE__ */ n(
154
154
  ot,
155
155
  {
@@ -159,7 +159,7 @@ const ut = ({
159
159
  animation: !0,
160
160
  animationType: "fade",
161
161
  footer: /* @__PURE__ */ n(
162
- Ze,
162
+ Xe,
163
163
  {
164
164
  columnGap: 2,
165
165
  alignHorizontal: "flex-end",
@@ -252,7 +252,7 @@ const ut = ({
252
252
  children: [
253
253
  /* @__PURE__ */ n("p", { className: "text-sm", children: [
254
254
  "What would you like ",
255
- /* @__PURE__ */ t("em", { children: Je }),
255
+ /* @__PURE__ */ t("em", { children: Ze }),
256
256
  " to know about you to provide better responses?"
257
257
  ] }),
258
258
  /* @__PURE__ */ t(
@@ -317,7 +317,7 @@ const ut = ({
317
317
  className: "prose-dark dark:prose-lighter mt-4",
318
318
  noBorder: !0,
319
319
  children: [
320
- /* @__PURE__ */ t("p", { className: "text-sm", children: Xe }),
320
+ /* @__PURE__ */ t("p", { className: "text-sm", children: Je }),
321
321
  L.prompts && L.prompts.slice(0, 3).map((e) => /* @__PURE__ */ n(
322
322
  E,
323
323
  {
@@ -502,8 +502,8 @@ const ut = ({
502
502
  },
503
503
  s
504
504
  )) }) }, e.name)),
505
- f.totalItems === 0 && !Z && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
506
- ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: Z ? "Loading cache info..." : "No cache info available." })
505
+ f.totalItems === 0 && !X && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
506
+ ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: X ? "Loading cache info..." : "No cache info available." })
507
507
  ] })
508
508
  ]
509
509
  }
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j as A, Button as i, pluralize as m } from "./index.CB38V3Ui.js";
3
- import { Panel as H } from "./App.D5dFnMgi.js";
4
- import { useState as C, Suspense as K, lazy as j } from "react";
2
+ import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j$1 as A, Button as i, pluralize as m } from "./index.Hwof3Goa.js";
3
+ import { Panel as j } from "./App.B6stoZHi.js";
4
+ import { useState as C, Suspense as H, lazy as K } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
- }, w = j(() => import(
8
+ }, w = K(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.BorMOymc.js"
10
+ "./Chart.-Zf5n2lJ.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -28,7 +28,7 @@ const s = [0, 3, 6, 9], n = {
28
28
  I(s[u]);
29
29
  };
30
30
  return /* @__PURE__ */ l(
31
- H,
31
+ j,
32
32
  {
33
33
  open: k,
34
34
  onOpenChange: E,
@@ -65,7 +65,7 @@ const s = [0, 3, 6, 9], n = {
65
65
  header: a.MAIN_STATISTICS.USAGE,
66
66
  className: "prose-dark dark:prose-lighter mt-4 min-h-[555px]",
67
67
  noBorder: !0,
68
- children: M && r && r.tokenUsage && r.tokenUsage.series && r.tokenUsage.series.length ? /* @__PURE__ */ l(K, { fallback: /* @__PURE__ */ e("div", {}), children: [
68
+ children: M && r && r.tokenUsage && r.tokenUsage.series && r.tokenUsage.series.length ? /* @__PURE__ */ l(H, { fallback: /* @__PURE__ */ e("div", {}), children: [
69
69
  /* @__PURE__ */ e(p, { className: "mb-2", alignHorizontal: "center", children: /* @__PURE__ */ l(A, { children: [
70
70
  /* @__PURE__ */ e(
71
71
  i,
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as b } from "react/jsx-runtime";
2
- import { L as R, j as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.CB38V3Ui.js";
3
- import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.D5dFnMgi.js";
4
- import { W as te, j as re, G as D, M as s, F as B, H as ie, D as ne } from "./index.CZGr8f9z.js";
2
+ import { L as R, j$1 as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.Hwof3Goa.js";
3
+ import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.B6stoZHi.js";
4
+ import { W as te, j as re, G as D, M as s, F as B, H as ie, D as ne } from "./index.-hZzCrDt.js";
5
5
  import y from "clsx";
6
6
  import { useState as C, useEffect as Le, useRef as oe } from "react";
7
- import { TextArea as Oe } from "./index.DtdQADPo.js";
7
+ import { TextArea as Oe } from "./index.CMqrKzc1.js";
8
8
  const _e = ({
9
9
  open: N,
10
10
  onOpenChange: E,
@@ -216,7 +216,7 @@ const _e = ({
216
216
  query: I,
217
217
  getAccessToken: n,
218
218
  enabled: N && m === "expired"
219
- }), P = ve({ getAccessToken: n }), X = De({ getAccessToken: n }), V = Me({ getAccessToken: n }), F = Ee({ getAccessToken: n }), $ = be({ getAccessToken: n }), [se, Y] = C(!1), k = oe(null), [ae, W] = C(!1), [ce, G] = C(!1), x = oe(null), J = (t, i, c, d) => {
219
+ }), P = ve({ getAccessToken: n }), $ = De({ getAccessToken: n }), X = Me({ getAccessToken: n }), F = Ee({ getAccessToken: n }), V = be({ getAccessToken: n }), [se, Y] = C(!1), k = oe(null), [ae, W] = C(!1), [ce, G] = C(!1), x = oe(null), J = (t, i, c, d) => {
220
220
  k.current = { id: t, text: i, description: c, createdAt: d }, Y(!0);
221
221
  }, de = () => {
222
222
  k.current && P.mutate({ user: a, memoryId: k.current.id });
@@ -250,7 +250,7 @@ const _e = ({
250
250
  }, he = () => {
251
251
  a && W(!0);
252
252
  }, pe = () => {
253
- a && (m === "active" ? X.mutate({ user: a }) : V.mutate({ user: a }));
253
+ a && (m === "active" ? $.mutate({ user: a }) : X.mutate({ user: a }));
254
254
  };
255
255
  return /* @__PURE__ */ r(b, { children: [
256
256
  /* @__PURE__ */ e(
@@ -341,7 +341,7 @@ const _e = ({
341
341
  mode: "dark",
342
342
  focusMode: "light",
343
343
  variant: "danger",
344
- disabled: (m === "active" ? X.isPending : V.isPending) || (m === "active" ? (g?.total ?? 0) === 0 : (f?.total ?? 0) === 0),
344
+ disabled: (m === "active" ? $.isPending : X.isPending) || (m === "active" ? (g?.total ?? 0) === 0 : (f?.total ?? 0) === 0),
345
345
  onClick: he,
346
346
  children: "Delete All"
347
347
  }
@@ -671,9 +671,9 @@ const _e = ({
671
671
  noBorder: !0,
672
672
  label: "Restore memory",
673
673
  variant: "primary",
674
- disabled: $.isPending,
674
+ disabled: V.isPending,
675
675
  onClick: () => {
676
- a && $.mutate({
676
+ a && V.mutate({
677
677
  user: a,
678
678
  memoryId: t.memoryId
679
679
  });
@@ -1,5 +1,5 @@
1
1
  import { jsx as l, jsxs as y } from "react/jsx-runtime";
2
- import { ButtonSort_private as f, e as k } from "./index.CB38V3Ui.js";
2
+ import { ButtonSort_private as f, e$1 as k } from "./index.Hwof3Goa.js";
3
3
  import o from "clsx";
4
4
  import v, { useContext as b } from "react";
5
5
  /*!
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as h } from "react/jsx-runtime";
2
- import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.CB38V3Ui.js";
2
+ import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.Hwof3Goa.js";
3
3
  import ue, { useRef as k, useState as I, useLayoutEffect as R } from "react";
4
4
  import o 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.B4zM1uwe.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.DSduoaoO.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.B4zM1uwe.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.DSduoaoO.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {