@versini/sassysaint 2.0.2 → 4.0.3

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.hKY7O9up.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.guy7-rXk.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.s7N5AkfQ.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.hKY7O9up.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.guy7-rXk.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.CAXaixDN.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.3",
606
+ [N.ABOUT.BUILD_TIMESTAMP]: "08/30/2024 03:02 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.s7N5AkfQ.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.hKY7O9up.js";
3
+ import { AppContext as Ei, E as Ai } from "./useLocalStorage.guy7-rXk.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.D304Xevg.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.BXbx8ZuU.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.hKY7O9up.js";
7
7
  const b = "SET_ANNOUNCEMENT", w = "CLEAR_ANNOUNCEMENT", q = {
8
8
  alert: null,
9
9
  alertdialog: null,
@@ -3,13 +3,13 @@ import V, { createContext as nr, useReducer as ft, useRef as W, useCallback as z
3
3
  import g from "clsx";
4
4
  var ir = Object.defineProperty, cr = (e, t, r) => t in e ? ir(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Le = (e, t, r) => cr(e, typeof t != "symbol" ? t + "" : t, r);
5
5
  /*!
6
- @versini/auth-provider v7.1.1
6
+ @versini/auth-provider v7.1.2
7
7
  © 2024 gizmette.com
8
8
  */
9
9
  try {
10
10
  window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
11
- version: "7.1.1",
12
- buildTime: "08/25/2024 03:19 PM EDT",
11
+ version: "7.1.2",
12
+ buildTime: "08/26/2024 06:52 PM EDT",
13
13
  homepage: "https://github.com/aversini/auth-client",
14
14
  license: "MIT"
15
15
  });
@@ -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);
@@ -310,7 +310,7 @@ async function gr(e, t = !1) {
310
310
  try {
311
311
  window.__VERSINI_AUTH_COMMON__ || (window.__VERSINI_AUTH_COMMON__ = {
312
312
  version: "4.0.0",
313
- buildTime: "08/25/2024 03:19 PM EDT",
313
+ buildTime: "08/26/2024 06:51 PM EDT",
314
314
  homepage: "https://github.com/aversini/auth-client",
315
315
  license: "MIT"
316
316
  });
@@ -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() {
@@ -1344,19 +1344,21 @@ const X = "Your session has expired. For your security, please log in again to c
1344
1344
  }, wa = async ({
1345
1345
  userId: e,
1346
1346
  clientId: t,
1347
- domain: r
1347
+ domain: r,
1348
+ idToken: a = ""
1348
1349
  }) => {
1349
- var a;
1350
+ var n;
1350
1351
  try {
1351
1352
  return {
1352
- status: ((a = await xe({
1353
+ status: ((n = await xe({
1353
1354
  type: Re.LOGOUT,
1354
1355
  clientId: t,
1355
1356
  params: {
1356
1357
  userId: e,
1357
- domain: r
1358
+ domain: r,
1359
+ idToken: a
1358
1360
  }
1359
- })) == null ? void 0 : a.status) || M
1361
+ })) == null ? void 0 : n.status) || M
1360
1362
  };
1361
1363
  } catch {
1362
1364
  return {
@@ -1435,7 +1437,7 @@ const X = "Your session has expired. For your security, please log in again to c
1435
1437
  data: ""
1436
1438
  };
1437
1439
  }
1438
- }, Sa = async ({
1440
+ }, va = async ({
1439
1441
  clientId: e,
1440
1442
  userId: t,
1441
1443
  nonce: r,
@@ -1471,7 +1473,7 @@ const X = "Your session has expired. For your security, please log in again to c
1471
1473
  };
1472
1474
  }
1473
1475
  };
1474
- class va {
1476
+ class Sa {
1475
1477
  constructor(t = null, r = null) {
1476
1478
  Le(this, "refreshTokenPromise", null), Le(this, "accessToken"), Le(this, "refreshToken"), this.accessToken = t || "", this.refreshToken = r || "";
1477
1479
  }
@@ -1501,7 +1503,7 @@ class va {
1501
1503
  }) {
1502
1504
  const o = await ie(this.refreshToken);
1503
1505
  if (o && o.payload[R.USER_ID_KEY] !== "") {
1504
- const s = await Sa({
1506
+ const s = await va({
1505
1507
  clientId: t,
1506
1508
  userId: r,
1507
1509
  nonce: a,
@@ -1578,7 +1580,7 @@ const Aa = (e) => z(
1578
1580
  }
1579
1581
  ), [U, H, , O] = pe({
1580
1582
  key: `${fe}::${r}::@@nonce@@`
1581
- }), ae = new va(d, E), P = z(() => {
1583
+ }), ae = new Sa(d, E), P = z(() => {
1582
1584
  i("removeLocalStorage: removing local storage"), m(), f(), w(), O();
1583
1585
  }, [
1584
1586
  f,
@@ -1608,7 +1610,8 @@ const Aa = (e) => z(
1608
1610
  ), await wa({
1609
1611
  userId: b,
1610
1612
  clientId: r,
1611
- domain: a
1613
+ domain: a,
1614
+ idToken: h
1612
1615
  }), N(y || X);
1613
1616
  },
1614
1617
  [h, o, r, a, N, i]
@@ -1811,7 +1814,7 @@ const Aa = (e) => z(
1811
1814
  children: e
1812
1815
  }
1813
1816
  ) });
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;
1817
+ }, 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
1818
  function xa(e) {
1816
1819
  return {
1817
1820
  days: Math.trunc(e / 864e5),
@@ -1898,17 +1901,17 @@ const Ua = process.env.NODE_ENV === "production", Qe = !Ua, Ha = Qe ? "gizmette.
1898
1901
  min: n,
1899
1902
  sec: o
1900
1903
  };
1901
- }, Ao = (e) => {
1904
+ }, So = (e) => {
1902
1905
  if (!e && e !== 0)
1903
1906
  return "N/A";
1904
1907
  const t = Vt(e, !1);
1905
1908
  return `${t.deg}° ${t.min}' ${t.sec}" ${t.dir}`;
1906
- }, ko = (e) => {
1909
+ }, Ao = (e) => {
1907
1910
  if (!e && e !== 0)
1908
1911
  return "N/A";
1909
1912
  const t = Vt(e, !0);
1910
1913
  return `${t.deg}° ${t.min}' ${t.sec}" ${t.dir}`;
1911
- }, _o = async () => {
1914
+ }, ko = async () => {
1912
1915
  const e = {
1913
1916
  /**
1914
1917
  * A boolean value that indicates the application would
@@ -1957,11 +1960,11 @@ const Ua = process.env.NODE_ENV === "production", Qe = !Ua, Ha = Qe ? "gizmette.
1957
1960
  e
1958
1961
  );
1959
1962
  });
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: [
1963
+ }, _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
1964
  /* @__PURE__ */ c("dt", { className: "inline-block font-bold text-copy-dark dark:text-copy-lighter", children: r }),
1962
1965
  /* @__PURE__ */ c("dd", { className: "inline-block", children: t[r] })
1963
1966
  ] }) }, `${e}-${r}`)) : null;
1964
- function No({
1967
+ function Ro({
1965
1968
  data: e,
1966
1969
  formatter: t = (r) => r
1967
1970
  }) {
@@ -1973,18 +1976,18 @@ function No({
1973
1976
  );
1974
1977
  return t(a ? a / r.length : 0);
1975
1978
  }
1976
- const xo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, Co = new Intl.NumberFormat("en", {
1979
+ const No = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, xo = new Intl.NumberFormat("en", {
1977
1980
  style: "decimal",
1978
1981
  signDisplay: "never",
1979
1982
  minimumFractionDigits: 0,
1980
1983
  maximumFractionDigits: 0
1981
- }), Oo = (e) => e > 0 ? Ma(e, {
1984
+ }), Co = (e) => e > 0 ? Ma(e, {
1982
1985
  secondsDecimalDigits: 2,
1983
1986
  unitCount: 2
1984
1987
  }) : "N/A", Ka = (e) => g(
1985
1988
  "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
1989
  e || Qe ? "pt-4" : "pt-10"
1987
- ), Po = (e, t) => t === 1 ? e : `${e}s`, Ce = (e) => {
1990
+ ), Oo = (e, t) => t === 1 ? e : `${e}s`, Ce = (e) => {
1988
1991
  let t = "";
1989
1992
  if (typeof e == "number" || typeof e == "string")
1990
1993
  t = "m-" + e;
@@ -1993,7 +1996,7 @@ const xo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
1993
1996
  (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
1997
  }
1995
1998
  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 = ({
1999
+ }, 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
2000
  type: e,
1998
2001
  size: t,
1999
2002
  labelRight: r,
@@ -2606,7 +2609,7 @@ const ln = (e) => {
2606
2609
  (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
2610
  }
2608
2611
  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";
2612
+ }, 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
2613
  function mn() {
2611
2614
  const e = W(!1);
2612
2615
  return j(() => (e.current = !0, () => {
@@ -2845,7 +2848,7 @@ const gn = ({
2845
2848
  }
2846
2849
  );
2847
2850
  Ze.displayName = "TextInput";
2848
- const Tn = 500, In = 5e3, Sn = 2e4, Zt = V.forwardRef(
2851
+ const Tn = 500, In = 5e3, vn = 2e4, Zt = V.forwardRef(
2849
2852
  ({
2850
2853
  name: e,
2851
2854
  disabled: t,
@@ -2870,7 +2873,7 @@ const Tn = 500, In = 5e3, Sn = 2e4, Zt = V.forwardRef(
2870
2873
  politeness: "polite",
2871
2874
  message: `${r} hiding characters`
2872
2875
  }), n && n(!0);
2873
- }, Sn));
2876
+ }, vn));
2874
2877
  }, N = (C) => {
2875
2878
  C.preventDefault();
2876
2879
  const K = !w.current;
@@ -2942,7 +2945,7 @@ try {
2942
2945
  });
2943
2946
  } catch {
2944
2947
  }
2945
- const vn = (e) => {
2948
+ const Sn = (e) => {
2946
2949
  let t = "";
2947
2950
  if (typeof e == "number" || typeof e == "string")
2948
2951
  t = "m-" + e;
@@ -2963,7 +2966,7 @@ const vn = (e) => {
2963
2966
  semantic: u = !1,
2964
2967
  ...h
2965
2968
  }) => {
2966
- const p = vn(s), m = g(
2969
+ const p = Sn(s), m = g(
2967
2970
  p,
2968
2971
  a || o
2969
2972
  );
@@ -3296,7 +3299,7 @@ try {
3296
3299
  });
3297
3300
  } catch {
3298
3301
  }
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 = {
3302
+ 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
3303
  PREFERENCES: {
3301
3304
  TITLE: "User preferences",
3302
3305
  NAME: "Name",
@@ -3337,7 +3340,7 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3337
3340
  row1: /* @__PURE__ */ I("div", { children: [
3338
3341
  tr,
3339
3342
  " v",
3340
- "4.0.1",
3343
+ "4.0.3",
3341
3344
  " - ",
3342
3345
  Mn,
3343
3346
  Qe && e && e.models.length > 0 && e.models[0] === "development" ? " - Development Mode" : ""
@@ -3349,7 +3352,7 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3349
3352
  Pn
3350
3353
  ] })
3351
3354
  }
3352
- ), Hn = wt(() => import("./LazyHeader.BVB91lqV.js")), Kn = () => {
3355
+ ), Hn = wt(() => import("./LazyHeader.DZqy-k6Q.js")), Kn = () => {
3353
3356
  const { isAuthenticated: e } = qe();
3354
3357
  return /* @__PURE__ */ I(ce, { children: [
3355
3358
  e && /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Hn, {}) }),
@@ -3456,86 +3459,85 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3456
3459
  ] }),
3457
3460
  /* @__PURE__ */ c(Un, {})
3458
3461
  ] });
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 }) => {
3462
+ }, Gn = new URL(document.location.href).searchParams, Wn = !!Gn.get("debug") || !1, Vn = wt(() => import("./App.D304Xevg.js").then((e) => e.App)), Jn = ({ isComponent: e }) => {
3460
3463
  const { isAuthenticated: t } = qe();
3461
3464
  return t ? /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Vn, { isComponent: e }) }) : /* @__PURE__ */ c(Bn, {});
3462
3465
  }, Fn = ({
3463
3466
  isComponent: e = !1,
3464
3467
  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";
3468
+ }) => /* @__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
3469
  export {
3468
3470
  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,
3471
+ Yo as ABOUT_TITLE,
3472
+ ho as ACTION_LOCATION,
3473
+ co as ACTION_MESSAGE,
3474
+ uo as ACTION_MODEL,
3475
+ lo as ACTION_RESET,
3476
+ mo as ACTION_RESTORE,
3477
+ go as ACTION_SEARCH,
3478
+ fo as ACTION_SORT,
3479
+ po as ACTION_STREAMING,
3478
3480
  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,
3481
+ qo as CANCEL,
3482
+ Xo as CARDS,
3483
+ jo as CLEAR,
3484
+ oo as ERROR_MESSAGE,
3485
+ io as GPT4_MAX_TOKENS,
3486
+ Fo as HISTORY_TITLE,
3487
+ bo as LOCAL_STORAGE_CHAT_DETAILS,
3488
+ To as LOCAL_STORAGE_LOCATION,
3489
+ yo as LOCAL_STORAGE_PREFIX,
3490
+ Eo as LOCAL_STORAGE_SEARCH,
3491
+ wo as LOCAL_STORAGE_SORT,
3492
+ Go as LOG_OUT,
3491
3493
  nn as M,
3492
- io as MODEL_GPT4,
3494
+ so as MODEL_GPT4,
3493
3495
  Kn as MessagesContainerHeader,
3494
- $o as N,
3496
+ Do as N,
3495
3497
  en as N$1,
3496
- Xo as NA,
3498
+ Qo as NA,
3497
3499
  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,
3500
+ Vo as PROFILE_TITLE,
3501
+ to as ROLE_ASSISTANT,
3502
+ no as ROLE_HIDDEN,
3503
+ ao as ROLE_INTERNAL,
3504
+ ro as ROLE_SYSTEM,
3505
+ eo as ROLE_USER,
3504
3506
  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,
3507
+ Wo as SEND,
3508
+ Jo as STATS,
3509
+ Io as STATS_SEPARATOR,
3510
+ Zo as SassySaint,
3511
+ zo as TYPE_QUESTION,
3510
3512
  Qt as U,
3511
3513
  Ze as Y,
3512
- Ko as a,
3514
+ Ho as a,
3513
3515
  gt as b,
3514
3516
  rn as c,
3515
- Mo as c$1,
3516
- Ao as convertLatitudeToDMS,
3517
- ko as convertLongitudeToDMS,
3518
- Oo as durationFormatter,
3519
- No as extractAverage,
3517
+ Lo as c$1,
3518
+ So as convertLatitudeToDMS,
3519
+ Ao as convertLongitudeToDMS,
3520
+ Co as durationFormatter,
3521
+ Ro as extractAverage,
3520
3522
  Jt as f,
3521
3523
  an as f$1,
3522
3524
  _n as f$2,
3523
3525
  Oe as g,
3524
- _o as getCurrentGeoLocation,
3526
+ ko as getCurrentGeoLocation,
3525
3527
  Ka as getMessageContaintWrapperClass,
3526
3528
  Xe as i,
3527
- Lo as i$1,
3528
- xo as isLastMessageFromRole,
3529
+ $o as i$1,
3530
+ No as isLastMessageFromRole,
3529
3531
  re as j,
3530
- Bo as l,
3531
- Uo as n,
3532
- Co as numberFormatter,
3532
+ Ko as l,
3533
+ Mo as n,
3534
+ xo as numberFormatter,
3533
3535
  ln as o,
3534
- Go as p,
3535
- Po as pluralize,
3536
- Ho as r,
3537
- Ro as renderDataAsList,
3538
- Do as s,
3536
+ Bo as p,
3537
+ Oo as pluralize,
3538
+ Uo as r,
3539
+ _o as renderDataAsList,
3540
+ Po as s,
3539
3541
  vo as truncate,
3540
3542
  zt as x,
3541
3543
  qe as zr