@versini/sassysaint 5.2.0 → 5.3.0

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 v, jsx as r, Fragment as _ } from "react/jsx-runtime";
2
- import { g as $, D as O, CARDS as w, renderDataAsList as le, pluralize as pe, AppContext as me, ABOUT_TITLE as Mt, DEFAULT_AI_ENGINE as se, numberFormatter as Lt, durationFormatter as Qe, NA as Ot, ROLE_ASSISTANT as Pt, extractAverage as Dt, GPT4_MAX_TOKENS as Bt, rn as te, STATS as et, b as Ae, j as ee, R as J, HistoryContext as tt, LOCAL_STORAGE_PREFIX as z, LOCAL_STORAGE_SORT as $t, O as Q, ACTION_RESET as Vt, ACTION_RESTORE as zt, truncate as Ht, ACTION_SORT as ke, LOCAL_STORAGE_SEARCH as Ft, me as Gt, ACTION_SEARCH as Ut, HISTORY_TITLE as jt, LOCAL_STORAGE_ENGINE_TOGGLE as ot, ENGINE_OPENAI as Ce, ENGINE_ANTHROPIC as Te, ACTION_ENGINE as rt, getCurrentGeoLocation as Kt, LOCAL_STORAGE_TAG_SUMMARIZE as $e, LOCAL_STORAGE_TAG_PROOFREAD as Ve, LOCAL_STORAGE_TAG_REPHRASE as ze, TAG_CONTENT as we, TAGS as Ee, LOCAL_STORAGE_CHAT_DETAILS as Wt, G as Yt, v as He, PROFILE_TITLE as Zt, LOG_OUT as Fe } from "./index.BbfwgIO_.js";
3
- import { serviceCall as H, SERVICE_TYPES as F, E as G, f as D, ce as qt, ge as Xt, me as Ne, ie as V, ue as Jt, be as Qt, he as eo, we as Ge } from "./index.CGGeNJS3.js";
2
+ import { g as $, D as O, CARDS as w, renderDataAsList as le, pluralize as pe, AppContext as me, ABOUT_TITLE as Mt, DEFAULT_AI_ENGINE as se, numberFormatter as Lt, durationFormatter as Qe, NA as Ot, ROLE_ASSISTANT as Pt, extractAverage as Dt, GPT4_MAX_TOKENS as Bt, rn as te, STATS as et, b as Ae, j as ee, R as J, HistoryContext as tt, LOCAL_STORAGE_PREFIX as z, LOCAL_STORAGE_SORT as $t, O as Q, ACTION_RESET as Vt, ACTION_RESTORE as zt, truncate as Ht, ACTION_SORT as ke, LOCAL_STORAGE_SEARCH as Ft, me as Gt, ACTION_SEARCH as Ut, HISTORY_TITLE as jt, LOCAL_STORAGE_ENGINE_TOGGLE as ot, ENGINE_OPENAI as Ce, ENGINE_ANTHROPIC as Te, ACTION_ENGINE as rt, getCurrentGeoLocation as Kt, LOCAL_STORAGE_TAG_SUMMARIZE as $e, LOCAL_STORAGE_TAG_PROOFREAD as Ve, LOCAL_STORAGE_TAG_REPHRASE as ze, TAG_CONTENT as we, TAGS as Ee, LOCAL_STORAGE_CHAT_DETAILS as Wt, G as Yt, v as He, PROFILE_TITLE as Zt, LOG_OUT as Fe } from "./index.CKHEQpgF.js";
3
+ import { serviceCall as H, SERVICE_TYPES as F, E as G, f as D, ce as qt, ge as Xt, me as Ne, ie as V, ue as Jt, be as Qt, he as eo, we as Ge } from "./index.Ck-_31wH.js";
4
4
  import * as f from "react";
5
5
  import I, { useId as to, forwardRef as nt, useState as x, useRef as ce, useContext as B, useEffect as U, Suspense as oo, lazy as ro, useMemo as no } from "react";
6
6
  import C from "clsx";
@@ -1624,8 +1624,8 @@ const ie = "panel", ge = "messagebox", Dr = ({
1624
1624
  header: w.ABOUT.TITLE_CLIENT,
1625
1625
  className: "prose-dark dark:prose-lighter",
1626
1626
  children: le(a, {
1627
- [w.ABOUT.VERSION]: "5.1.0",
1628
- [w.ABOUT.BUILD_TIMESTAMP]: "10/05/2024 02:51 PM EDT"
1627
+ [w.ABOUT.VERSION]: "5.2.0",
1628
+ [w.ABOUT.BUILD_TIMESTAMP]: "10/05/2024 07:49 PM EDT"
1629
1629
  })
1630
1630
  }
1631
1631
  ) }),
@@ -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.3aYd1Tzp.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.s5h7NaV1.js";
3
3
  const U0 = (
4
4
  // Note: overloads like this are needed to support optional generics.
5
5
  /**
@@ -1,9 +1,9 @@
1
1
  import { jsxs as He, jsx as re, Fragment as or } from "react/jsx-runtime";
2
- import { le as ot } from "./App.DKRoa2tE.js";
3
- import { E as wi } from "./index.CGGeNJS3.js";
2
+ import { le as ot } from "./App.DRTN2bgD.js";
3
+ import { E as wi } from "./index.Ck-_31wH.js";
4
4
  import cn from "clsx";
5
5
  import { lazy as Si, useContext as Ci, Suspense as Ei } from "react";
6
- import { AppContext as Ai, LOCAL_STORAGE_PREFIX as Ii, LOCAL_STORAGE_CHAT_DETAILS as Ti, durationFormatter as Pi } from "./index.BbfwgIO_.js";
6
+ import { AppContext as Ai, LOCAL_STORAGE_PREFIX as Ii, LOCAL_STORAGE_CHAT_DETAILS as Ti, durationFormatter as Pi } from "./index.CKHEQpgF.js";
7
7
  var at = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
8
8
  function Li(e) {
9
9
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
@@ -8642,7 +8642,7 @@ function sf(e) {
8642
8642
  const cf = Si(
8643
8643
  () => import(
8644
8644
  /* webpackChunkName: "LazyMarkdownWithExtra" */
8645
- "./LazyMarkdownWithExtra.BtUUOsHs.js"
8645
+ "./LazyMarkdownWithExtra.BHaS-6A0.js"
8646
8646
  )
8647
8647
  ), In = {
8648
8648
  MODEL: "Model",
@@ -1,5 +1,5 @@
1
1
  import { jsx as l, jsxs as I, Fragment as ye } from "react/jsx-runtime";
2
- import O, { createContext as lr, useReducer as kt, useRef as L, useCallback as q, useEffect as Q, useContext as Ze, useSyncExternalStore as dr, useId as St, useState as j, useLayoutEffect as ct, useMemo as _t, lazy as Nt, Suspense as Rt } from "react";
2
+ import O, { createContext as lr, useReducer as St, useRef as L, useCallback as q, useEffect as Q, useContext as Ze, useSyncExternalStore as dr, useId as kt, useState as j, useLayoutEffect as ct, useMemo as _t, lazy as Nt, Suspense as Rt } from "react";
3
3
  import f from "clsx";
4
4
  var ur = Object.defineProperty, mr = (e, t, r) => t in e ? ur(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, He = (e, t, r) => mr(e, typeof t != "symbol" ? t + "" : t, r);
5
5
  /*!
@@ -42,11 +42,11 @@ function xt(e) {
42
42
  function Ct(e) {
43
43
  return e === "localhost" || /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e);
44
44
  }
45
- class x extends Error {
45
+ let x = class extends Error {
46
46
  constructor({ message: t, code: r, cause: a, name: n }) {
47
47
  super(t, { cause: a }), this.name = n ?? a.name, this.code = r;
48
48
  }
49
- }
49
+ };
50
50
  function hr({ error: e, options: t }) {
51
51
  var a, n;
52
52
  const { publicKey: r } = t;
@@ -412,7 +412,7 @@ let G = class extends te {
412
412
  static get code() {
413
413
  return "ERR_JOSE_NOT_SUPPORTED";
414
414
  }
415
- }, S = class extends te {
415
+ }, k = class extends te {
416
416
  constructor() {
417
417
  super(...arguments), this.code = "ERR_JWS_INVALID";
418
418
  }
@@ -444,7 +444,7 @@ function Te(e, t) {
444
444
  function We(e) {
445
445
  return parseInt(e.name.slice(4), 10);
446
446
  }
447
- function kr(e) {
447
+ function Sr(e) {
448
448
  switch (e) {
449
449
  case "ES256":
450
450
  return "P-256";
@@ -456,7 +456,7 @@ function kr(e) {
456
456
  throw new Error("unreachable");
457
457
  }
458
458
  }
459
- function Sr(e, t) {
459
+ function kr(e, t) {
460
460
  if (t.length && !t.some((r) => e.usages.includes(r))) {
461
461
  let r = "CryptoKey does not support this operation, its usages must include ";
462
462
  if (t.length > 2) {
@@ -508,7 +508,7 @@ function _r(e, t, ...r) {
508
508
  case "ES512": {
509
509
  if (!Te(e.algorithm, "ECDSA"))
510
510
  throw J("ECDSA");
511
- const a = kr(t);
511
+ const a = Sr(t);
512
512
  if (e.algorithm.namedCurve !== a)
513
513
  throw J(a, "algorithm.namedCurve");
514
514
  break;
@@ -516,7 +516,7 @@ function _r(e, t, ...r) {
516
516
  default:
517
517
  throw new TypeError("CryptoKey does not support this operation");
518
518
  }
519
- Sr(e, r);
519
+ kr(e, r);
520
520
  }
521
521
  function Lt(e, t, ...r) {
522
522
  var a;
@@ -902,45 +902,45 @@ const zr = async (e, t, r, a) => {
902
902
  };
903
903
  async function jr(e, t, r) {
904
904
  if (!me(e))
905
- throw new S("Flattened JWS must be an object");
905
+ throw new k("Flattened JWS must be an object");
906
906
  if (e.protected === void 0 && e.header === void 0)
907
- throw new S('Flattened JWS must have either of the "protected" or "header" members');
907
+ throw new k('Flattened JWS must have either of the "protected" or "header" members');
908
908
  if (e.protected !== void 0 && typeof e.protected != "string")
909
- throw new S("JWS Protected Header incorrect type");
909
+ throw new k("JWS Protected Header incorrect type");
910
910
  if (e.payload === void 0)
911
- throw new S("JWS Payload missing");
911
+ throw new k("JWS Payload missing");
912
912
  if (typeof e.signature != "string")
913
- throw new S("JWS Signature missing or incorrect type");
913
+ throw new k("JWS Signature missing or incorrect type");
914
914
  if (e.header !== void 0 && !me(e.header))
915
- throw new S("JWS Unprotected Header incorrect type");
915
+ throw new k("JWS Unprotected Header incorrect type");
916
916
  let a = {};
917
917
  if (e.protected)
918
918
  try {
919
919
  const y = X(e.protected);
920
920
  a = JSON.parse(be.decode(y));
921
921
  } catch {
922
- throw new S("JWS Protected Header is invalid");
922
+ throw new k("JWS Protected Header is invalid");
923
923
  }
924
924
  if (!Nr(a, e.header))
925
- throw new S("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
925
+ throw new k("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
926
926
  const n = {
927
927
  ...a,
928
928
  ...e.header
929
- }, o = Vr(S, /* @__PURE__ */ new Map([["b64", !0]]), r == null ? void 0 : r.crit, a, n);
929
+ }, o = Vr(k, /* @__PURE__ */ new Map([["b64", !0]]), r == null ? void 0 : r.crit, a, n);
930
930
  let s = !0;
931
931
  if (o.has("b64") && (s = a.b64, typeof s != "boolean"))
932
- throw new S('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
932
+ throw new k('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
933
933
  const { alg: i } = n;
934
934
  if (typeof i != "string" || !i)
935
- throw new S('JWS "alg" (Algorithm) Header Parameter missing or invalid');
935
+ throw new k('JWS "alg" (Algorithm) Header Parameter missing or invalid');
936
936
  const u = r && Jr("algorithms", r.algorithms);
937
937
  if (u && !u.has(i))
938
938
  throw new vr('"alg" (Algorithm) Header Parameter value not allowed');
939
939
  if (s) {
940
940
  if (typeof e.payload != "string")
941
- throw new S("JWS Payload must be a string");
941
+ throw new k("JWS Payload must be a string");
942
942
  } else if (typeof e.payload != "string" && !(e.payload instanceof Uint8Array))
943
- throw new S("JWS Payload must be a string or an Uint8Array instance");
943
+ throw new k("JWS Payload must be a string or an Uint8Array instance");
944
944
  let h = !1;
945
945
  typeof t == "function" ? (t = await t(a, e), h = !0, mt(i, t, "verify"), he(t) && (t = await Gr(t, i))) : mt(i, t, "verify");
946
946
  const p = Tr(we.encode(e.protected ?? ""), we.encode("."), typeof e.payload == "string" ? we.encode(e.payload) : e.payload);
@@ -948,7 +948,7 @@ async function jr(e, t, r) {
948
948
  try {
949
949
  m = X(e.signature);
950
950
  } catch {
951
- throw new S("Failed to base64url decode the signature");
951
+ throw new k("Failed to base64url decode the signature");
952
952
  }
953
953
  if (!await zr(i, t, m, p))
954
954
  throw new Ar();
@@ -957,7 +957,7 @@ async function jr(e, t, r) {
957
957
  try {
958
958
  c = X(e.payload);
959
959
  } catch {
960
- throw new S("Failed to base64url decode the payload");
960
+ throw new k("Failed to base64url decode the payload");
961
961
  }
962
962
  else typeof e.payload == "string" ? c = we.encode(e.payload) : c = e.payload;
963
963
  const d = { payload: c };
@@ -965,10 +965,10 @@ async function jr(e, t, r) {
965
965
  }
966
966
  async function qr(e, t, r) {
967
967
  if (e instanceof Uint8Array && (e = be.decode(e)), typeof e != "string")
968
- throw new S("Compact JWS must be a string or Uint8Array");
968
+ throw new k("Compact JWS must be a string or Uint8Array");
969
969
  const { 0: a, 1: n, 2: o, length: s } = e.split(".");
970
970
  if (s !== 3)
971
- throw new S("Invalid Compact JWS");
971
+ throw new k("Invalid Compact JWS");
972
972
  const i = await jr({ payload: n, protected: a, signature: o }, t, r), u = { payload: i.payload, protectedHeader: i.protectedHeader };
973
973
  return typeof t == "function" ? { ...u, key: i.key } : u;
974
974
  }
@@ -1205,11 +1205,11 @@ function ve({
1205
1205
  }
1206
1206
  }, [e, t]), [r ? JSON.parse(r) : null, a, n, o];
1207
1207
  }
1208
- var k = [];
1208
+ var S = [];
1209
1209
  for (var Ve = 0; Ve < 256; ++Ve)
1210
- k.push((Ve + 256).toString(16).slice(1));
1210
+ S.push((Ve + 256).toString(16).slice(1));
1211
1211
  function ya(e, t = 0) {
1212
- return (k[e[t + 0]] + k[e[t + 1]] + k[e[t + 2]] + k[e[t + 3]] + "-" + k[e[t + 4]] + k[e[t + 5]] + "-" + k[e[t + 6]] + k[e[t + 7]] + "-" + k[e[t + 8]] + k[e[t + 9]] + "-" + k[e[t + 10]] + k[e[t + 11]] + k[e[t + 12]] + k[e[t + 13]] + k[e[t + 14]] + k[e[t + 15]]).toLowerCase();
1212
+ 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();
1213
1213
  }
1214
1214
  var Ae, ba = new Uint8Array(16);
1215
1215
  function Ea() {
@@ -1231,7 +1231,7 @@ function Je(e, t, r) {
1231
1231
  const oe = "Your session has expired. For your security, please log in again to continue.", Ta = "Your session has been successfully terminated.", Fe = "Login failed. Please try again.", Ia = "Error getting access token, please re-authenticate.", va = "You forgot to wrap your component in <AuthProvider>.", Pe = {
1232
1232
  dev: "https://auth.gizmette.local.com:3003",
1233
1233
  prod: "https://mylogin.gizmette.com/auth"
1234
- }, ke = "@@auth@@", ge = "LOADING", Ne = "LOGIN", Ft = "LOGOUT", Ee = "success", W = "failure", Yt = "include", zt = "POST", jt = "application/json", Se = {
1234
+ }, Se = "@@auth@@", ge = "LOADING", Ne = "LOGIN", Ft = "LOGOUT", Ee = "success", W = "failure", Yt = "include", zt = "POST", jt = "application/json", ke = {
1235
1235
  GET_REGISTRATION_OPTIONS: `mutation GetPasskeyRegistrationOptions(
1236
1236
  $clientId: String!,
1237
1237
  $username: String!,
@@ -1314,19 +1314,19 @@ const oe = "Your session has expired. For your security, please log in again to
1314
1314
  }`
1315
1315
  }, se = {
1316
1316
  GET_REGISTRATION_OPTIONS: {
1317
- schema: Se.GET_REGISTRATION_OPTIONS,
1317
+ schema: ke.GET_REGISTRATION_OPTIONS,
1318
1318
  method: "getPasskeyRegistrationOptions"
1319
1319
  },
1320
1320
  VERIFY_REGISTRATION: {
1321
- schema: Se.VERIFY_REGISTRATION,
1321
+ schema: ke.VERIFY_REGISTRATION,
1322
1322
  method: "verifyPasskeyRegistration"
1323
1323
  },
1324
1324
  GET_AUTHENTICATION_OPTIONS: {
1325
- schema: Se.GET_AUTHENTICATION_OPTIONS,
1325
+ schema: ke.GET_AUTHENTICATION_OPTIONS,
1326
1326
  method: "getPasskeyAuthenticationOptions"
1327
1327
  },
1328
1328
  VERIFY_AUTHENTICATION: {
1329
- schema: Se.VERIFY_AUTHENTICATION,
1329
+ schema: ke.VERIFY_AUTHENTICATION,
1330
1330
  method: "verifyPasskeyAuthentication"
1331
1331
  }
1332
1332
  }, ie = async ({
@@ -1397,14 +1397,14 @@ const oe = "Your session has expired. For your security, please log in again to
1397
1397
  logoutReason: "",
1398
1398
  debug: !1,
1399
1399
  authenticationType: ""
1400
- }, ka = (e) => {
1400
+ }, Sa = (e) => {
1401
1401
  try {
1402
1402
  const t = sa(e);
1403
1403
  return t ? t[_.USER_ID_KEY] : "";
1404
1404
  } catch {
1405
1405
  return "";
1406
1406
  }
1407
- }, Sa = async ({
1407
+ }, ka = async ({
1408
1408
  userId: e,
1409
1409
  clientId: t,
1410
1410
  domain: r,
@@ -1634,19 +1634,19 @@ const Ca = (e) => q(
1634
1634
  domain: a = "",
1635
1635
  debug: n = !1
1636
1636
  }) => {
1637
- const [o, s] = kt(Pa, {
1637
+ const [o, s] = St(Pa, {
1638
1638
  ...Xt,
1639
1639
  debug: n
1640
1640
  }), i = Ca(n), u = L(!1), [h, p, , m] = ve({
1641
- key: `${ke}::${r}::@@user@@`
1641
+ key: `${Se}::${r}::@@user@@`
1642
1642
  }), [c, d, , y] = ve({
1643
- key: `${ke}::${r}::@@access@@`
1643
+ key: `${Se}::${r}::@@access@@`
1644
1644
  }), [b, v, , w] = ve(
1645
1645
  {
1646
- key: `${ke}::${r}::@@refresh@@`
1646
+ key: `${Se}::${r}::@@refresh@@`
1647
1647
  }
1648
1648
  ), [C, D, , M] = ve({
1649
- key: `${ke}::${r}::@@nonce@@`
1649
+ key: `${Se}::${r}::@@nonce@@`
1650
1650
  }), Z = new xa(c, b), N = q(() => {
1651
1651
  i("removeLocalStorage: removing local storage"), m(), y(), w(), M();
1652
1652
  }, [
@@ -1671,10 +1671,10 @@ const Ca = (e) => q(
1671
1671
  ), P = q(
1672
1672
  async (g) => {
1673
1673
  i("invalidateAndLogout: invalidating and logging out");
1674
- const { user: T } = o, E = (T == null ? void 0 : T.userId) || ka(h);
1674
+ const { user: T } = o, E = (T == null ? void 0 : T.userId) || Sa(h);
1675
1675
  E || i(
1676
1676
  "invalidateAndLogout: user cannot be identified, logging out without userId"
1677
- ), await Sa({
1677
+ ), await ka({
1678
1678
  userId: E,
1679
1679
  clientId: r,
1680
1680
  domain: a,
@@ -1887,11 +1887,11 @@ const Ca = (e) => q(
1887
1887
  children: e
1888
1888
  }
1889
1889
  ) });
1890
- }, rt = (e = Qt) => Ze(e), po = "user", go = "assistant", fo = "system", yo = "internal", bo = "hidden", Eo = "I'm having trouble right now. Please try again later.", Ye = "OpenAI", wo = "OpenAI", To = "Anthropic", Io = 128e3, vo = "action-message", Ao = "action-reset", ko = "action-model", So = "action-restore", _o = "action-streaming", No = "action-engine", Ro = "action-search", xo = "action-sort", Co = "action-toggle-tag", Oo = "action-reset-tags", ze = {
1890
+ }, rt = (e = Qt) => Ze(e), go = "user", fo = "assistant", yo = "system", bo = "internal", Eo = "hidden", wo = "I'm having trouble right now. Please try again later.", Ye = "OpenAI", To = "OpenAI", Io = "Anthropic", vo = 128e3, Ao = "action-message", So = "action-reset", ko = "action-model", _o = "action-restore", No = "action-streaming", Ro = "action-engine", xo = "action-search", Co = "action-sort", Oo = "action-toggle-tag", Po = "action-reset-tags", ze = {
1891
1891
  SUMMARIZE_ARTICLE: "summarize-article",
1892
1892
  PROOFREAD_CONTENT: "proofread-content",
1893
1893
  REPHRASE_CONTENT: "rephrase-content"
1894
- }, Po = {
1894
+ }, Do = {
1895
1895
  [ze.SUMMARIZE_ARTICLE]: {
1896
1896
  label: "Summarize...",
1897
1897
  content: "Summarize this article: "
@@ -1901,7 +1901,7 @@ const Ca = (e) => q(
1901
1901
  content: "Proofread this: "
1902
1902
  },
1903
1903
  [ze.REPHRASE_CONTENT]: { label: "Rephrase...", content: "Rephrase this: " }
1904
- }, Do = "sassy-saint-", $o = "details", Lo = "search", Mo = "sort", Uo = "summarize-article", Ko = "proofread-content", Ho = "rephrase-content", Go = "engine-toggle", Wo = "==stats==", $a = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Tt = (e) => Number.isFinite(e) ? e : 0;
1904
+ }, $o = "sassy-saint-", Lo = "details", Mo = "search", Uo = "sort", Ko = "summarize-article", Ho = "proofread-content", Go = "rephrase-content", Wo = "engine-toggle", Bo = "==stats==", $a = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Tt = (e) => Number.isFinite(e) ? e : 0;
1905
1905
  function La(e) {
1906
1906
  return {
1907
1907
  days: Math.trunc(e / 864e5),
@@ -1980,7 +1980,7 @@ function Ba(e, t) {
1980
1980
  const h = t.colonNotation ? ":" : " ";
1981
1981
  return typeof t.unitCount == "number" && (n = n.slice(0, Math.max(t.unitCount, 1))), a + n.join(h);
1982
1982
  }
1983
- const Va = process.env.NODE_ENV === "production", at = !Va, Ja = at ? "gizmette.local.com" : "gizmette.com", Bo = (e, t) => e.length > t ? e.substring(0, t) + "..." : e, Vo = async () => {
1983
+ const Va = process.env.NODE_ENV === "production", at = !Va, Ja = at ? "gizmette.local.com" : "gizmette.com", Vo = (e, t) => e.length > t ? e.substring(0, t) + "..." : e, Jo = async () => {
1984
1984
  const e = {
1985
1985
  /**
1986
1986
  * A boolean value that indicates the application would
@@ -2029,11 +2029,11 @@ const Va = process.env.NODE_ENV === "production", at = !Va, Ja = at ? "gizmette.
2029
2029
  e
2030
2030
  );
2031
2031
  });
2032
- }, Jo = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ l("dl", { className: "my-0", children: /* @__PURE__ */ I("div", { className: "flex items-center justify-between", children: [
2032
+ }, Fo = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ l("dl", { className: "my-0", children: /* @__PURE__ */ I("div", { className: "flex items-center justify-between", children: [
2033
2033
  /* @__PURE__ */ l("dt", { className: "my-1 inline-block font-bold text-copy-dark dark:text-copy-lighter", children: r }),
2034
2034
  /* @__PURE__ */ l("dd", { className: "my-1 inline-block", children: t[r] })
2035
2035
  ] }) }, `${e}-${r}`)) : null;
2036
- function Fo({
2036
+ function Yo({
2037
2037
  data: e,
2038
2038
  formatter: t = (r) => r
2039
2039
  }) {
@@ -2045,18 +2045,18 @@ function Fo({
2045
2045
  );
2046
2046
  return t(a ? a / r.length : 0);
2047
2047
  }
2048
- const Yo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, zo = new Intl.NumberFormat("en", {
2048
+ const zo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, jo = new Intl.NumberFormat("en", {
2049
2049
  style: "decimal",
2050
2050
  signDisplay: "never",
2051
2051
  minimumFractionDigits: 0,
2052
2052
  maximumFractionDigits: 0
2053
- }), jo = (e) => e > 0 ? Ba(e, {
2053
+ }), qo = (e) => e > 0 ? Ba(e, {
2054
2054
  secondsDecimalDigits: 2,
2055
2055
  unitCount: 2
2056
2056
  }) : "N/A", Fa = (e) => f(
2057
2057
  "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",
2058
2058
  e || at ? "pt-4" : "pt-10"
2059
- ), qo = (e, t) => t === 1 ? e : `${e}s`, It = "av-button", Ya = (e) => {
2059
+ ), Xo = (e, t) => t === 1 ? e : `${e}s`, It = "av-button", Ya = (e) => {
2060
2060
  let t = "";
2061
2061
  if (typeof e == "number" || typeof e == "string")
2062
2062
  t = "m-" + e;
@@ -2464,13 +2464,13 @@ const rn = O.forwardRef(
2464
2464
  );
2465
2465
  rn.displayName = "ButtonSort";
2466
2466
  /*!
2467
- @versini/ui-card v1.0.8
2467
+ @versini/ui-card v1.0.9
2468
2468
  © 2024 gizmette.com
2469
2469
  */
2470
2470
  try {
2471
2471
  window.__VERSINI_UI_CARD__ || (window.__VERSINI_UI_CARD__ = {
2472
- version: "1.0.8",
2473
- buildTime: "09/27/2024 11:55 AM EDT",
2472
+ version: "1.0.9",
2473
+ buildTime: "10/05/2024 07:22 PM EDT",
2474
2474
  homepage: "https://github.com/aversini/ui-components",
2475
2475
  license: "MIT"
2476
2476
  });
@@ -2478,7 +2478,7 @@ try {
2478
2478
  }
2479
2479
  const Re = "av-card";
2480
2480
  function an(e) {
2481
- const t = St();
2481
+ const t = kt();
2482
2482
  return `${e}${t}`;
2483
2483
  }
2484
2484
  const nn = (e) => {
@@ -3008,7 +3008,7 @@ function vn(e) {
3008
3008
  }), [s, e]), [a, n];
3009
3009
  }
3010
3010
  function An(e) {
3011
- const t = St();
3011
+ const t = kt();
3012
3012
  if (!e)
3013
3013
  return t;
3014
3014
  if (typeof e == "number" || typeof e == "string")
@@ -3018,7 +3018,7 @@ function An(e) {
3018
3018
  return typeof r == "number" || typeof r == "string" ? `${a}${r}` : `${a}${t}`;
3019
3019
  }
3020
3020
  }
3021
- const ar = "SET_ANNOUNCEMENT", nr = "CLEAR_ANNOUNCEMENT", kn = {
3021
+ const ar = "SET_ANNOUNCEMENT", nr = "CLEAR_ANNOUNCEMENT", Sn = {
3022
3022
  alert: null,
3023
3023
  alertdialog: null,
3024
3024
  log: "polite",
@@ -3026,7 +3026,7 @@ const ar = "SET_ANNOUNCEMENT", nr = "CLEAR_ANNOUNCEMENT", kn = {
3026
3026
  progressbar: null,
3027
3027
  status: "polite",
3028
3028
  timer: "assertive"
3029
- }, Sn = (e, t) => {
3029
+ }, kn = (e, t) => {
3030
3030
  switch (t == null ? void 0 : t.type) {
3031
3031
  case ar:
3032
3032
  return {
@@ -3099,11 +3099,11 @@ function or({
3099
3099
  visible: i,
3100
3100
  ...u
3101
3101
  }) {
3102
- const h = L(), p = L(), [m, c] = kt(Sn, {
3102
+ const h = L(), p = L(), [m, c] = St(kn, {
3103
3103
  announcement: null
3104
3104
  });
3105
3105
  let d = r;
3106
- typeof d > "u" && (d = a ? kn[a] : "assertive"), Q(() => {
3106
+ typeof d > "u" && (d = a ? Sn[a] : "assertive"), Q(() => {
3107
3107
  Nn({
3108
3108
  announcementTimeoutRef: h,
3109
3109
  announcementDelay: n,
@@ -3150,7 +3150,7 @@ const Rn = (e) => {
3150
3150
  try {
3151
3151
  window.__VERSINI_UI_PRIVATE__ || (window.__VERSINI_UI_PRIVATE__ = {
3152
3152
  version: "1.4.17",
3153
- buildTime: "09/30/2024 09:27 AM EDT",
3153
+ buildTime: "10/05/2024 07:22 PM EDT",
3154
3154
  homepage: "https://github.com/aversini/ui-components",
3155
3155
  license: "MIT"
3156
3156
  });
@@ -3498,19 +3498,19 @@ const Mn = 500, Un = 5e3, Kn = 2e4, sr = O.forwardRef(
3498
3498
  );
3499
3499
  sr.displayName = "TextInputMask";
3500
3500
  /*!
3501
- @versini/ui-textinput v1.2.0
3501
+ @versini/ui-textinput v1.2.1
3502
3502
  © 2024 gizmette.com
3503
3503
  */
3504
3504
  try {
3505
3505
  window.__VERSINI_UI_TEXTINPUT__ || (window.__VERSINI_UI_TEXTINPUT__ = {
3506
- version: "1.2.0",
3507
- buildTime: "09/30/2024 09:28 AM EDT",
3506
+ version: "1.2.1",
3507
+ buildTime: "10/05/2024 07:22 PM EDT",
3508
3508
  homepage: "https://github.com/aversini/ui-components",
3509
3509
  license: "MIT"
3510
3510
  });
3511
3511
  } catch {
3512
3512
  }
3513
- const Hn = "ASK! ME! ANYTHING!", ir = "Sassy Saint", Gn = "gizmette.com", Wn = "Log in", Bn = "Sign in with a Passkey", Xo = "Log out", Vn = "Password", Jn = "Powered by ", Qo = "Send", Zo = "Profile", es = "Statistics", ts = "Chat history", rs = "About", as = "Type your question here", ns = "Clear chat", os = "Cancel chat", ss = "N/A", is = {
3513
+ const Hn = "ASK! ME! ANYTHING!", ir = "Sassy Saint", Gn = "gizmette.com", Wn = "Log in", Bn = "Sign in with a Passkey", Qo = "Log out", Vn = "Password", Jn = "Powered by ", Zo = "Send", es = "Profile", ts = "Statistics", rs = "Chat history", as = "About", ns = "Type your question here", os = "Clear chat", ss = "Cancel chat", is = "N/A", cs = {
3514
3514
  TAGS: {
3515
3515
  TITLE: "Pre-filled tags",
3516
3516
  DESCRIPTION: "Tags are pre-filled buttons available on the main screen, to help you quickly start requests."
@@ -3610,11 +3610,11 @@ const Fn = "av-footer", Yn = (e) => {
3610
3610
  engine: Ye,
3611
3611
  engines: []
3612
3612
  }
3613
- }), cs = O.createContext({
3613
+ }), ls = O.createContext({
3614
3614
  state: { searchString: "", sortedCell: "", sortDirection: "" },
3615
3615
  dispatch: () => {
3616
3616
  }
3617
- }), ls = O.createContext({
3617
+ }), ds = O.createContext({
3618
3618
  state: { tag: "" },
3619
3619
  dispatch: () => {
3620
3620
  }
@@ -3629,7 +3629,7 @@ const Fn = "av-footer", Yn = (e) => {
3629
3629
  row1: /* @__PURE__ */ I("div", { children: [
3630
3630
  ir,
3631
3631
  " v",
3632
- "5.1.0",
3632
+ "5.2.0",
3633
3633
  " - ",
3634
3634
  Jn,
3635
3635
  t && t.engine,
@@ -3646,7 +3646,7 @@ const Fn = "av-footer", Yn = (e) => {
3646
3646
  }, Xn = Nt(
3647
3647
  () => import(
3648
3648
  /* webpackChunkName: "LazyHeader" */
3649
- "./LazyHeader.QLLnRIqL.js"
3649
+ "./LazyHeader.5TbeOkDb.js"
3650
3650
  )
3651
3651
  ), Qn = () => {
3652
3652
  const { isAuthenticated: e } = rt();
@@ -3757,81 +3757,81 @@ const Fn = "av-footer", Yn = (e) => {
3757
3757
  ] });
3758
3758
  }, eo = new URL(document.location.href).searchParams, to = !!eo.get("debug") || !1, ro = Nt(() => import(
3759
3759
  /* webpackChunkName: "LazyApp" */
3760
- "./App.DKRoa2tE.js"
3760
+ "./App.DRTN2bgD.js"
3761
3761
  ).then((e) => e.App)), ao = ({ isComponent: e }) => {
3762
3762
  const { isAuthenticated: t } = rt();
3763
3763
  return t ? /* @__PURE__ */ l(Rt, { fallback: /* @__PURE__ */ l("div", {}), children: /* @__PURE__ */ l(ro, { isComponent: e }) }) : /* @__PURE__ */ l(Zn, {});
3764
3764
  }, no = ({
3765
3765
  isComponent: e = !1,
3766
3766
  domain: t = Ja
3767
- }) => /* @__PURE__ */ l(ye, { children: /* @__PURE__ */ l(Da, { clientId: $a, domain: t, debug: to, children: /* @__PURE__ */ l(ao, { isComponent: e }) }) }), ds = ({ domain: e }) => /* @__PURE__ */ l(no, { isComponent: !0, domain: e });
3767
+ }) => /* @__PURE__ */ l(ye, { children: /* @__PURE__ */ l(Da, { clientId: $a, domain: t, debug: to, children: /* @__PURE__ */ l(ao, { isComponent: e }) }) }), us = ({ domain: e }) => /* @__PURE__ */ l(no, { isComponent: !0, domain: e });
3768
3768
  export {
3769
- rs as ABOUT_TITLE,
3770
- No as ACTION_ENGINE,
3771
- vo as ACTION_MESSAGE,
3769
+ as as ABOUT_TITLE,
3770
+ Ro as ACTION_ENGINE,
3771
+ Ao as ACTION_MESSAGE,
3772
3772
  ko as ACTION_MODEL,
3773
- Ao as ACTION_RESET,
3774
- Oo as ACTION_RESET_TAGS,
3775
- So as ACTION_RESTORE,
3776
- Ro as ACTION_SEARCH,
3777
- xo as ACTION_SORT,
3778
- _o as ACTION_STREAMING,
3779
- Co as ACTION_TOGGLE_TAG,
3773
+ So as ACTION_RESET,
3774
+ Po as ACTION_RESET_TAGS,
3775
+ _o as ACTION_RESTORE,
3776
+ xo as ACTION_SEARCH,
3777
+ Co as ACTION_SORT,
3778
+ No as ACTION_STREAMING,
3779
+ Oo as ACTION_TOGGLE_TAG,
3780
3780
  jn as AppContext,
3781
3781
  qn as AppFooter,
3782
- os as CANCEL,
3783
- is as CARDS,
3784
- ns as CLEAR,
3782
+ ss as CANCEL,
3783
+ cs as CARDS,
3784
+ os as CLEAR,
3785
3785
  cn as D,
3786
3786
  Ye as DEFAULT_AI_ENGINE,
3787
- To as ENGINE_ANTHROPIC,
3788
- wo as ENGINE_OPENAI,
3789
- Eo as ERROR_MESSAGE,
3787
+ Io as ENGINE_ANTHROPIC,
3788
+ To as ENGINE_OPENAI,
3789
+ wo as ERROR_MESSAGE,
3790
3790
  ue as G,
3791
- Io as GPT4_MAX_TOKENS,
3792
- ts as HISTORY_TITLE,
3793
- cs as HistoryContext,
3794
- $o as LOCAL_STORAGE_CHAT_DETAILS,
3795
- Go as LOCAL_STORAGE_ENGINE_TOGGLE,
3796
- Do as LOCAL_STORAGE_PREFIX,
3797
- Lo as LOCAL_STORAGE_SEARCH,
3798
- Mo as LOCAL_STORAGE_SORT,
3799
- Ko as LOCAL_STORAGE_TAG_PROOFREAD,
3800
- Ho as LOCAL_STORAGE_TAG_REPHRASE,
3801
- Uo as LOCAL_STORAGE_TAG_SUMMARIZE,
3802
- Xo as LOG_OUT,
3791
+ vo as GPT4_MAX_TOKENS,
3792
+ rs as HISTORY_TITLE,
3793
+ ls as HistoryContext,
3794
+ Lo as LOCAL_STORAGE_CHAT_DETAILS,
3795
+ Wo as LOCAL_STORAGE_ENGINE_TOGGLE,
3796
+ $o as LOCAL_STORAGE_PREFIX,
3797
+ Mo as LOCAL_STORAGE_SEARCH,
3798
+ Uo as LOCAL_STORAGE_SORT,
3799
+ Ho as LOCAL_STORAGE_TAG_PROOFREAD,
3800
+ Go as LOCAL_STORAGE_TAG_REPHRASE,
3801
+ Ko as LOCAL_STORAGE_TAG_SUMMARIZE,
3802
+ Qo as LOG_OUT,
3803
3803
  Qn as MessagesContainerHeader,
3804
- ss as NA,
3804
+ is as NA,
3805
3805
  Qe as O,
3806
- Zo as PROFILE_TITLE,
3806
+ es as PROFILE_TITLE,
3807
3807
  er as R,
3808
- go as ROLE_ASSISTANT,
3809
- bo as ROLE_HIDDEN,
3810
- yo as ROLE_INTERNAL,
3811
- fo as ROLE_SYSTEM,
3812
- po as ROLE_USER,
3813
- Qo as SEND,
3814
- es as STATS,
3815
- Wo as STATS_SEPARATOR,
3816
- ds as SassySaint,
3808
+ fo as ROLE_ASSISTANT,
3809
+ Eo as ROLE_HIDDEN,
3810
+ bo as ROLE_INTERNAL,
3811
+ yo as ROLE_SYSTEM,
3812
+ go as ROLE_USER,
3813
+ Zo as SEND,
3814
+ ts as STATS,
3815
+ Bo as STATS_SEPARATOR,
3816
+ us as SassySaint,
3817
3817
  ze as TAGS,
3818
- Po as TAG_CONTENT,
3819
- as as TYPE_QUESTION,
3820
- ls as TagsContext,
3818
+ Do as TAG_CONTENT,
3819
+ ns as TYPE_QUESTION,
3820
+ ds as TagsContext,
3821
3821
  vt as b,
3822
3822
  fn as d,
3823
- jo as durationFormatter,
3824
- Fo as extractAverage,
3823
+ qo as durationFormatter,
3824
+ Yo as extractAverage,
3825
3825
  Ke as g,
3826
- Vo as getCurrentGeoLocation,
3826
+ Jo as getCurrentGeoLocation,
3827
3827
  Fa as getMessageContaintWrapperClass,
3828
- Yo as isLastMessageFromRole,
3828
+ zo as isLastMessageFromRole,
3829
3829
  le as j,
3830
3830
  st as me,
3831
- zo as numberFormatter,
3832
- qo as pluralize,
3833
- Jo as renderDataAsList,
3831
+ jo as numberFormatter,
3832
+ Xo as pluralize,
3833
+ Fo as renderDataAsList,
3834
3834
  rt as rn,
3835
- Bo as truncate,
3835
+ Vo as truncate,
3836
3836
  mn as v
3837
3837
  };