@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.
- package/dist/chunks/{App.8nM0tteo.js → App.CB-l5VXS.js} +3 -3
- package/dist/chunks/{LazyHeader.BVB91lqV.js → LazyHeader.BLLQsxSA.js} +5 -5
- package/dist/chunks/{LazyMarkdownWithExtra.Vko9ZhUE.js → LazyMarkdownWithExtra.BXN0qX-X.js} +1 -1
- package/dist/chunks/{LazyMessageAssistant.Bc8vj23L.js → LazyMessageAssistant.BVS33a7s.js} +4 -4
- package/dist/chunks/{index.7JJYsiGN.Cue7FeX9.js → index.7JJYsiGN.DgxpdbID.js} +1 -1
- package/dist/chunks/{index.CtUMDxv6.js → index.CNfQ0lj1.js} +101 -102
- package/dist/chunks/{useLocalStorage.CVbyWXz0.js → useLocalStorage.B1r33kl_.js} +1 -1
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.js +4 -4
- package/dist/style.css +8 -1
- package/package.json +3 -3
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
606
|
-
[N.ABOUT.BUILD_TIMESTAMP]: "08/
|
|
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.
|
|
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.
|
|
3
|
-
import { AppContext as Ei, E as Ai } from "./useLocalStorage.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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 (
|
|
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
|
|
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 =
|
|
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 (
|
|
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 =
|
|
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
|
|
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",
|
|
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
|
|
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, ...
|
|
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, ...
|
|
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
|
|
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, ...
|
|
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, ...
|
|
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 (!
|
|
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 && !
|
|
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 (!
|
|
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 (!
|
|
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 (!
|
|
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
|
|
1068
|
+
var v = [];
|
|
1069
1069
|
for (var Be = 0; Be < 256; ++Be)
|
|
1070
|
-
|
|
1070
|
+
v.push((Be + 256).toString(16).slice(1));
|
|
1071
1071
|
function ta(e, t = 0) {
|
|
1072
|
-
return (
|
|
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
|
|
1147
|
+
var S = [];
|
|
1148
1148
|
for (var Ge = 0; Ge < 256; ++Ge)
|
|
1149
|
-
|
|
1149
|
+
S.push((Ge + 256).toString(16).slice(1));
|
|
1150
1150
|
function ua(e, t = 0) {
|
|
1151
|
-
return (
|
|
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
|
-
},
|
|
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
|
|
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
|
|
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
|
|
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),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
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
|
|
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
|
-
}),
|
|
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
|
-
),
|
|
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
|
-
},
|
|
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",
|
|
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,
|
|
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
|
-
},
|
|
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
|
|
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 =
|
|
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",
|
|
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.
|
|
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.
|
|
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.
|
|
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 }) }) }),
|
|
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
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
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
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
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
|
-
|
|
3491
|
+
so as MODEL_GPT4,
|
|
3493
3492
|
Kn as MessagesContainerHeader,
|
|
3494
|
-
|
|
3493
|
+
Do as N,
|
|
3495
3494
|
en as N$1,
|
|
3496
|
-
|
|
3495
|
+
Qo as NA,
|
|
3497
3496
|
Ye as O,
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
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
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
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
|
-
|
|
3511
|
+
Ho as a,
|
|
3513
3512
|
gt as b,
|
|
3514
3513
|
rn as c,
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
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
|
-
|
|
3523
|
+
ko as getCurrentGeoLocation,
|
|
3525
3524
|
Ka as getMessageContaintWrapperClass,
|
|
3526
3525
|
Xe as i,
|
|
3527
|
-
|
|
3528
|
-
|
|
3526
|
+
$o as i$1,
|
|
3527
|
+
No as isLastMessageFromRole,
|
|
3529
3528
|
re as j,
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3529
|
+
Ko as l,
|
|
3530
|
+
Mo as n,
|
|
3531
|
+
xo as numberFormatter,
|
|
3533
3532
|
ln as o,
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
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.
|
|
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")
|
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.
|
|
1
|
+
import { SassySaint as r } from "./chunks/index.CNfQ0lj1.js";
|
|
2
2
|
/*!
|
|
3
|
-
@sassysaint/client v4.0.
|
|
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.
|
|
9
|
-
buildTime: "08/
|
|
8
|
+
version: "4.0.2",
|
|
9
|
+
buildTime: "08/29/2024 09:23 PM EDT",
|
|
10
10
|
license: "MIT"
|
|
11
11
|
});
|
|
12
12
|
} catch {
|