@versini/sassysaint 2.0.2 → 4.0.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.
@@ -1,6 +1,6 @@
1
1
  import { jsxs as E, jsx as n, Fragment as ye } from "react/jsx-runtime";
2
- import { O as Be, s as Ve, S as De, f$1 as ze, M as $e, U as Ue, r as Fe, o as Pe, n as fe, l as Ge, a as q, isLastMessageFromRole as he, x as xe, CANCEL as je, CLEAR as We, ACTION_RESET as be, ROLE_ASSISTANT as M, ROLE_INTERNAL as Z, ROLE_USER as K, zr as ee, ROLE_SYSTEM as Ye, ROLE_HIDDEN as qe, MODEL_GPT4 as ke, STATS_SEPARATOR as le, ACTION_MODEL as Ce, ACTION_MESSAGE as V, TYPE_QUESTION as Je, SEND as Qe, ACTION_STREAMING as Te, ERROR_MESSAGE as Xe, getMessageContaintWrapperClass as Ke, MessagesContainerHeader as Ze, ACTION_SEARCH as er, ACTION_SORT as rr, ACTION_RESTORE as tr, ACTION_LOCATION as B, getCurrentGeoLocation as or, c as sr, AppFooter as ar, LOCAL_STORAGE_PREFIX as J, LOCAL_STORAGE_SEARCH as nr, LOCAL_STORAGE_SORT as lr, LOCAL_STORAGE_LOCATION as cr } from "./index.CtUMDxv6.js";
3
- import { g as ve, AppContext as P, restCall as ir, E as Q, serviceCall as ce, SERVICE_TYPES as ie, HistoryContext as dr, k as ur } from "./useLocalStorage.CVbyWXz0.js";
2
+ import { O as Be, s as Ve, S as De, f$1 as ze, M as $e, U as Ue, r as Fe, o as Pe, n as fe, l as Ge, a as q, isLastMessageFromRole as he, x as xe, CANCEL as je, CLEAR as We, ACTION_RESET as be, ROLE_ASSISTANT as M, ROLE_INTERNAL as Z, ROLE_USER as K, zr as ee, ROLE_SYSTEM as Ye, ROLE_HIDDEN as qe, MODEL_GPT4 as ke, STATS_SEPARATOR as le, ACTION_MODEL as Ce, ACTION_MESSAGE as V, TYPE_QUESTION as Je, SEND as Qe, ACTION_STREAMING as Te, ERROR_MESSAGE as Xe, getMessageContaintWrapperClass as Ke, MessagesContainerHeader as Ze, ACTION_SEARCH as er, ACTION_SORT as rr, ACTION_RESTORE as tr, ACTION_LOCATION as B, getCurrentGeoLocation as or, c as sr, AppFooter as ar, LOCAL_STORAGE_PREFIX as J, LOCAL_STORAGE_SEARCH as nr, LOCAL_STORAGE_SORT as lr, LOCAL_STORAGE_LOCATION as cr } from "./index.CNfQ0lj1.js";
3
+ import { g as ve, AppContext as P, restCall as ir, E as Q, serviceCall as ce, SERVICE_TYPES as ie, HistoryContext as dr, k as ur } from "./useLocalStorage.B1r33kl_.js";
4
4
  import pr, { useState as I, useEffect as S, useRef as x, useLayoutEffect as $, useContext as re, lazy as mr, Suspense as de, useReducer as ue, useCallback as gr } from "react";
5
5
  import g from "clsx";
6
6
  const yr = ({
@@ -475,7 +475,7 @@ const Br = () => {
475
475
  children: r != null && r.streaming ? je : We
476
476
  }
477
477
  ) }) : null;
478
- }, me = mr(() => import("./LazyMessageAssistant.Bc8vj23L.js").then((e) => e.LazyMessageAssistant)), Vr = () => {
478
+ }, me = mr(() => import("./LazyMessageAssistant.BVS33a7s.js").then((e) => e.LazyMessageAssistant)), Vr = () => {
479
479
  const { state: e } = re(P);
480
480
  return /* @__PURE__ */ E(ye, { children: [
481
481
  e && e.messages.length > 0 && e.messages.map((r, o) => {
@@ -1,8 +1,8 @@
1
1
  import { jsxs as c, jsx as e, Fragment as x } from "react/jsx-runtime";
2
- import { O as _, i$1 as le, N as de, p as De, o as _e, g as A, N$1 as z, CARDS as N, renderDataAsList as $, pluralize as Z, ABOUT_TITLE as ze, MODEL_GPT4 as Be, numberFormatter as Ve, durationFormatter as Ce, NA as Pe, ROLE_ASSISTANT as Fe, extractAverage as Ge, GPT4_MAX_TOKENS as $e, zr as Y, STATS as Ne, b as F, j as E, x as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT as Ue, ACTION_RESET as je, ACTION_RESTORE as Ye, truncate as Ke, ACTION_SORT as re, LOCAL_STORAGE_SEARCH as We, Y as Xe, ACTION_SEARCH as Je, HISTORY_TITLE as qe, LOCAL_STORAGE_CHAT_DETAILS as Qe, LOCAL_STORAGE_LOCATION as Ze, f$2 as et, ACTION_LOCATION as me, getCurrentGeoLocation as tt, convertLatitudeToDMS as at, convertLongitudeToDMS as st, PROFILE_TITLE as nt, LOG_OUT as ue } from "./index.CtUMDxv6.js";
2
+ import { O as _, i$1 as le, N as de, p as De, o as _e, g as A, N$1 as z, CARDS as N, renderDataAsList as $, pluralize as Z, ABOUT_TITLE as ze, MODEL_GPT4 as Be, numberFormatter as Ve, durationFormatter as Ce, NA as Pe, ROLE_ASSISTANT as Fe, extractAverage as Ge, GPT4_MAX_TOKENS as $e, zr as Y, STATS as Ne, b as F, j as E, x as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT as Ue, ACTION_RESET as je, ACTION_RESTORE as Ye, truncate as Ke, ACTION_SORT as re, LOCAL_STORAGE_SEARCH as We, Y as Xe, ACTION_SEARCH as Je, HISTORY_TITLE as qe, LOCAL_STORAGE_CHAT_DETAILS as Qe, LOCAL_STORAGE_LOCATION as Ze, f$2 as et, ACTION_LOCATION as me, getCurrentGeoLocation as tt, convertLatitudeToDMS as at, convertLongitudeToDMS as st, PROFILE_TITLE as nt, LOG_OUT as ue } from "./index.CNfQ0lj1.js";
3
3
  import * as ce from "react";
4
4
  import rt, { forwardRef as Te, useState as T, useRef as U, useContext as R, useEffect as O, Suspense as ot, lazy as ct, useId as it } from "react";
5
- import { g as lt, AppContext as K, serviceCall as se, SERVICE_TYPES as ne, HistoryContext as ye, E as ae, k as I, et as dt, at as mt, lt as oe, J as M, ct as ut, st as ht, rt as pt } from "./useLocalStorage.CVbyWXz0.js";
5
+ import { g as lt, AppContext as K, serviceCall as se, SERVICE_TYPES as ne, HistoryContext as ye, E as ae, k as I, et as dt, at as mt, lt as oe, J as M, ct as ut, st as ht, rt as pt } from "./useLocalStorage.B1r33kl_.js";
6
6
  import v from "clsx";
7
7
  import { useFloatingTree as be, useFloatingNodeId as ft, useListItem as Se, useFloating as gt, offset as Ct, flip as Nt, shift as Tt, autoUpdate as yt, useClick as bt, useRole as St, useDismiss as wt, useListNavigation as kt, useTypeahead as xt, useInteractions as Et, useMergeRefs as we, FloatingNode as vt, FloatingList as It, FloatingPortal as At, FloatingFocusManager as Ht, FloatingTree as Mt } from "@floating-ui/react";
8
8
  const ie = ce.createContext({
@@ -197,7 +197,7 @@ const Rt = ({ className: t, ...a }) => {
197
197
  header: "p-4 mb-0",
198
198
  close: "p-4"
199
199
  }), W = (t) => ct(
200
- () => import("./index.7JJYsiGN.Cue7FeX9.js").then((a) => ({
200
+ () => import("./index.7JJYsiGN.DgxpdbID.js").then((a) => ({
201
201
  default: a[t]
202
202
  }))
203
203
  ), Dt = W("Modal"), _t = W("ModalClose"), zt = W("ModalContent"), Bt = W("ModalDescription"), Vt = W("ModalHeading"), X = ({
@@ -602,8 +602,8 @@ const sa = ({ stats: t }) => {
602
602
  header: N.ABOUT.TITLE_CLIENT,
603
603
  className: "prose-dark dark:prose-lighter",
604
604
  children: $(r, {
605
- [N.ABOUT.VERSION]: "4.0.1",
606
- [N.ABOUT.BUILD_TIMESTAMP]: "08/25/2024 03:36 PM EDT"
605
+ [N.ABOUT.VERSION]: "4.0.2",
606
+ [N.ABOUT.BUILD_TIMESTAMP]: "08/29/2024 09:23 PM EDT"
607
607
  })
608
608
  }
609
609
  ) }),
@@ -1,5 +1,5 @@
1
1
  import { jsx as _i } from "react/jsx-runtime";
2
- import { convert as Si, getDefaultExportFromCjs as Ni, visit as ki, find as Ti, parse as z0, parse$1 as P0, normalize as F0, svg as Mi, html as Ai, visitParents as Oi, SKIP as Ri, longestStreak as Ci, factorySpace as Xt, markdownLineEnding as xt, Markdown as Ii, remarkGfm as Di } from "./LazyMessageAssistant.Bc8vj23L.js";
2
+ import { convert as Si, getDefaultExportFromCjs as Ni, visit as ki, find as Ti, parse as z0, parse$1 as P0, normalize as F0, svg as Mi, html as Ai, visitParents as Oi, SKIP as Ri, longestStreak as Ci, factorySpace as Xt, markdownLineEnding as xt, Markdown as Ii, remarkGfm as Di } from "./LazyMessageAssistant.BVS33a7s.js";
3
3
  const U0 = (
4
4
  // Note: overloads like this are needed to support optional generics.
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  import { jsxs as He, jsx as re, Fragment as or } from "react/jsx-runtime";
2
- import { c$1 as ot, S as at, LOCAL_STORAGE_PREFIX as wi, LOCAL_STORAGE_CHAT_DETAILS as Si, durationFormatter as Ci } from "./index.CtUMDxv6.js";
3
- import { AppContext as Ei, E as Ai } from "./useLocalStorage.CVbyWXz0.js";
2
+ import { c$1 as ot, S as at, LOCAL_STORAGE_PREFIX as wi, LOCAL_STORAGE_CHAT_DETAILS as Si, durationFormatter as Ci } from "./index.CNfQ0lj1.js";
3
+ import { AppContext as Ei, E as Ai } from "./useLocalStorage.B1r33kl_.js";
4
4
  import { lazy as Ii, useContext as Ti, Suspense as Pi } from "react";
5
- import { T as ut } from "./App.8nM0tteo.js";
5
+ import { T as ut } from "./App.CB-l5VXS.js";
6
6
  import cn from "clsx";
7
7
  const Li = ({
8
8
  spinnerRef: e,
@@ -8618,7 +8618,7 @@ function sf(e) {
8618
8618
  i.push(af(n)), o.push(Tc()), l.push(Pc(n));
8619
8619
  }
8620
8620
  const cf = Ii(
8621
- () => import("./LazyMarkdownWithExtra.Vko9ZhUE.js")
8621
+ () => import("./LazyMarkdownWithExtra.BXN0qX-X.js")
8622
8622
  ), In = {
8623
8623
  MODEL: "Model",
8624
8624
  PLUGIN: "Plugin",
@@ -3,7 +3,7 @@ import y from "clsx";
3
3
  import * as c from "react";
4
4
  import { useRef as C, useReducer as M, useEffect as _, useId as x } from "react";
5
5
  import { useMergeRefs as S, FloatingPortal as F, FloatingOverlay as O, FloatingFocusManager as P, useFloating as k, useClick as L, useDismiss as V, useRole as B, useInteractions as U } from "@floating-ui/react";
6
- import { S as j } from "./index.CtUMDxv6.js";
6
+ import { S as j } from "./index.CNfQ0lj1.js";
7
7
  const b = "SET_ANNOUNCEMENT", w = "CLEAR_ANNOUNCEMENT", q = {
8
8
  alert: null,
9
9
  alertdialog: null,
@@ -39,7 +39,7 @@ function It(e) {
39
39
  transports: e.transports
40
40
  };
41
41
  }
42
- function St(e) {
42
+ function vt(e) {
43
43
  return e === "localhost" || /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e);
44
44
  }
45
45
  let k = class extends Error {
@@ -97,7 +97,7 @@ function dr({ error: e, options: t }) {
97
97
  });
98
98
  if (e.name === "SecurityError") {
99
99
  const o = window.location.hostname;
100
- if (St(o)) {
100
+ if (vt(o)) {
101
101
  if (r.rp.id !== o)
102
102
  return new k({
103
103
  message: `The RP ID "${r.rp.id}" is invalid for this domain`,
@@ -141,7 +141,7 @@ class lr {
141
141
  }
142
142
  }
143
143
  }
144
- const vt = new lr(), ur = ["cross-platform", "platform"];
144
+ const St = new lr(), ur = ["cross-platform", "platform"];
145
145
  function At(e) {
146
146
  if (e && !(ur.indexOf(e) < 0))
147
147
  return e;
@@ -159,7 +159,7 @@ async function mr(e) {
159
159
  },
160
160
  excludeCredentials: (m = e.excludeCredentials) == null ? void 0 : m.map(It)
161
161
  } };
162
- t.signal = vt.createNewAbortSignal();
162
+ t.signal = St.createNewAbortSignal();
163
163
  let r;
164
164
  try {
165
165
  r = await navigator.credentials.create(t);
@@ -239,7 +239,7 @@ function pr({ error: e, options: t }) {
239
239
  });
240
240
  if (e.name === "SecurityError") {
241
241
  const a = window.location.hostname;
242
- if (St(a)) {
242
+ if (vt(a)) {
243
243
  if (r.rpId !== a)
244
244
  return new k({
245
245
  message: `The RP ID "${r.rpId}" is invalid for this domain`,
@@ -278,7 +278,7 @@ async function gr(e, t = !1) {
278
278
  throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
279
279
  n.mediation = "conditional", a.allowCredentials = [];
280
280
  }
281
- n.publicKey = a, n.signal = vt.createNewAbortSignal();
281
+ n.publicKey = a, n.signal = St.createNewAbortSignal();
282
282
  let o;
283
283
  try {
284
284
  o = await navigator.credentials.get(n);
@@ -467,7 +467,7 @@ function Ir(e, t) {
467
467
  throw new TypeError(r);
468
468
  }
469
469
  }
470
- function Sr(e, t, ...r) {
470
+ function vr(e, t, ...r) {
471
471
  switch (t) {
472
472
  case "HS256":
473
473
  case "HS384":
@@ -531,7 +531,7 @@ const rt = (e, ...t) => Rt("Key must be ", e, ...t);
531
531
  function Nt(e, t, ...r) {
532
532
  return Rt(`Key for the ${e} algorithm must be `, t, ...r);
533
533
  }
534
- const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Se = ["CryptoKey"], vr = (...e) => {
534
+ const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", ve = ["CryptoKey"], Sr = (...e) => {
535
535
  const t = e.filter(Boolean);
536
536
  if (t.length === 0 || t.length === 1)
537
537
  return !0;
@@ -553,7 +553,7 @@ const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) ===
553
553
  function Ar(e) {
554
554
  return typeof e == "object" && e !== null;
555
555
  }
556
- function ve(e) {
556
+ function Se(e) {
557
557
  if (!Ar(e) || Object.prototype.toString.call(e) !== "[object Object]")
558
558
  return !1;
559
559
  if (Object.getPrototypeOf(e) === null)
@@ -753,13 +753,13 @@ async function Dr(e, t, r) {
753
753
  const Ee = (e) => e == null ? void 0 : e[Symbol.toStringTag], $r = (e, t) => {
754
754
  if (!(t instanceof Uint8Array)) {
755
755
  if (!xt(t))
756
- throw new TypeError(Nt(e, t, ...Se, "Uint8Array"));
756
+ throw new TypeError(Nt(e, t, ...ve, "Uint8Array"));
757
757
  if (t.type !== "secret")
758
758
  throw new TypeError(`${Ee(t)} instances for symmetric algorithms must be of type "secret"`);
759
759
  }
760
760
  }, Lr = (e, t, r) => {
761
761
  if (!xt(t))
762
- throw new TypeError(Nt(e, t, ...Se));
762
+ throw new TypeError(Nt(e, t, ...ve));
763
763
  if (t.type === "secret")
764
764
  throw new TypeError(`${Ee(t)} instances for asymmetric algorithms must not be of type "secret"`);
765
765
  if (t.algorithm && r === "verify" && t.type === "private")
@@ -821,13 +821,13 @@ function Kr(e, t) {
821
821
  }
822
822
  async function Br(e, t, r) {
823
823
  if (t = await Cr.normalizePublicKey(t, e), _t(t))
824
- return Sr(t, e, r), t;
824
+ return vr(t, e, r), t;
825
825
  if (t instanceof Uint8Array) {
826
826
  if (!e.startsWith("HS"))
827
- throw new TypeError(rt(t, ...Se));
827
+ throw new TypeError(rt(t, ...ve));
828
828
  return Ne.subtle.importKey("raw", t, { hash: `SHA-${e.slice(-3)}`, name: "HMAC" }, !1, [r]);
829
829
  }
830
- throw new TypeError(rt(t, ...Se, "Uint8Array"));
830
+ throw new TypeError(rt(t, ...ve, "Uint8Array"));
831
831
  }
832
832
  const Gr = async (e, t, r, a) => {
833
833
  const n = await Br(e, t, "verify");
@@ -840,7 +840,7 @@ const Gr = async (e, t, r, a) => {
840
840
  }
841
841
  };
842
842
  async function Wr(e, t, r) {
843
- if (!ve(e))
843
+ if (!Se(e))
844
844
  throw new A("Flattened JWS must be an object");
845
845
  if (e.protected === void 0 && e.header === void 0)
846
846
  throw new A('Flattened JWS must have either of the "protected" or "header" members');
@@ -850,7 +850,7 @@ async function Wr(e, t, r) {
850
850
  throw new A("JWS Payload missing");
851
851
  if (typeof e.signature != "string")
852
852
  throw new A("JWS Signature missing or incorrect type");
853
- if (e.header !== void 0 && !ve(e.header))
853
+ if (e.header !== void 0 && !Se(e.header))
854
854
  throw new A("JWS Unprotected Header incorrect type");
855
855
  let a = {};
856
856
  if (e.protected)
@@ -860,7 +860,7 @@ async function Wr(e, t, r) {
860
860
  } catch {
861
861
  throw new A("JWS Protected Header is invalid");
862
862
  }
863
- if (!vr(a, e.header))
863
+ if (!Sr(a, e.header))
864
864
  throw new A("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
865
865
  const n = {
866
866
  ...a,
@@ -960,7 +960,7 @@ const Jr = (e) => Math.floor(e.getTime() / 1e3), Dt = 60, $t = Dt * 60, je = $t
960
960
  a = JSON.parse(de.decode(t));
961
961
  } catch {
962
962
  }
963
- if (!ve(a))
963
+ if (!Se(a))
964
964
  throw new G("JWT Claims Set must be a top-level JSON object");
965
965
  const { typ: n } = r;
966
966
  if (n && (typeof e.typ != "string" || ot(e.typ) !== ot(n)))
@@ -1045,7 +1045,7 @@ function Zr(e) {
1045
1045
  } catch {
1046
1046
  throw new G("Failed to parse the decoded payload as JSON");
1047
1047
  }
1048
- if (!ve(n))
1048
+ if (!Se(n))
1049
1049
  throw new G("Invalid JWT Claims Set");
1050
1050
  return n;
1051
1051
  }
@@ -1065,11 +1065,11 @@ const ie = async (e) => {
1065
1065
  return;
1066
1066
  }
1067
1067
  };
1068
- var S = [];
1068
+ var v = [];
1069
1069
  for (var Be = 0; Be < 256; ++Be)
1070
- S.push((Be + 256).toString(16).slice(1));
1070
+ v.push((Be + 256).toString(16).slice(1));
1071
1071
  function ta(e, t = 0) {
1072
- return (S[e[t + 0]] + S[e[t + 1]] + S[e[t + 2]] + S[e[t + 3]] + "-" + S[e[t + 4]] + S[e[t + 5]] + "-" + S[e[t + 6]] + S[e[t + 7]] + "-" + S[e[t + 8]] + S[e[t + 9]] + "-" + S[e[t + 10]] + S[e[t + 11]] + S[e[t + 12]] + S[e[t + 13]] + S[e[t + 14]] + S[e[t + 15]]).toLowerCase();
1072
+ return (v[e[t + 0]] + v[e[t + 1]] + v[e[t + 2]] + v[e[t + 3]] + "-" + v[e[t + 4]] + v[e[t + 5]] + "-" + v[e[t + 6]] + v[e[t + 7]] + "-" + v[e[t + 8]] + v[e[t + 9]] + "-" + v[e[t + 10]] + v[e[t + 11]] + v[e[t + 12]] + v[e[t + 13]] + v[e[t + 14]] + v[e[t + 15]]).toLowerCase();
1073
1073
  }
1074
1074
  var he, ra = new Uint8Array(16);
1075
1075
  function aa() {
@@ -1144,11 +1144,11 @@ function pe({
1144
1144
  }
1145
1145
  }, [e, t]), [r ? JSON.parse(r) : null, a, n, o];
1146
1146
  }
1147
- var v = [];
1147
+ var S = [];
1148
1148
  for (var Ge = 0; Ge < 256; ++Ge)
1149
- v.push((Ge + 256).toString(16).slice(1));
1149
+ S.push((Ge + 256).toString(16).slice(1));
1150
1150
  function ua(e, t = 0) {
1151
- return (v[e[t + 0]] + v[e[t + 1]] + v[e[t + 2]] + v[e[t + 3]] + "-" + v[e[t + 4]] + v[e[t + 5]] + "-" + v[e[t + 6]] + v[e[t + 7]] + "-" + v[e[t + 8]] + v[e[t + 9]] + "-" + v[e[t + 10]] + v[e[t + 11]] + v[e[t + 12]] + v[e[t + 13]] + v[e[t + 14]] + v[e[t + 15]]).toLowerCase();
1151
+ return (S[e[t + 0]] + S[e[t + 1]] + S[e[t + 2]] + S[e[t + 3]] + "-" + S[e[t + 4]] + S[e[t + 5]] + "-" + S[e[t + 6]] + S[e[t + 7]] + "-" + S[e[t + 8]] + S[e[t + 9]] + "-" + S[e[t + 10]] + S[e[t + 11]] + S[e[t + 12]] + S[e[t + 13]] + S[e[t + 14]] + S[e[t + 15]]).toLowerCase();
1152
1152
  }
1153
1153
  var ge, ma = new Uint8Array(16);
1154
1154
  function ha() {
@@ -1435,7 +1435,7 @@ const X = "Your session has expired. For your security, please log in again to c
1435
1435
  data: ""
1436
1436
  };
1437
1437
  }
1438
- }, Sa = async ({
1438
+ }, va = async ({
1439
1439
  clientId: e,
1440
1440
  userId: t,
1441
1441
  nonce: r,
@@ -1471,7 +1471,7 @@ const X = "Your session has expired. For your security, please log in again to c
1471
1471
  };
1472
1472
  }
1473
1473
  };
1474
- class va {
1474
+ class Sa {
1475
1475
  constructor(t = null, r = null) {
1476
1476
  Le(this, "refreshTokenPromise", null), Le(this, "accessToken"), Le(this, "refreshToken"), this.accessToken = t || "", this.refreshToken = r || "";
1477
1477
  }
@@ -1501,7 +1501,7 @@ class va {
1501
1501
  }) {
1502
1502
  const o = await ie(this.refreshToken);
1503
1503
  if (o && o.payload[R.USER_ID_KEY] !== "") {
1504
- const s = await Sa({
1504
+ const s = await va({
1505
1505
  clientId: t,
1506
1506
  userId: r,
1507
1507
  nonce: a,
@@ -1578,7 +1578,7 @@ const Aa = (e) => z(
1578
1578
  }
1579
1579
  ), [U, H, , O] = pe({
1580
1580
  key: `${fe}::${r}::@@nonce@@`
1581
- }), ae = new va(d, E), P = z(() => {
1581
+ }), ae = new Sa(d, E), P = z(() => {
1582
1582
  i("removeLocalStorage: removing local storage"), m(), f(), w(), O();
1583
1583
  }, [
1584
1584
  f,
@@ -1811,7 +1811,7 @@ const Aa = (e) => z(
1811
1811
  children: e
1812
1812
  }
1813
1813
  ) });
1814
- }, qe = (e = Wt) => yt(e), to = "user", ro = "assistant", ao = "system", no = "internal", oo = "hidden", so = "I'm having trouble right now. Please try again later.", io = "gpt-4", co = 128e3, lo = "action-message", uo = "action-reset", mo = "action-model", ho = "action-restore", po = "action-location", go = "action-streaming", fo = "action-search", yo = "action-sort", bo = "sassy-saint-", Eo = "details", wo = "search", To = "sort", Io = "location", So = "==stats==", Na = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", mt = (e) => Number.isFinite(e) ? e : 0;
1814
+ }, qe = (e = Wt) => yt(e), eo = "user", to = "assistant", ro = "system", ao = "internal", no = "hidden", oo = "I'm having trouble right now. Please try again later.", so = "gpt-4", io = 128e3, co = "action-message", lo = "action-reset", uo = "action-model", mo = "action-restore", ho = "action-location", po = "action-streaming", go = "action-search", fo = "action-sort", yo = "sassy-saint-", bo = "details", Eo = "search", wo = "sort", To = "location", Io = "==stats==", Na = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", mt = (e) => Number.isFinite(e) ? e : 0;
1815
1815
  function xa(e) {
1816
1816
  return {
1817
1817
  days: Math.trunc(e / 864e5),
@@ -1898,17 +1898,17 @@ const Ua = process.env.NODE_ENV === "production", Qe = !Ua, Ha = Qe ? "gizmette.
1898
1898
  min: n,
1899
1899
  sec: o
1900
1900
  };
1901
- }, Ao = (e) => {
1901
+ }, So = (e) => {
1902
1902
  if (!e && e !== 0)
1903
1903
  return "N/A";
1904
1904
  const t = Vt(e, !1);
1905
1905
  return `${t.deg}° ${t.min}' ${t.sec}" ${t.dir}`;
1906
- }, ko = (e) => {
1906
+ }, Ao = (e) => {
1907
1907
  if (!e && e !== 0)
1908
1908
  return "N/A";
1909
1909
  const t = Vt(e, !0);
1910
1910
  return `${t.deg}° ${t.min}' ${t.sec}" ${t.dir}`;
1911
- }, _o = async () => {
1911
+ }, ko = async () => {
1912
1912
  const e = {
1913
1913
  /**
1914
1914
  * A boolean value that indicates the application would
@@ -1957,11 +1957,11 @@ const Ua = process.env.NODE_ENV === "production", Qe = !Ua, Ha = Qe ? "gizmette.
1957
1957
  e
1958
1958
  );
1959
1959
  });
1960
- }, Ro = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ c("dl", { className: "my-0", children: /* @__PURE__ */ I("div", { className: "flex items-center justify-between", children: [
1960
+ }, _o = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ c("dl", { className: "my-0", children: /* @__PURE__ */ I("div", { className: "flex items-center justify-between", children: [
1961
1961
  /* @__PURE__ */ c("dt", { className: "inline-block font-bold text-copy-dark dark:text-copy-lighter", children: r }),
1962
1962
  /* @__PURE__ */ c("dd", { className: "inline-block", children: t[r] })
1963
1963
  ] }) }, `${e}-${r}`)) : null;
1964
- function No({
1964
+ function Ro({
1965
1965
  data: e,
1966
1966
  formatter: t = (r) => r
1967
1967
  }) {
@@ -1973,18 +1973,18 @@ function No({
1973
1973
  );
1974
1974
  return t(a ? a / r.length : 0);
1975
1975
  }
1976
- const xo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, Co = new Intl.NumberFormat("en", {
1976
+ const No = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, xo = new Intl.NumberFormat("en", {
1977
1977
  style: "decimal",
1978
1978
  signDisplay: "never",
1979
1979
  minimumFractionDigits: 0,
1980
1980
  maximumFractionDigits: 0
1981
- }), Oo = (e) => e > 0 ? Ma(e, {
1981
+ }), Co = (e) => e > 0 ? Ma(e, {
1982
1982
  secondsDecimalDigits: 2,
1983
1983
  unitCount: 2
1984
1984
  }) : "N/A", Ka = (e) => g(
1985
1985
  "flex-1 space-y-6 overflow-y-auto rounded-md bg-slate-900 px-4 pb-10 text-base leading-6 text-slate-300 shadow-sm sm:text-base sm:leading-7",
1986
1986
  e || Qe ? "pt-4" : "pt-10"
1987
- ), Po = (e, t) => t === 1 ? e : `${e}s`, Ce = (e) => {
1987
+ ), Oo = (e, t) => t === 1 ? e : `${e}s`, Ce = (e) => {
1988
1988
  let t = "";
1989
1989
  if (typeof e == "number" || typeof e == "string")
1990
1990
  t = "m-" + e;
@@ -1993,7 +1993,7 @@ const xo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
1993
1993
  (e == null ? void 0 : e.t) !== void 0 && r.push(`mt-${e.t}`), (e == null ? void 0 : e.r) !== void 0 && r.push(`mr-${e.r}`), (e == null ? void 0 : e.b) !== void 0 && r.push(`mb-${e.b}`), (e == null ? void 0 : e.l) !== void 0 && r.push(`ml-${e.l}`), t = r.join(" ");
1994
1994
  }
1995
1995
  return t;
1996
- }, Do = "av-bubble", ht = "av-button", Te = "av-card", Ba = "av-footer", Ga = "av-main", $o = "av-messagebox", Lo = "av-panel", Mo = "av-spinner", Jt = "icon", Ft = "button", Wa = "link", Va = ({
1996
+ }, Po = "av-bubble", ht = "av-button", Te = "av-card", Ba = "av-footer", Ga = "av-main", Do = "av-messagebox", $o = "av-panel", Lo = "av-spinner", Jt = "icon", Ft = "button", Wa = "link", Va = ({
1997
1997
  type: e,
1998
1998
  size: t,
1999
1999
  labelRight: r,
@@ -2606,7 +2606,7 @@ const ln = (e) => {
2606
2606
  (e == null ? void 0 : e.t) !== void 0 && r.push(`mt-${e.t}`), (e == null ? void 0 : e.r) !== void 0 && r.push(`mr-${e.r}`), (e == null ? void 0 : e.b) !== void 0 && r.push(`mb-${e.b}`), (e == null ? void 0 : e.l) !== void 0 && r.push(`ml-${e.l}`), t = r.join(" ");
2607
2607
  }
2608
2608
  return t;
2609
- }, Xt = "av-text-input", un = "av-text-input-wrapper", Je = "av-text-input-helper-text", Uo = "av-text-area", Ho = "av-text-area-wrapper", Ko = "av-text-area-helper-text", Bo = "av-text-area__control--right", Go = "av-toggle";
2609
+ }, Xt = "av-text-input", un = "av-text-input-wrapper", Je = "av-text-input-helper-text", Mo = "av-text-area", Uo = "av-text-area-wrapper", Ho = "av-text-area-helper-text", Ko = "av-text-area__control--right", Bo = "av-toggle";
2610
2610
  function mn() {
2611
2611
  const e = W(!1);
2612
2612
  return j(() => (e.current = !0, () => {
@@ -2845,7 +2845,7 @@ const gn = ({
2845
2845
  }
2846
2846
  );
2847
2847
  Ze.displayName = "TextInput";
2848
- const Tn = 500, In = 5e3, Sn = 2e4, Zt = V.forwardRef(
2848
+ const Tn = 500, In = 5e3, vn = 2e4, Zt = V.forwardRef(
2849
2849
  ({
2850
2850
  name: e,
2851
2851
  disabled: t,
@@ -2870,7 +2870,7 @@ const Tn = 500, In = 5e3, Sn = 2e4, Zt = V.forwardRef(
2870
2870
  politeness: "polite",
2871
2871
  message: `${r} hiding characters`
2872
2872
  }), n && n(!0);
2873
- }, Sn));
2873
+ }, vn));
2874
2874
  }, N = (C) => {
2875
2875
  C.preventDefault();
2876
2876
  const K = !w.current;
@@ -2942,7 +2942,7 @@ try {
2942
2942
  });
2943
2943
  } catch {
2944
2944
  }
2945
- const vn = (e) => {
2945
+ const Sn = (e) => {
2946
2946
  let t = "";
2947
2947
  if (typeof e == "number" || typeof e == "string")
2948
2948
  t = "m-" + e;
@@ -2963,7 +2963,7 @@ const vn = (e) => {
2963
2963
  semantic: u = !1,
2964
2964
  ...h
2965
2965
  }) => {
2966
- const p = vn(s), m = g(
2966
+ const p = Sn(s), m = g(
2967
2967
  p,
2968
2968
  a || o
2969
2969
  );
@@ -3296,7 +3296,7 @@ try {
3296
3296
  });
3297
3297
  } catch {
3298
3298
  }
3299
- const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "Log in", $n = "Sign in with a Passkey", Wo = "Log out", Ln = "Password", Mn = "Powered by OpenAI", Vo = "Send", Jo = "Profile", Fo = "Statistics", Yo = "Chat history", zo = "About", jo = "Type your question here", qo = "Clear chat", Qo = "Cancel chat", Xo = "N/A", Zo = {
3299
+ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "Log in", $n = "Sign in with a Passkey", Go = "Log out", Ln = "Password", Mn = "Powered by OpenAI", Wo = "Send", Vo = "Profile", Jo = "Statistics", Fo = "Chat history", Yo = "About", zo = "Type your question here", jo = "Clear chat", qo = "Cancel chat", Qo = "N/A", Xo = {
3300
3300
  PREFERENCES: {
3301
3301
  TITLE: "User preferences",
3302
3302
  NAME: "Name",
@@ -3337,7 +3337,7 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3337
3337
  row1: /* @__PURE__ */ I("div", { children: [
3338
3338
  tr,
3339
3339
  " v",
3340
- "4.0.1",
3340
+ "4.0.2",
3341
3341
  " - ",
3342
3342
  Mn,
3343
3343
  Qe && e && e.models.length > 0 && e.models[0] === "development" ? " - Development Mode" : ""
@@ -3349,7 +3349,7 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3349
3349
  Pn
3350
3350
  ] })
3351
3351
  }
3352
- ), Hn = wt(() => import("./LazyHeader.BVB91lqV.js")), Kn = () => {
3352
+ ), Hn = wt(() => import("./LazyHeader.BLLQsxSA.js")), Kn = () => {
3353
3353
  const { isAuthenticated: e } = qe();
3354
3354
  return /* @__PURE__ */ I(ce, { children: [
3355
3355
  e && /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Hn, {}) }),
@@ -3456,86 +3456,85 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3456
3456
  ] }),
3457
3457
  /* @__PURE__ */ c(Un, {})
3458
3458
  ] });
3459
- }, Gn = new URL(document.location.href).searchParams, Wn = !!Gn.get("debug") || !1, Vn = wt(() => import("./App.8nM0tteo.js").then((e) => e.App)), Jn = ({ isComponent: e }) => {
3459
+ }, Gn = new URL(document.location.href).searchParams, Wn = !!Gn.get("debug") || !1, Vn = wt(() => import("./App.CB-l5VXS.js").then((e) => e.App)), Jn = ({ isComponent: e }) => {
3460
3460
  const { isAuthenticated: t } = qe();
3461
3461
  return t ? /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Vn, { isComponent: e }) }) : /* @__PURE__ */ c(Bn, {});
3462
3462
  }, Fn = ({
3463
3463
  isComponent: e = !1,
3464
3464
  domain: t = Ha
3465
- }) => /* @__PURE__ */ c(ce, { children: /* @__PURE__ */ c(Ra, { clientId: Na, domain: t, debug: Wn, children: /* @__PURE__ */ c(Jn, { isComponent: e }) }) }), Yn = ({ domain: e }) => /* @__PURE__ */ c(Fn, { isComponent: !0, domain: e });
3466
- Yn.displayName = "SassySaint-4.0.1";
3465
+ }) => /* @__PURE__ */ c(ce, { children: /* @__PURE__ */ c(Ra, { clientId: Na, domain: t, debug: Wn, children: /* @__PURE__ */ c(Jn, { isComponent: e }) }) }), Zo = ({ domain: e }) => /* @__PURE__ */ c(Fn, { isComponent: !0, domain: e });
3467
3466
  export {
3468
3467
  Yt as A,
3469
- zo as ABOUT_TITLE,
3470
- po as ACTION_LOCATION,
3471
- lo as ACTION_MESSAGE,
3472
- mo as ACTION_MODEL,
3473
- uo as ACTION_RESET,
3474
- ho as ACTION_RESTORE,
3475
- fo as ACTION_SEARCH,
3476
- yo as ACTION_SORT,
3477
- go as ACTION_STREAMING,
3468
+ Yo as ABOUT_TITLE,
3469
+ ho as ACTION_LOCATION,
3470
+ co as ACTION_MESSAGE,
3471
+ uo as ACTION_MODEL,
3472
+ lo as ACTION_RESET,
3473
+ mo as ACTION_RESTORE,
3474
+ go as ACTION_SEARCH,
3475
+ fo as ACTION_SORT,
3476
+ po as ACTION_STREAMING,
3478
3477
  Un as AppFooter,
3479
- Qo as CANCEL,
3480
- Zo as CARDS,
3481
- qo as CLEAR,
3482
- so as ERROR_MESSAGE,
3483
- co as GPT4_MAX_TOKENS,
3484
- Yo as HISTORY_TITLE,
3485
- Eo as LOCAL_STORAGE_CHAT_DETAILS,
3486
- Io as LOCAL_STORAGE_LOCATION,
3487
- bo as LOCAL_STORAGE_PREFIX,
3488
- wo as LOCAL_STORAGE_SEARCH,
3489
- To as LOCAL_STORAGE_SORT,
3490
- Wo as LOG_OUT,
3478
+ qo as CANCEL,
3479
+ Xo as CARDS,
3480
+ jo as CLEAR,
3481
+ oo as ERROR_MESSAGE,
3482
+ io as GPT4_MAX_TOKENS,
3483
+ Fo as HISTORY_TITLE,
3484
+ bo as LOCAL_STORAGE_CHAT_DETAILS,
3485
+ To as LOCAL_STORAGE_LOCATION,
3486
+ yo as LOCAL_STORAGE_PREFIX,
3487
+ Eo as LOCAL_STORAGE_SEARCH,
3488
+ wo as LOCAL_STORAGE_SORT,
3489
+ Go as LOG_OUT,
3491
3490
  nn as M,
3492
- io as MODEL_GPT4,
3491
+ so as MODEL_GPT4,
3493
3492
  Kn as MessagesContainerHeader,
3494
- $o as N,
3493
+ Do as N,
3495
3494
  en as N$1,
3496
- Xo as NA,
3495
+ Qo as NA,
3497
3496
  Ye as O,
3498
- Jo as PROFILE_TITLE,
3499
- ro as ROLE_ASSISTANT,
3500
- oo as ROLE_HIDDEN,
3501
- no as ROLE_INTERNAL,
3502
- ao as ROLE_SYSTEM,
3503
- to as ROLE_USER,
3497
+ Vo as PROFILE_TITLE,
3498
+ to as ROLE_ASSISTANT,
3499
+ no as ROLE_HIDDEN,
3500
+ ao as ROLE_INTERNAL,
3501
+ ro as ROLE_SYSTEM,
3502
+ eo as ROLE_USER,
3504
3503
  Ce as S,
3505
- Vo as SEND,
3506
- Fo as STATS,
3507
- So as STATS_SEPARATOR,
3508
- Yn as SassySaint,
3509
- jo as TYPE_QUESTION,
3504
+ Wo as SEND,
3505
+ Jo as STATS,
3506
+ Io as STATS_SEPARATOR,
3507
+ Zo as SassySaint,
3508
+ zo as TYPE_QUESTION,
3510
3509
  Qt as U,
3511
3510
  Ze as Y,
3512
- Ko as a,
3511
+ Ho as a,
3513
3512
  gt as b,
3514
3513
  rn as c,
3515
- Mo as c$1,
3516
- Ao as convertLatitudeToDMS,
3517
- ko as convertLongitudeToDMS,
3518
- Oo as durationFormatter,
3519
- No as extractAverage,
3514
+ Lo as c$1,
3515
+ So as convertLatitudeToDMS,
3516
+ Ao as convertLongitudeToDMS,
3517
+ Co as durationFormatter,
3518
+ Ro as extractAverage,
3520
3519
  Jt as f,
3521
3520
  an as f$1,
3522
3521
  _n as f$2,
3523
3522
  Oe as g,
3524
- _o as getCurrentGeoLocation,
3523
+ ko as getCurrentGeoLocation,
3525
3524
  Ka as getMessageContaintWrapperClass,
3526
3525
  Xe as i,
3527
- Lo as i$1,
3528
- xo as isLastMessageFromRole,
3526
+ $o as i$1,
3527
+ No as isLastMessageFromRole,
3529
3528
  re as j,
3530
- Bo as l,
3531
- Uo as n,
3532
- Co as numberFormatter,
3529
+ Ko as l,
3530
+ Mo as n,
3531
+ xo as numberFormatter,
3533
3532
  ln as o,
3534
- Go as p,
3535
- Po as pluralize,
3536
- Ho as r,
3537
- Ro as renderDataAsList,
3538
- Do as s,
3533
+ Bo as p,
3534
+ Oo as pluralize,
3535
+ Uo as r,
3536
+ _o as renderDataAsList,
3537
+ Po as s,
3539
3538
  vo as truncate,
3540
3539
  zt as x,
3541
3540
  qe as zr
@@ -1,7 +1,7 @@
1
1
  import { jsxs as _, Fragment as M, jsx as l } from "react/jsx-runtime";
2
2
  import m from "clsx";
3
3
  import w, { useContext as k, useSyncExternalStore as W, useCallback as S, useEffect as P } from "react";
4
- import { A as U, i as F, f as q, S as j, MODEL_GPT4 as J } from "./index.CtUMDxv6.js";
4
+ import { A as U, i as F, f as q, S as j, MODEL_GPT4 as J } from "./index.CNfQ0lj1.js";
5
5
  const Q = (e) => {
6
6
  let a = "";
7
7
  if (typeof e == "number" || typeof e == "string")
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.CtUMDxv6.js";
2
+ import { SassySaint as a } from "../../chunks/index.CNfQ0lj1.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.d.ts CHANGED
@@ -3,9 +3,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  type SassySaintProps = {
4
4
  domain: string;
5
5
  };
6
- declare const SassySaint: {
7
- ({ domain }: SassySaintProps): react_jsx_runtime.JSX.Element;
8
- displayName: string;
9
- };
6
+ declare const SassySaint: ({ domain }: SassySaintProps) => react_jsx_runtime.JSX.Element;
10
7
 
11
8
  export { SassySaint };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.CtUMDxv6.js";
1
+ import { SassySaint as r } from "./chunks/index.CNfQ0lj1.js";
2
2
  /*!
3
- @sassysaint/client v4.0.1
3
+ @sassysaint/client v4.0.2
4
4
  © 2024 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "4.0.1",
9
- buildTime: "08/25/2024 03:36 PM EDT",
8
+ version: "4.0.2",
9
+ buildTime: "08/29/2024 09:23 PM EDT",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {