@versini/sassysaint 8.130.1 → 8.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/chunks/{AboutChangelog.DVNJz3nQ.js → AboutChangelog.Cz30jls7.js} +2 -2
  2. package/dist/chunks/{AboutEntry.C9ekBzgz.js → AboutEntry.CmNF75xu.js} +8 -8
  3. package/dist/chunks/{App.CDgWZSYn.js → App.CgCfXEpK.js} +15 -15
  4. package/dist/chunks/{BubbleActions.CFOrAwUJ.js → BubbleActions.BDKwFg1N.js} +3 -3
  5. package/dist/chunks/{ButtonIconDelete.DRzy3wk6.js → ButtonIconDelete.CFggTYm3.js} +4 -4
  6. package/dist/chunks/{Chart.D8URCg1m.js → Chart.6AuhMRBT.js} +2 -2
  7. package/dist/chunks/{ChatBubbleAssistant.3qfNEukM.js → ChatBubbleAssistant.CM6PsxH0.js} +5 -5
  8. package/dist/chunks/{ChatBubbleUser.DvgDJUex.js → ChatBubbleUser.CrQO0eaq.js} +4 -4
  9. package/dist/chunks/{GenericPanel.ogWAHZWt.js → GenericPanel.B4uuSCfr.js} +1 -1
  10. package/dist/chunks/{HistoryEntry.BFFw-2oU.js → HistoryEntry.Bv12v7SQ.js} +6 -6
  11. package/dist/chunks/{LoginEntry.BMUwKv_c.js → LoginEntry.DRAlXIxv.js} +4 -4
  12. package/dist/chunks/{LogoEntry.D6HTKVlu.js → LogoEntry.BbPeqqKp.js} +1 -1
  13. package/dist/chunks/{MemoriesEntry.BYql1vEu.js → MemoriesEntry.C_Pm_SXR.js} +6 -6
  14. package/dist/chunks/{ProfileEntry.k8Lm6Fsr.js → ProfileEntry.BlqKLXUG.js} +6 -6
  15. package/dist/chunks/{SettingsEntry.Bnp6yl4p.js → SettingsEntry.win0KYvM.js} +6 -6
  16. package/dist/chunks/{UsageEntry.CCBi5SoB.js → UsageEntry.CWReA2Rf.js} +6 -6
  17. package/dist/chunks/{_baseUniq.fQYvbgBU.js → _baseUniq.CfCdrgpj.js} +1 -1
  18. package/dist/chunks/{arc.BN85GQeq.js → arc.BFX8hz_1.js} +1 -1
  19. package/dist/chunks/{architecture-U656AL7Q.D4cukp5a.js → architecture-U656AL7Q.iQed79aG.js} +1 -1
  20. package/dist/chunks/{architectureDiagram-VXUJARFQ.CFQj6520.js → architectureDiagram-VXUJARFQ.v5Pd09ZT.js} +4 -4
  21. package/dist/chunks/{blockDiagram-VD42YOAC.htaTXmUn.js → blockDiagram-VD42YOAC.7tPSnpTB.js} +5 -5
  22. package/dist/chunks/{browser.C5jH4ZAP.js → browser.DEANJfyg.js} +1 -1
  23. package/dist/chunks/{c4Diagram-YG6GDRKO.B1r4Jatc.js → c4Diagram-YG6GDRKO.HKHJLgH7.js} +2 -2
  24. package/dist/chunks/{channel.BgFlngee.js → channel.FLipM_Rf.js} +1 -1
  25. package/dist/chunks/{chunk-4BX2VUAB.x4x-b754.js → chunk-4BX2VUAB.CqW425hZ.js} +1 -1
  26. package/dist/chunks/{chunk-55IACEB6.DGcnBjln.js → chunk-55IACEB6.Uhupgd54.js} +1 -1
  27. package/dist/chunks/{chunk-B4BG7PRW.DSgHLfo6.js → chunk-B4BG7PRW.B6bKNxWw.js} +4 -4
  28. package/dist/chunks/{chunk-DI55MBZ5.CNZ9K5tY.js → chunk-DI55MBZ5.B82jj-td.js} +3 -3
  29. package/dist/chunks/{chunk-FMBD7UC4.DJ0pp0GU.js → chunk-FMBD7UC4.C2rJhllK.js} +1 -1
  30. package/dist/chunks/{chunk-QN33PNHL.r-NVOYl-.js → chunk-QN33PNHL.BFFmJcS6.js} +1 -1
  31. package/dist/chunks/{chunk-QZHKN3VN.ByVmUJ2l.js → chunk-QZHKN3VN.CsdlgkwA.js} +1 -1
  32. package/dist/chunks/{chunk-TZMSLE5B.CW2wgP5n.js → chunk-TZMSLE5B.BHuTyPSZ.js} +1 -1
  33. package/dist/chunks/{classDiagram-2ON5EDUG.KgCh3PKN.js → classDiagram-2ON5EDUG.vI03DShC.js} +2 -2
  34. package/dist/chunks/{classDiagram-v2-WZHVMYZB.KgCh3PKN.js → classDiagram-v2-WZHVMYZB.vI03DShC.js} +2 -2
  35. package/dist/chunks/{clone.C8E1AlSs.js → clone.D4-Fbnht.js} +1 -1
  36. package/dist/chunks/{cose-bilkent-S5V4N54A.D2LGFW6w.js → cose-bilkent-S5V4N54A.1E2z-Vj_.js} +2 -2
  37. package/dist/chunks/{dagre-6UL2VRFP.Clp8YJHV.js → dagre-6UL2VRFP.CQYuM_p2.js} +5 -5
  38. package/dist/chunks/{diagram-PSM6KHXK.G4RkRTM8.js → diagram-PSM6KHXK.nkmPTjul.js} +4 -4
  39. package/dist/chunks/{diagram-QEK2KX5R.4B19Gp2O.js → diagram-QEK2KX5R.Cv70QgV5.js} +3 -3
  40. package/dist/chunks/{diagram-S2PKOQOG.S420bu9a.js → diagram-S2PKOQOG.pTw7XyiD.js} +3 -3
  41. package/dist/chunks/{erDiagram-Q2GNP2WA.BRwuzgvO.js → erDiagram-Q2GNP2WA.dJrgxklb.js} +4 -4
  42. package/dist/chunks/{flowDiagram-NV44I4VS.CXrISqHD.js → flowDiagram-NV44I4VS.CE54UNWr.js} +5 -5
  43. package/dist/chunks/{ganttDiagram-JELNMOA3.s_jdx8-C.js → ganttDiagram-JELNMOA3.Du78Za0n.js} +2 -2
  44. package/dist/chunks/{gitGraph-F6HP7TQM.DXAn_bGC.js → gitGraph-F6HP7TQM.HOu9V0Uh.js} +1 -1
  45. package/dist/chunks/{gitGraphDiagram-NY62KEGX.7Ox9TEw3.js → gitGraphDiagram-NY62KEGX.QvoeOEWe.js} +4 -4
  46. package/dist/chunks/{graph.BcWV7oHW.js → graph.lZe07XYi.js} +2 -2
  47. package/dist/chunks/{index.DNxP1y-j.js → index.BFCs0oGp.js} +1 -1
  48. package/dist/chunks/{index.DnxuaVZc.js → index.BetYk8Q2.js} +1 -1
  49. package/dist/chunks/{index.Bgskqwj9.js → index.C6r_YrrZ.js} +1 -1
  50. package/dist/chunks/{index.CG0GfwJv.js → index.CCFV68ir.js} +1 -1
  51. package/dist/chunks/{index.BCJNxBXm.js → index.DM3BFraR.js} +1 -1
  52. package/dist/chunks/{index.hGSfH2cf.js → index.DUI67PCL.js} +1 -1
  53. package/dist/chunks/{index.6p7YlZFk.js → index.Dkf753Ec.js} +1 -1
  54. package/dist/chunks/{index.C6y0QDbs.js → index.DxUMrxge.js} +3 -3
  55. package/dist/chunks/{index.DmFJLNuk.js → index._DBtG8MS.js} +214 -219
  56. package/dist/chunks/{index.DLK_-2gq.js → index.rGD-VTnR.js} +3 -3
  57. package/dist/chunks/{info-NVLQJR56.m7Zo-jo8.js → info-NVLQJR56.Nah8Z7UT.js} +1 -1
  58. package/dist/chunks/{infoDiagram-WHAUD3N6.C0FnkJMZ.js → infoDiagram-WHAUD3N6.BJzvgHNP.js} +2 -2
  59. package/dist/chunks/{journeyDiagram-XKPGCS4Q.BwyF967Z.js → journeyDiagram-XKPGCS4Q.BDy7Alca.js} +4 -4
  60. package/dist/chunks/{kanban-definition-3W4ZIXB7.ISP7Rju8.js → kanban-definition-3W4ZIXB7.BbUhp8wn.js} +2 -2
  61. package/dist/chunks/{layout.DZjEc6U8.js → layout.CsIrlMLu.js} +4 -4
  62. package/dist/chunks/{mermaid-parser.core.DuEv85Bn.js → mermaid-parser.core.CJtUphRC.js} +10 -10
  63. package/dist/chunks/{min.DPxxLL0T.js → min.DA_9VUhF.js} +2 -2
  64. package/dist/chunks/{mindmap-definition-VGOIOE7T.Cq2gwfXI.js → mindmap-definition-VGOIOE7T.HnPne6Hm.js} +3 -3
  65. package/dist/chunks/{packet-BFZMPI3H.BOfnwbOD.js → packet-BFZMPI3H.CV5uo6GK.js} +1 -1
  66. package/dist/chunks/{pie-7BOR55EZ.BIKoDtnw.js → pie-7BOR55EZ.DJ6_wEJq.js} +1 -1
  67. package/dist/chunks/{pieDiagram-ADFJNKIX.fPiL3FiF.js → pieDiagram-ADFJNKIX.D6cG-wcD.js} +4 -4
  68. package/dist/chunks/{quadrantDiagram-AYHSOK5B.3lP0feR0.js → quadrantDiagram-AYHSOK5B.BCAEH_3w.js} +1 -1
  69. package/dist/chunks/{radar-NHE76QYJ.CDlqsx-H.js → radar-NHE76QYJ.C665g810.js} +1 -1
  70. package/dist/chunks/{rehype-mermaid.ECO-obIz.js → rehype-mermaid.CbSnXNxz.js} +33 -33
  71. package/dist/chunks/{requirementDiagram-UZGBJVZJ.CWzCgeQM.js → requirementDiagram-UZGBJVZJ.nrYxgLYh.js} +3 -3
  72. package/dist/chunks/{sankeyDiagram-TZEHDZUN.Dmx83xcS.js → sankeyDiagram-TZEHDZUN.BKH7c7kv.js} +1 -1
  73. package/dist/chunks/{sequenceDiagram-WL72ISMW.DuaSIMwr.js → sequenceDiagram-WL72ISMW.CudVdbOg.js} +3 -3
  74. package/dist/chunks/{stateDiagram-FKZM4ZOC.BKiXnfUU.js → stateDiagram-FKZM4ZOC.XDcYlWpR.js} +4 -4
  75. package/dist/chunks/{stateDiagram-v2-4FDKWEC3.ChZy1buf.js → stateDiagram-v2-4FDKWEC3.DWNY230o.js} +2 -2
  76. package/dist/chunks/{timeline-definition-IT6M3QCI.C3pXEVvO.js → timeline-definition-IT6M3QCI.1pAihmc9.js} +2 -2
  77. package/dist/chunks/{treemap-KMMF4GRG.CQMkT5aU.js → treemap-KMMF4GRG.DCVmgTQF.js} +1 -1
  78. package/dist/chunks/{useMarkdown.DUgqGI-J.js → useMarkdown.DA3W24b5.js} +8 -8
  79. package/dist/chunks/{xychartDiagram-PRI3JC2R.CuChdm8E.js → xychartDiagram-PRI3JC2R.DoMahPwV.js} +1 -1
  80. package/dist/components/SassySaint/SassySaint.js +1 -1
  81. package/dist/index.js +3 -3
  82. package/package.json +3 -3
@@ -3,7 +3,7 @@ import * as k from "react";
3
3
  import Qs, { createContext as ht, useReducer as Ws, useCallback as Q, useRef as Js, useEffect as Ee, useSyncExternalStore as Vs, useContext as dt, useState as Ys, useMemo as Rt, Suspense as vt, lazy as Zt } from "react";
4
4
  import Ne from "clsx";
5
5
  var g, T = ((g = {})[g.NewChat = 0] = "NewChat", g[g.Prompts = 1] = "Prompts", g[g.Attachment = 2] = "Attachment", g[g.PrivateChat = 3] = "PrivateChat", g[g.Reasoning = 4] = "Reasoning", g[g.Send = 5] = "Send", g[g.Header = 6] = "Header", g[g.Provider = 7] = "Provider", g[g.Logo = 8] = "Logo", g[g.Placeholder = 9] = "Placeholder", g[g.Footer = 10] = "Footer", g);
6
- let ka = "user", Na = "assistant", qe = "OpenAI", ft = "Anthropic", pt = "Google", zs = "Perplexity", Ua = qe, Xs = [qe, ft, pt], es = "gpt-5.2", ts = "gpt-5-mini", ss = "gpt-5-nano", rs = "gpt-4.1-nano", ns = "claude-haiku-4-5", as = "claude-sonnet-4-5", is = "gemini-3-flash-preview", os = "gemini-3-pro-preview", cs = "sonar", us = "sonar-pro", Zs = "gemini-3-pro-image-preview", La = { [es]: "GPT-5.2", [ts]: "GPT-5 Mini", [ss]: "GPT-5 Nano", [rs]: "GPT-4.1 Nano", [ns]: "Claude Haiku 4.5", [as]: "Claude Sonnet 4.5", [is]: "Gemini 3 Flash", [os]: "Gemini 3 Pro", [cs]: "Sonar", [us]: "Sonar Pro", [Zs]: "Nano Banana Pro" }, ls = { [qe]: [rs, es, ts, ss], [ft]: [ns, as], [pt]: [is, os], [zs]: [cs, us] }, Ha = "x-diggidy-chat-id", Fa = "timestamp", Ka = "tokenUsage", xa = "Diggidy", Ga = { TOOL: { MEMORIES: "getUserMemories" }, ADDON: { ATTACHMENTS: "addon:attachments", REASONING: "addon:reasoning", SHARE_CHAT: "addon:share-chat" } }, qa = (e) => {
6
+ let Ua = "user", La = "assistant", qe = "OpenAI", ft = "Anthropic", pt = "Google", zs = "Perplexity", Ha = qe, Xs = [qe, ft, pt], es = "gpt-5.2", ts = "gpt-5-mini", ss = "gpt-5-nano", rs = "gpt-4.1-nano", ns = "claude-haiku-4-5", as = "claude-sonnet-4-5", is = "gemini-3-flash-preview", os = "gemini-3-pro-preview", cs = "sonar", us = "sonar-pro", Zs = "gemini-3-pro-image-preview", Fa = { [es]: "GPT-5.2", [ts]: "GPT-5 Mini", [ss]: "GPT-5 Nano", [rs]: "GPT-4.1 Nano", [ns]: "Claude Haiku 4.5", [as]: "Claude Sonnet 4.5", [is]: "Gemini 3 Flash", [os]: "Gemini 3 Pro", [cs]: "Sonar", [us]: "Sonar Pro", [Zs]: "Nano Banana Pro" }, ls = { [qe]: [rs, es, ts, ss], [ft]: [ns, as], [pt]: [is, os], [zs]: [cs, us] }, Ka = "x-diggidy-chat-id", xa = "timestamp", Ga = "tokenUsage", qa = "Diggidy", Ba = { TOOL: { MEMORIES: "getUserMemories" }, ADDON: { ATTACHMENTS: "addon:attachments", REASONING: "addon:reasoning", SHARE_CHAT: "addon:share-chat" } }, ja = (e) => {
7
7
  if (!e || e.length === 0) return [];
8
8
  let t = /* @__PURE__ */ new Set();
9
9
  for (let s of e) for (let [r, n] of Object.entries(ls)) n.includes(s) && (r === qe || r === ft || r === pt) && t.add(r);
@@ -16,16 +16,16 @@ let ka = "user", Na = "assistant", qe = "OpenAI", ft = "Anthropic", pt = "Google
16
16
  break;
17
17
  }
18
18
  return t;
19
- }, Ba = (e) => {
19
+ }, Qa = (e) => {
20
20
  for (let t of er(e).values()) if (t.length > 1) return !0;
21
21
  return !1;
22
- }, ja = (e, t) => !!e && !!t && t.length !== 0 && t.includes(e);
22
+ }, Wa = (e, t) => !!e && !!t && t.length !== 0 && t.includes(e);
23
23
  function tr(e, t, s) {
24
24
  if (!t || Array.isArray(t) && t.length === 0) return !0;
25
25
  let r = e instanceof Set ? e : e ? new Set(e) : null;
26
26
  return !!r && r.size !== 0 && (typeof t == "string" ? r.has(t) : s?.any === !0 ? t.some((n) => r.has(n)) : t.every((n) => r.has(n)));
27
27
  }
28
- var Qa = "subtle";
28
+ var Ja = "subtle";
29
29
  const sr = {
30
30
  [T.NewChat]: "fill-[#7A9BC4]",
31
31
  [T.Prompts]: "fill-[#B8A4D5]",
@@ -2011,8 +2011,8 @@ function ne(e, t) {
2011
2011
  }
2012
2012
  try {
2013
2013
  window.__VERSINI_AUTH_COMMON__ || (window.__VERSINI_AUTH_COMMON__ = {
2014
- version: "4.6.1",
2015
- buildTime: "11/29/2025 08:06 PM EST",
2014
+ version: "4.6.2",
2015
+ buildTime: "01/23/2026 08:36 PM EST",
2016
2016
  homepage: "https://github.com/aversini/auth-client",
2017
2017
  license: "MIT"
2018
2018
  });
@@ -2090,7 +2090,8 @@ let ae = class extends Error {
2090
2090
  constructor(t, s) {
2091
2091
  super(t, s), this.name = this.constructor.name, Error.captureStackTrace?.(this, this.constructor);
2092
2092
  }
2093
- }, q = class extends ae {
2093
+ };
2094
+ class q extends ae {
2094
2095
  static code = "ERR_JWT_CLAIM_VALIDATION_FAILED";
2095
2096
  code = "ERR_JWT_CLAIM_VALIDATION_FAILED";
2096
2097
  claim;
@@ -2099,7 +2100,8 @@ let ae = class extends Error {
2099
2100
  constructor(t, s, r = "unspecified", n = "unspecified") {
2100
2101
  super(t, { cause: { claim: r, reason: n, payload: s } }), this.claim = r, this.reason = n, this.payload = s;
2101
2102
  }
2102
- }, Lt = class extends ae {
2103
+ }
2104
+ class Lt extends ae {
2103
2105
  static code = "ERR_JWT_EXPIRED";
2104
2106
  code = "ERR_JWT_EXPIRED";
2105
2107
  claim;
@@ -2108,11 +2110,11 @@ let ae = class extends Error {
2108
2110
  constructor(t, s, r = "unspecified", n = "unspecified") {
2109
2111
  super(t, { cause: { claim: r, reason: n, payload: s } }), this.claim = r, this.reason = n, this.payload = s;
2110
2112
  }
2111
- };
2112
- class qr extends ae {
2113
+ }
2114
+ let qr = class extends ae {
2113
2115
  static code = "ERR_JOSE_ALG_NOT_ALLOWED";
2114
2116
  code = "ERR_JOSE_ALG_NOT_ALLOWED";
2115
- }
2117
+ };
2116
2118
  class V extends ae {
2117
2119
  static code = "ERR_JOSE_NOT_SUPPORTED";
2118
2120
  code = "ERR_JOSE_NOT_SUPPORTED";
@@ -2686,12 +2688,12 @@ const me = (e) => e?.[Symbol.toStringTag], ut = (e, t, s) => {
2686
2688
  case "sign":
2687
2689
  if (hn(t) && ut(e, t, s))
2688
2690
  return;
2689
- throw new TypeError("JSON Web Key for this operation be a private JWK");
2691
+ throw new TypeError("JSON Web Key for this operation must be a private JWK");
2690
2692
  case "encrypt":
2691
2693
  case "verify":
2692
2694
  if (dn(t) && ut(e, t, s))
2693
2695
  return;
2694
- throw new TypeError("JSON Web Key for this operation be a public JWK");
2696
+ throw new TypeError("JSON Web Key for this operation must be a public JWK");
2695
2697
  }
2696
2698
  if (!bs(t))
2697
2699
  throw new TypeError(As(e, t, "CryptoKey", "KeyObject", "JSON Web Key"));
@@ -3017,39 +3019,40 @@ function Nn() {
3017
3019
  return Ve(kn);
3018
3020
  }
3019
3021
  const Un = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), xt = { randomUUID: Un };
3020
- function Gt(e, t, s) {
3021
- if (xt.randomUUID && !e)
3022
- return xt.randomUUID();
3022
+ function Ln(e, t, s) {
3023
3023
  e = e || {};
3024
3024
  const r = e.random ?? e.rng?.() ?? Nn();
3025
3025
  if (r.length < 16)
3026
3026
  throw new Error("Random bytes length must be >= 16");
3027
3027
  return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, Dn(r);
3028
3028
  }
3029
- const qt = globalThis.crypto, Ln = (e) => `${Gt()}${Gt()}`.slice(0, e), Hn = (e) => btoa(
3029
+ function Gt(e, t, s) {
3030
+ return xt.randomUUID && !e ? xt.randomUUID() : Ln(e);
3031
+ }
3032
+ const qt = globalThis.crypto, Hn = (e) => `${Gt()}${Gt()}`.slice(0, e), Fn = (e) => btoa(
3030
3033
  [...new Uint8Array(e)].map((t) => String.fromCharCode(t)).join("")
3031
3034
  );
3032
- async function Fn(e) {
3035
+ async function Kn(e) {
3033
3036
  if (!qt.subtle)
3034
3037
  throw new Error(
3035
3038
  "crypto.subtle is available only in secure contexts (HTTPS)."
3036
3039
  );
3037
3040
  const t = new TextEncoder().encode(e), s = await qt.subtle.digest("SHA-256", t);
3038
- return Hn(s).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
3041
+ return Fn(s).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
3039
3042
  }
3040
- async function Kn(e) {
3041
- const s = Ln(43), r = await Fn(s);
3043
+ async function xn(e) {
3044
+ const s = Hn(43), r = await Kn(s);
3042
3045
  return {
3043
3046
  code_verifier: s,
3044
3047
  code_challenge: r
3045
3048
  };
3046
3049
  }
3047
3050
  const Cs = ht(null);
3048
- var xn = Object.defineProperty, Gn = (e, t, s) => t in e ? xn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, Ye = (e, t, s) => Gn(e, typeof t != "symbol" ? t + "" : t, s);
3051
+ var Gn = Object.defineProperty, qn = (e, t, s) => t in e ? Gn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, Ye = (e, t, s) => qn(e, typeof t != "symbol" ? t + "" : t, s);
3049
3052
  try {
3050
3053
  window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
3051
- version: "8.1.1",
3052
- buildTime: "11/29/2025 08:06 PM EST",
3054
+ version: "8.1.2",
3055
+ buildTime: "01/23/2026 08:37 PM EST",
3053
3056
  homepage: "https://github.com/aversini/auth-client",
3054
3057
  license: "MIT"
3055
3058
  });
@@ -3069,9 +3072,9 @@ function xe(e) {
3069
3072
  return a;
3070
3073
  }
3071
3074
  function Tt() {
3072
- return qn.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
3075
+ return Bn.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
3073
3076
  }
3074
- const qn = {
3077
+ const Bn = {
3075
3078
  stubThis: (e) => e
3076
3079
  };
3077
3080
  function Ps(e) {
@@ -3103,7 +3106,7 @@ class $ extends Error {
3103
3106
  }), this.name = n ?? r.name, this.code = s;
3104
3107
  }
3105
3108
  }
3106
- function Bn({ error: e, options: t }) {
3109
+ function jn({ error: e, options: t }) {
3107
3110
  const { publicKey: s } = t;
3108
3111
  if (!s)
3109
3112
  throw Error("options was missing required publicKey property");
@@ -3189,7 +3192,7 @@ function Bn({ error: e, options: t }) {
3189
3192
  }
3190
3193
  return e;
3191
3194
  }
3192
- class jn {
3195
+ class Qn {
3193
3196
  constructor() {
3194
3197
  Object.defineProperty(this, "controller", {
3195
3198
  enumerable: !0,
@@ -3213,12 +3216,12 @@ class jn {
3213
3216
  }
3214
3217
  }
3215
3218
  }
3216
- const $s = new jn(), Qn = ["cross-platform", "platform"];
3219
+ const $s = new Qn(), Wn = ["cross-platform", "platform"];
3217
3220
  function Ds(e) {
3218
- if (e && !(Qn.indexOf(e) < 0))
3221
+ if (e && !(Wn.indexOf(e) < 0))
3219
3222
  return e;
3220
3223
  }
3221
- async function Wn(e) {
3224
+ async function Jn(e) {
3222
3225
  !e.optionsJSON && e.challenge && (console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."), e = { optionsJSON: e });
3223
3226
  const { optionsJSON: t, useAutoRegister: s = !1 } = e;
3224
3227
  if (!Tt())
@@ -3237,7 +3240,7 @@ async function Wn(e) {
3237
3240
  try {
3238
3241
  a = await navigator.credentials.create(n);
3239
3242
  } catch (f) {
3240
- throw Bn({ error: f, options: n });
3243
+ throw jn({ error: f, options: n });
3241
3244
  }
3242
3245
  if (!a)
3243
3246
  throw new Error("Registration was not completed");
@@ -3286,7 +3289,7 @@ function ze(e, t) {
3286
3289
  console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
3287
3290
  `, t);
3288
3291
  }
3289
- function Jn() {
3292
+ function Vn() {
3290
3293
  if (!Tt())
3291
3294
  return Xe.stubThis(new Promise((t) => t(!1)));
3292
3295
  const e = globalThis.PublicKeyCredential;
@@ -3295,7 +3298,7 @@ function Jn() {
3295
3298
  const Xe = {
3296
3299
  stubThis: (e) => e
3297
3300
  };
3298
- function Vn({ error: e, options: t }) {
3301
+ function Yn({ error: e, options: t }) {
3299
3302
  const { publicKey: s } = t;
3300
3303
  if (!s)
3301
3304
  throw Error("options was missing required publicKey property");
@@ -3336,7 +3339,7 @@ function Vn({ error: e, options: t }) {
3336
3339
  }
3337
3340
  return e;
3338
3341
  }
3339
- async function Yn(e) {
3342
+ async function zn(e) {
3340
3343
  !e.optionsJSON && e.challenge && (console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."), e = { optionsJSON: e });
3341
3344
  const { optionsJSON: t, useBrowserAutofill: s = !1, verifyBrowserAutofillInput: r = !0 } = e;
3342
3345
  if (!Tt())
@@ -3349,7 +3352,7 @@ async function Yn(e) {
3349
3352
  allowCredentials: n
3350
3353
  }, i = {};
3351
3354
  if (s) {
3352
- if (!await Jn())
3355
+ if (!await Vn())
3353
3356
  throw Error("Browser does not support WebAuthn autofill");
3354
3357
  if (document.querySelectorAll("input[autocomplete$='webauthn']").length < 1 && r)
3355
3358
  throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
@@ -3360,7 +3363,7 @@ async function Yn(e) {
3360
3363
  try {
3361
3364
  o = await navigator.credentials.get(i);
3362
3365
  } catch (p) {
3363
- throw Vn({ error: p, options: i });
3366
+ throw Yn({ error: p, options: i });
3364
3367
  }
3365
3368
  if (!o)
3366
3369
  throw new Error("Authentication was not completed");
@@ -3380,15 +3383,6 @@ async function Yn(e) {
3380
3383
  authenticatorAttachment: Ds(o.authenticatorAttachment)
3381
3384
  };
3382
3385
  }
3383
- try {
3384
- window.__VERSINI_UI_HOOKS__ || (window.__VERSINI_UI_HOOKS__ = {
3385
- version: "5.2.0",
3386
- buildTime: "11/04/2025 03:42 PM EST",
3387
- homepage: "https://github.com/aversini/ui-components",
3388
- license: "MIT"
3389
- });
3390
- } catch {
3391
- }
3392
3386
  function ks(e, t) {
3393
3387
  window.dispatchEvent(new StorageEvent("storage", {
3394
3388
  key: e,
@@ -3398,14 +3392,14 @@ function ks(e, t) {
3398
3392
  const Bt = (e, t) => {
3399
3393
  const s = JSON.stringify(typeof t == "function" ? t() : t);
3400
3394
  window.localStorage.setItem(e, s), ks(e, s);
3401
- }, zn = (e) => {
3395
+ }, Xn = (e) => {
3402
3396
  window.localStorage.removeItem(e), ks(e, null);
3403
- }, jt = (e) => window.localStorage.getItem(e), Xn = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
3397
+ }, jt = (e) => window.localStorage.getItem(e), Zn = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
3404
3398
  function Me({ key: e, initialValue: t }) {
3405
- const s = Vs(Xn, () => jt(e)), r = Q((i) => {
3399
+ const s = Vs(Zn, () => jt(e)), r = Q((i) => {
3406
3400
  try {
3407
3401
  const o = typeof i == "function" ? i(JSON.parse(s)) : i;
3408
- o == null ? zn(e) : Bt(e, o);
3402
+ o == null ? Xn(e) : Bt(e, o);
3409
3403
  } catch (o) {
3410
3404
  console.warn(o);
3411
3405
  }
@@ -3441,30 +3435,31 @@ function Me({ key: e, initialValue: t }) {
3441
3435
  const P = [];
3442
3436
  for (let e = 0; e < 256; ++e)
3443
3437
  P.push((e + 256).toString(16).slice(1));
3444
- function Zn(e, t = 0) {
3438
+ function ea(e, t = 0) {
3445
3439
  return (P[e[t + 0]] + P[e[t + 1]] + P[e[t + 2]] + P[e[t + 3]] + "-" + P[e[t + 4]] + P[e[t + 5]] + "-" + P[e[t + 6]] + P[e[t + 7]] + "-" + P[e[t + 8]] + P[e[t + 9]] + "-" + P[e[t + 10]] + P[e[t + 11]] + P[e[t + 12]] + P[e[t + 13]] + P[e[t + 14]] + P[e[t + 15]]).toLowerCase();
3446
3440
  }
3447
3441
  let Ze;
3448
- const ea = new Uint8Array(16);
3449
- function ta() {
3442
+ const ta = new Uint8Array(16);
3443
+ function sa() {
3450
3444
  if (!Ze) {
3451
3445
  if (typeof crypto > "u" || !crypto.getRandomValues)
3452
3446
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
3453
3447
  Ze = crypto.getRandomValues.bind(crypto);
3454
3448
  }
3455
- return Ze(ea);
3449
+ return Ze(ta);
3456
3450
  }
3457
- const sa = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Qt = { randomUUID: sa };
3458
- function et(e, t, s) {
3459
- if (Qt.randomUUID && !e)
3460
- return Qt.randomUUID();
3451
+ const ra = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Qt = { randomUUID: ra };
3452
+ function na(e, t, s) {
3461
3453
  e = e || {};
3462
- const r = e.random ?? e.rng?.() ?? ta();
3454
+ const r = e.random ?? e.rng?.() ?? sa();
3463
3455
  if (r.length < 16)
3464
3456
  throw new Error("Random bytes length must be >= 16");
3465
- return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, Zn(r);
3457
+ return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, ea(r);
3458
+ }
3459
+ function et(e, t, s) {
3460
+ return Qt.randomUUID && !e ? Qt.randomUUID() : na(e);
3466
3461
  }
3467
- const de = "Your session has expired. For your security, please log in again to continue.", ra = "Your session has been successfully terminated.", tt = "Login failed. Please try again.", na = "Error getting access token, please re-authenticate.", aa = "You forgot to wrap your component in <AuthProvider>.", $e = "@@auth@@", Ae = "LOADING", ke = "LOGIN", Ns = "LOGOUT", Oe = "success", W = "failure", Us = "include", Ls = "POST", Hs = "application/json", De = {
3462
+ const de = "Your session has expired. For your security, please log in again to continue.", aa = "Your session has been successfully terminated.", tt = "Login failed. Please try again.", ia = "Error getting access token, please re-authenticate.", oa = "You forgot to wrap your component in <AuthProvider>.", $e = "@@auth@@", Ae = "LOADING", ke = "LOGIN", Ns = "LOGOUT", Oe = "success", W = "failure", Us = "include", Ls = "POST", Hs = "application/json", De = {
3468
3463
  GET_REGISTRATION_OPTIONS: `mutation GetPasskeyRegistrationOptions(
3469
3464
  $clientId: String!,
3470
3465
  $username: String!,
@@ -3619,21 +3614,21 @@ const de = "Your session has expired. For your security, please log in again to
3619
3614
  } catch (n) {
3620
3615
  return console.error(n), { status: W, data: [] };
3621
3616
  }
3622
- }, ia = process.env.NODE_ENV === "production", oa = !ia, Fs = {
3617
+ }, ca = process.env.NODE_ENV === "production", ua = !ca, Fs = {
3623
3618
  isLoading: !0,
3624
3619
  isAuthenticated: !1,
3625
3620
  user: void 0,
3626
3621
  logoutReason: "",
3627
3622
  debug: !1,
3628
3623
  authenticationType: ""
3629
- }, ca = (e) => {
3624
+ }, la = (e) => {
3630
3625
  try {
3631
3626
  const t = $n(e);
3632
3627
  return t ? t[D.USER_ID_KEY] : "";
3633
3628
  } catch {
3634
3629
  return "";
3635
3630
  }
3636
- }, ua = async ({
3631
+ }, ha = async ({
3637
3632
  userId: e,
3638
3633
  clientId: t,
3639
3634
  domain: s,
@@ -3658,7 +3653,7 @@ const de = "Your session has expired. For your security, please log in again to
3658
3653
  status: W
3659
3654
  };
3660
3655
  }
3661
- }, la = async ({
3656
+ }, da = async ({
3662
3657
  username: e,
3663
3658
  password: t,
3664
3659
  clientId: s,
@@ -3703,7 +3698,7 @@ const de = "Your session has expired. For your security, please log in again to
3703
3698
  status: !1
3704
3699
  };
3705
3700
  }
3706
- }, ha = async ({
3701
+ }, fa = async ({
3707
3702
  nonce: e,
3708
3703
  clientId: t,
3709
3704
  code_challenge: s,
@@ -3733,7 +3728,7 @@ const de = "Your session has expired. For your security, please log in again to
3733
3728
  data: ""
3734
3729
  };
3735
3730
  }
3736
- }, da = async ({
3731
+ }, pa = async ({
3737
3732
  clientId: e,
3738
3733
  userId: t,
3739
3734
  nonce: s,
@@ -3770,7 +3765,7 @@ const de = "Your session has expired. For your security, please log in again to
3770
3765
  };
3771
3766
  }
3772
3767
  };
3773
- class fa {
3768
+ class ya {
3774
3769
  constructor(t = null, s = null) {
3775
3770
  Ye(this, "refreshTokenPromise", null), Ye(this, "accessToken"), Ye(this, "refreshToken"), this.accessToken = t || "", this.refreshToken = s || "";
3776
3771
  }
@@ -3803,7 +3798,7 @@ class fa {
3803
3798
  }) {
3804
3799
  const i = await _e(this.refreshToken);
3805
3800
  if (i && i.payload[D.USER_ID_KEY] !== "") {
3806
- const o = await da({
3801
+ const o = await pa({
3807
3802
  endpoint: t,
3808
3803
  clientId: s,
3809
3804
  userId: r,
@@ -3826,7 +3821,7 @@ class fa {
3826
3821
  }
3827
3822
  }
3828
3823
  const ye = () => {
3829
- throw new Error(aa);
3824
+ throw new Error(oa);
3830
3825
  }, Ks = ht({
3831
3826
  isAuthenticated: !1,
3832
3827
  isLoading: !1,
@@ -3838,18 +3833,18 @@ const ye = () => {
3838
3833
  loginWithPasskey: ye,
3839
3834
  logoutReason: "",
3840
3835
  authenticationType: ""
3841
- }), pa = () => ({
3836
+ }), ma = () => ({
3842
3837
  ...dt(Ks)
3843
- }), ya = (e) => Q(
3838
+ }), Ea = (e) => Q(
3844
3839
  (...t) => {
3845
3840
  e && console.info(`==> [Auth ${Date.now()}]: `, ...t);
3846
3841
  },
3847
3842
  [e]
3848
- ), ma = Qs.createContext({
3843
+ ), ga = Qs.createContext({
3849
3844
  state: Fs,
3850
3845
  dispatch: () => {
3851
3846
  }
3852
- }), Ea = (e, t) => t?.type === Ae ? {
3847
+ }), Sa = (e, t) => t?.type === Ae ? {
3853
3848
  ...e,
3854
3849
  isLoading: t.payload.isLoading
3855
3850
  } : t?.type === ke ? {
@@ -3866,8 +3861,8 @@ const ye = () => {
3866
3861
  user: void 0,
3867
3862
  authenticationType: "",
3868
3863
  logoutReason: t.payload.logoutReason
3869
- } : e, ga = ({ children: e }) => {
3870
- const t = pa();
3864
+ } : e, wa = ({ children: e }) => {
3865
+ const t = ma();
3871
3866
  return /* @__PURE__ */ S(Cs.Provider, { value: t, children: e });
3872
3867
  }, Wt = ({
3873
3868
  children: e,
@@ -3875,12 +3870,12 @@ const ye = () => {
3875
3870
  clientId: s,
3876
3871
  domain: r = "",
3877
3872
  debug: n = !1,
3878
- endpoint: a = oa ? "https://auth.gizmette.local.com:3003" : "https://mylogin.gizmette.com/auth"
3873
+ endpoint: a = ua ? "https://auth.gizmette.local.com:3003" : "https://mylogin.gizmette.com/auth"
3879
3874
  }) => {
3880
- const [i, o] = Ws(Ea, {
3875
+ const [i, o] = Ws(Sa, {
3881
3876
  ...Fs,
3882
3877
  debug: n
3883
- }), c = ya(n), d = Js(!1), [u, h, , l] = Me({
3878
+ }), c = Ea(n), d = Js(!1), [u, h, , l] = Me({
3884
3879
  key: `${$e}::${s}::@@user@@`
3885
3880
  }), [p, f, , y] = Me({
3886
3881
  key: `${$e}::${s}::@@access@@`
@@ -3890,7 +3885,7 @@ const ye = () => {
3890
3885
  }
3891
3886
  ), [K, x, , G] = Me({
3892
3887
  key: `${$e}::${s}::@@nonce@@`
3893
- }), Te = new fa(p, _), L = Q(() => {
3888
+ }), Te = new ya(p, _), L = Q(() => {
3894
3889
  c("removeLocalStorage: removing local storage"), l(), y(), U(), G();
3895
3890
  }, [
3896
3891
  y,
@@ -3914,10 +3909,10 @@ const ye = () => {
3914
3909
  ), H = Q(
3915
3910
  async (m) => {
3916
3911
  c("invalidateAndLogout: invalidating and logging out");
3917
- const { user: O } = i, E = O?.userId || ca(u);
3912
+ const { user: O } = i, E = O?.userId || la(u);
3918
3913
  E || c(
3919
3914
  "invalidateAndLogout: user cannot be identified, logging out without userId"
3920
- ), await ua({
3915
+ ), await ha({
3921
3916
  userId: E,
3922
3917
  clientId: s,
3923
3918
  domain: r,
@@ -3964,14 +3959,14 @@ const ye = () => {
3964
3959
  o({ type: Ae, payload: { isLoading: !0 } }), L();
3965
3960
  const E = et();
3966
3961
  x(E), c("login: Logging in with password");
3967
- const { code_verifier: ue, code_challenge: Bs } = await Kn(), At = await ha({
3962
+ const { code_verifier: ue, code_challenge: Bs } = await xn(), At = await fa({
3968
3963
  endpoint: a,
3969
3964
  nonce: E,
3970
3965
  clientId: s,
3971
3966
  code_challenge: Bs
3972
3967
  });
3973
3968
  if (At.status) {
3974
- const le = await la({
3969
+ const le = await da({
3975
3970
  endpoint: a,
3976
3971
  username: m,
3977
3972
  password: O,
@@ -3998,7 +3993,7 @@ const ye = () => {
3998
3993
  }
3999
3994
  return !1;
4000
3995
  }, Ce = async (m) => {
4001
- m?.preventDefault(), await H(ra);
3996
+ m?.preventDefault(), await H(aa);
4002
3997
  }, oe = async () => {
4003
3998
  const { isAuthenticated: m, user: O } = i;
4004
3999
  try {
@@ -4027,7 +4022,7 @@ const ye = () => {
4027
4022
  } catch {
4028
4023
  return c(
4029
4024
  "getAccessToken: exception occurred, invalidating and logging out"
4030
- ), await H(na), "";
4025
+ ), await H(ia), "";
4031
4026
  }
4032
4027
  }, ce = () => i.isAuthenticated && u ? u : "", Gs = async () => {
4033
4028
  const { user: m } = i;
@@ -4044,7 +4039,7 @@ const ye = () => {
4044
4039
  });
4045
4040
  if (O.status)
4046
4041
  try {
4047
- const E = await Wn({
4042
+ const E = await Jn({
4048
4043
  optionsJSON: O.data
4049
4044
  });
4050
4045
  return O = await pe({
@@ -4091,7 +4086,7 @@ const ye = () => {
4091
4086
  });
4092
4087
  if (E.status)
4093
4088
  try {
4094
- const ue = await Yn({
4089
+ const ue = await zn({
4095
4090
  optionsJSON: E.data
4096
4091
  });
4097
4092
  return E = await pe({
@@ -4137,7 +4132,7 @@ const ye = () => {
4137
4132
  }
4138
4133
  return !1;
4139
4134
  };
4140
- return /* @__PURE__ */ S(ma.Provider, { value: { state: i, dispatch: o }, children: /* @__PURE__ */ S(
4135
+ return /* @__PURE__ */ S(ga.Provider, { value: { state: i, dispatch: o }, children: /* @__PURE__ */ S(
4141
4136
  Ks.Provider,
4142
4137
  {
4143
4138
  value: {
@@ -4149,25 +4144,25 @@ const ye = () => {
4149
4144
  registeringForPasskey: Gs,
4150
4145
  loginWithPasskey: qs
4151
4146
  },
4152
- children: /* @__PURE__ */ S(ga, { children: e })
4147
+ children: /* @__PURE__ */ S(wa, { children: e })
4153
4148
  }
4154
4149
  ) });
4155
4150
  };
4156
4151
  try {
4157
4152
  window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
4158
- version: "8.1.1",
4159
- buildTime: "11/29/2025 08:06 PM EST",
4153
+ version: "8.1.2",
4154
+ buildTime: "01/23/2026 08:37 PM EST",
4160
4155
  homepage: "https://github.com/aversini/auth-client",
4161
4156
  license: "MIT"
4162
4157
  });
4163
4158
  } catch {
4164
4159
  }
4165
- const Sa = () => {
4160
+ const Ta = () => {
4166
4161
  const e = dt(Cs);
4167
4162
  if (!e)
4168
4163
  throw new Error("useAuth must be used within an AuthHookProvider");
4169
4164
  return e;
4170
- }, za = "I'm having trouble right now. Please try again later.", Xa = "action-search", Za = "action-sort", ei = "action-toggle-prompt", ti = "action-reset-prompt", si = "sassy-saint-", ri = "search", ni = "sort", ai = "sort-timestamp", ii = "sort-token-usage", oi = "sort-memory-direction", ci = "sort-memory-column", ui = "keyword-match-all", li = "history-with-media-only", hi = "history-with-shared-only", di = "usage-view-mode", fi = "usage-time-range", pi = "usage-selected-month", yi = "private-disclosure", mi = "reasoning-disclosure", Ei = "chat-id", gi = "sassysaint-oled-mode", Si = "sassysaint-full-screen", Jt = "data-oled-mode", Vt = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", wi = 20, Ti = 30, Ai = "av-prompt", Ri = "av-prompt-editable", vi = "size-5 sm:size-4", bi = 30, Ii = 15, _i = 130, Oi = 160, Ci = 16, Pi = 24, Mi = 16, $i = 76, wa = process.env.NODE_ENV === "production", lt = !wa, Ta = lt ? "gizmette.local.com" : "gizmette.com", Di = async () => {
4165
+ }, Xa = "I'm having trouble right now. Please try again later.", Za = "action-search", ei = "action-sort", ti = "action-toggle-prompt", si = "action-reset-prompt", ri = "sassy-saint-", ni = "search", ai = "sort", ii = "sort-timestamp", oi = "sort-token-usage", ci = "sort-memory-direction", ui = "sort-memory-column", li = "keyword-match-all", hi = "history-with-media-only", di = "history-with-shared-only", fi = "usage-view-mode", pi = "usage-time-range", yi = "usage-selected-month", mi = "private-disclosure", Ei = "reasoning-disclosure", gi = "chat-id", Si = "sassysaint-oled-mode", wi = "sassysaint-full-screen", Jt = "data-oled-mode", Vt = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Ti = 20, Ai = 30, Ri = "av-prompt", vi = "av-prompt-editable", bi = "size-5 sm:size-4", Ii = 30, _i = 15, Oi = 130, Ci = 160, Pi = 16, Mi = 24, $i = 16, Di = 76, Aa = process.env.NODE_ENV === "production", lt = !Aa, Ra = lt ? "gizmette.local.com" : "gizmette.com", ki = async () => {
4171
4166
  const e = {
4172
4167
  /**
4173
4168
  * A boolean value that indicates the application would like to receive the
@@ -4210,7 +4205,7 @@ const Sa = () => {
4210
4205
  e
4211
4206
  );
4212
4207
  });
4213
- }, ki = (e, t, s) => t ? Object.keys(t).map((r) => /* @__PURE__ */ S("dl", { className: "my-0", children: /* @__PURE__ */ js("div", { className: "flex items-center justify-between", children: [
4208
+ }, Ni = (e, t, s) => t ? Object.keys(t).map((r) => /* @__PURE__ */ S("dl", { className: "my-0", children: /* @__PURE__ */ js("div", { className: "flex items-center justify-between", children: [
4214
4209
  /* @__PURE__ */ S(
4215
4210
  "dt",
4216
4211
  {
@@ -4231,14 +4226,14 @@ const Sa = () => {
4231
4226
  children: t[r]
4232
4227
  }
4233
4228
  )
4234
- ] }) }, `${e}-${r}`)) : null, Ni = ({
4229
+ ] }) }, `${e}-${r}`)) : null, Ui = ({
4235
4230
  isAuthenticated: e,
4236
4231
  extraClass: t,
4237
4232
  oledMode: s
4238
4233
  }) => Ne("px-4", "flex-1 overflow-y-auto", e ? "pt-0" : "pt-10", t, {
4239
4234
  "bg-surface-darker/95 dark:bg-surface-darker": s,
4240
4235
  "bg-surface-darker": !s
4241
- }), Ui = ({
4236
+ }), Li = ({
4242
4237
  extraClass: e,
4243
4238
  fullScreen: t
4244
4239
  } = {}) => Ne(
@@ -4251,9 +4246,9 @@ const Sa = () => {
4251
4246
  "md:max-w-svw": t
4252
4247
  },
4253
4248
  e
4254
- ), Li = () => !!window?.__VERSINI_DIGGIDY_TAURI__, Hi = (e, t) => t === "ready" && !!e && e.length > 0, Fi = (e) => {
4249
+ ), Hi = () => !!window?.__VERSINI_DIGGIDY_TAURI__, Fi = (e, t) => t === "ready" && !!e && e.length > 0, Ki = (e) => {
4255
4250
  e ? document.documentElement.setAttribute(Jt, "true") : document.documentElement.removeAttribute(Jt);
4256
- }, Aa = new Intl.DateTimeFormat("en-US", {
4251
+ }, va = new Intl.DateTimeFormat("en-US", {
4257
4252
  year: "numeric",
4258
4253
  month: "short",
4259
4254
  day: "2-digit",
@@ -4261,8 +4256,8 @@ const Sa = () => {
4261
4256
  minute: "2-digit",
4262
4257
  hour12: !0
4263
4258
  });
4264
- function Ki(e) {
4265
- const t = typeof e == "string" ? new Date(parseInt(e, 10)) : new Date(e), s = Aa.formatToParts(t), r = (n) => s.find((a) => a.type === n)?.value ?? "";
4259
+ function xi(e) {
4260
+ const t = typeof e == "string" ? new Date(parseInt(e, 10)) : new Date(e), s = va.formatToParts(t), r = (n) => s.find((a) => a.type === n)?.value ?? "";
4266
4261
  return `${r("month")} ${r("day")}, ${r("year")} - ${r("hour")}:${r("minute")} ${r("dayPeriod")}`;
4267
4262
  }
4268
4263
  const w = {
@@ -4625,12 +4620,12 @@ const w = {
4625
4620
  schema: w.RESTORE_MEMORY,
4626
4621
  method: "restoreMemory"
4627
4622
  }
4628
- }, Ra = process.env.PUBLIC_SASSY_API_SERVER_URL, Ge = async ({
4623
+ }, ba = process.env.PUBLIC_SASSY_API_SERVER_URL, Ge = async ({
4629
4624
  query: e,
4630
4625
  data: t,
4631
4626
  headers: s = {},
4632
4627
  ...r
4633
- }) => await fetch(`${Ra}/graphql`, {
4628
+ }) => await fetch(`${ba}/graphql`, {
4634
4629
  method: "POST",
4635
4630
  credentials: "include",
4636
4631
  headers: {
@@ -4675,7 +4670,7 @@ const w = {
4675
4670
  } catch (s) {
4676
4671
  throw console.error(s), s;
4677
4672
  }
4678
- }, xi = async ({
4673
+ }, Gi = async ({
4679
4674
  provider: e,
4680
4675
  model: t,
4681
4676
  accessToken: s,
@@ -4690,7 +4685,7 @@ const w = {
4690
4685
  type: I.SET_USER_PREFERENCES,
4691
4686
  params: n
4692
4687
  });
4693
- }, Gi = async ({
4688
+ }, qi = async ({
4694
4689
  plan: e,
4695
4690
  accessToken: t,
4696
4691
  username: s
@@ -4711,13 +4706,13 @@ const w = {
4711
4706
  USAGE: "usage",
4712
4707
  USER_MEMORIES: "userMemories",
4713
4708
  EXPIRED_MEMORIES: "expiredMemories"
4714
- }, qi = R.CHATS, Bi = () => z({
4709
+ }, Bi = R.CHATS, ji = () => z({
4715
4710
  queryKey: [R.CAPABILITIES],
4716
4711
  queryFn: async () => await Z({
4717
4712
  type: I.GET_SERVER_CAPABILITIES,
4718
4713
  noAuth: !0
4719
4714
  })
4720
- }), ji = () => z({
4715
+ }), Qi = () => z({
4721
4716
  queryKey: [R.CHANGELOGS],
4722
4717
  queryFn: async () => await Z({
4723
4718
  type: I.GET_CHANGELOGS,
@@ -4726,7 +4721,7 @@ const w = {
4726
4721
  client: !0
4727
4722
  }
4728
4723
  })
4729
- }), va = ({
4724
+ }), Ia = ({
4730
4725
  user: e,
4731
4726
  getAccessToken: t
4732
4727
  }) => z({
@@ -4738,7 +4733,7 @@ const w = {
4738
4733
  type: I.GET_USER_PREFERENCES,
4739
4734
  getAccessToken: t
4740
4735
  })
4741
- }), Qi = ({
4736
+ }), Wi = ({
4742
4737
  user: e,
4743
4738
  getAccessToken: t
4744
4739
  }) => z({
@@ -4750,7 +4745,7 @@ const w = {
4750
4745
  type: I.GET_CHATS_STATS,
4751
4746
  getAccessToken: t
4752
4747
  })
4753
- }), Wi = ({
4748
+ }), Ji = ({
4754
4749
  user: e,
4755
4750
  searchString: t,
4756
4751
  sortDirection: s,
@@ -4797,7 +4792,7 @@ const w = {
4797
4792
  type: I.GET_CHATS,
4798
4793
  getAccessToken: n
4799
4794
  })
4800
- }), Ji = ({
4795
+ }), Vi = ({
4801
4796
  chatId: e,
4802
4797
  getAccessToken: t,
4803
4798
  enabled: s = !0
@@ -4809,7 +4804,7 @@ const w = {
4809
4804
  type: I.GET_CHAT,
4810
4805
  getAccessToken: t
4811
4806
  })
4812
- }), Vi = ({
4807
+ }), Yi = ({
4813
4808
  getAccessToken: e
4814
4809
  }) => {
4815
4810
  const t = Y();
@@ -4833,7 +4828,7 @@ const w = {
4833
4828
  t.invalidateQueries({ queryKey: [R.CHATS, r.userId] });
4834
4829
  }
4835
4830
  });
4836
- }, Yi = ({
4831
+ }, zi = ({
4837
4832
  getAccessToken: e
4838
4833
  }) => {
4839
4834
  const t = Y();
@@ -4850,7 +4845,7 @@ const w = {
4850
4845
  t.invalidateQueries({ queryKey: [R.CHATS, r.userId] });
4851
4846
  }
4852
4847
  });
4853
- }, zi = ({
4848
+ }, Xi = ({
4854
4849
  user: e,
4855
4850
  month: t,
4856
4851
  year: s = (/* @__PURE__ */ new Date()).getFullYear().toString(),
@@ -4872,7 +4867,7 @@ const w = {
4872
4867
  type: I.GET_USAGE,
4873
4868
  getAccessToken: a
4874
4869
  })
4875
- }), Xi = ({
4870
+ }), Zi = ({
4876
4871
  user: e,
4877
4872
  query: t,
4878
4873
  getAccessToken: s,
@@ -4885,7 +4880,7 @@ const w = {
4885
4880
  type: I.GET_USER_MEMORIES,
4886
4881
  getAccessToken: s
4887
4882
  })
4888
- }), Zi = ({
4883
+ }), eo = ({
4889
4884
  getAccessToken: e
4890
4885
  }) => {
4891
4886
  const t = Y();
@@ -4909,7 +4904,7 @@ const w = {
4909
4904
  });
4910
4905
  }
4911
4906
  });
4912
- }, eo = ({
4907
+ }, to = ({
4913
4908
  getAccessToken: e
4914
4909
  }) => {
4915
4910
  const t = Y();
@@ -4933,7 +4928,7 @@ const w = {
4933
4928
  });
4934
4929
  }
4935
4930
  });
4936
- }, to = ({
4931
+ }, so = ({
4937
4932
  getAccessToken: e
4938
4933
  }) => {
4939
4934
  const t = Y();
@@ -4952,7 +4947,7 @@ const w = {
4952
4947
  });
4953
4948
  }
4954
4949
  });
4955
- }, so = ({
4950
+ }, ro = ({
4956
4951
  getAccessToken: e
4957
4952
  }) => {
4958
4953
  const t = Y();
@@ -4971,7 +4966,7 @@ const w = {
4971
4966
  });
4972
4967
  }
4973
4968
  });
4974
- }, ro = ({
4969
+ }, no = ({
4975
4970
  user: e,
4976
4971
  query: t,
4977
4972
  getAccessToken: s,
@@ -4984,7 +4979,7 @@ const w = {
4984
4979
  type: I.GET_EXPIRED_MEMORIES,
4985
4980
  getAccessToken: s
4986
4981
  })
4987
- }), no = ({
4982
+ }), ao = ({
4988
4983
  getAccessToken: e
4989
4984
  }) => {
4990
4985
  const t = Y();
@@ -5051,7 +5046,7 @@ const w = {
5051
5046
  allowedModels: [],
5052
5047
  version: null,
5053
5048
  status: "idle"
5054
- }, ba = ({
5049
+ }, _a = ({
5055
5050
  user: e,
5056
5051
  getAccessToken: t,
5057
5052
  children: s
@@ -5081,7 +5076,7 @@ const w = {
5081
5076
  Ee(() => {
5082
5077
  r.status === "idle" && i();
5083
5078
  }, [i, r.status]);
5084
- const o = va({ user: e, getAccessToken: t });
5079
+ const o = Ia({ user: e, getAccessToken: t });
5085
5080
  Ee(() => {
5086
5081
  o.isLoading && r.status === "idle" && n((h) => ({ ...h, status: "loading" }));
5087
5082
  }, [o.isLoading, r.status]), Ee(() => {
@@ -5149,37 +5144,37 @@ const w = {
5149
5144
  );
5150
5145
  return /* @__PURE__ */ S(xs.Provider, { value: u, children: s });
5151
5146
  };
5152
- function ao() {
5147
+ function io() {
5153
5148
  const e = dt(xs);
5154
5149
  if (!e)
5155
5150
  throw new Error("useEntitlements must be used within EntitlementsProvider");
5156
5151
  return e;
5157
5152
  }
5158
- const Ia = new URL(document.location.href).searchParams, zt = !!Ia.get("debug") || !1, _a = Zt(() => import(
5153
+ const Oa = new URL(document.location.href).searchParams, zt = !!Oa.get("debug") || !1, Ca = Zt(() => import(
5159
5154
  /* webpackChunkName: "LazyApp" */
5160
- "./App.CDgWZSYn.js"
5161
- ).then((e) => e.App)), Oa = Zt(
5155
+ "./App.CgCfXEpK.js"
5156
+ ).then((e) => e.App)), Pa = Zt(
5162
5157
  () => import(
5163
5158
  /* webpackChunkName: "LazyLogin" */
5164
- "./LoginEntry.BMUwKv_c.js"
5159
+ "./LoginEntry.DRAlXIxv.js"
5165
5160
  )
5166
- ), Ca = new _r(), Xt = ({
5161
+ ), Ma = new _r(), Xt = ({
5167
5162
  isComponent: e,
5168
5163
  headerHeight: t
5169
5164
  }) => {
5170
- const { isAuthenticated: s, isLoading: r, user: n, getAccessToken: a } = Sa();
5171
- return r ? /* @__PURE__ */ S("div", {}) : s ? /* @__PURE__ */ S(vt, { fallback: /* @__PURE__ */ S("div", {}), children: /* @__PURE__ */ S(Or, { client: Ca, children: /* @__PURE__ */ S(
5172
- ba,
5165
+ const { isAuthenticated: s, isLoading: r, user: n, getAccessToken: a } = Ta();
5166
+ return r ? /* @__PURE__ */ S("div", {}) : s ? /* @__PURE__ */ S(vt, { fallback: /* @__PURE__ */ S("div", {}), children: /* @__PURE__ */ S(Or, { client: Ma, children: /* @__PURE__ */ S(
5167
+ _a,
5173
5168
  {
5174
5169
  user: n?.username,
5175
5170
  getAccessToken: a,
5176
- children: /* @__PURE__ */ S(_a, { isComponent: e, headerHeight: t })
5171
+ children: /* @__PURE__ */ S(Ca, { isComponent: e, headerHeight: t })
5177
5172
  }
5178
- ) }) }) : /* @__PURE__ */ S(vt, { fallback: /* @__PURE__ */ S("div", {}), children: /* @__PURE__ */ S(Oa, {}) });
5179
- }, Pa = ({
5173
+ ) }) }) : /* @__PURE__ */ S(vt, { fallback: /* @__PURE__ */ S("div", {}), children: /* @__PURE__ */ S(Pa, {}) });
5174
+ }, $a = ({
5180
5175
  isComponent: e = !1,
5181
5176
  headerHeight: t = 0,
5182
- domain: s = Ta,
5177
+ domain: s = Ra,
5183
5178
  extraProps: r
5184
5179
  }) => (lt && console.info(
5185
5180
  `==> [${Date.now()}] Bootstrapping SassySaint Client with props: `,
@@ -5193,8 +5188,8 @@ const Ia = new URL(document.location.href).searchParams, zt = !!Ia.get("debug")
5193
5188
  endpoint: process.env.PUBLIC_AUTH_SERVER_URL,
5194
5189
  children: /* @__PURE__ */ S(Xt, { isComponent: e, headerHeight: t })
5195
5190
  }
5196
- ) : /* @__PURE__ */ S(Wt, { clientId: Vt, domain: s, debug: zt, children: /* @__PURE__ */ S(Xt, { isComponent: e, headerHeight: t }) })), io = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ S(
5197
- Pa,
5191
+ ) : /* @__PURE__ */ S(Wt, { clientId: Vt, domain: s, debug: zt, children: /* @__PURE__ */ S(Xt, { isComponent: e, headerHeight: t }) })), oo = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ S(
5192
+ $a,
5198
5193
  {
5199
5194
  isComponent: !0,
5200
5195
  domain: e,
@@ -5203,93 +5198,93 @@ const Ia = new URL(document.location.href).searchParams, zt = !!Ia.get("debug")
5203
5198
  }
5204
5199
  );
5205
5200
  export {
5206
- ti as ACTION_RESET_PROMPT,
5207
- Xa as ACTION_SEARCH,
5208
- Za as ACTION_SORT,
5209
- ei as ACTION_TOGGLE_PROMPT,
5210
- xa as B,
5211
- qi as CHATS_QUERY_KEY,
5212
- vi as DEFAULT_ICON_ACTION_SIZE,
5201
+ si as ACTION_RESET_PROMPT,
5202
+ Za as ACTION_SEARCH,
5203
+ ei as ACTION_SORT,
5204
+ ti as ACTION_TOGGLE_PROMPT,
5205
+ qa as B,
5206
+ Bi as CHATS_QUERY_KEY,
5207
+ bi as DEFAULT_ICON_ACTION_SIZE,
5213
5208
  T as E,
5214
- za as ERROR_MESSAGE,
5215
- Ga as F,
5216
- Ti as INFINITE_SCROLL_LIMIT,
5217
- wi as INFINITE_SCROLL_THRESHOLD,
5218
- Ci as INPUT_BOTTOM_OFFSET,
5219
- $i as INPUT_BOTTOM_OFFSET_EXTRA,
5220
- Mi as INPUT_BOTTOM_OFFSET_IPAD,
5221
- Pi as INPUT_BOTTOM_OFFSET_IPHONE,
5222
- Ei as LOCAL_STORAGE_CHAT_ID,
5223
- Si as LOCAL_STORAGE_FULL_SCREEN,
5224
- li as LOCAL_STORAGE_HISTORY_WITH_MEDIA_ONLY,
5225
- hi as LOCAL_STORAGE_HISTORY_WITH_SHARED_ONLY,
5226
- ui as LOCAL_STORAGE_KEYWORD_MATCH_ALL,
5227
- gi as LOCAL_STORAGE_OLED_MODE,
5228
- si as LOCAL_STORAGE_PREFIX,
5229
- yi as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
5230
- mi as LOCAL_STORAGE_REASONING_DISCLOSURE,
5231
- ri as LOCAL_STORAGE_SEARCH,
5232
- ni as LOCAL_STORAGE_SORT,
5233
- ci as LOCAL_STORAGE_SORT_MEMORY_COLUMN,
5234
- oi as LOCAL_STORAGE_SORT_MEMORY_DIRECTION,
5235
- ai as LOCAL_STORAGE_SORT_TIMESTAMP,
5236
- ii as LOCAL_STORAGE_SORT_TOKEN_USAGE,
5237
- pi as LOCAL_STORAGE_USAGE_SELECTED_MONTH,
5238
- fi as LOCAL_STORAGE_USAGE_TIME_RANGE,
5239
- di as LOCAL_STORAGE_USAGE_VIEW_MODE,
5240
- Ai as PROMPT_CLASSNAME,
5241
- Ri as PROMPT_EDITABLE_AREA_CLASSNAME,
5209
+ Xa as ERROR_MESSAGE,
5210
+ Ba as F,
5211
+ Ai as INFINITE_SCROLL_LIMIT,
5212
+ Ti as INFINITE_SCROLL_THRESHOLD,
5213
+ Pi as INPUT_BOTTOM_OFFSET,
5214
+ Di as INPUT_BOTTOM_OFFSET_EXTRA,
5215
+ $i as INPUT_BOTTOM_OFFSET_IPAD,
5216
+ Mi as INPUT_BOTTOM_OFFSET_IPHONE,
5217
+ gi as LOCAL_STORAGE_CHAT_ID,
5218
+ wi as LOCAL_STORAGE_FULL_SCREEN,
5219
+ hi as LOCAL_STORAGE_HISTORY_WITH_MEDIA_ONLY,
5220
+ di as LOCAL_STORAGE_HISTORY_WITH_SHARED_ONLY,
5221
+ li as LOCAL_STORAGE_KEYWORD_MATCH_ALL,
5222
+ Si as LOCAL_STORAGE_OLED_MODE,
5223
+ ri as LOCAL_STORAGE_PREFIX,
5224
+ mi as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
5225
+ Ei as LOCAL_STORAGE_REASONING_DISCLOSURE,
5226
+ ni as LOCAL_STORAGE_SEARCH,
5227
+ ai as LOCAL_STORAGE_SORT,
5228
+ ui as LOCAL_STORAGE_SORT_MEMORY_COLUMN,
5229
+ ci as LOCAL_STORAGE_SORT_MEMORY_DIRECTION,
5230
+ ii as LOCAL_STORAGE_SORT_TIMESTAMP,
5231
+ oi as LOCAL_STORAGE_SORT_TOKEN_USAGE,
5232
+ yi as LOCAL_STORAGE_USAGE_SELECTED_MONTH,
5233
+ pi as LOCAL_STORAGE_USAGE_TIME_RANGE,
5234
+ fi as LOCAL_STORAGE_USAGE_VIEW_MODE,
5235
+ Ri as PROMPT_CLASSNAME,
5236
+ vi as PROMPT_EDITABLE_AREA_CLASSNAME,
5242
5237
  I as SERVICE_TYPES,
5243
- io as SassySaint,
5244
- Ii as UI_BUTTON_SCROLL_BUFFER,
5245
- _i as UI_DEFAULT_MAIN_HEIGHT,
5246
- Oi as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
5247
- bi as UI_FOOTER_BUFFER,
5248
- Ka as V,
5249
- qa as W,
5250
- ja as X,
5251
- Qa as Z,
5238
+ oo as SassySaint,
5239
+ _i as UI_BUTTON_SCROLL_BUFFER,
5240
+ Oi as UI_DEFAULT_MAIN_HEIGHT,
5241
+ Ci as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
5242
+ Ii as UI_FOOTER_BUFFER,
5243
+ Ga as V,
5244
+ ja as W,
5245
+ Wa as X,
5246
+ Ja as Z,
5252
5247
  qe as a,
5253
- Fi as applyOledMode,
5254
- Hi as canEvaluateModels,
5255
- Ki as formatTimestamp,
5256
- Di as getCurrentGeoLocation,
5257
- Ui as getLayoutPaddingClass,
5258
- Ni as getMessageContaintWrapperClass,
5248
+ Ki as applyOledMode,
5249
+ Fi as canEvaluateModels,
5250
+ Re as ct,
5251
+ xi as formatTimestamp,
5252
+ ki as getCurrentGeoLocation,
5253
+ Li as getLayoutPaddingClass,
5254
+ Ui as getMessageContaintWrapperClass,
5259
5255
  X as graphQLRequest,
5260
5256
  ft as i,
5261
- Li as isTauri,
5262
- Ba as j,
5263
- Ua as l,
5264
- Sa as n,
5265
- ka as n$1,
5266
- Na as o,
5267
- La as p,
5268
- ki as renderDataAsList,
5257
+ Hi as isTauri,
5258
+ Qa as j,
5259
+ Ha as l,
5260
+ Ta as n,
5261
+ Ua as n$1,
5262
+ La as o,
5263
+ Fa as p,
5264
+ Ni as renderDataAsList,
5269
5265
  pt as s,
5270
- Ra as serverUrl,
5271
- xi as setNewProvider,
5272
- Gi as setUserPlan,
5273
- Re as st,
5274
- ji as useChangelogs,
5275
- Ji as useChat,
5276
- Wi as useChatsHistory,
5277
- zi as useChatsUsage,
5278
- to as useDeleteAllActiveMemories,
5279
- so as useDeleteAllExpiredMemories,
5280
- Yi as useDeleteChat,
5281
- eo as useDeleteMemory,
5282
- ao as useEntitlements,
5283
- ro as useExpiredMemories,
5266
+ ba as serverUrl,
5267
+ Gi as setNewProvider,
5268
+ qi as setUserPlan,
5269
+ Qi as useChangelogs,
5270
+ Vi as useChat,
5271
+ Ji as useChatsHistory,
5272
+ Xi as useChatsUsage,
5273
+ so as useDeleteAllActiveMemories,
5274
+ ro as useDeleteAllExpiredMemories,
5275
+ zi as useDeleteChat,
5276
+ to as useDeleteMemory,
5277
+ io as useEntitlements,
5278
+ no as useExpiredMemories,
5284
5279
  Y as useQueryClient,
5285
- no as useRestoreMemory,
5286
- Vi as useSaveChat,
5287
- Bi as useServerCapabilities,
5288
- Zi as useUpdateMemory,
5289
- Qi as useUserChatStats,
5290
- Xi as useUserMemories,
5291
- va as useUserPreferences,
5292
- Ha as v,
5280
+ ao as useRestoreMemory,
5281
+ Yi as useSaveChat,
5282
+ ji as useServerCapabilities,
5283
+ eo as useUpdateMemory,
5284
+ Wi as useUserChatStats,
5285
+ Zi as useUserMemories,
5286
+ Ia as useUserPreferences,
5287
+ Ka as v,
5293
5288
  er as x,
5294
- Fa as y
5289
+ xa as y
5295
5290
  };