@versini/sassysaint 7.0.1 → 7.1.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 { jsx as Ve, jsxs as P0, Fragment as ka } from "react/jsx-runtime";
2
- import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as ks, parse as kn, parse$1 as Nn, normalize as Tn, svg as Ns, html as Ts, visitParents as As, SKIP as Ms, longestStreak as Os, factorySpace as _r, markdownLineEnding as Vt, Markdown as Rs, remarkGfm as Cs } from "./ChatBubbleAssistant.Dlqa0Yzb.js";
3
- import { re as Is, L as Ds, j as Ls } from "./index.Dyd6jXma.js";
2
+ import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as ks, parse as kn, parse$1 as Nn, normalize as Tn, svg as Ns, html as Ts, visitParents as As, SKIP as Ms, longestStreak as Os, factorySpace as _r, markdownLineEnding as Vt, Markdown as Rs, remarkGfm as Cs } from "./ChatBubbleAssistant.Dp-agOTo.js";
3
+ import { re as Is, L as Ds, j as Ls } from "./index.Ct43f1gn.js";
4
4
  import zs, { useState as Bs, useEffect as Fs } from "react";
5
5
  import Ps from "clsx";
6
6
  const Ta = ({
@@ -15,7 +15,7 @@ try {
15
15
  });
16
16
  } catch {
17
17
  }
18
- function V(e) {
18
+ function G(e) {
19
19
  const t = new Uint8Array(e);
20
20
  let r = "";
21
21
  for (const a of t)
@@ -176,29 +176,29 @@ async function fr(e) {
176
176
  try {
177
177
  d = o.getPublicKeyAlgorithm();
178
178
  } catch (c) {
179
- Be("getPublicKeyAlgorithm()", c);
179
+ Ve("getPublicKeyAlgorithm()", c);
180
180
  }
181
181
  let h;
182
182
  if (typeof o.getPublicKey == "function")
183
183
  try {
184
184
  const c = o.getPublicKey();
185
- c !== null && (h = V(c));
185
+ c !== null && (h = G(c));
186
186
  } catch (c) {
187
- Be("getPublicKey()", c);
187
+ Ve("getPublicKey()", c);
188
188
  }
189
189
  let f;
190
190
  if (typeof o.getAuthenticatorData == "function")
191
191
  try {
192
- f = V(o.getAuthenticatorData());
192
+ f = G(o.getAuthenticatorData());
193
193
  } catch (c) {
194
- Be("getAuthenticatorData()", c);
194
+ Ve("getAuthenticatorData()", c);
195
195
  }
196
196
  return {
197
197
  id: a,
198
- rawId: V(n),
198
+ rawId: G(n),
199
199
  response: {
200
- attestationObject: V(o.attestationObject),
201
- clientDataJSON: V(o.clientDataJSON),
200
+ attestationObject: G(o.attestationObject),
201
+ clientDataJSON: G(o.clientDataJSON),
202
202
  transports: i,
203
203
  publicKeyAlgorithm: d,
204
204
  publicKey: h,
@@ -209,7 +209,7 @@ async function fr(e) {
209
209
  authenticatorAttachment: Nt(r.authenticatorAttachment)
210
210
  };
211
211
  }
212
- function Be(e, t) {
212
+ function Ve(e, t) {
213
213
  console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
214
214
  `, t);
215
215
  }
@@ -289,13 +289,13 @@ async function br(e, t = !1) {
289
289
  throw new Error("Authentication was not completed");
290
290
  const { id: s, rawId: i, response: d, type: h } = o;
291
291
  let f;
292
- return d.userHandle && (f = V(d.userHandle)), {
292
+ return d.userHandle && (f = G(d.userHandle)), {
293
293
  id: s,
294
- rawId: V(i),
294
+ rawId: G(i),
295
295
  response: {
296
- authenticatorData: V(d.authenticatorData),
297
- clientDataJSON: V(d.clientDataJSON),
298
- signature: V(d.signature),
296
+ authenticatorData: G(d.authenticatorData),
297
+ clientDataJSON: G(d.clientDataJSON),
298
+ signature: G(d.signature),
299
299
  userHandle: f
300
300
  },
301
301
  type: h,
@@ -470,7 +470,7 @@ function j(e, t = "algorithm.name") {
470
470
  function we(e, t) {
471
471
  return e.name === t;
472
472
  }
473
- function Ge(e) {
473
+ function Be(e) {
474
474
  return parseInt(e.name.slice(4), 10);
475
475
  }
476
476
  function vr(e) {
@@ -503,7 +503,7 @@ function Cr(e, t, ...r) {
503
503
  if (!we(e.algorithm, "HMAC"))
504
504
  throw j("HMAC");
505
505
  const a = parseInt(t.slice(2), 10);
506
- if (Ge(e.algorithm.hash) !== a)
506
+ if (Be(e.algorithm.hash) !== a)
507
507
  throw j(`SHA-${a}`, "algorithm.hash");
508
508
  break;
509
509
  }
@@ -513,7 +513,7 @@ function Cr(e, t, ...r) {
513
513
  if (!we(e.algorithm, "RSASSA-PKCS1-v1_5"))
514
514
  throw j("RSASSA-PKCS1-v1_5");
515
515
  const a = parseInt(t.slice(2), 10);
516
- if (Ge(e.algorithm.hash) !== a)
516
+ if (Be(e.algorithm.hash) !== a)
517
517
  throw j(`SHA-${a}`, "algorithm.hash");
518
518
  break;
519
519
  }
@@ -523,7 +523,7 @@ function Cr(e, t, ...r) {
523
523
  if (!we(e.algorithm, "RSA-PSS"))
524
524
  throw j("RSA-PSS");
525
525
  const a = parseInt(t.slice(2), 10);
526
- if (Ge(e.algorithm.hash) !== a)
526
+ if (Be(e.algorithm.hash) !== a)
527
527
  throw j(`SHA-${a}`, "algorithm.hash");
528
528
  break;
529
529
  }
@@ -737,7 +737,7 @@ const Ut = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject",
737
737
  default:
738
738
  throw new W("Invalid or unsupported EC Key Curve or OKP Key Sub Type");
739
739
  }
740
- }, Br = async (e, t, r, a, n) => {
740
+ }, Vr = async (e, t, r, a, n) => {
741
741
  let o, s;
742
742
  const i = new Uint8Array(atob(r.replace(e, "")).split("").map((d) => d.charCodeAt(0)));
743
743
  switch (a) {
@@ -784,13 +784,13 @@ const Ut = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject",
784
784
  throw new W('Invalid or unsupported "alg" (Algorithm) value');
785
785
  }
786
786
  return Me.subtle.importKey(t, i, o, !1, s);
787
- }, Gr = (e, t, r) => Br(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "spki", e, t);
787
+ }, Br = (e, t, r) => Vr(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "spki", e, t);
788
788
  async function Jr(e, t, r) {
789
789
  if (e.indexOf("-----BEGIN PUBLIC KEY-----") !== 0)
790
790
  throw new TypeError('"spki" must be SPKI formatted string');
791
- return Gr(e, t);
791
+ return Br(e, t);
792
792
  }
793
- async function Vr(e, t) {
793
+ async function Gr(e, t) {
794
794
  if (!he(e))
795
795
  throw new TypeError("JWK must be an object");
796
796
  switch (t || (t = e.alg), e.kty) {
@@ -971,7 +971,7 @@ async function Zr(e, t, r) {
971
971
  } else if (typeof e.payload != "string" && !(e.payload instanceof Uint8Array))
972
972
  throw new _("JWS Payload must be a string or an Uint8Array instance");
973
973
  let h = !1;
974
- typeof t == "function" ? (t = await t(a, e), h = !0, lt(i, t, "verify"), pe(t) && (t = await Vr(t, i))) : lt(i, t, "verify");
974
+ typeof t == "function" ? (t = await t(a, e), h = !0, lt(i, t, "verify"), pe(t) && (t = await Gr(t, i))) : lt(i, t, "verify");
975
975
  const f = wr(Ee.encode(e.protected ?? ""), Ee.encode("."), typeof e.payload == "string" ? Ee.encode(e.payload) : e.payload);
976
976
  let u;
977
977
  try {
@@ -1196,16 +1196,16 @@ async function ba(e) {
1196
1196
  code_challenge: r
1197
1197
  };
1198
1198
  }
1199
- function Bt(e, t) {
1199
+ function Vt(e, t) {
1200
1200
  window.dispatchEvent(new StorageEvent("storage", { key: e, newValue: t }));
1201
1201
  }
1202
1202
  const ft = (e, t) => {
1203
1203
  const r = JSON.stringify(
1204
1204
  typeof t == "function" ? t() : t
1205
1205
  );
1206
- window.localStorage.setItem(e, r), Bt(e, r);
1206
+ window.localStorage.setItem(e, r), Vt(e, r);
1207
1207
  }, Ea = (e) => {
1208
- window.localStorage.removeItem(e), Bt(e, null);
1208
+ window.localStorage.removeItem(e), Vt(e, null);
1209
1209
  }, gt = (e) => window.localStorage.getItem(e), wa = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
1210
1210
  function Ie({
1211
1211
  key: e,
@@ -1240,15 +1240,15 @@ for (let e = 0; e < 256; ++e)
1240
1240
  function Ia(e, t = 0) {
1241
1241
  return (R[e[t + 0]] + R[e[t + 1]] + R[e[t + 2]] + R[e[t + 3]] + "-" + R[e[t + 4]] + R[e[t + 5]] + "-" + R[e[t + 6]] + R[e[t + 7]] + "-" + R[e[t + 8]] + R[e[t + 9]] + "-" + R[e[t + 10]] + R[e[t + 11]] + R[e[t + 12]] + R[e[t + 13]] + R[e[t + 14]] + R[e[t + 15]]).toLowerCase();
1242
1242
  }
1243
- let Ve;
1243
+ let Ge;
1244
1244
  const Ta = new Uint8Array(16);
1245
1245
  function Sa() {
1246
- if (!Ve) {
1246
+ if (!Ge) {
1247
1247
  if (typeof crypto > "u" || !crypto.getRandomValues)
1248
1248
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
1249
- Ve = crypto.getRandomValues.bind(crypto);
1249
+ Ge = crypto.getRandomValues.bind(crypto);
1250
1250
  }
1251
- return Ve(Ta);
1251
+ return Ge(Ta);
1252
1252
  }
1253
1253
  const _a = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), yt = { randomUUID: _a };
1254
1254
  function Ye(e, t, r) {
@@ -1261,7 +1261,7 @@ function Ye(e, t, r) {
1261
1261
  const ie = "Your session has expired. For your security, please log in again to continue.", ka = "Your session has been successfully terminated.", Fe = "Login failed. Please try again.", Aa = "Error getting access token, please re-authenticate.", Ra = "You forgot to wrap your component in <AuthProvider>.", Oe = {
1262
1262
  dev: "https://auth.gizmette.local.com:3003",
1263
1263
  prod: "https://mylogin.gizmette.com/auth"
1264
- }, Te = "@@auth@@", fe = "LOADING", ke = "LOGIN", Gt = "LOGOUT", be = "success", F = "failure", Jt = "include", Vt = "POST", Yt = "application/json", Se = {
1264
+ }, Te = "@@auth@@", fe = "LOADING", ke = "LOGIN", Bt = "LOGOUT", be = "success", F = "failure", Jt = "include", Gt = "POST", Yt = "application/json", Se = {
1265
1265
  GET_REGISTRATION_OPTIONS: `mutation GetPasskeyRegistrationOptions(
1266
1266
  $clientId: String!,
1267
1267
  $username: String!,
@@ -1370,7 +1370,7 @@ const ie = "Your session has expired. For your security, please log in again to
1370
1370
  Ft ? `${Oe.dev}/graphql` : `${Oe.prod}/graphql`,
1371
1371
  {
1372
1372
  credentials: Jt,
1373
- method: Vt,
1373
+ method: Gt,
1374
1374
  headers: {
1375
1375
  authorization: n,
1376
1376
  "Content-Type": Yt,
@@ -1402,7 +1402,7 @@ const ie = "Your session has expired. For your security, please log in again to
1402
1402
  Ft ? `${Oe.dev}/${e}` : `${Oe.prod}/${e}`,
1403
1403
  {
1404
1404
  credentials: Jt,
1405
- method: Vt,
1405
+ method: Gt,
1406
1406
  headers: {
1407
1407
  "Content-Type": Yt,
1408
1408
  [vt.CLIENT_ID]: `${t}`
@@ -1650,7 +1650,7 @@ const La = (e) => q(
1650
1650
  user: t.payload.user,
1651
1651
  authenticationType: t.payload.authenticationType,
1652
1652
  logoutReason: ""
1653
- } : (t == null ? void 0 : t.type) === Gt ? {
1653
+ } : (t == null ? void 0 : t.type) === Bt ? {
1654
1654
  ...e,
1655
1655
  isLoading: !1,
1656
1656
  isAuthenticated: !1,
@@ -1677,7 +1677,7 @@ const La = (e) => q(
1677
1677
  }
1678
1678
  ), [Q, L, , Z] = Ie({
1679
1679
  key: `${Te}::${r}::@@nonce@@`
1680
- }), $ = new Da(c, w), B = q(() => {
1680
+ }), $ = new Da(c, w), V = q(() => {
1681
1681
  i("removeLocalStorage: removing local storage"), u(), y(), k(), Z();
1682
1682
  }, [
1683
1683
  y,
@@ -1691,13 +1691,13 @@ const La = (e) => q(
1691
1691
  "removeStateAndLocalStorage: removing state and local storage with reason: ",
1692
1692
  g
1693
1693
  ), s({
1694
- type: Gt,
1694
+ type: Bt,
1695
1695
  payload: {
1696
1696
  logoutReason: g || ie
1697
1697
  }
1698
- }), B(), s({ type: fe, payload: { isLoading: !1 } });
1698
+ }), V(), s({ type: fe, payload: { isLoading: !1 } });
1699
1699
  },
1700
- [B, i]
1700
+ [V, i]
1701
1701
  ), S = q(
1702
1702
  async (g) => {
1703
1703
  i("invalidateAndLogout: invalidating and logging out");
@@ -1739,7 +1739,7 @@ const La = (e) => q(
1739
1739
  };
1740
1740
  }, [o.isLoading, h, S, i]);
1741
1741
  const M = async (g, E) => {
1742
- s({ type: fe, payload: { isLoading: !0 } }), B();
1742
+ s({ type: fe, payload: { isLoading: !0 } }), V();
1743
1743
  const b = Ye();
1744
1744
  L(b), i("login: Logging in with password");
1745
1745
  const { code_verifier: ae, code_challenge: or } = await ba(), st = await Oa({
@@ -1844,8 +1844,8 @@ const La = (e) => q(
1844
1844
  }), !1;
1845
1845
  }
1846
1846
  return !1;
1847
- }, G = async () => {
1848
- s({ type: fe, payload: { isLoading: !0 } }), B();
1847
+ }, B = async () => {
1848
+ s({ type: fe, payload: { isLoading: !0 } }), V();
1849
1849
  const g = Ye();
1850
1850
  L(g), i("loginWithPasskey");
1851
1851
  const E = Ye();
@@ -1912,12 +1912,12 @@ const La = (e) => q(
1912
1912
  getAccessToken: T,
1913
1913
  getIdToken: C,
1914
1914
  registeringForPasskey: O,
1915
- loginWithPasskey: G
1915
+ loginWithPasskey: B
1916
1916
  },
1917
1917
  children: e
1918
1918
  }
1919
1919
  ) });
1920
- }, qt = (e = zt) => St(e), Eo = "user", wo = "assistant", Io = "system", To = "internal", So = "hidden", _o = "I'm having trouble right now. Please try again later.", ko = "OpenAI", Ao = "OpenAI", Ro = "Anthropic", No = "action-search", vo = "action-sort", xo = "action-toggle-prompt", Co = "action-reset-prompt", Oo = "sassy-saint-", Po = "details", Do = "search", Lo = "sort", $o = "private-disclosure", Mo = "==stats==", Ka = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Uo = 10, Ko = 30, Ho = "av-prompt", Wo = "av-prompt-editable", Bo = "size-5 sm:size-4", bt = (e) => Number.isFinite(e) ? e : 0;
1920
+ }, qt = (e = zt) => St(e), Eo = "user", wo = "assistant", Io = "system", To = "internal", So = "hidden", _o = "I'm having trouble right now. Please try again later.", ko = "OpenAI", Ao = "OpenAI", Ro = "Anthropic", No = "action-search", vo = "action-sort", xo = "action-toggle-prompt", Co = "action-reset-prompt", Oo = "sassy-saint-", Po = "details", Do = "search", Lo = "sort", $o = "private-disclosure", Mo = "==stats==", Ka = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Uo = 10, Ko = 30, Ho = "av-prompt", Wo = "av-prompt-editable", Vo = "size-5 sm:size-4", bt = (e) => Number.isFinite(e) ? e : 0;
1921
1921
  function Ha(e) {
1922
1922
  return {
1923
1923
  days: Math.trunc(e / 864e5),
@@ -1940,7 +1940,7 @@ function Wa(e) {
1940
1940
  nanoseconds: 0n
1941
1941
  };
1942
1942
  }
1943
- function Ba(e) {
1943
+ function Va(e) {
1944
1944
  switch (typeof e) {
1945
1945
  case "number": {
1946
1946
  if (Number.isFinite(e))
@@ -1952,7 +1952,7 @@ function Ba(e) {
1952
1952
  }
1953
1953
  throw new TypeError("Expected a finite number or bigint");
1954
1954
  }
1955
- const Ga = (e) => e === 0 || e === 0n, Ja = (e, t) => t === 1 || t === 1n ? e : `${e}s`, Va = 1e-7, Ya = 24n * 60n * 60n * 1000n;
1955
+ const Ba = (e) => e === 0 || e === 0n, Ja = (e, t) => t === 1 || t === 1n ? e : `${e}s`, Ga = 1e-7, Ya = 24n * 60n * 60n * 1000n;
1956
1956
  function Fa(e, t) {
1957
1957
  const r = typeof e == "bigint";
1958
1958
  if (!r && !Number.isFinite(e))
@@ -1962,10 +1962,10 @@ function Fa(e, t) {
1962
1962
  e = e < 0 ? -e : e, t.colonNotation && (t.compact = !1, t.formatSubMilliseconds = !1, t.separateMilliseconds = !1, t.verbose = !1), t.compact && (t.unitCount = 1, t.secondsDecimalDigits = 0, t.millisecondsDecimalDigits = 0);
1963
1963
  let n = [];
1964
1964
  const o = (f, u) => {
1965
- const c = Math.floor(f * 10 ** u + Va);
1965
+ const c = Math.floor(f * 10 ** u + Ga);
1966
1966
  return (Math.round(c) / 10 ** u).toFixed(u);
1967
1967
  }, s = (f, u, c, m) => {
1968
- if (!((n.length === 0 || !t.colonNotation) && Ga(f) && !(t.colonNotation && c === "m"))) {
1968
+ if (!((n.length === 0 || !t.colonNotation) && Ba(f) && !(t.colonNotation && c === "m"))) {
1969
1969
  if (m ?? (m = String(f)), t.colonNotation) {
1970
1970
  const y = m.includes(".") ? m.split(".")[0].length : m.length, w = n.length > 0 ? 2 : 1;
1971
1971
  m = "0".repeat(Math.max(0, w - y)) + m;
@@ -1973,7 +1973,7 @@ function Fa(e, t) {
1973
1973
  m += t.verbose ? " " + Ja(u, f) : c;
1974
1974
  n.push(m);
1975
1975
  }
1976
- }, i = Ba(e), d = BigInt(i.days);
1976
+ }, i = Va(e), d = BigInt(i.days);
1977
1977
  if (t.hideYearAndDays ? s(BigInt(d) * 24n + BigInt(i.hours), "hour", "h") : (t.hideYear ? s(d, "day", "d") : (s(d / 365n, "year", "y"), s(d % 365n, "day", "d")), s(Number(i.hours), "hour", "h")), s(Number(i.minutes), "minute", "m"), !t.hideSeconds)
1978
1978
  if (t.separateMilliseconds || t.formatSubMilliseconds || !t.colonNotation && e < 1e3) {
1979
1979
  const f = Number(i.seconds), u = Number(i.milliseconds), c = Number(i.microseconds), m = Number(i.nanoseconds);
@@ -1997,7 +1997,7 @@ function Fa(e, t) {
1997
1997
  const h = t.colonNotation ? ":" : " ";
1998
1998
  return typeof t.unitCount == "number" && (n = n.slice(0, Math.max(t.unitCount, 1))), a + n.join(h);
1999
1999
  }
2000
- const ja = process.env.NODE_ENV === "production", za = !ja, qa = za ? "gizmette.local.com" : "gizmette.com", Go = async () => {
2000
+ const ja = process.env.NODE_ENV === "production", za = !ja, qa = za ? "gizmette.local.com" : "gizmette.com", Bo = async () => {
2001
2001
  const e = {
2002
2002
  /**
2003
2003
  * A boolean value that indicates the application would
@@ -2049,7 +2049,7 @@ const ja = process.env.NODE_ENV === "production", za = !ja, qa = za ? "gizmette.
2049
2049
  }, Jo = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ l("dl", { className: "my-0", children: /* @__PURE__ */ D("div", { className: "flex items-center justify-between", children: [
2050
2050
  /* @__PURE__ */ l("dt", { className: "my-1 inline-block font-bold text-copy-dark dark:text-copy-lighter", children: r }),
2051
2051
  /* @__PURE__ */ l("dd", { className: "my-1 inline-block", children: t[r] })
2052
- ] }) }, `${e}-${r}`)) : null, Vo = (e) => e > 0 ? Fa(e, {
2052
+ ] }) }, `${e}-${r}`)) : null, Go = (e) => e > 0 ? Fa(e, {
2053
2053
  secondsDecimalDigits: 2,
2054
2054
  unitCount: 2
2055
2055
  }) : "N/A", Xa = ({
@@ -2492,7 +2492,7 @@ const gn = {
2492
2492
  animated: L = !1,
2493
2493
  ...Z
2494
2494
  }, $) => {
2495
- const B = Xt({
2495
+ const V = Xt({
2496
2496
  type: Ke,
2497
2497
  mode: r,
2498
2498
  focusMode: a,
@@ -2509,10 +2509,10 @@ const gn = {
2509
2509
  radius: I,
2510
2510
  variant: k,
2511
2511
  animated: L
2512
- }), U = dn({ mode: r, raw: i, iconClassName: Q }), S = un({ animated: L }), [M, K] = je(), [T, C] = je(), [O, G] = je(), g = x(0), E = x(null), b = pn([$, E]);
2512
+ }), U = dn({ mode: r, raw: i, iconClassName: Q }), S = un({ animated: L }), [M, K] = je(), [T, C] = je(), [O, B] = je(), g = x(0), E = x(null), b = pn([$, E]);
2513
2513
  return Ne(() => {
2514
- O && O.current && L && (g.current = G.width + yn[u] + (d ? 0 : bn));
2515
- }, [G, O, u, d, L]), Ne(() => {
2514
+ O && O.current && L && (g.current = B.width + yn[u] + (d ? 0 : bn));
2515
+ }, [B, O, u, d, L]), Ne(() => {
2516
2516
  E && E.current && L && (c && M && K.width > 0 ? (M.current && (M.current.style.opacity = "100"), E.current.style.width = `${K.width + g.current}px`) : m && C.width > 0 ? (T.current && (T.current.style.opacity = "100"), E.current.style.width = `${C.width + g.current}px`) : (M.current && (M.current.style.opacity = "0"), T.current && (T.current.style.opacity = "0"), E.current.style.width = `${gn[u]}px`));
2517
2517
  }, [
2518
2518
  K,
@@ -2527,7 +2527,7 @@ const gn = {
2527
2527
  nt,
2528
2528
  {
2529
2529
  ref: b,
2530
- className: B,
2530
+ className: V,
2531
2531
  disabled: t,
2532
2532
  type: s,
2533
2533
  "aria-label": h || f,
@@ -3244,14 +3244,14 @@ try {
3244
3244
  });
3245
3245
  } catch {
3246
3246
  }
3247
- const Bn = ({
3247
+ const Vn = ({
3248
3248
  mode: e
3249
3249
  }) => p({
3250
3250
  "bg-surface-darker text-copy-lighter caret-copy-light": e === "dark",
3251
3251
  "bg-surface-lighter text-copy-dark caret-copy-dark": e === "light",
3252
3252
  "bg-surface-lighter text-copy-dark caret-copy-dark dark:bg-surface-darker dark:text-copy-lighter dark:caret-copy-light": e === "system",
3253
3253
  "bg-surface-darker text-copy-lighter caret-copy-light dark:bg-surface-lighter dark:text-copy-dark dark:caret-copy-dark": e === "alt-system"
3254
- }), Gn = ({
3254
+ }), Bn = ({
3255
3255
  focusMode: e
3256
3256
  }) => p("focus:outline focus:outline-2 focus:outline-offset-2", {
3257
3257
  "focus:outline-focus-dark": e === "dark",
@@ -3266,7 +3266,7 @@ const Bn = ({
3266
3266
  "focus:border-border-dark": !e && t,
3267
3267
  "border-border-error-dark": !e && t,
3268
3268
  "border-transparent": e
3269
- }), Vn = ({
3269
+ }), Gn = ({
3270
3270
  disabled: e,
3271
3271
  raw: t,
3272
3272
  error: r,
@@ -3356,14 +3356,14 @@ const Bn = ({
3356
3356
  Zt,
3357
3357
  u,
3358
3358
  "rounded-md text-base px-4",
3359
- Bn({ mode: s }),
3360
- Gn({ focusMode: i }),
3359
+ Vn({ mode: s }),
3360
+ Bn({ focusMode: i }),
3361
3361
  Jn({ noBorder: n, error: o }),
3362
3362
  {
3363
3363
  "disabled:cursor-not-allowed disabled:opacity-50": a
3364
3364
  },
3365
3365
  t
3366
- ), m = r ? void 0 : "sr-only", y = Vn({
3366
+ ), m = r ? void 0 : "sr-only", y = Gn({
3367
3367
  disabled: a,
3368
3368
  raw: r,
3369
3369
  error: o,
@@ -3404,7 +3404,7 @@ const Bn = ({
3404
3404
  size: k = "md",
3405
3405
  ...Q
3406
3406
  }, L) => {
3407
- const [Z, $] = $n(), [B, U] = z(0), S = Mn({ id: e, prefix: `${Zt}-` }), M = `${t} error, ${y}`, K = x(null), T = x(null), C = {
3407
+ const [Z, $] = $n(), [V, U] = z(0), S = Mn({ id: e, prefix: `${Zt}-` }), M = `${t} error, ${y}`, K = x(null), T = x(null), C = {
3408
3408
  xs: { label: "-25px", helperText: "30px" },
3409
3409
  sm: { label: "-29px", helperText: "34px" },
3410
3410
  md: { label: "-33px", helperText: "38px" },
@@ -3425,9 +3425,9 @@ const Bn = ({
3425
3425
  return Ne(() => {
3426
3426
  $ && $.width && U($.width + 18 + 10);
3427
3427
  }, [$]), Ne(() => {
3428
- var G, g;
3428
+ var B, g;
3429
3429
  const { label: E, helperText: b } = C[k];
3430
- (G = K == null ? void 0 : K.current) == null || G.style.setProperty("--av-text-input-label", E), (g = T == null ? void 0 : T.current) == null || g.style.setProperty(
3430
+ (B = K == null ? void 0 : K.current) == null || B.style.setProperty("--av-text-input-label", E), (g = T == null ? void 0 : T.current) == null || g.style.setProperty(
3431
3431
  "--av-text-input-helper-text",
3432
3432
  b
3433
3433
  );
@@ -3453,7 +3453,7 @@ const Bn = ({
3453
3453
  className: O.input,
3454
3454
  ...y && { "aria-describedby": `${S}-helper` },
3455
3455
  ...a && { "aria-invalid": "true" },
3456
- ...w && !n && { style: { paddingRight: B } },
3456
+ ...w && !n && { style: { paddingRight: V } },
3457
3457
  ...Q
3458
3458
  }
3459
3459
  ),
@@ -3522,7 +3522,7 @@ const zn = 500, qn = 5e3, Xn = 2e4, ar = X.forwardRef(
3522
3522
  message: `${r} hiding characters`
3523
3523
  }), n && n(!0);
3524
3524
  }, Xn));
3525
- }, B = (T) => {
3525
+ }, V = (T) => {
3526
3526
  T.preventDefault();
3527
3527
  const C = !I.current;
3528
3528
  I.current = C, $(), m(C), w({
@@ -3532,8 +3532,8 @@ const zn = 500, qn = 5e3, Xn = 2e4, ar = X.forwardRef(
3532
3532
  }), n && n(C);
3533
3533
  }, U = (T) => {
3534
3534
  var C;
3535
- const { relatedTarget: O } = T, G = (C = Q.current) == null ? void 0 : C.parentElement;
3536
- G != null && G.contains(O) || d && d();
3535
+ const { relatedTarget: O } = T, B = (C = Q.current) == null ? void 0 : C.parentElement;
3536
+ B != null && B.contains(O) || d && d();
3537
3537
  }, S = (T) => {
3538
3538
  $(), s && s(T), U(T);
3539
3539
  }, M = (T) => {
@@ -3559,7 +3559,7 @@ const zn = 500, qn = 5e3, Xn = 2e4, ar = X.forwardRef(
3559
3559
  rightElement: X.cloneElement(h, {
3560
3560
  ref: u,
3561
3561
  label: Z,
3562
- onClick: B,
3562
+ onClick: V,
3563
3563
  onBlur: U,
3564
3564
  disabled: t
3565
3565
  }),
@@ -3597,7 +3597,6 @@ const Qn = "ASK! ME! ANYTHING!", nr = "Callisto", Zn = "Log in", eo = "Sign in w
3597
3597
  TITLE: "User profile",
3598
3598
  NAME: "Name",
3599
3599
  EMAIL: "Email",
3600
- ENGINE_DETAILS: "Show message statistics",
3601
3600
  LOCATION: "Location",
3602
3601
  PASSKEY_TITLE: "Passkey",
3603
3602
  PASSKEY_INSTRUCTIONS: "Log in password-free with a passkey (facial recognition or fingerprint authentication).",
@@ -3623,11 +3622,11 @@ const Qn = "ASK! ME! ANYTHING!", nr = "Callisto", Zn = "Log in", eo = "Sign in w
3623
3622
  TITLE_SERVER: "Server details",
3624
3623
  VERSION: "Version",
3625
3624
  BUILD_TIMESTAMP: "Build date",
3626
- ENGINE: "AI model",
3625
+ PROVIDER: "AI model",
3627
3626
  PLUGIN: "Plugin"
3628
3627
  },
3629
- SETTINGS_ENGINE: {
3630
- TITLE: "AI Engine"
3628
+ SETTINGS_PROVIDER: {
3629
+ TITLE: "AI Provider"
3631
3630
  }
3632
3631
  }, ro = () => /* @__PURE__ */ D("div", { className: "flex items-center justify-center", children: [
3633
3632
  /* @__PURE__ */ l("div", { className: "basis-1/4", children: /* @__PURE__ */ l(_n, {}) }),
@@ -3757,7 +3756,7 @@ const Qn = "ASK! ME! ANYTHING!", nr = "Callisto", Zn = "Log in", eo = "Sign in w
3757
3756
  ) });
3758
3757
  }, no = new URL(document.location.href).searchParams, oo = !!no.get("debug") || !1, so = cr(() => import(
3759
3758
  /* webpackChunkName: "LazyApp" */
3760
- "./App.CISJHSam.js"
3759
+ "./App.Ds0uId3o.js"
3761
3760
  ).then((e) => e.App)), io = ({ isComponent: e }) => {
3762
3761
  const { isAuthenticated: t } = qt();
3763
3762
  return t ? /* @__PURE__ */ l(lr, { fallback: /* @__PURE__ */ l("div", {}), children: /* @__PURE__ */ l(so, { isComponent: e }) }) : /* @__PURE__ */ l(ao, {});
@@ -3775,10 +3774,8 @@ export {
3775
3774
  Qt as C,
3776
3775
  as as CARDS,
3777
3776
  es as CLIPBOARD_PROMPT,
3778
- ko as DEFAULT_AI_ENGINE,
3779
- Bo as DEFAULT_ICON_ACTION_SIZE,
3780
- Ro as ENGINE_ANTHROPIC,
3781
- Ao as ENGINE_OPENAI,
3777
+ ko as DEFAULT_AI_PROVIDER,
3778
+ Vo as DEFAULT_ICON_ACTION_SIZE,
3782
3779
  _o as ERROR_MESSAGE,
3783
3780
  ts as FOOTER_DISCLAIMER,
3784
3781
  Xo as HISTORY_TITLE,
@@ -3797,6 +3794,8 @@ export {
3797
3794
  rs as PROMPTS_DESCRIPTION,
3798
3795
  Ho as PROMPT_CLASSNAME,
3799
3796
  Wo as PROMPT_EDITABLE_AREA_CLASSNAME,
3797
+ Ro as PROVIDER_ANTHROPIC,
3798
+ Ao as PROVIDER_OPENAI,
3800
3799
  Sn as R,
3801
3800
  wo as ROLE_ASSISTANT,
3802
3801
  So as ROLE_HIDDEN,
@@ -3808,10 +3807,10 @@ export {
3808
3807
  ns as SassySaint,
3809
3808
  Zo as TYPE_QUESTION,
3810
3809
  Fo as debounce,
3811
- Vo as durationFormatter,
3810
+ Go as durationFormatter,
3812
3811
  He as f,
3813
3812
  ot as fe,
3814
- Go as getCurrentGeoLocation,
3813
+ Bo as getCurrentGeoLocation,
3815
3814
  Qa as getMainPaddingClass,
3816
3815
  Xa as getMessageContaintWrapperClass,
3817
3816
  Za as isElectron,
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.Dyd6jXma.js";
2
+ import { SassySaint as a } from "../../chunks/index.Ct43f1gn.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.Dyd6jXma.js";
1
+ import { SassySaint as r } from "./chunks/index.Ct43f1gn.js";
2
2
  /*!
3
- @sassysaint/client v7.0.1
3
+ @sassysaint/client v7.1.0
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "7.0.1",
9
- buildTime: "02/07/2025 10:23 PM EST",
8
+ version: "7.1.0",
9
+ buildTime: "02/08/2025 04:03 PM EST",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint",
3
- "version": "7.0.1",
3
+ "version": "7.1.0",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@
30
30
  "react-dom": "^18.3.1 || ^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "7.0.1",
33
+ "@sassysaint/client": "7.1.0",
34
34
  "@versini/ui-styles": "3.2.8"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "cb6f5234ba975ee882a8d54006f451e3fdf290d2"
44
+ "gitHead": "b06f0058073c71fc29ba95e34b2844806792e479"
45
45
  }