@versini/sassysaint 8.74.1 → 8.74.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 (25) hide show
  1. package/dist/chunks/{AboutChangelog.CqWjW39N.js → AboutChangelog.CKksZqHG.js} +2 -2
  2. package/dist/chunks/{AboutEntry.0Ccenpf3.js → AboutEntry.glCt_1V2.js} +5 -5
  3. package/dist/chunks/{App.YrWB4OwR.js → App.fPigJREV.js} +16 -16
  4. package/dist/chunks/{Chart.LfV0zid2.js → Chart.B9hB35Ov.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.E8cXNiqj.js → ChatBubbleAssistant.cQmeFm3l.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.C84VqNux.js → ChatBubbleUser.QckqWgJe.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.BsU8G3Xx.js → ChatHistoryTable.DTewVIoT.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.Bb22L2B-.js → HistoryEntry.CTG2HMFf.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.CgCQ3J3r.js → ProfileEntry.DYYzBE5s.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.DthuyCfx.js → SettingsEntry.D29H8z_6.js} +184 -180
  11. package/dist/chunks/{Table.DWNSOwzN.js → Table.4AY7ytZo.js} +2 -2
  12. package/dist/chunks/{UsageEntry.PtMxeqds.js → UsageEntry.BUPgYfi_.js} +3 -3
  13. package/dist/chunks/{UserMemoriesPanel.CBSFmHg7.js → UserMemoriesPanel.Dpnz-uAb.js} +4 -4
  14. package/dist/chunks/{index.DJg0NGP9.js → index.B87G0G-b.js} +1 -1
  15. package/dist/chunks/{index.BaFTRquS.js → index.BqIB-hbB.js} +3 -3
  16. package/dist/chunks/{index.BtmJY5AI.js → index.C58UQ9Se.js} +1 -1
  17. package/dist/chunks/{index.B_LtCB1l.js → index.ChttSd_v.js} +2 -2
  18. package/dist/chunks/{index.Ca4if9H7.js → index.CpOVLW1-.js} +1 -1
  19. package/dist/chunks/{index.CKriJDCb.js → index.DWl4Hcyk.js} +1 -1
  20. package/dist/chunks/{index.B7RaRKya.js → index.i2-wyoMZ.js} +1 -1
  21. package/dist/chunks/{index.7fhQuqoG.js → index.x0F3_X3L.js} +1 -1
  22. package/dist/chunks/{useMarkdown.Ky0bSmFT.js → useMarkdown.CDrOqrBw.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
- import { p as m, ButtonScroll as n } from "./App.YrWB4OwR.js";
2
+ import { p as m, ButtonScroll as n } from "./App.fPigJREV.js";
3
3
  import { useRef as f, useCallback as u, useLayoutEffect as p } from "react";
4
- import { useMarkdown as d } from "./useMarkdown.Ky0bSmFT.js";
4
+ import { useMarkdown as d } from "./useMarkdown.CDrOqrBw.js";
5
5
  const b = ({ content: o }) => {
6
6
  const [l, t] = d(), { ref: a, inViewport: c } = m(), e = f(null), i = u(() => {
7
7
  e.current && e.current.scrollIntoView({
@@ -1,12 +1,12 @@
1
1
  import { jsxs as b, Fragment as l, jsx as e } from "react/jsx-runtime";
2
- import { oe as A } from "./App.YrWB4OwR.js";
3
- import { i as d, useServerCapabilities as g, useChangelogs as B, S as t, renderDataAsList as c, CARDS as r, pluralize as E, isProbablyMobile as I, ABOUT_TITLE as S } from "./index.CKriJDCb.js";
2
+ import { oe as A } from "./App.fPigJREV.js";
3
+ import { i as d, useServerCapabilities as g, useChangelogs as B, S as t, renderDataAsList as c, CARDS as r, pluralize as E, isProbablyMobile as I, ABOUT_TITLE as S } from "./index.DWl4Hcyk.js";
4
4
  import O from "clsx";
5
5
  import { Suspense as C, lazy as U } from "react";
6
6
  const L = U(
7
7
  () => import(
8
8
  /* webpackChunkName: "LazyAboutChangelog" */
9
- "./AboutChangelog.CqWjW39N.js"
9
+ "./AboutChangelog.CKksZqHG.js"
10
10
  )
11
11
  ), N = () => {
12
12
  const s = d(), i = d(), { data: o, isSuccess: m } = g(), { data: T, isSuccess: h } = B(), p = o?.version || "", a = o?.models || [], u = o?.buildTime || "";
@@ -18,8 +18,8 @@ const L = U(
18
18
  className: "prose-dark dark:prose-lighter mb-4",
19
19
  noBorder: !0,
20
20
  children: c(s, {
21
- [r.ABOUT.VERSION]: "8.74.1",
22
- [r.ABOUT.BUILD_TIMESTAMP]: "10/29/2025 10:16 AM EDT"
21
+ [r.ABOUT.VERSION]: "8.74.2",
22
+ [r.ABOUT.BUILD_TIMESTAMP]: "10/29/2025 10:54 AM EDT"
23
23
  })
24
24
  }
25
25
  ),
@@ -1,5 +1,5 @@
1
1
  import { jsx as l, jsxs as S, Fragment as Me } from "react/jsx-runtime";
2
- import { I as G, ACTION_SORT as bs, ACTION_SEARCH as ws, ACTION_RESET_PROMPT as Io, ACTION_TOGGLE_PROMPT as Eo, LOCAL_STORAGE_PREFIX as Be, LOCAL_STORAGE_CHAT_ID as So, n as ye, isDev as Is, isPWAMode as To, useChat as Es, F as Ss, te as Te, DEFAULT_ICON_ACTION_SIZE as Ae, isTauri as Kt, useUserPreferences as Ge, isProbablyiPhone as Ue, serverUrl as xo, useEntitlements as Jr, L as Ar, j as ct, C as mn, LOCAL_STORAGE_PRIVATE_DISCLOSURE as Ts, ot as er, LOCAL_STORAGE_REASONING_DISCLOSURE as xs, useSaveChat as ks, TOAST_CHAT_SAVED as Cs, PROMPT_CLASSNAME as Ns, PROMPT_EDITABLE_AREA_CLASSNAME as zs, useChatsHistory as As, i as Os, rt as ko, ERROR_MESSAGE as Ms, E as It, CLIPBOARD_PROMPT as hn, INPUT_PLACEHOLDER_TEXT_MOBILE as fn, INPUT_PLACEHOLDER_TEXT_ENTER as gn, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as vn, isProbablyMobile as Or, Z as $s, FOOTER_DISCLAIMERS as yn, h as Co, isProbablyiPad as Rs, INPUT_BOTTOM_OFFSET_EXTRA as _n, INPUT_BOTTOM_OFFSET_IPHONE as Ps, INPUT_BOTTOM_OFFSET_IPAD as Zs, INPUT_BOTTOM_OFFSET as No, getLayoutPaddingClass as Mr, canEvaluateModels as bn, et as Ds, r as Ls, O as Bs, c as Us, V as js, j$1 as yr, setNewProvider as wn, TOAST_PROVIDER_CHANGED as In, useQueryClient as Vs, LOG_OUT as En, e as zo, b as Sn, useServerCapabilities as Fs, getMessageContaintWrapperClass as Hs, UI_FOOTER_BUFFER as Ao, UI_BUTTON_SCROLL_BUFFER as Gs, Logo as Js, UI_DEFAULT_MAIN_HEIGHT as Tn, applyOledMode as Ws, UI_DEFAULT_MAIN_HEIGHT_IPHONE as qs, APP_CLASSNAME as Ys, J as xn, Q as Xs, LOCAL_STORAGE_SORT as Qs, LOCAL_STORAGE_SEARCH as Ks, LOCAL_STORAGE_OLED_MODE as ei, LOCAL_STORAGE_FULL_SCREEN as ti, LOCAL_STORAGE_SORT_TIMESTAMP as ri, LOCAL_STORAGE_SORT_TOKEN_USAGE as ni, TOAST_CACHE_ENABLED as oi, TOAST_CACHE_DISABLED as ai } from "./index.CKriJDCb.js";
2
+ import { I as G, ACTION_SORT as bs, ACTION_SEARCH as ws, ACTION_RESET_PROMPT as Io, ACTION_TOGGLE_PROMPT as Eo, LOCAL_STORAGE_PREFIX as Be, LOCAL_STORAGE_CHAT_ID as So, n as ye, isDev as Is, isPWAMode as To, useChat as Es, F as Ss, te as Te, DEFAULT_ICON_ACTION_SIZE as Ae, isTauri as Kt, useUserPreferences as Ge, isProbablyiPhone as Ue, serverUrl as xo, useEntitlements as Jr, L as Ar, j as ct, C as mn, LOCAL_STORAGE_PRIVATE_DISCLOSURE as Ts, ot as er, LOCAL_STORAGE_REASONING_DISCLOSURE as xs, useSaveChat as ks, TOAST_CHAT_SAVED as Cs, PROMPT_CLASSNAME as Ns, PROMPT_EDITABLE_AREA_CLASSNAME as zs, useChatsHistory as As, i as Os, rt as ko, ERROR_MESSAGE as Ms, E as It, CLIPBOARD_PROMPT as hn, INPUT_PLACEHOLDER_TEXT_MOBILE as fn, INPUT_PLACEHOLDER_TEXT_ENTER as gn, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as vn, isProbablyMobile as Or, Z as $s, FOOTER_DISCLAIMERS as yn, h as Co, isProbablyiPad as Rs, INPUT_BOTTOM_OFFSET_EXTRA as _n, INPUT_BOTTOM_OFFSET_IPHONE as Ps, INPUT_BOTTOM_OFFSET_IPAD as Zs, INPUT_BOTTOM_OFFSET as No, getLayoutPaddingClass as Mr, canEvaluateModels as bn, et as Ds, r as Ls, O as Bs, c as Us, V as js, j$1 as yr, setNewProvider as wn, TOAST_PROVIDER_CHANGED as In, useQueryClient as Vs, LOG_OUT as En, e as zo, b as Sn, useServerCapabilities as Fs, getMessageContaintWrapperClass as Hs, UI_FOOTER_BUFFER as Ao, UI_BUTTON_SCROLL_BUFFER as Gs, Logo as Js, UI_DEFAULT_MAIN_HEIGHT as Tn, applyOledMode as Ws, UI_DEFAULT_MAIN_HEIGHT_IPHONE as qs, APP_CLASSNAME as Ys, J as xn, Q as Xs, LOCAL_STORAGE_SORT as Qs, LOCAL_STORAGE_SEARCH as Ks, LOCAL_STORAGE_OLED_MODE as ei, LOCAL_STORAGE_FULL_SCREEN as ti, LOCAL_STORAGE_SORT_TIMESTAMP as ri, LOCAL_STORAGE_SORT_TOKEN_USAGE as ni, TOAST_CACHE_ENABLED as oi, TOAST_CACHE_DISABLED as ai } from "./index.DWl4Hcyk.js";
3
3
  import * as ie from "react";
4
4
  import pt, { useRef as V, useEffect as $, useCallback as D, useState as R, useSyncExternalStore as Gt, createContext as si, useContext as re, useId as Oo, forwardRef as Mo, useMemo as ze, Suspense as tr, lazy as Re, useReducer as Zt, useLayoutEffect as ii } from "react";
5
5
  import N from "clsx";
@@ -6614,7 +6614,7 @@ const Qa = async () => (xr || (xr = import(
6614
6614
  "./index.790ujKXR.js"
6615
6615
  )), xr), Ka = async () => (kr || (kr = import(
6616
6616
  /* webpackChunkName: "toast-utilities" */
6617
- "./index.CKriJDCb.js"
6617
+ "./index.DWl4Hcyk.js"
6618
6618
  ).then((e) => e.utilities)), kr), sh = async () => {
6619
6619
  try {
6620
6620
  await Promise.all([Qa(), Ka()]);
@@ -9392,38 +9392,38 @@ const sf = (e) => {
9392
9392
  }, Mf = Re(
9393
9393
  () => import(
9394
9394
  /* webpackChunkName: "modal-chunk" */
9395
- "./ProfileEntry.CgCQ3J3r.js"
9395
+ "./ProfileEntry.DYYzBE5s.js"
9396
9396
  ).then((e) => ({
9397
9397
  default: e.Profile
9398
9398
  }))
9399
9399
  ), $f = Re(
9400
9400
  () => import(
9401
9401
  /* webpackChunkName: "modal-chunk" */
9402
- "./SettingsEntry.DthuyCfx.js"
9402
+ "./SettingsEntry.D29H8z_6.js"
9403
9403
  ).then((e) => ({
9404
9404
  default: e.SettingsPanel
9405
9405
  }))
9406
9406
  ), Rf = Re(
9407
9407
  () => import(
9408
9408
  /* webpackChunkName: "modal-chunk" */
9409
- "./HistoryEntry.Bb22L2B-.js"
9409
+ "./HistoryEntry.CTG2HMFf.js"
9410
9410
  ).then((e) => ({
9411
9411
  default: e.HistoryPanel
9412
9412
  }))
9413
9413
  ), Pf = Re(
9414
9414
  () => import(
9415
9415
  /* webpackChunkName: "modal-chunk" */
9416
- "./AboutEntry.0Ccenpf3.js"
9416
+ "./AboutEntry.glCt_1V2.js"
9417
9417
  ).then((e) => ({ default: e.About }))
9418
9418
  ), Zf = Re(
9419
9419
  () => import(
9420
9420
  /* webpackChunkName: "modal-chunk" */
9421
- "./UsageEntry.PtMxeqds.js"
9421
+ "./UsageEntry.BUPgYfi_.js"
9422
9422
  ).then((e) => ({ default: e.Usage }))
9423
9423
  ), Df = Re(
9424
9424
  () => import(
9425
9425
  /* webpackChunkName: "modal-chunk" */
9426
- "./UserMemoriesPanel.CBSFmHg7.js"
9426
+ "./UserMemoriesPanel.Dpnz-uAb.js"
9427
9427
  ).then(
9428
9428
  (e) => ({ default: e.default })
9429
9429
  )
@@ -9473,23 +9473,23 @@ const sf = (e) => {
9473
9473
  f || Promise.all([
9474
9474
  import(
9475
9475
  /* webpackChunkName: "modal-chunk" */
9476
- "./ProfileEntry.CgCQ3J3r.js"
9476
+ "./ProfileEntry.DYYzBE5s.js"
9477
9477
  ),
9478
9478
  import(
9479
9479
  /* webpackChunkName: "modal-chunk" */
9480
- "./SettingsEntry.DthuyCfx.js"
9480
+ "./SettingsEntry.D29H8z_6.js"
9481
9481
  ),
9482
9482
  import(
9483
9483
  /* webpackChunkName: "modal-chunk" */
9484
- "./HistoryEntry.Bb22L2B-.js"
9484
+ "./HistoryEntry.CTG2HMFf.js"
9485
9485
  ),
9486
9486
  import(
9487
9487
  /* webpackChunkName: "modal-chunk" */
9488
- "./AboutEntry.0Ccenpf3.js"
9488
+ "./AboutEntry.glCt_1V2.js"
9489
9489
  ),
9490
9490
  import(
9491
9491
  /* webpackChunkName: "modal-chunk" */
9492
- "./UsageEntry.PtMxeqds.js"
9492
+ "./UsageEntry.BUPgYfi_.js"
9493
9493
  )
9494
9494
  ]).finally(() => g(!0));
9495
9495
  }, [f]), b = D((k) => {
@@ -9746,18 +9746,18 @@ try {
9746
9746
  } catch {
9747
9747
  }
9748
9748
  const Vf = Re(
9749
- () => import("./index.BtmJY5AI.js").then((e) => ({ default: e.Bubble }))
9749
+ () => import("./index.C58UQ9Se.js").then((e) => ({ default: e.Bubble }))
9750
9750
  ), dn = (e) => /* @__PURE__ */ l(tr, { fallback: /* @__PURE__ */ l("span", { className: "inline-block" }), children: /* @__PURE__ */ l(Vf, { ...e }) });
9751
9751
  dn.displayName = "AsyncBubble";
9752
9752
  const wo = 1, Ff = 150, Hf = Re(
9753
9753
  () => import(
9754
9754
  /* webpackChunkName: "LazyMessageAssistant" */
9755
- "./ChatBubbleAssistant.E8cXNiqj.js"
9755
+ "./ChatBubbleAssistant.cQmeFm3l.js"
9756
9756
  )
9757
9757
  ), Gf = Re(
9758
9758
  () => import(
9759
9759
  /* webpackChunkName: "LazyMessageUser" */
9760
- "./ChatBubbleUser.C84VqNux.js"
9760
+ "./ChatBubbleUser.QckqWgJe.js"
9761
9761
  )
9762
9762
  ), Jf = pt.memo(
9763
9763
  ({
@@ -1,7 +1,7 @@
1
1
  import { jsx as Ap } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.YrWB4OwR.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.fPigJREV.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.CKriJDCb.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.DWl4Hcyk.js";
5
5
  var ls = { exports: {} }, Ip = ls.exports, on;
6
6
  function Dp() {
7
7
  return on || (on = 1, (function(we, he) {
@@ -1,10 +1,10 @@
1
1
  import { jsx as b } from "react/jsx-runtime";
2
- import { n as P, useUserPreferences as R, convertCamelCaseToReadable as y, numberFormatter as L, pluralize as _, b as v } from "./index.CKriJDCb.js";
3
- import { BUBBLE_FOOTER_EMPTY as B } from "./index.BtmJY5AI.js";
2
+ import { n as P, useUserPreferences as R, convertCamelCaseToReadable as y, numberFormatter as L, pluralize as _, b as v } from "./index.DWl4Hcyk.js";
3
+ import { BUBBLE_FOOTER_EMPTY as B } from "./index.C58UQ9Se.js";
4
4
  import U from "clsx";
5
5
  import G, { useState as g, useRef as E, useEffect as F, useContext as S } from "react";
6
- import { ChatContext as D, AppContext as j, AsyncBubble as k } from "./App.YrWB4OwR.js";
7
- import { useMarkdown as q } from "./useMarkdown.Ky0bSmFT.js";
6
+ import { ChatContext as D, AppContext as j, AsyncBubble as k } from "./App.fPigJREV.js";
7
+ import { useMarkdown as q } from "./useMarkdown.CDrOqrBw.js";
8
8
  const I = 2, W = I * 1e3, M = "", $ = (e) => e * (2 - e);
9
9
  function V(e, n = !0) {
10
10
  const [a, d] = g(0), [c, p] = g(0), [t, C] = g(e), r = E(0), s = E(0);
@@ -1,8 +1,8 @@
1
1
  import { jsx as n, Fragment as b, jsxs as A } from "react/jsx-runtime";
2
2
  import { useState as C, useMemo as u, isValidElement as p, useEffect as I } from "react";
3
- import { AsyncBubble as w } from "./App.YrWB4OwR.js";
4
- import { useMarkdown as _ } from "./useMarkdown.Ky0bSmFT.js";
5
- import { C as M } from "./index.CKriJDCb.js";
3
+ import { AsyncBubble as w } from "./App.fPigJREV.js";
4
+ import { useMarkdown as _ } from "./useMarkdown.CDrOqrBw.js";
5
+ import { C as M } from "./index.DWl4Hcyk.js";
6
6
  const R = 200, N = ({
7
7
  string: e,
8
8
  idealLength: r = R
@@ -1,9 +1,9 @@
1
1
  import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
- import { I as C, J as N, Q as g, INFINITE_SCROLL_THRESHOLD as E, CARDS as k, pluralize as y, te as u, numberFormatter as b, st as D, isProbablyMobile as U, c as B, r as I, O as P } from "./index.CKriJDCb.js";
3
- import { st as M, p$1 as L, z as V, p$2 as $ } from "./App.YrWB4OwR.js";
2
+ import { I as C, J as N, Q as g, INFINITE_SCROLL_THRESHOLD as E, CARDS as k, pluralize as y, te as u, numberFormatter as b, st as D, isProbablyMobile as U, c as B, r as I, O as P } from "./index.DWl4Hcyk.js";
3
+ import { st as M, p$1 as L, z as V, p$2 as $ } from "./App.fPigJREV.js";
4
4
  import h from "clsx";
5
5
  import { Fragment as _ } from "react";
6
- import { j as H, D as Y, G as x, H as F, M as a, U as G, F as S, l as K } from "./Table.DWNSOwzN.js";
6
+ import { j as H, D as Y, G as x, H as F, M as a, U as G, F as S, l as K } from "./Table.4AY7ytZo.js";
7
7
  const W = ({
8
8
  className: l,
9
9
  viewBox: c,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as n, jsx as t, Fragment as ee } from "react/jsx-runtime";
2
- import { I as te, n as z, INFINITE_SCROLL_LIMIT as P, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as T, LOCAL_STORAGE_SORT_TIMESTAMP as ae, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, J as D, useUserPreferences as ie, useDeleteChat as ne, useToggleFavoriteChat as ce, APP_CLASSNAME as le, TOAST_CHAT_DELETED as de, graphQLRequest as he, SERVICE_TYPES as me, setNewProvider as ue, ACTION_SORT as Ce, Q as Se, TOAST_PROVIDER_CHANGED as fe, useChatsHistory as pe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, HISTORY_TITLE as ge, S as Ae, Y as Ee, debounce as ve, C as _e, ACTION_SEARCH as De } from "./index.CKriJDCb.js";
3
- import { HistoryContext as G, ChatContext as M, useAiChat as Oe, E as g, e as u, ConfirmationPanel as Re, LazyToastContainerWrapper as Le, showErrorToast as Ie, CHAT_SET_PROVIDER as ke, showSuccessToast as be, CHAT_SET_STATUS as we, oe as Ne, G as xe } from "./App.YrWB4OwR.js";
2
+ import { I as te, n as z, INFINITE_SCROLL_LIMIT as P, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as T, LOCAL_STORAGE_SORT_TIMESTAMP as ae, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, J as D, useUserPreferences as ie, useDeleteChat as ne, useToggleFavoriteChat as ce, APP_CLASSNAME as le, TOAST_CHAT_DELETED as de, graphQLRequest as he, SERVICE_TYPES as me, setNewProvider as ue, ACTION_SORT as Ce, Q as Se, TOAST_PROVIDER_CHANGED as fe, useChatsHistory as pe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, HISTORY_TITLE as ge, S as Ae, Y as Ee, debounce as ve, C as _e, ACTION_SEARCH as De } from "./index.DWl4Hcyk.js";
3
+ import { HistoryContext as G, ChatContext as M, useAiChat as Oe, E as g, e as u, ConfirmationPanel as Re, LazyToastContainerWrapper as Le, showErrorToast as Ie, CHAT_SET_PROVIDER as ke, showSuccessToast as be, CHAT_SET_STATUS as we, oe as Ne, G as xe } from "./App.fPigJREV.js";
4
4
  import { useRef as N, useState as x, useContext as O, useCallback as V, Suspense as He, lazy as Fe, useEffect as Pe } from "react";
5
5
  const Ve = ({
6
6
  className: c,
@@ -31,7 +31,7 @@ const Ve = ({
31
31
  ), ze = Fe(
32
32
  () => import(
33
33
  /* webpackChunkName: "history-table" */
34
- "./ChatHistoryTable.BsU8G3Xx.js"
34
+ "./ChatHistoryTable.DTewVIoT.js"
35
35
  ).then((c) => ({ default: c.ChatHistoryTable }))
36
36
  ), Ge = ({
37
37
  filteredHistory: c,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, Fragment as $, jsx as e } from "react/jsx-runtime";
2
- import { preloadToast as D, showSuccessToast as K, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as H, oe as V } from "./App.YrWB4OwR.js";
3
- import { n as q, i as J, useUserPreferences as Q, useServerCapabilities as X, j$1 as Z, setUserPlan as ee, S as d, renderDataAsList as ae, CARDS as s, L as f, j as c, C as se, it as ne, isTauri as re, te, l as b, PROFILE_TITLE as le } from "./index.CKriJDCb.js";
2
+ import { preloadToast as D, showSuccessToast as K, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as H, oe as V } from "./App.fPigJREV.js";
3
+ import { n as q, i as J, useUserPreferences as Q, useServerCapabilities as X, j$1 as Z, setUserPlan as ee, S as d, renderDataAsList as ae, CARDS as s, L as f, j as c, C as se, it as ne, isTauri as re, te, l as b, PROFILE_TITLE as le } from "./index.DWl4Hcyk.js";
4
4
  import ie from "clsx";
5
5
  import { useState as m, useMemo as ce, useCallback as P } from "react";
6
6
  const oe = () => {
@@ -1,181 +1,185 @@
1
- import { jsxs as a, jsx as t, Fragment as D } from "react/jsx-runtime";
2
- import { n as Me, useEntitlements as Oe, useUserPreferences as ve, ot as se, LOCAL_STORAGE_OLED_MODE as Ae, LOCAL_STORAGE_FULL_SCREEN as Re, canEvaluateModels as xe, Et as Be, getCacheInfo as Pe, isServiceWorkerEnabled as Ge, applyOledMode as ne, SETTINGS_TITLE as Ue, S as m, CARDS as r, $ as Ve, C as L, PROMPTS_DESCRIPTION as Fe, L as We, j as re, getCurrentGeoLocation as $e, graphQLRequest as le, handleServiceWorkerToggle as ze, SERVICE_TYPES as ce } from "./index.CKriJDCb.js";
3
- import { AppContext as je, useCapability as ie, E as de, oe as He, G as l, APP_SET_OLED_MODE as Ye, APP_SET_FULL_SCREEN as qe } from "./App.YrWB4OwR.js";
4
- import { Re as me } from "./index.7fhQuqoG.js";
5
- import { useContext as Ke, useState as n, useMemo as Qe, useCallback as Je, useEffect as _ } from "react";
6
- const at = ({
7
- open: ue,
8
- onOpenChange: M
1
+ import { jsxs as s, jsx as t, Fragment as A } from "react/jsx-runtime";
2
+ import { n as Pe, useEntitlements as Be, useUserPreferences as Ge, ot as ce, LOCAL_STORAGE_OLED_MODE as Ue, LOCAL_STORAGE_FULL_SCREEN as Fe, canEvaluateModels as Ve, Et as We, getCacheInfo as $e, isServiceWorkerEnabled as ze, SETTINGS_TITLE as je, S as p, CARDS as r, $ as He, C as R, PROMPTS_DESCRIPTION as Ye, L as qe, j as ie, applyOledMode as de, getCurrentGeoLocation as Ke, graphQLRequest as me, handleServiceWorkerToggle as Qe, SERVICE_TYPES as ue } from "./index.DWl4Hcyk.js";
3
+ import { AppContext as Je, useCapability as he, E as pe, oe as Xe, G as l, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as Se } from "./App.fPigJREV.js";
4
+ import { Re as Ne } from "./index.x0F3_X3L.js";
5
+ import { useContext as Ze, useState as n, useMemo as et, useCallback as tt, useEffect as ge } from "react";
6
+ const lt = ({
7
+ open: fe,
8
+ onOpenChange: x
9
9
  }) => {
10
- const { getAccessToken: T, user: O } = Me(), { allowedModels: f, status: v } = Oe(), { dispatch: A } = Ke(je), {
10
+ const { getAccessToken: y, user: P } = Pe(), { allowedModels: k, status: B } = Be(), { dispatch: g } = Ze(Je), {
11
11
  data: o,
12
- isSuccess: he,
13
- refetch: R
14
- } = ve({
15
- user: O?.username,
16
- getAccessToken: T
17
- }), [x, p] = n({
12
+ isSuccess: Te,
13
+ refetch: G
14
+ } = Ge({
15
+ user: P?.username,
16
+ getAccessToken: y
17
+ }), [U, f] = n({
18
18
  loadingLocation: !1
19
- }), [C, B] = n({
19
+ }), [w, F] = n({
20
20
  prompts: []
21
- }), [P, G] = n(""), [U, E] = n(""), [V, F] = n(!1), [W, $] = n(!1), [S, z] = n(!1), [N, j] = n(!1), [H, Y] = n(!1), [I, q] = n(!1), [u, K] = n(null), [Q, J] = n(!1), [X, Z] = n(!1), ee = ie(se.TOOL.MEMORIES), te = ie(se.ADDON.REASONING), [b, pe] = de({
22
- key: Ae,
21
+ }), [V, W] = n(""), [$, T] = n(""), [z, j] = n(!1), [H, Y] = n(!1), [C, q] = n(!1), [I, K] = n(!1), [Q, J] = n(!1), [D, X] = n(!1), [E, Z] = n(null), [ee, te] = n(!1), [oe, se] = n(!1), ae = he(ce.TOOL.MEMORIES), ne = he(ce.ADDON.REASONING), [i, Ce] = pe({
22
+ key: Ue,
23
23
  initialValue: !1
24
- }), [Ee, Se] = de({
25
- key: Re,
24
+ }), [m, Ie] = pe({
25
+ key: Fe,
26
26
  initialValue: !1
27
- }), Ne = Qe(() => xe(f, v) ? Be(f) : !1, [f, v]), ge = (e) => {
28
- Z(e);
29
- }, Te = (e) => {
30
- F(e);
31
- }, fe = (e) => {
32
- ee && $(e);
33
- }, Ce = (e) => {
34
- j(e);
35
- }, Ie = (e) => {
36
- te && Y(e);
37
- }, be = (e) => {
38
- q(e);
27
+ }), [u, L] = n(!1), [S, _] = n(!1), be = et(() => Ve(k, B) ? We(k) : !1, [k, B]), ye = (e) => {
28
+ se(e);
39
29
  }, ke = (e) => {
40
- pe(e), ne(e), A({
41
- type: Ye,
42
- payload: { oledMode: e }
43
- });
30
+ j(e);
44
31
  }, we = (e) => {
45
- Se(e), A({
46
- type: qe,
47
- payload: { fullScreen: e }
48
- });
49
- }, ye = async (e) => {
32
+ ae && Y(e);
33
+ }, De = (e) => {
34
+ K(e);
35
+ }, Le = (e) => {
36
+ ne && J(e);
37
+ }, _e = (e) => {
38
+ X(e);
39
+ }, Me = (e) => {
40
+ L(e);
41
+ }, Oe = (e) => {
42
+ _(e);
43
+ }, ve = async (e) => {
50
44
  e.preventDefault();
51
45
  try {
52
- await le({
53
- accessToken: await T(),
54
- type: ce.SET_USER_PREFERENCES,
46
+ await me({
47
+ accessToken: await y(),
48
+ type: ue.SET_USER_PREFERENCES,
55
49
  params: {
56
- user: O?.username,
57
- instructions: P,
58
- location: U,
50
+ user: P?.username,
51
+ instructions: V,
52
+ location: $,
59
53
  provider: o?.provider,
60
54
  /**
61
55
  * When nested model selection is disabled, explicitly clear any stored
62
56
  * model preference so the user relies solely on provider defaults.
63
57
  * Empty string signals to backend to use provider's default model.
64
58
  */
65
- model: I && o?.model || "",
66
- tags: C.prompts,
67
- sendOnEnter: V,
68
- useMemory: W,
69
- showDetails: X,
70
- showReasoningButton: H,
71
- useNestedModelSelection: I
59
+ model: D && o?.model || "",
60
+ tags: w.prompts,
61
+ sendOnEnter: z,
62
+ useMemory: H,
63
+ showDetails: oe,
64
+ showReasoningButton: Q,
65
+ useNestedModelSelection: D
72
66
  }
73
- }), N !== S && (await ze(N), z(N)), R(), p({
67
+ }), I !== C && (await Qe(I), q(I)), u !== i && (Ce(u), de(u), g({
68
+ type: Ee,
69
+ payload: { oledMode: u }
70
+ })), S !== m && (Ie(S), g({
71
+ type: Se,
72
+ payload: { fullScreen: S }
73
+ })), G(), f({
74
74
  loadingLocation: !1
75
75
  });
76
76
  } catch {
77
77
  }
78
- }, De = async () => {
79
- p({
78
+ }, Ae = async () => {
79
+ f({
80
80
  loadingLocation: !0
81
- }), E("...");
81
+ }), T("...");
82
82
  try {
83
- const e = Date.now(), s = await $e(), g = await le({
84
- accessToken: await T(),
85
- type: ce.GET_LOCATION,
83
+ const e = Date.now(), a = await Ke(), b = await me({
84
+ accessToken: await y(),
85
+ type: ue.GET_LOCATION,
86
86
  params: {
87
- latitude: s.latitude,
88
- longitude: s.longitude
87
+ latitude: a.latitude,
88
+ longitude: a.longitude
89
89
  }
90
- }), d = Date.now() - e;
91
- d < 2e3 && await new Promise((_e) => setTimeout(_e, 2e3 - d));
92
- const { city: i, state: c, country: h, displayName: y } = g.data, Le = i && c && h ? `${i}, ${c}, ${h}` : y;
93
- p({
90
+ }), h = Date.now() - e;
91
+ h < 2e3 && await new Promise((xe) => setTimeout(xe, 2e3 - h));
92
+ const { city: d, state: c, country: N, displayName: v } = b.data, Re = d && c && N ? `${d}, ${c}, ${N}` : v;
93
+ f({
94
94
  loadingLocation: !1
95
- }), E(Le);
95
+ }), T(Re);
96
96
  } catch {
97
- p({
97
+ f({
98
98
  loadingLocation: !1
99
99
  });
100
100
  }
101
- }, oe = () => {
102
- R(), M(!1);
103
- }, k = ({
101
+ }, re = () => {
102
+ u !== i && (L(i), de(i), g({
103
+ type: Ee,
104
+ payload: { oledMode: i }
105
+ })), S !== m && (_(m), g({
106
+ type: Se,
107
+ payload: { fullScreen: m }
108
+ })), G(), x(!1);
109
+ }, M = ({
104
110
  enabled: e = !1,
105
- privateChat: s = !1,
106
- clipboardAccess: g = !1,
107
- ...w
111
+ privateChat: a = !1,
112
+ clipboardAccess: b = !1,
113
+ ...O
108
114
  }) => {
109
- B((d) => {
110
- const i = d.prompts, c = {
111
- ...w,
115
+ F((h) => {
116
+ const d = h.prompts, c = {
117
+ ...O,
112
118
  enabled: e,
113
- privateChat: s,
114
- clipboardAccess: g
119
+ privateChat: a,
120
+ clipboardAccess: b
115
121
  };
116
- g ? c.content = c.content.replace(/{{clipboard}}/g, "") + " {{clipboard}}" : c.content = c.content.replace(/{{clipboard}}/g, "");
117
- const h = i.findIndex((y) => y.slot === w.slot);
118
- return h === -1 ? {
119
- ...d,
120
- prompts: [...i, { ...c }]
121
- } : (i[h] = c, {
122
- ...d,
123
- prompts: [...i]
122
+ b ? c.content = c.content.replace(/{{clipboard}}/g, "") + " {{clipboard}}" : c.content = c.content.replace(/{{clipboard}}/g, "");
123
+ const N = d.findIndex((v) => v.slot === O.slot);
124
+ return N === -1 ? {
125
+ ...h,
126
+ prompts: [...d, { ...c }]
127
+ } : (d[N] = c, {
128
+ ...h,
129
+ prompts: [...d]
124
130
  });
125
131
  });
126
- }, ae = Je(async () => {
132
+ }, le = tt(async () => {
127
133
  try {
128
- J(!0);
129
- const e = await Pe();
130
- K(e);
134
+ te(!0);
135
+ const e = await $e();
136
+ Z(e);
131
137
  } catch {
132
138
  } finally {
133
- J(!1);
139
+ te(!1);
134
140
  }
135
141
  }, []);
136
- return _(() => {
142
+ return ge(() => {
137
143
  if (!o)
138
144
  return;
139
- o.instructions && G(o.instructions), o.location && E(o.location), o.tags && B({ prompts: o.tags }), o.sendOnEnter !== void 0 && F(o.sendOnEnter), o.useMemory !== void 0 && $(o.useMemory), o.showDetails !== void 0 && Z(o.showDetails), o.showReasoningButton !== void 0 && Y(o.showReasoningButton), o.useNestedModelSelection !== void 0 && q(o.useNestedModelSelection);
140
- const e = Ge();
141
- z(e), j(e);
142
- }, [o]), _(() => {
143
- S ? ae() : K(null);
144
- }, [S, ae]), _(() => {
145
- ne(b);
146
- }, [b]), he ? /* @__PURE__ */ a(
147
- He,
145
+ o.instructions && W(o.instructions), o.location && T(o.location), o.tags && F({ prompts: o.tags }), o.sendOnEnter !== void 0 && j(o.sendOnEnter), o.useMemory !== void 0 && Y(o.useMemory), o.showDetails !== void 0 && se(o.showDetails), o.showReasoningButton !== void 0 && J(o.showReasoningButton), o.useNestedModelSelection !== void 0 && X(o.useNestedModelSelection);
146
+ const e = ze();
147
+ q(e), K(e), L(i), _(m);
148
+ }, [o, i, m]), ge(() => {
149
+ C ? le() : Z(null);
150
+ }, [C, le]), Te ? /* @__PURE__ */ s(
151
+ Xe,
148
152
  {
149
- open: ue,
150
- onOpenChange: oe,
151
- title: Ue,
153
+ open: fe,
154
+ onOpenChange: re,
155
+ title: je,
152
156
  animation: !0,
153
157
  animationType: "fade",
154
- footer: /* @__PURE__ */ a(
155
- We,
158
+ footer: /* @__PURE__ */ s(
159
+ qe,
156
160
  {
157
161
  columnGap: 2,
158
162
  alignHorizontal: "flex-end",
159
163
  className: "pb-8 sm:pb-0",
160
164
  children: [
161
- /* @__PURE__ */ t(re, { children: /* @__PURE__ */ t(
162
- L,
165
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t(
166
+ R,
163
167
  {
164
168
  mode: "dark",
165
169
  variant: "secondary",
166
170
  focusMode: "light",
167
171
  noBorder: !0,
168
- onClick: oe,
172
+ onClick: re,
169
173
  children: "Cancel"
170
174
  }
171
175
  ) }),
172
- /* @__PURE__ */ t(re, { children: /* @__PURE__ */ t(
173
- L,
176
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t(
177
+ R,
174
178
  {
175
179
  mode: "dark",
176
180
  focusMode: "light",
177
181
  onClick: async (e) => {
178
- M(!1), await ye(e);
182
+ x(!1), await ve(e);
179
183
  },
180
184
  children: "Save"
181
185
  }
@@ -184,8 +188,8 @@ const at = ({
184
188
  }
185
189
  ),
186
190
  children: [
187
- /* @__PURE__ */ a(
188
- m,
191
+ /* @__PURE__ */ s(
192
+ p,
189
193
  {
190
194
  header: r.SETTINGS_DETAILS.TITLE,
191
195
  className: "prose-dark dark:prose-lighter",
@@ -200,8 +204,8 @@ const at = ({
200
204
  className: "mt-2",
201
205
  label: "Show Message Statistics",
202
206
  name: "show-message-statistics",
203
- onChange: ge,
204
- checked: X
207
+ onChange: ye,
208
+ checked: oe
205
209
  }
206
210
  ),
207
211
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_DETAILS.SEND_ON_ENTER }),
@@ -213,11 +217,11 @@ const at = ({
213
217
  className: "mt-2",
214
218
  label: "Send Message on Enter",
215
219
  name: "send-message-on-enter",
216
- onChange: Te,
217
- checked: V
220
+ onChange: ke,
221
+ checked: z
218
222
  }
219
223
  ),
220
- ee && /* @__PURE__ */ a(D, { children: [
224
+ ae && /* @__PURE__ */ s(A, { children: [
221
225
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_DETAILS.USE_MEMORY }),
222
226
  /* @__PURE__ */ t(
223
227
  l,
@@ -227,28 +231,28 @@ const at = ({
227
231
  className: "mt-2",
228
232
  label: "Use Memory",
229
233
  name: "use-memory",
230
- onChange: fe,
231
- checked: W
234
+ onChange: we,
235
+ checked: H
232
236
  }
233
237
  )
234
238
  ] })
235
239
  ]
236
240
  }
237
241
  ),
238
- /* @__PURE__ */ a(
239
- m,
242
+ /* @__PURE__ */ s(
243
+ p,
240
244
  {
241
245
  header: "Custom Instructions",
242
246
  className: "prose-dark dark:prose-lighter mt-4",
243
247
  noBorder: !0,
244
248
  children: [
245
- /* @__PURE__ */ a("p", { className: "text-sm", children: [
249
+ /* @__PURE__ */ s("p", { className: "text-sm", children: [
246
250
  "What would you like ",
247
- /* @__PURE__ */ t("em", { children: Ve }),
251
+ /* @__PURE__ */ t("em", { children: He }),
248
252
  " to know about you to provide better responses?"
249
253
  ] }),
250
254
  /* @__PURE__ */ t(
251
- me,
255
+ Ne,
252
256
  {
253
257
  mode: "alt-system",
254
258
  autoCapitalize: "off",
@@ -256,9 +260,9 @@ const at = ({
256
260
  autoCorrect: "off",
257
261
  name: "customInstructions",
258
262
  label: "Custom Instructions",
259
- value: P,
263
+ value: V,
260
264
  onChange: (e) => {
261
- G(e.target.value);
265
+ W(e.target.value);
262
266
  },
263
267
  helperText: "Press ENTER to add a new line."
264
268
  }
@@ -266,8 +270,8 @@ const at = ({
266
270
  ]
267
271
  }
268
272
  ),
269
- /* @__PURE__ */ a(
270
- m,
273
+ /* @__PURE__ */ s(
274
+ p,
271
275
  {
272
276
  header: "Location",
273
277
  className: "prose-dark dark:prose-lighter mt-4",
@@ -275,43 +279,43 @@ const at = ({
275
279
  children: [
276
280
  /* @__PURE__ */ t("p", { className: "text-sm", children: "You can share your location to receive customized responses based on your area." }),
277
281
  /* @__PURE__ */ t(
278
- me,
282
+ Ne,
279
283
  {
280
284
  mode: "alt-system",
281
285
  name: "location",
282
286
  label: "Location",
283
- value: U,
287
+ value: $,
284
288
  onChange: (e) => {
285
- E(e.target.value);
289
+ T(e.target.value);
286
290
  },
287
291
  helperText: "Enter your location or press auto-detect."
288
292
  }
289
293
  ),
290
294
  /* @__PURE__ */ t(
291
- L,
295
+ R,
292
296
  {
293
297
  className: "mt-2",
294
298
  size: "small",
295
299
  noBorder: !0,
296
300
  variant: "secondary",
297
- disabled: x.loadingLocation,
298
- onClick: De,
299
- children: x.loadingLocation ? "Detecting..." : "Auto-detect"
301
+ disabled: U.loadingLocation,
302
+ onClick: Ae,
303
+ children: U.loadingLocation ? "Detecting..." : "Auto-detect"
300
304
  }
301
305
  )
302
306
  ]
303
307
  }
304
308
  ),
305
- /* @__PURE__ */ a(
306
- m,
309
+ /* @__PURE__ */ s(
310
+ p,
307
311
  {
308
312
  header: r.SETTINGS_PROMPTS.TITLE,
309
313
  className: "prose-dark dark:prose-lighter mt-4",
310
314
  noBorder: !0,
311
315
  children: [
312
- /* @__PURE__ */ t("p", { className: "text-sm", children: Fe }),
313
- C.prompts && C.prompts.slice(0, 3).map((e) => /* @__PURE__ */ a(
314
- m,
316
+ /* @__PURE__ */ t("p", { className: "text-sm", children: Ye }),
317
+ w.prompts && w.prompts.slice(0, 3).map((e) => /* @__PURE__ */ s(
318
+ p,
315
319
  {
316
320
  mode: "dark",
317
321
  noBorder: !0,
@@ -329,10 +333,10 @@ const at = ({
329
333
  className: "mt-2",
330
334
  label: "Enabled",
331
335
  name: e.slot.toString(),
332
- onChange: (s) => {
333
- k({
336
+ onChange: (a) => {
337
+ M({
334
338
  ...e,
335
- enabled: s
339
+ enabled: a
336
340
  });
337
341
  },
338
342
  checked: e.enabled
@@ -348,10 +352,10 @@ const at = ({
348
352
  className: "mt-2",
349
353
  label: "Private Chat",
350
354
  name: `private-${e.slot.toString()}`,
351
- onChange: (s) => {
352
- k({
355
+ onChange: (a) => {
356
+ M({
353
357
  ...e,
354
- privateChat: s
358
+ privateChat: a
355
359
  });
356
360
  },
357
361
  checked: e.privateChat
@@ -367,10 +371,10 @@ const at = ({
367
371
  className: "mt-2",
368
372
  label: "Use Clipboard",
369
373
  name: `clipboard-${e.slot.toString()}`,
370
- onChange: (s) => {
371
- k({
374
+ onChange: (a) => {
375
+ M({
372
376
  ...e,
373
- clipboardAccess: s
377
+ clipboardAccess: a
374
378
  });
375
379
  },
376
380
  checked: e.clipboardAccess
@@ -383,14 +387,14 @@ const at = ({
383
387
  ]
384
388
  }
385
389
  ),
386
- /* @__PURE__ */ a(
387
- m,
390
+ /* @__PURE__ */ s(
391
+ p,
388
392
  {
389
393
  header: r.SETTINGS_ADVANCED.TITLE,
390
394
  className: "prose-dark dark:prose-lighter mt-4 ",
391
395
  noBorder: !0,
392
396
  children: [
393
- te && /* @__PURE__ */ a(D, { children: [
397
+ ne && /* @__PURE__ */ s(A, { children: [
394
398
  /* @__PURE__ */ t("p", { className: "text-sm", children: r.SETTINGS_ADVANCED.REASONING_BUTTON_DESCRIPTION }),
395
399
  /* @__PURE__ */ t(
396
400
  l,
@@ -400,12 +404,12 @@ const at = ({
400
404
  className: "mt-2",
401
405
  label: "Show Reasoning Button",
402
406
  name: "show-reasoning-button",
403
- onChange: Ie,
404
- checked: H
407
+ onChange: Le,
408
+ checked: Q
405
409
  }
406
410
  )
407
411
  ] }),
408
- Ne && /* @__PURE__ */ a(D, { children: [
412
+ be && /* @__PURE__ */ s(A, { children: [
409
413
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.NESTED_MODEL_SELECTION_DESCRIPTION }),
410
414
  /* @__PURE__ */ t(
411
415
  l,
@@ -415,8 +419,8 @@ const at = ({
415
419
  className: "mt-2",
416
420
  label: "Enable Model Selection",
417
421
  name: "use-nested-model-selection",
418
- onChange: be,
419
- checked: I
422
+ onChange: _e,
423
+ checked: D
420
424
  }
421
425
  )
422
426
  ] }),
@@ -429,8 +433,8 @@ const at = ({
429
433
  className: "mt-2",
430
434
  label: "Enable OLED Mode",
431
435
  name: "enable-oled-mode",
432
- onChange: ke,
433
- checked: b
436
+ onChange: Me,
437
+ checked: u
434
438
  }
435
439
  ),
436
440
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.FULL_SCREEN_DESCRIPTION }),
@@ -442,8 +446,8 @@ const at = ({
442
446
  className: "mt-2",
443
447
  label: "Enable Full Screen",
444
448
  name: "enable-full-screen",
445
- onChange: we,
446
- checked: Ee
449
+ onChange: Oe,
450
+ checked: S
447
451
  }
448
452
  ),
449
453
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.CACHE_DESCRIPTION }),
@@ -455,32 +459,32 @@ const at = ({
455
459
  className: "mt-2",
456
460
  label: "Enable Assets Caching",
457
461
  name: "enable-service-worker",
458
- onChange: Ce,
459
- checked: N
462
+ onChange: De,
463
+ checked: I
460
464
  }
461
465
  ),
462
- S && /* @__PURE__ */ a("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
466
+ C && /* @__PURE__ */ s("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
463
467
  /* @__PURE__ */ t("h3", { className: "m-0 mb-2 text-xs uppercase opacity-70", children: "Cache Info" }),
464
- u ? /* @__PURE__ */ a("div", { className: "text-xs space-y-2", children: [
465
- /* @__PURE__ */ a("p", { className: "m-0", children: [
468
+ E ? /* @__PURE__ */ s("div", { className: "text-xs space-y-2", children: [
469
+ /* @__PURE__ */ s("p", { className: "m-0", children: [
466
470
  "Version: ",
467
- /* @__PURE__ */ t("strong", { children: u.version })
471
+ /* @__PURE__ */ t("strong", { children: E.version })
468
472
  ] }),
469
- /* @__PURE__ */ a("p", { className: "m-0", children: [
473
+ /* @__PURE__ */ s("p", { className: "m-0", children: [
470
474
  "Total Items: ",
471
- /* @__PURE__ */ t("strong", { children: u.totalItems })
475
+ /* @__PURE__ */ t("strong", { children: E.totalItems })
472
476
  ] }),
473
- u.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(
477
+ 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(
474
478
  "li",
475
479
  {
476
480
  className: "truncate text-xs text-copy-dark dark:text-copy-light overflow-hidden text-ellipsis",
477
- title: s,
478
- children: new URL(s).pathname
481
+ title: a,
482
+ children: new URL(a).pathname
479
483
  },
480
- s
484
+ a
481
485
  )) }) }, e.name)),
482
- u.totalItems === 0 && !Q && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
483
- ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: Q ? "Loading cache info..." : "No cache info available." })
486
+ E.totalItems === 0 && !ee && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
487
+ ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: ee ? "Loading cache info..." : "No cache info available." })
484
488
  ] })
485
489
  ]
486
490
  }
@@ -490,5 +494,5 @@ const at = ({
490
494
  ) : null;
491
495
  };
492
496
  export {
493
- at as SettingsPanel
497
+ lt as SettingsPanel
494
498
  };
@@ -1,8 +1,8 @@
1
1
  import { jsxs as _, jsx as r } from "react/jsx-runtime";
2
- import { I as f, b$1 as v } from "./index.CKriJDCb.js";
2
+ import { I as f, b$1 as v } from "./index.DWl4Hcyk.js";
3
3
  import C, { useContext as b } from "react";
4
4
  import o from "clsx";
5
- import { e as k } from "./App.YrWB4OwR.js";
5
+ import { e as k } from "./App.fPigJREV.js";
6
6
  const L = ({
7
7
  className: e,
8
8
  viewBox: a,
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.CKriJDCb.js";
3
- import { oe as H } from "./App.YrWB4OwR.js";
2
+ import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.DWl4Hcyk.js";
3
+ import { oe as H } from "./App.fPigJREV.js";
4
4
  import { useState as C, Suspense as K, lazy as j } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
8
  }, w = j(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.LfV0zid2.js"
10
+ "./Chart.B9hB35Ov.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -1,10 +1,10 @@
1
1
  import { jsxs as l, jsx as e, Fragment as _ } from "react/jsx-runtime";
2
- import { I as se, L as O, j as y, C as v, n as ce, LOCAL_STORAGE_PREFIX as q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as oe, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ie, useUserMemories as ae, useDeleteMemory as de, useDeleteAllMemories as me, useUpdateMemory as he, te as B } from "./index.CKriJDCb.js";
3
- import { oe as V, E as F, e as g, ConfirmationPanel as G, st as H } from "./App.YrWB4OwR.js";
2
+ import { I as se, L as O, j as y, C as v, n as ce, LOCAL_STORAGE_PREFIX as q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as oe, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ie, useUserMemories as ae, useDeleteMemory as de, useDeleteAllMemories as me, useUpdateMemory as he, te as B } from "./index.DWl4Hcyk.js";
3
+ import { oe as V, E as F, e as g, ConfirmationPanel as G, st as H } from "./App.fPigJREV.js";
4
4
  import E from "clsx";
5
5
  import { useState as x, useEffect as xe, useRef as j } from "react";
6
- import { Re as ue } from "./index.7fhQuqoG.js";
7
- import { j as pe, D as fe, G as b, M as d, F as ge, H as ye, l as Ce, U as Ne } from "./Table.DWNSOwzN.js";
6
+ import { Re as ue } from "./index.x0F3_X3L.js";
7
+ import { j as pe, D as fe, G as b, M as d, F as ge, H as ye, l as Ce, U as Ne } from "./Table.4AY7ytZo.js";
8
8
  const Ae = ({
9
9
  className: a,
10
10
  viewBox: m,
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.Ky0bSmFT.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.CDrOqrBw.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.YrWB4OwR.js";
2
- import { visit as In } from "./useMarkdown.Ky0bSmFT.js";
3
- import { toText as Cn } from "./index.DJg0NGP9.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.fPigJREV.js";
2
+ import { visit as In } from "./useMarkdown.CDrOqrBw.js";
3
+ import { toText as Cn } from "./index.B87G0G-b.js";
4
4
  function xn(e) {
5
5
  const t = e.regex, i = e.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] }), a = "decltype\\(auto\\)", r = "[a-zA-Z_]\\w*::", d = "(?!struct)(" + a + "|" + t.optional(r) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", c = {
6
6
  className: "type",
@@ -1,5 +1,5 @@
1
1
  import { jsxs as p, jsx as i } from "react/jsx-runtime";
2
- import { te as B } from "./index.CKriJDCb.js";
2
+ import { te as B } from "./index.DWl4Hcyk.js";
3
3
  import { useState as I, useEffect as k } from "react";
4
4
  import s from "clsx";
5
5
  const h = "av-bubble", w = ({
@@ -1,5 +1,5 @@
1
- import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.Ky0bSmFT.js";
2
- import { toText as Ca } from "./index.DJg0NGP9.js";
1
+ import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.CDrOqrBw.js";
2
+ import { toText as Ca } from "./index.B87G0G-b.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.Ky0bSmFT.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.CDrOqrBw.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -6984,7 +6984,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Al = "{{clipboard}}", P = "
6984
6984
  ] });
6985
6985
  }, jo = new URL(document.location.href).searchParams, Cr = !!jo.get("debug") || !1, Qo = Ws(() => import(
6986
6986
  /* webpackChunkName: "LazyApp" */
6987
- "./App.YrWB4OwR.js"
6987
+ "./App.fPigJREV.js"
6988
6988
  ).then((e) => e.App)), Jo = new ma(), Or = ({
6989
6989
  isComponent: e,
6990
6990
  headerHeight: t
@@ -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.Ky0bSmFT.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.CDrOqrBw.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as x } from "react/jsx-runtime";
2
- import { o as se, h as U, i as ie, x as de } from "./index.CKriJDCb.js";
2
+ import { o as se, h as U, i as ie, x as de } from "./index.DWl4Hcyk.js";
3
3
  import ce, { useState as _, useEffect as ne, useRef as b, useLayoutEffect as T } from "react";
4
4
  import s from "clsx";
5
5
  function ue({
@@ -1,8 +1,8 @@
1
1
  import * as rn from "react/jsx-runtime";
2
2
  import { jsx as se, jsxs as Pn } from "react/jsx-runtime";
3
- import { te as Ir, isTauri as Tr, unObfuscate as Pr, obfuscate as Ar } from "./index.CKriJDCb.js";
3
+ import { te as Ir, isTauri as Tr, unObfuscate as Pr, obfuscate as Ar } from "./index.DWl4Hcyk.js";
4
4
  import zr, { useState as Lt, useEffect as _t, useCallback as vt, useRef as Re } from "react";
5
- import { getDefaultExportFromCjs as Nt } from "./App.YrWB4OwR.js";
5
+ import { getDefaultExportFromCjs as Nt } from "./App.fPigJREV.js";
6
6
  import Lr from "clsx";
7
7
  const Rt = ({
8
8
  children: e,
@@ -6907,7 +6907,7 @@ class uu {
6907
6907
  if (!this.remarkGfm) {
6908
6908
  const { default: n } = await import(
6909
6909
  /* webpackChunkName: "md-remark" */
6910
- "./index.B7RaRKya.js"
6910
+ "./index.i2-wyoMZ.js"
6911
6911
  );
6912
6912
  this.remarkGfm = n;
6913
6913
  }
@@ -6918,7 +6918,7 @@ class uu {
6918
6918
  hu("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
6919
6919
  const { default: n } = await import(
6920
6920
  /* webpackChunkName: "md-rehype-katex" */
6921
- "./index.B_LtCB1l.js"
6921
+ "./index.ChttSd_v.js"
6922
6922
  );
6923
6923
  this.rehypeKatex = n;
6924
6924
  }
@@ -6928,7 +6928,7 @@ class uu {
6928
6928
  if (!this.remarkMath) {
6929
6929
  const { default: n } = await import(
6930
6930
  /* webpackChunkName: "md-remark" */
6931
- "./index.Ca4if9H7.js"
6931
+ "./index.CpOVLW1-.js"
6932
6932
  );
6933
6933
  this.remarkMath = n;
6934
6934
  }
@@ -6938,7 +6938,7 @@ class uu {
6938
6938
  if (!this.rehypeHighlight) {
6939
6939
  const { default: n } = await import(
6940
6940
  /* webpackChunkName: "md-rehype-highlight" */
6941
- "./index.BaFTRquS.js"
6941
+ "./index.BqIB-hbB.js"
6942
6942
  );
6943
6943
  this.rehypeHighlight = n;
6944
6944
  }
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.CKriJDCb.js";
2
+ import { SassySaint as a } from "../../chunks/index.DWl4Hcyk.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.CKriJDCb.js";
1
+ import { SassySaint as r } from "./chunks/index.DWl4Hcyk.js";
2
2
  /*!
3
- @sassysaint/client v8.74.1
3
+ @sassysaint/client v8.74.2
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.74.1",
9
- buildTime: "10/29/2025 10:16 AM EDT",
8
+ version: "8.74.2",
9
+ buildTime: "10/29/2025 10:54 AM EDT",
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": "8.74.1",
3
+ "version": "8.74.2",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -33,7 +33,7 @@
33
33
  "react-dom": "^18.3.1 || ^19.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@sassysaint/client": "8.74.1",
36
+ "@sassysaint/client": "8.74.2",
37
37
  "@tailwindcss/vite": "4.1.16",
38
38
  "@versini/ui-styles": "6.0.7"
39
39
  },
@@ -45,5 +45,5 @@
45
45
  "sideEffects": [
46
46
  "**/*.css"
47
47
  ],
48
- "gitHead": "69c0cd0a67a02f1779fea7feed087990811a96cf"
48
+ "gitHead": "9290ee73d37297494a74467d3ced91f2a9b9c7b0"
49
49
  }