@versini/sassysaint 8.89.1 → 8.89.2

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.qqc87eIj.js → AboutChangelog.DO-NylmP.js} +3 -3
  2. package/dist/chunks/{AboutEntry.k4Ph87Aa.js → AboutEntry.B3EpQw5R.js} +7 -7
  3. package/dist/chunks/{App.CpgReKz4.js → App.Bl0k2Vhf.js} +2251 -2247
  4. package/dist/chunks/{Chart.DHek-ZeN.js → Chart.BEHWXk0F.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.4-HDR9NS.js → ChatBubbleAssistant.sznaAbAS.js} +10 -10
  6. package/dist/chunks/{ChatBubbleUser.bQSJpCxC.js → ChatBubbleUser.RU-Yirn6.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.DNpaMnIu.js → ChatHistoryTable.DxxDxoOc.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.BwjgYYEU.js → HistoryEntry.D1flMSgS.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BwxCT35S.js → ProfileEntry.uZqxGNKj.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.o_jHtrBX.js → SettingsEntry.BqV69kFc.js} +69 -69
  11. package/dist/chunks/{UsageEntry.BSoxX0LC.js → UsageEntry.D7iJzE1V.js} +3 -3
  12. package/dist/chunks/{UserMemoriesPanel.Cf-V0wRa.js → UserMemoriesPanel.BZYwq_4p.js} +4 -4
  13. package/dist/chunks/{index.DhfpDBw5.js → index.8iBmqPVK.js} +40 -39
  14. package/dist/chunks/{index.6LP2xDwm.js → index.BD-u1Wh_.js} +1 -1
  15. package/dist/chunks/{index.BUnHZsN5.js → index.Bh8FrH0Q.js} +1 -1
  16. package/dist/chunks/{index.B-Y77IrS.js → index.BiP2c1yS.js} +1 -1
  17. package/dist/chunks/{index.BuKZv3Hf.js → index.Bsh4TGPm.js} +2 -2
  18. package/dist/chunks/{index.CLZFOHMQ.js → index.BwFN_O-K.js} +3 -3
  19. package/dist/chunks/{index.DHXrMQ4m.js → index.CDsWkJzz.js} +1 -1
  20. package/dist/chunks/{index.D2BXyr7O.js → index.CORCfZP1.js} +1 -1
  21. package/dist/chunks/{index.Dc3LfJJV.js → index.DYQAEyFQ.js} +1 -1
  22. package/dist/chunks/{useMarkdown.LP0e6Q2Y.js → useMarkdown.DoseLJ9q.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +2 -2
  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.CpgReKz4.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.Bl0k2Vhf.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.DhfpDBw5.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.8iBmqPVK.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, l as G } from "./index.DhfpDBw5.js";
3
- import { BUBBLE_FOOTER_EMPTY as D } from "./index.Dc3LfJJV.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.8iBmqPVK.js";
3
+ import { BUBBLE_FOOTER_EMPTY as D } from "./index.DYQAEyFQ.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.CpgReKz4.js";
7
- import { useMarkdown as q } from "./useMarkdown.LP0e6Q2Y.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.Bl0k2Vhf.js";
7
+ import { useMarkdown as q } from "./useMarkdown.DoseLJ9q.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.DhfpDBw5.js";
2
+ import { Button as C } from "./index.8iBmqPVK.js";
3
3
  import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
4
- import { AsyncBubble as w } from "./App.CpgReKz4.js";
5
- import { useMarkdown as x } from "./useMarkdown.LP0e6Q2Y.js";
4
+ import { AsyncBubble as w } from "./App.Bl0k2Vhf.js";
5
+ import { useMarkdown as x } from "./useMarkdown.DoseLJ9q.js";
6
6
  /*!
7
7
  @versini/ui-truncate v5.2.1
8
8
  © 2025 gizmette.com
@@ -1,7 +1,7 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { B as x, w 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.DhfpDBw5.js";
3
- import { W as B, j as P, G as m, H as $, M as a, F as f } from "./index.BUnHZsN5.js";
4
- import { Tooltip as d } from "./App.CpgReKz4.js";
2
+ import { B as x, w 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.8iBmqPVK.js";
3
+ import { W as B, j as P, G as m, H as $, M as a, F as f } from "./index.Bh8FrH0Q.js";
4
+ import { Tooltip as d } from "./App.Bl0k2Vhf.js";
5
5
  import h from "clsx";
6
6
  import { Fragment as W } from "react";
7
7
  const s = {
@@ -1,12 +1,12 @@
1
1
  import { jsxs as c, Fragment as te, jsx as t } from "react/jsx-runtime";
2
- import { n as P, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as ae, HistoryContext as U, ChatContext as re, useLocalStorage as C, LOCAL_STORAGE_PREFIX as S, LOCAL_STORAGE_SORT_TIMESTAMP as se, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, B as I, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as me, SERVICE_TYPES as ue, ACTION_SORT as Ce, w as Se, useChatsHistory as fe, useUserChatStats as ye, LOCAL_STORAGE_SEARCH as Te, LOCAL_STORAGE_FAVORITES_ONLY as pe, HISTORY_TITLE as ge, Card as Ae, TextInput as Ee, debounce as _e, IconSearch as De, Button as z, L as Le, j$1 as ve, ACTION_SEARCH as Oe } from "./index.DhfpDBw5.js";
3
- import { useAiChat as ke, ConfirmationPanel as Re, LazyToastContainerWrapper as Ie, showErrorToast as be, v4 as He, CHAT_RESET as xe, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as we, Panel as Fe, Toggle as Ge } from "./App.CpgReKz4.js";
2
+ import { n as P, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as ae, HistoryContext as U, ChatContext as re, useLocalStorage as C, LOCAL_STORAGE_PREFIX as S, LOCAL_STORAGE_SORT_TIMESTAMP as se, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, B as I, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as me, SERVICE_TYPES as ue, ACTION_SORT as Ce, w as Se, useChatsHistory as fe, useUserChatStats as ye, LOCAL_STORAGE_SEARCH as Te, LOCAL_STORAGE_FAVORITES_ONLY as pe, HISTORY_TITLE as ge, Card as Ae, TextInput as Ee, debounce as _e, IconSearch as De, Button as z, L as Le, j$1 as ve, ACTION_SEARCH as Oe } from "./index.8iBmqPVK.js";
3
+ import { useAiChat as ke, ConfirmationPanel as Re, LazyToastContainerWrapper as Ie, showErrorToast as be, v4 as He, CHAT_RESET as xe, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as we, Panel as Fe, Toggle as Ge } from "./App.Bl0k2Vhf.js";
4
4
  import Me from "clsx";
5
5
  import { useRef as x, useState as N, useContext as w, useCallback as V, Suspense as ze, lazy as Ve, useEffect as Pe } from "react";
6
6
  const Ue = Ve(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.DNpaMnIu.js"
9
+ "./ChatHistoryTable.DxxDxoOc.js"
10
10
  ).then((m) => ({ default: m.ChatHistoryTable }))
11
11
  ), Be = ({
12
12
  filteredHistory: m,
@@ -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 $, 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.DhfpDBw5.js";
3
- import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.CpgReKz4.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.8iBmqPVK.js";
3
+ import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.Bl0k2Vhf.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 = () => {
@@ -1,39 +1,39 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as je, useEntitlements as Fe, AppContext as Ve, 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, F as Ze, Button as v, PROMPTS_DESCRIPTION as Je, et 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.DhfpDBw5.js";
3
- import { useCapability as be, Panel as ot, Toggle as l } from "./App.CpgReKz4.js";
4
- import { TextArea as Te } from "./index.6LP2xDwm.js";
5
- import { useContext as at, useState as a, useMemo as st, useCallback as nt, useEffect as Ne } from "react";
2
+ import { n as je, useEntitlements as Fe, AppContext as Ve, 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 f, CARDS as r, F as Ze, Button as v, PROMPTS_DESCRIPTION as Je, et as me, L as Xe, j$1 as he, applyOledMode as fe, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.8iBmqPVK.js";
3
+ import { useCapability as Te, Panel as ot, Toggle as l } from "./App.Bl0k2Vhf.js";
4
+ import { TextArea as Ne } from "./index.BD-u1Wh_.js";
5
+ import { useContext as st, useState as s, useMemo as at, useCallback as nt, useEffect as be } 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 } = Fe(), { dispatch: g } = at(Ve), {
10
+ const { getAccessToken: I, user: R } = je(), { allowedModels: L, status: B } = Fe(), { dispatch: g } = st(Ve), {
11
11
  data: o,
12
12
  isSuccess: ye,
13
13
  refetch: x
14
14
  } = We({
15
15
  user: R?.username,
16
16
  getAccessToken: I
17
- }), [G, b] = a({
17
+ }), [G, T] = s({
18
18
  loadingLocation: !1
19
- }), [L, U] = a({
19
+ }), [w, U] = s({
20
20
  prompts: []
21
- }), [j, F] = a(""), [V, 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, Ie] = de({
21
+ }), [j, F] = s(""), [V, N] = s(""), [W, $] = s(!1), [z, H] = s(!1), [b, Y] = s(!1), [C, q] = s(!1), [K, Q] = s(!1), [k, Z] = s(!1), [E, J] = s(null), [X, ee] = s(!1), [te, oe] = s(!1), se = Te(ie.TOOL.MEMORIES), ae = Te(ie.ADDON.REASONING), [i, Ie] = de({
22
22
  key: $e,
23
23
  initialValue: !1
24
- }), [u, we] = de({
24
+ }), [u, Le] = 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] = s(!1), [S, D] = s(!1), [ne, re] = s(ue), we = at(() => He(L, B) ? Ye(L) : !1, [L, B]), ke = (e) => {
28
28
  oe(e);
29
29
  }, Me = (e) => {
30
30
  $(e);
31
31
  }, De = (e) => {
32
- ae && H(e);
32
+ se && H(e);
33
33
  }, _e = (e) => {
34
34
  q(e);
35
35
  }, Oe = (e) => {
36
- se && Q(e);
36
+ ae && Q(e);
37
37
  }, Pe = (e) => {
38
38
  Z(e);
39
39
  }, ve = (e) => {
@@ -59,7 +59,7 @@ const ut = ({
59
59
  * string signals to backend to use provider's default model.
60
60
  */
61
61
  model: k && o?.model || "",
62
- tags: L.prompts,
62
+ tags: w.prompts,
63
63
  sendOnEnter: W,
64
64
  useMemory: z,
65
65
  showDetails: te,
@@ -67,43 +67,43 @@ 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({
71
- type: fe,
70
+ }), C !== b && (await tt(C), Y(C)), m !== i && (Ie(m), fe(m), g({
71
+ type: Ee,
72
72
  payload: { oledMode: m }
73
- })), S !== u && (we(S), g({
73
+ })), S !== u && (Le(S), g({
74
74
  type: Se,
75
75
  payload: { fullScreen: S }
76
- })), x(), b({
76
+ })), x(), T({
77
77
  loadingLocation: !1
78
78
  });
79
79
  } catch {
80
80
  }
81
81
  }, xe = async () => {
82
- b({
82
+ T({
83
83
  loadingLocation: !0
84
- }), T("...");
84
+ }), N("...");
85
85
  try {
86
- const e = Date.now(), s = await et(), y = await pe({
86
+ const e = Date.now(), a = await et(), y = await pe({
87
87
  accessToken: await I(),
88
88
  type: ge.GET_LOCATION,
89
89
  params: {
90
- latitude: s.latitude,
91
- longitude: s.longitude
90
+ latitude: a.latitude,
91
+ longitude: a.longitude
92
92
  }
93
93
  }), h = Date.now() - e;
94
94
  h < 2e3 && await new Promise((Ue) => setTimeout(Ue, 2e3 - h));
95
95
  const { city: d, state: c, country: p, displayName: P } = y.data, Ge = d && c && p ? `${d}, ${c}, ${p}` : P;
96
- b({
96
+ T({
97
97
  loadingLocation: !1
98
- }), T(Ge);
98
+ }), N(Ge);
99
99
  } catch {
100
- b({
100
+ T({
101
101
  loadingLocation: !1
102
102
  });
103
103
  }
104
104
  }, le = () => {
105
- m !== i && (M(i), Ee(i), g({
106
- type: fe,
105
+ m !== i && (M(i), fe(i), g({
106
+ type: Ee,
107
107
  payload: { oledMode: i }
108
108
  })), S !== u && (D(u), g({
109
109
  type: Se,
@@ -111,7 +111,7 @@ const ut = ({
111
111
  })), x(), A(!1);
112
112
  }, _ = ({
113
113
  enabled: e = !1,
114
- privateChat: s = !1,
114
+ privateChat: a = !1,
115
115
  clipboardAccess: y = !1,
116
116
  ...O
117
117
  }) => {
@@ -119,7 +119,7 @@ const ut = ({
119
119
  const d = h.prompts, c = {
120
120
  ...O,
121
121
  enabled: e,
122
- privateChat: s,
122
+ privateChat: a,
123
123
  clipboardAccess: y
124
124
  };
125
125
  y ? c.content = c.content.replace(/{{clipboard}}/g, "") + " {{clipboard}}" : c.content = c.content.replace(/{{clipboard}}/g, "");
@@ -142,15 +142,15 @@ const ut = ({
142
142
  ee(!1);
143
143
  }
144
144
  }, []);
145
- return Ne(() => {
145
+ return be(() => {
146
146
  if (!o)
147
147
  return;
148
- o.instructions && F(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);
148
+ o.instructions && F(o.instructions), o.location && N(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
- }, [o, i, u]), Ne(() => {
152
- N ? ce() : J(null);
153
- }, [N, ce]), ye ? /* @__PURE__ */ n(
151
+ }, [o, i, u]), be(() => {
152
+ b ? ce() : J(null);
153
+ }, [b, ce]), ye ? /* @__PURE__ */ n(
154
154
  ot,
155
155
  {
156
156
  open: Ce,
@@ -192,7 +192,7 @@ const ut = ({
192
192
  ),
193
193
  children: [
194
194
  /* @__PURE__ */ n(
195
- E,
195
+ f,
196
196
  {
197
197
  header: r.SETTINGS_DETAILS.TITLE,
198
198
  className: "prose-dark dark:prose-lighter",
@@ -205,7 +205,7 @@ const ut = ({
205
205
  narrow: !0,
206
206
  className: "mt-2 justify-between",
207
207
  labelPosition: "left",
208
- label: "Show Message Statistics",
208
+ label: "Message Statistics",
209
209
  subLabel: r.SETTINGS_DETAILS.DETAILS,
210
210
  name: "show-message-statistics",
211
211
  onChange: ke,
@@ -226,7 +226,7 @@ const ut = ({
226
226
  checked: W
227
227
  }
228
228
  ),
229
- ae && /* @__PURE__ */ t(
229
+ se && /* @__PURE__ */ t(
230
230
  l,
231
231
  {
232
232
  noBorder: !0,
@@ -244,7 +244,7 @@ const ut = ({
244
244
  }
245
245
  ),
246
246
  /* @__PURE__ */ n(
247
- E,
247
+ f,
248
248
  {
249
249
  header: "Custom Instructions",
250
250
  className: "prose-dark dark:prose-lighter mt-4",
@@ -256,7 +256,7 @@ const ut = ({
256
256
  " to know about you to provide better responses?"
257
257
  ] }),
258
258
  /* @__PURE__ */ t(
259
- Te,
259
+ Ne,
260
260
  {
261
261
  mode: "alt-system",
262
262
  autoCapitalize: "off",
@@ -275,7 +275,7 @@ const ut = ({
275
275
  }
276
276
  ),
277
277
  /* @__PURE__ */ n(
278
- E,
278
+ f,
279
279
  {
280
280
  header: "Location",
281
281
  className: "prose-dark dark:prose-lighter mt-4",
@@ -283,14 +283,14 @@ const ut = ({
283
283
  children: [
284
284
  /* @__PURE__ */ t("p", { className: "text-sm", children: "You can share your location to receive customized responses based on your area." }),
285
285
  /* @__PURE__ */ t(
286
- Te,
286
+ Ne,
287
287
  {
288
288
  mode: "alt-system",
289
289
  name: "location",
290
290
  label: "Location",
291
291
  value: V,
292
292
  onChange: (e) => {
293
- T(e.target.value);
293
+ N(e.target.value);
294
294
  },
295
295
  helperText: "Enter your location or press auto-detect."
296
296
  }
@@ -311,15 +311,15 @@ const ut = ({
311
311
  }
312
312
  ),
313
313
  /* @__PURE__ */ n(
314
- E,
314
+ f,
315
315
  {
316
316
  header: r.SETTINGS_PROMPTS.TITLE,
317
317
  className: "prose-dark dark:prose-lighter mt-4",
318
318
  noBorder: !0,
319
319
  children: [
320
320
  /* @__PURE__ */ t("p", { className: "text-sm", children: Je }),
321
- L.prompts && L.prompts.slice(0, 3).map((e) => /* @__PURE__ */ n(
322
- E,
321
+ w.prompts && w.prompts.slice(0, 3).map((e) => /* @__PURE__ */ n(
322
+ f,
323
323
  {
324
324
  mode: "dark",
325
325
  noBorder: !0,
@@ -337,10 +337,10 @@ const ut = ({
337
337
  className: "mt-2",
338
338
  label: "Enabled",
339
339
  name: e.slot.toString(),
340
- onChange: (s) => {
340
+ onChange: (a) => {
341
341
  _({
342
342
  ...e,
343
- enabled: s
343
+ enabled: a
344
344
  });
345
345
  },
346
346
  checked: e.enabled
@@ -356,10 +356,10 @@ const ut = ({
356
356
  className: "mt-2",
357
357
  label: "Private Chat",
358
358
  name: `private-${e.slot.toString()}`,
359
- onChange: (s) => {
359
+ onChange: (a) => {
360
360
  _({
361
361
  ...e,
362
- privateChat: s
362
+ privateChat: a
363
363
  });
364
364
  },
365
365
  checked: e.privateChat
@@ -375,10 +375,10 @@ const ut = ({
375
375
  className: "mt-2",
376
376
  label: "Use Clipboard",
377
377
  name: `clipboard-${e.slot.toString()}`,
378
- onChange: (s) => {
378
+ onChange: (a) => {
379
379
  _({
380
380
  ...e,
381
- clipboardAccess: s
381
+ clipboardAccess: a
382
382
  });
383
383
  },
384
384
  checked: e.clipboardAccess
@@ -392,34 +392,34 @@ const ut = ({
392
392
  }
393
393
  ),
394
394
  /* @__PURE__ */ n(
395
- E,
395
+ f,
396
396
  {
397
397
  header: r.SETTINGS_ADVANCED.TITLE,
398
398
  className: "prose-dark dark:prose-lighter mt-4 ",
399
399
  noBorder: !0,
400
400
  children: [
401
- se && /* @__PURE__ */ t(
401
+ ae && /* @__PURE__ */ t(
402
402
  l,
403
403
  {
404
404
  noBorder: !0,
405
405
  narrow: !0,
406
406
  className: "mt-2 justify-between",
407
407
  labelPosition: "left",
408
- label: "Show Reasoning Button",
408
+ label: "Reasoning Button",
409
409
  subLabel: r.SETTINGS_ADVANCED.REASONING_BUTTON_DESCRIPTION,
410
410
  name: "show-reasoning-button",
411
411
  onChange: Oe,
412
412
  checked: K
413
413
  }
414
414
  ),
415
- Le && /* @__PURE__ */ t(
415
+ we && /* @__PURE__ */ t(
416
416
  l,
417
417
  {
418
418
  noBorder: !0,
419
419
  narrow: !0,
420
420
  className: "mt-2 justify-between",
421
421
  labelPosition: "left",
422
- label: "Enable Model Selection",
422
+ label: "Model Selection",
423
423
  subLabel: r.SETTINGS_ADVANCED.NESTED_MODEL_SELECTION_DESCRIPTION,
424
424
  name: "use-nested-model-selection",
425
425
  onChange: Pe,
@@ -433,7 +433,7 @@ const ut = ({
433
433
  narrow: !0,
434
434
  className: "mt-2 justify-between",
435
435
  labelPosition: "left",
436
- label: "Enable OLED Mode",
436
+ label: "OLED Mode",
437
437
  subLabel: r.SETTINGS_ADVANCED.BACKGROUND_THEME_DESCRIPTION,
438
438
  name: "enable-oled-mode",
439
439
  onChange: ve,
@@ -447,7 +447,7 @@ const ut = ({
447
447
  narrow: !0,
448
448
  className: "mt-2 justify-between",
449
449
  labelPosition: "left",
450
- label: "Enable Alternative Theme",
450
+ label: "Alternative Theme",
451
451
  subLabel: r.SETTINGS_ADVANCED.THEME_MODE_DESCRIPTION,
452
452
  name: "enable-alternative-theme",
453
453
  onChange: Re,
@@ -461,7 +461,7 @@ const ut = ({
461
461
  narrow: !0,
462
462
  className: "mt-2 justify-between",
463
463
  labelPosition: "left",
464
- label: "Enable Full Screen",
464
+ label: "Full Screen",
465
465
  subLabel: r.SETTINGS_ADVANCED.FULL_SCREEN_DESCRIPTION,
466
466
  name: "enable-full-screen",
467
467
  onChange: Ae,
@@ -475,34 +475,34 @@ const ut = ({
475
475
  narrow: !0,
476
476
  className: "mt-2 justify-between",
477
477
  labelPosition: "left",
478
- label: "Enable Assets Caching",
478
+ label: "Assets Caching",
479
479
  subLabel: r.SETTINGS_ADVANCED.CACHE_DESCRIPTION,
480
480
  name: "enable-service-worker",
481
481
  onChange: _e,
482
482
  checked: C
483
483
  }
484
484
  ),
485
- N && /* @__PURE__ */ n("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
485
+ b && /* @__PURE__ */ n("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
486
486
  /* @__PURE__ */ t("h3", { className: "m-0 mb-2 text-xs uppercase opacity-70", children: "Cache Info" }),
487
- f ? /* @__PURE__ */ n("div", { className: "text-xs space-y-2", children: [
487
+ E ? /* @__PURE__ */ n("div", { className: "text-xs space-y-2", children: [
488
488
  /* @__PURE__ */ n("p", { className: "m-0", children: [
489
489
  "Version: ",
490
- /* @__PURE__ */ t("strong", { children: f.version })
490
+ /* @__PURE__ */ t("strong", { children: E.version })
491
491
  ] }),
492
492
  /* @__PURE__ */ n("p", { className: "m-0", children: [
493
493
  "Total Items: ",
494
- /* @__PURE__ */ t("strong", { children: f.totalItems })
494
+ /* @__PURE__ */ t("strong", { children: E.totalItems })
495
495
  ] }),
496
- f.caches.map((e) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("ul", { className: "not-prose font-mono mt-2 list-none w-[95cqw]", children: e.urls.map((s) => /* @__PURE__ */ t(
496
+ E.caches.map((e) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("ul", { className: "not-prose font-mono mt-2 list-none w-[95cqw]", children: e.urls.map((a) => /* @__PURE__ */ t(
497
497
  "li",
498
498
  {
499
499
  className: "truncate text-xs text-copy-dark dark:text-copy-light overflow-hidden text-ellipsis",
500
- title: s,
501
- children: new URL(s).pathname
500
+ title: a,
501
+ children: new URL(a).pathname
502
502
  },
503
- s
503
+ a
504
504
  )) }) }, e.name)),
505
- f.totalItems === 0 && !X && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
505
+ E.totalItems === 0 && !X && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
506
506
  ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: X ? "Loading cache info..." : "No cache info available." })
507
507
  ] })
508
508
  ]
@@ -1,13 +1,13 @@
1
1
  import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
- import { n as L, useUniqueId as v, useUserChatStats as z, useChatsUsage as _, USAGE_TITLE as B, Card as A, CARDS as a, L as u, j$1 as h, Button as o, renderDataAsList as P, pluralize as T } from "./index.DhfpDBw5.js";
3
- import { Panel as b } from "./App.CpgReKz4.js";
2
+ import { n as L, useUniqueId as v, useUserChatStats as z, useChatsUsage as _, USAGE_TITLE as B, Card as A, CARDS as a, L as u, j$1 as h, Button as o, renderDataAsList as P, pluralize as T } from "./index.8iBmqPVK.js";
3
+ import { Panel as b } from "./App.Bl0k2Vhf.js";
4
4
  import { useState as C, Suspense as H, lazy as j } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
8
  }, G = j(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.DHek-ZeN.js"
10
+ "./Chart.BEHWXk0F.js"
11
11
  )), R = ({
12
12
  open: E,
13
13
  onOpenChange: I
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as L } from "react/jsx-runtime";
2
- import { L as E, j$1 as f, Button as b, n as ke, useLocalStorage as Q, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as Te, useUserMemories as Se, useExpiredMemories as ve, useDeleteMemory as De, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as Re, ButtonIcon as O, IconEdit as Ie, IconDelete as ee, IconRestore as Le } from "./index.DhfpDBw5.js";
3
- import { Panel as se, Toggle as _, ConfirmationPanel as te, Tooltip as z } from "./App.CpgReKz4.js";
4
- import { W as re, j as ie, G as D, M as s, F as B, H as oe, D as ne } from "./index.BUnHZsN5.js";
2
+ import { L as E, j$1 as f, Button as b, n as ke, useLocalStorage as Q, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as Te, useUserMemories as Se, useExpiredMemories as ve, useDeleteMemory as De, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as Re, ButtonIcon as O, IconEdit as Ie, IconDelete as ee, IconRestore as Le } from "./index.8iBmqPVK.js";
3
+ import { Panel as se, Toggle as _, ConfirmationPanel as te, Tooltip as z } from "./App.Bl0k2Vhf.js";
4
+ import { W as re, j as ie, G as D, M as s, F as B, H as oe, D as ne } from "./index.Bh8FrH0Q.js";
5
5
  import A from "clsx";
6
6
  import { useState as y, useEffect as Oe, useRef as le } from "react";
7
- import { TextArea as _e } from "./index.6LP2xDwm.js";
7
+ import { TextArea as _e } from "./index.BD-u1Wh_.js";
8
8
  const ze = ({
9
9
  open: C,
10
10
  onOpenChange: M,