@versini/sassysaint 8.39.8 → 8.39.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { createContext as xe, createSignal as z, onMount as Dt, createEffect as B, createMemo as q, createComponent as m, Portal as qo, memo as me, Show as R, template as _, insert as k, createRenderEffect as N, className as A, clearDelegatedEvents as bs, delegateEvents as ir, useContext as we, onCleanup as U, sortFns as Hn, mutationSortFns as Vn, on as ct, setAttribute as D, getSidedProp as xs, use as Dn, batch as ws, getQueryStatusLabel as Ot, getMutationStatusColor as Rt, getQueryStatusColor as $s, getQueryStatusColorByLabel as Cs, displayValue as xn, For as Ss, convertRemToPixels as Kr, untrack as Kt, useTransition as ks, spread as Es, mergeProps as j, createRoot as Br, serialize as Ms, Index as Ds, updateNestedDataByPath as sr, addEventListener as As, stringify as Ts, Match as zn, Switch as Fs, deleteNestedDataByPath as Is, createUniqueId as Be, splitProps as X, Dynamic as Ps, createComputed as Ls, getPreferredColorScheme as Os } from "./index.DUF913V-.js";
1
+ import { createContext as xe, createSignal as z, onMount as Dt, createEffect as B, createMemo as q, createComponent as m, Portal as qo, memo as me, Show as R, template as _, insert as k, createRenderEffect as N, className as A, clearDelegatedEvents as bs, delegateEvents as ir, useContext as we, onCleanup as U, sortFns as Hn, mutationSortFns as Vn, on as ct, setAttribute as D, getSidedProp as xs, use as Dn, batch as ws, getQueryStatusLabel as Ot, getMutationStatusColor as Rt, getQueryStatusColor as $s, getQueryStatusColorByLabel as Cs, displayValue as xn, For as Ss, convertRemToPixels as Kr, untrack as Kt, useTransition as ks, spread as Es, mergeProps as j, createRoot as Br, serialize as Ms, Index as Ds, updateNestedDataByPath as sr, addEventListener as As, stringify as Ts, Match as zn, Switch as Fs, deleteNestedDataByPath as Is, createUniqueId as Be, splitProps as X, Dynamic as Ps, createComputed as Ls, getPreferredColorScheme as Os } from "./index.DuXItDG_.js";
2
2
  var qs = (e) => e != null, _s = (e) => e.filter(qs);
3
3
  function Rs(e) {
4
4
  return (...t) => {
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, Fragment as m, jsx as e } from "react/jsx-runtime";
2
- import { i as h, nt as S, tt as R } from "./App.CeDygX4W.js";
3
- import { n as u, S as a, renderDataAsList as N, CARDS as r, isTauri as P, ue as T, l as E, L as p, j as l, PROFILE_TITLE as C } from "./index.DUF913V-.js";
2
+ import { i as h, nt as S, tt as R } from "./App.DMY0Cxus.js";
3
+ import { n as u, S as a, renderDataAsList as N, CARDS as r, isTauri as P, ue as T, l as E, L as p, j as l, PROFILE_TITLE as C } from "./index.DuXItDG_.js";
4
4
  const A = () => {
5
5
  const { isAuthenticated: n, user: i, registeringForPasskey: o, authenticationType: c } = u(), d = h(), s = i?.username || "";
6
6
  return n && s ? /* @__PURE__ */ t(m, { children: [
@@ -1,6 +1,6 @@
1
1
  import { jsxs as v, jsx as s } from "react/jsx-runtime";
2
- import { n as Ee, LOCAL_STORAGE_PREFIX as ne, LOCAL_STORAGE_CHAT_DETAILS as Te, LOCAL_STORAGE_SERVICE_WORKER as Ne, isServiceWorkerEnabled as ve, SETTINGS_TITLE as _e, S as V, CARDS as P, APP_NAME as we, C as re, PROMPTS_DESCRIPTION as Ce, L as Se, j as se, getCurrentGeoLocation as Ie, handleServiceWorkerToggle as Ae } from "./index.DUF913V-.js";
3
- import { useUserPreferences as Le, E as le, tt as Re, mutateCall as ce, SERVICE_TYPES as ie } from "./App.CeDygX4W.js";
2
+ import { n as Ee, LOCAL_STORAGE_PREFIX as ne, LOCAL_STORAGE_CHAT_DETAILS as Te, LOCAL_STORAGE_SERVICE_WORKER as Ne, isServiceWorkerEnabled as ve, SETTINGS_TITLE as _e, S as V, CARDS as P, APP_NAME as we, C as re, PROMPTS_DESCRIPTION as Ce, L as Se, j as se, getCurrentGeoLocation as Ie, handleServiceWorkerToggle as Ae } from "./index.DuXItDG_.js";
3
+ import { useUserPreferences as Le, E as le, tt as Re, mutateCall as ce, SERVICE_TYPES as ie } from "./App.DMY0Cxus.js";
4
4
  import Oe, { useRef as _, useState as g, useLayoutEffect as j, useMemo as me, useEffect as X, useId as Me, useReducer as De, useCallback as Pe } from "react";
5
5
  import i from "clsx";
6
6
  const fe = "av-text-area", Be = "av-text-area-wrapper", ae = "av-text-area-helper-text", Ge = "av-text-area__control--right", He = "av-text-area__control--left";
@@ -1,10 +1,10 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, USAGE_TITLE as U, S as h, renderDataAsList as v, CARDS as n, L as E, j as L, C as m, pluralize as i } from "./index.DUF913V-.js";
3
- import { i as M, useUserChatStats as _, useChatsUsage as D, tt as z } from "./App.CeDygX4W.js";
2
+ import { n as f, USAGE_TITLE as U, S as h, renderDataAsList as v, CARDS as n, L as E, j as L, C as m, pluralize as i } from "./index.DuXItDG_.js";
3
+ import { i as M, useUserChatStats as _, useChatsUsage as D, tt as z } from "./App.DMY0Cxus.js";
4
4
  import { useState as O, Suspense as P, lazy as B } from "react";
5
5
  const t = [0, 3, 6, 9], j = B(() => import(
6
6
  /* webpackChunkName: "LazyChart" */
7
- "./Chart.BNG4bn30.js"
7
+ "./Chart.CEWRx_BY.js"
8
8
  )), b = ({
9
9
  open: S,
10
10
  onOpenChange: I
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.B-aFM54M.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.DmhrTtGF.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -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.B-aFM54M.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.DmhrTtGF.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.B-aFM54M.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.DmhrTtGF.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.CeDygX4W.js";
2
- import { visit as In } from "./useMarkdown.B-aFM54M.js";
3
- import { toText as Cn } from "./index.Rwlw6M2i.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.DMY0Cxus.js";
2
+ import { visit as In } from "./useMarkdown.DmhrTtGF.js";
3
+ import { toText as Cn } from "./index.CD5H4iBB.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",
@@ -3081,7 +3081,7 @@ var pu = (e, t = !1) => {
3081
3081
  const t = Mi(() => {
3082
3082
  const r = this, [n] = this.#i, [s] = this.#c, [i] = this.#l, [o] = this.#u, [a] = this.#f, [c] = this.#e;
3083
3083
  let d;
3084
- return this.#d ? d = this.#d : (d = Ai(() => import("./LNWAZHJI.C5vw-KWo.js")), this.#d = d), _a(this.#o, this.#a), vi(d, Si({
3084
+ return this.#d ? d = this.#d : (d = Ai(() => import("./LNWAZHJI.Byd_ikEk.js")), this.#d = d), _a(this.#o, this.#a), vi(d, Si({
3085
3085
  get queryFlavor() {
3086
3086
  return r.#r;
3087
3087
  },
@@ -5229,7 +5229,7 @@ const ys = () => {
5229
5229
  if (!e)
5230
5230
  throw new Error("useAuth must be used within an AuthHookProvider");
5231
5231
  return e;
5232
- }, Cu = "data", Nu = "I'm having trouble right now. Please try again later.", Pu = "action-search", xu = "action-sort", $u = "action-toggle-prompt", Du = "action-reset-prompt", ps = "sassy-saint-", Mu = "details", Lu = "search", Uu = "sort", Fu = "private-disclosure", Ku = "reasoning-disclosure", gs = "service-worker", en = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Hu = 10, Bu = 30, Vu = "av-prompt", ju = "av-prompt-editable", Wu = "size-5 sm:size-4", Gu = 30, qu = 15, Ju = 130, zu = 16, Qu = 24, Yu = 76;
5232
+ }, Cu = "data", Nu = "I'm having trouble right now. Please try again later.", Pu = "action-search", xu = "action-sort", $u = "action-toggle-prompt", Du = "action-reset-prompt", ps = "sassy-saint-", Mu = "details", Lu = "search", Uu = "sort", Fu = "sort-timestamp", Ku = "sort-token-usage", Hu = "private-disclosure", Bu = "reasoning-disclosure", gs = "service-worker", en = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Vu = 10, ju = 30, Wu = "av-prompt", Gu = "av-prompt-editable", qu = "size-5 sm:size-4", Ju = 30, zu = 15, Qu = 130, Yu = 16, Xu = 24, Zu = 76;
5233
5233
  let zt = null;
5234
5234
  function Tr() {
5235
5235
  return "serviceWorker" in navigator;
@@ -5278,7 +5278,7 @@ async function uc() {
5278
5278
  return console.error("[SW] Service worker un-registration failed:", e), !1;
5279
5279
  }
5280
5280
  }
5281
- async function Xu(e) {
5281
+ async function ed(e) {
5282
5282
  if (lc(e), e)
5283
5283
  await bs();
5284
5284
  else {
@@ -5558,7 +5558,7 @@ const Oc = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5558
5558
  theme: c,
5559
5559
  transition: d,
5560
5560
  icon: u
5561
- }), Zu = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, DOMAIN: vs, convertCamelCaseToReadable: xc, convertDDToDMS: Ir, convertLatitudeToDMS: vc, convertLongitudeToDMS: Ec, debounce: Nc, durationFormatter: _c, extractAverage: kc, getCurrentGeoLocation: Sc, getMainPaddingClass: Ss, getMessageContaintWrapperClass: Es, isDev: Ar, isLastMessageFromRole: Oc, isProbablyMobile: As, isProbablyiPhone: Pc, isProd: ws, isTauri: Ts, numberFormatter: Rc, obfuscate: Tc, pluralize: Cc, renderDataAsList: Ic, toastOptions: $c, unObfuscate: Ac }, Symbol.toStringTag, { value: "Module" })), rn = "av-button", Mt = "icon", kr = "button", mr = "link", Dc = ({
5561
+ }), td = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, DOMAIN: vs, convertCamelCaseToReadable: xc, convertDDToDMS: Ir, convertLatitudeToDMS: vc, convertLongitudeToDMS: Ec, debounce: Nc, durationFormatter: _c, extractAverage: kc, getCurrentGeoLocation: Sc, getMainPaddingClass: Ss, getMessageContaintWrapperClass: Es, isDev: Ar, isLastMessageFromRole: Oc, isProbablyMobile: As, isProbablyiPhone: Pc, isProd: ws, isTauri: Ts, numberFormatter: Rc, obfuscate: Tc, pluralize: Cc, renderDataAsList: Ic, toastOptions: $c, unObfuscate: Ac }, Symbol.toStringTag, { value: "Module" })), rn = "av-button", Mt = "icon", kr = "button", mr = "link", Dc = ({
5562
5562
  type: e,
5563
5563
  size: t,
5564
5564
  labelRight: r,
@@ -7135,9 +7135,9 @@ try {
7135
7135
  });
7136
7136
  } catch {
7137
7137
  }
7138
- const Pl = "ASK! ME! ANYTHING!", D = "Callisto", xl = "Log in", $l = "Sign in with a Passkey", ed = "Log out", Dl = "Password", td = "Usage", rd = "Profile", nd = "Settings", sd = "Chat history", id = "About", _r = "Type your message here.", ad = _r, od = `${_r}
7139
- Press Enter to send it or Shift+Enter for new line.`, cd = `${_r}
7140
- Press Ctrl+Enter to send it or Enter for new line.`, ld = "{{clipboard}}", M = "Review important details.", ud = [
7138
+ const Pl = "ASK! ME! ANYTHING!", D = "Callisto", xl = "Log in", $l = "Sign in with a Passkey", rd = "Log out", Dl = "Password", nd = "Usage", sd = "Profile", id = "Settings", ad = "Chat history", od = "About", _r = "Type your message here.", cd = _r, ld = `${_r}
7139
+ Press Enter to send it or Shift+Enter for new line.`, ud = `${_r}
7140
+ Press Ctrl+Enter to send it or Enter for new line.`, dd = "{{clipboard}}", M = "Review important details.", fd = [
7141
7141
  `Sometimes, ${D} just makes stuff up. ${M}`,
7142
7142
  `${D} may invent facts on the fly. ${M}`,
7143
7143
  `${D} may be confidently wrong. ${M}`,
@@ -7158,17 +7158,17 @@ Press Ctrl+Enter to send it or Enter for new line.`, ld = "{{clipboard}}", M = "
7158
7158
  `Sometimes, ${D} howls at the moon. ${M}`,
7159
7159
  `${D} may dig up imaginary bones. ${M}`,
7160
7160
  `${D} may sniff out nonsense. ${M}`
7161
- ], dd = "Prompts are pre-filled menus available on the main screen, to help you quickly start requests. If you select the 'Private Chat' checkbox, the corresponding chat will not be saved. If you select the 'Clipboard Access' checkbox, your clipboard content (if any) will be provided to the request.", fd = "Default provider set to", hd = "Chat successfully deleted!", md = "Chat successfully saved!", yd = "av-sassy", pd = {
7161
+ ], hd = "Prompts are pre-filled menus available on the main screen, to help you quickly start requests. If you select the 'Private Chat' checkbox, the corresponding chat will not be saved. If you select the 'Clipboard Access' checkbox, your clipboard content (if any) will be provided to the request.", md = "Default provider set to", yd = "Chat successfully deleted!", pd = "Chat successfully saved!", gd = "av-sassy", bd = {
7162
7162
  0: ["January", "February", "March"],
7163
7163
  3: ["April", "May", "June"],
7164
7164
  6: ["July", "August", "September"],
7165
7165
  9: ["October", "November", "December"]
7166
- }, gd = {
7166
+ }, wd = {
7167
7167
  0: ["Jan", "Feb", "Mar"],
7168
7168
  3: ["Apr", "May", "Jun"],
7169
7169
  6: ["Jul", "Aug", "Sep"],
7170
7170
  9: ["Oct", "Nov", "Dec"]
7171
- }, bd = {
7171
+ }, vd = {
7172
7172
  PREFERENCES: {
7173
7173
  TITLE: "User profile",
7174
7174
  NAME: "Name",
@@ -7343,7 +7343,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, ld = "{{clipboard}}", M = "
7343
7343
  );
7344
7344
  }, Ul = new URL(document.location.href).searchParams, an = !!Ul.get("debug") || !1, Fl = $s(() => import(
7345
7345
  /* webpackChunkName: "LazyApp" */
7346
- "./App.CeDygX4W.js"
7346
+ "./App.DMY0Cxus.js"
7347
7347
  ).then((e) => e.App)), Kl = new ni(), on = ({
7348
7348
  isComponent: e,
7349
7349
  headerHeight: t
@@ -7370,7 +7370,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, ld = "{{clipboard}}", M = "
7370
7370
  endpoint: process.env.PUBLIC_AUTH_SERVER_URL,
7371
7371
  children: /* @__PURE__ */ y(on, { isComponent: e, headerHeight: t })
7372
7372
  }
7373
- ) : /* @__PURE__ */ y(Zr, { clientId: en, domain: r, debug: an, children: /* @__PURE__ */ y(on, { isComponent: e, headerHeight: t }) })), wd = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ y(
7373
+ ) : /* @__PURE__ */ y(Zr, { clientId: en, domain: r, debug: an, children: /* @__PURE__ */ y(on, { isComponent: e, headerHeight: t }) })), Ed = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ y(
7374
7374
  Hl,
7375
7375
  {
7376
7376
  isComponent: !0,
@@ -7379,64 +7379,66 @@ Press Ctrl+Enter to send it or Enter for new line.`, ld = "{{clipboard}}", M = "
7379
7379
  }
7380
7380
  );
7381
7381
  export {
7382
- id as ABOUT_TITLE,
7382
+ od as ABOUT_TITLE,
7383
7383
  Du as ACTION_RESET_PROMPT,
7384
7384
  Pu as ACTION_SEARCH,
7385
7385
  xu as ACTION_SORT,
7386
7386
  $u as ACTION_TOGGLE_PROMPT,
7387
- yd as APP_CLASSNAME,
7387
+ gd as APP_CLASSNAME,
7388
7388
  D as APP_NAME,
7389
7389
  ks as C,
7390
- bd as CARDS,
7391
- ld as CLIPBOARD_PROMPT,
7392
- Wu as DEFAULT_ICON_ACTION_SIZE,
7390
+ vd as CARDS,
7391
+ dd as CLIPBOARD_PROMPT,
7392
+ qu as DEFAULT_ICON_ACTION_SIZE,
7393
7393
  lu as Dynamic,
7394
7394
  Nu as ERROR_MESSAGE,
7395
- ud as FOOTER_DISCLAIMERS,
7395
+ fd as FOOTER_DISCLAIMERS,
7396
7396
  eu as For,
7397
- sd as HISTORY_TITLE,
7397
+ ad as HISTORY_TITLE,
7398
7398
  Lt as I,
7399
- Bu as INFINITE_SCROLL_LIMIT,
7400
- Hu as INFINITE_SCROLL_THRESHOLD,
7401
- zu as INPUT_BOTTOM_OFFSET,
7402
- Yu as INPUT_BOTTOM_OFFSET_EXTRA,
7403
- Qu as INPUT_BOTTOM_OFFSET_IPHONE,
7404
- cd as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7405
- od as INPUT_PLACEHOLDER_TEXT_ENTER,
7406
- ad as INPUT_PLACEHOLDER_TEXT_MOBILE,
7399
+ ju as INFINITE_SCROLL_LIMIT,
7400
+ Vu as INFINITE_SCROLL_THRESHOLD,
7401
+ Yu as INPUT_BOTTOM_OFFSET,
7402
+ Zu as INPUT_BOTTOM_OFFSET_EXTRA,
7403
+ Xu as INPUT_BOTTOM_OFFSET_IPHONE,
7404
+ ud as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7405
+ ld as INPUT_PLACEHOLDER_TEXT_ENTER,
7406
+ cd as INPUT_PLACEHOLDER_TEXT_MOBILE,
7407
7407
  tu as Index,
7408
7408
  dl as L,
7409
7409
  Mu as LOCAL_STORAGE_CHAT_DETAILS,
7410
7410
  ps as LOCAL_STORAGE_PREFIX,
7411
- Fu as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
7412
- Ku as LOCAL_STORAGE_REASONING_DISCLOSURE,
7411
+ Hu as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
7412
+ Bu as LOCAL_STORAGE_REASONING_DISCLOSURE,
7413
7413
  Lu as LOCAL_STORAGE_SEARCH,
7414
7414
  gs as LOCAL_STORAGE_SERVICE_WORKER,
7415
7415
  Uu as LOCAL_STORAGE_SORT,
7416
- ed as LOG_OUT,
7416
+ Fu as LOCAL_STORAGE_SORT_TIMESTAMP,
7417
+ Ku as LOCAL_STORAGE_SORT_TOKEN_USAGE,
7418
+ rd as LOG_OUT,
7417
7419
  Ml as Logo,
7418
7420
  su as Match,
7419
- rd as PROFILE_TITLE,
7420
- dd as PROMPTS_DESCRIPTION,
7421
- Vu as PROMPT_CLASSNAME,
7422
- ju as PROMPT_EDITABLE_AREA_CLASSNAME,
7421
+ sd as PROFILE_TITLE,
7422
+ hd as PROMPTS_DESCRIPTION,
7423
+ Wu as PROMPT_CLASSNAME,
7424
+ Gu as PROMPT_EDITABLE_AREA_CLASSNAME,
7423
7425
  cu as Portal,
7424
7426
  Cu as ROLE_INTERNAL,
7425
7427
  nl as S,
7426
- nd as SETTINGS_TITLE,
7427
- wd as SassySaint,
7428
+ id as SETTINGS_TITLE,
7429
+ Ed as SassySaint,
7428
7430
  ru as Show,
7429
7431
  _t as Subscribable,
7430
7432
  nu as Switch,
7431
- hd as TOAST_CHAT_DELETED,
7432
- md as TOAST_CHAT_SAVED,
7433
- fd as TOAST_PROVIDER_CHANGED,
7434
- pd as TRIMESTERS,
7435
- gd as TRIMESTERS_SHORT,
7436
- qu as UI_BUTTON_SCROLL_BUFFER,
7437
- Ju as UI_DEFAULT_MAIN_HEIGHT,
7438
- Gu as UI_FOOTER_BUFFER,
7439
- td as USAGE_TITLE,
7433
+ yd as TOAST_CHAT_DELETED,
7434
+ pd as TOAST_CHAT_SAVED,
7435
+ md as TOAST_PROVIDER_CHANGED,
7436
+ bd as TRIMESTERS,
7437
+ wd as TRIMESTERS_SHORT,
7438
+ zu as UI_BUTTON_SCROLL_BUFFER,
7439
+ Qu as UI_DEFAULT_MAIN_HEIGHT,
7440
+ Ju as UI_FOOTER_BUFFER,
7441
+ nd as USAGE_TITLE,
7440
7442
  Hi as addEventListener,
7441
7443
  ql as batch,
7442
7444
  Ki as className,
@@ -7467,7 +7469,7 @@ export {
7467
7469
  yu as getQueryStatusColorByLabel,
7468
7470
  du as getQueryStatusLabel,
7469
7471
  fu as getSidedProp,
7470
- Xu as handleServiceWorkerToggle,
7472
+ ed as handleServiceWorkerToggle,
7471
7473
  ar as insert,
7472
7474
  As as isProbablyMobile,
7473
7475
  Pc as isProbablyiPhone,
@@ -7514,5 +7516,5 @@ export {
7514
7516
  Xl as useContext,
7515
7517
  si as useQueryClient,
7516
7518
  Ql as useTransition,
7517
- Zu as utilities
7519
+ td as utilities
7518
7520
  };
@@ -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.B-aFM54M.js";
2
- import { toText as Ca } from "./index.Rwlw6M2i.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.DmhrTtGF.js";
2
+ import { toText as Ca } from "./index.CD5H4iBB.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,8 +1,8 @@
1
1
  import * as rn from "react/jsx-runtime";
2
2
  import { jsx as ae, jsxs as Pn, Fragment as Ir } from "react/jsx-runtime";
3
- import { ue as Tr, isTauri as Pr, unObfuscate as Ar, obfuscate as zr } from "./index.DUF913V-.js";
3
+ import { ue as Tr, isTauri as Pr, unObfuscate as Ar, obfuscate as zr } from "./index.DuXItDG_.js";
4
4
  import Lr, { useState as Lt, useEffect as _t, useCallback as vt, useRef as Re } from "react";
5
- import { getDefaultExportFromCjs as Nt } from "./App.CeDygX4W.js";
5
+ import { getDefaultExportFromCjs as Nt } from "./App.DMY0Cxus.js";
6
6
  import _r from "clsx";
7
7
  const Rt = ({
8
8
  children: e,
@@ -6897,7 +6897,7 @@ class su {
6897
6897
  if (!this.remarkGfm) {
6898
6898
  const { default: n } = await import(
6899
6899
  /* webpackChunkName: "LazyRemarkGfm" */
6900
- "./index.BI0ObatM.js"
6900
+ "./index.Cd4F4k1l.js"
6901
6901
  );
6902
6902
  this.remarkGfm = n;
6903
6903
  }
@@ -6908,7 +6908,7 @@ class su {
6908
6908
  mu("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
6909
6909
  const { default: n } = await import(
6910
6910
  /* webpackChunkName: "LazyRehypeKatex" */
6911
- "./index.DyaQlD7H.js"
6911
+ "./index.DxlR3DIQ.js"
6912
6912
  );
6913
6913
  this.rehypeKatex = n;
6914
6914
  }
@@ -6918,7 +6918,7 @@ class su {
6918
6918
  if (!this.remarkMath) {
6919
6919
  const { default: n } = await import(
6920
6920
  /* webpackChunkName: "LazyRemarkMath" */
6921
- "./index.BMrp1V3g.js"
6921
+ "./index.CxgbmPIM.js"
6922
6922
  );
6923
6923
  this.remarkMath = n;
6924
6924
  }
@@ -6928,7 +6928,7 @@ class su {
6928
6928
  if (!this.rehypeHighlight) {
6929
6929
  const { default: n } = await import(
6930
6930
  /* webpackChunkName: "LazyRehypeHighlight" */
6931
- "./index.B0t-n_I8.js"
6931
+ "./index.Dj49vSed.js"
6932
6932
  );
6933
6933
  this.rehypeHighlight = n;
6934
6934
  }
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.DUF913V-.js";
2
+ import { SassySaint as a } from "../../chunks/index.DuXItDG_.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.DUF913V-.js";
1
+ import { SassySaint as r } from "./chunks/index.DuXItDG_.js";
2
2
  /*!
3
- @sassysaint/client v8.39.8
3
+ @sassysaint/client v8.39.11
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.39.8",
9
- buildTime: "08/14/2025 07:17 PM EDT",
8
+ version: "8.39.11",
9
+ buildTime: "08/17/2025 12:37 PM 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.39.8",
3
+ "version": "8.39.11",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -31,7 +31,7 @@
31
31
  "react-dom": "^18.3.1 || ^19.0.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@sassysaint/client": "8.39.8",
34
+ "@sassysaint/client": "8.39.11",
35
35
  "@tailwindcss/vite": "4.1.12",
36
36
  "@versini/ui-styles": "6.0.1"
37
37
  },
@@ -43,5 +43,5 @@
43
43
  "sideEffects": [
44
44
  "**/*.css"
45
45
  ],
46
- "gitHead": "05bd3c56c17db4e0b162c1fbd3a8e580d907a926"
46
+ "gitHead": "6fbcb4192fea2a841710741760d6c3d6b91c63fa"
47
47
  }
@@ -1,74 +0,0 @@
1
- import { jsx as T } from "react/jsx-runtime";
2
- import { ChatContext as b, E as _, Me as N, Oe as S } from "./App.CeDygX4W.js";
3
- import L from "clsx";
4
- import k, { useState as E, useRef as g, useEffect as O, useContext as w } from "react";
5
- import { LOCAL_STORAGE_PREFIX as F, LOCAL_STORAGE_CHAT_DETAILS as G, convertCamelCaseToReadable as U, numberFormatter as I, pluralize as P, ROLE_INTERNAL as v } from "./index.DUF913V-.js";
6
- import { useMarkdown as y } from "./useMarkdown.B-aFM54M.js";
7
- const D = 2, j = D * 1e3, h = "", q = (e) => e * (2 - e);
8
- function V(e, a = !0) {
9
- const [i, C] = E(0), [c, p] = E(0), [t, A] = E(e), r = g(0), s = g(0);
10
- return t !== e && (A(e), p(e.startsWith(t) ? i : 0)), O(() => {
11
- if (!a)
12
- return;
13
- const u = e.split(h).length, o = (l) => {
14
- s.current || (s.current = l);
15
- const m = l - s.current, f = Math.min(m / j, 1), n = q(f), R = c + (u - c) * n;
16
- C(Math.floor(R)), f < 1 && (r.current = requestAnimationFrame(o));
17
- };
18
- return s.current = 0, r.current = requestAnimationFrame(o), () => {
19
- r.current && cancelAnimationFrame(r.current);
20
- };
21
- }, [c, e, a]), a ? e.split(h).slice(0, i).join(h) : e;
22
- }
23
- const d = {
24
- MODEL: "Model",
25
- PLUGIN: "Plugin",
26
- USAGE: "Session usage"
27
- }, x = L("max-w-[99cqw] mt-3"), M = L("max-w-xs", "sm:max-w-3xl", "prose-li:ps-3"), X = k.memo(
28
- ({
29
- content: e,
30
- annotations: a,
31
- toolName: i,
32
- role: C,
33
- smooth: c = !1,
34
- isLastAssistantMessage: p = !1
35
- }) => {
36
- const t = V(e, c), {
37
- state: { streaming: A, restoredModel: r, tokenUsage: s }
38
- } = w(b), u = a?.model || r, o = s, [l, m] = y(), [f] = _({
39
- key: F + G,
40
- initialValue: !1
41
- });
42
- let n;
43
- return f && (n = {
44
- [d.MODEL]: u || null,
45
- [d.PLUGIN]: i ? U(i) : null
46
- }, o && (p ? n[d.USAGE] = `${I.format(o)} ${P("token", o)}` : n[d.USAGE] = N)), O(() => {
47
- t && m(t);
48
- }, [t, m]), C === v ? /* @__PURE__ */ T(
49
- S,
50
- {
51
- tail: !0,
52
- className: x,
53
- contentClassName: M,
54
- noMaxWidth: !0,
55
- children: /* @__PURE__ */ T("div", { className: "flex items-center justify-center italic text-copy-error-dark dark:text-red-300", children: l })
56
- }
57
- ) : /* @__PURE__ */ T(
58
- S,
59
- {
60
- tail: !0,
61
- copyToClipboard: A ? "loading..." : e,
62
- copyToClipboardFocusMode: "light",
63
- footer: n,
64
- className: x,
65
- contentClassName: M,
66
- noMaxWidth: !0,
67
- children: l
68
- }
69
- );
70
- }
71
- );
72
- export {
73
- X as default
74
- };