@versini/sassysaint 8.73.3 → 8.74.1

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 (27) hide show
  1. package/dist/chunks/{AboutChangelog.661DKCgk.js → AboutChangelog.CqWjW39N.js} +2 -2
  2. package/dist/chunks/{AboutEntry.DiCPTiLj.js → AboutEntry.0Ccenpf3.js} +7 -7
  3. package/dist/chunks/{App.5gxvd-4-.js → App.YrWB4OwR.js} +1749 -1732
  4. package/dist/chunks/{Chart.DTAX5Zd_.js → Chart.LfV0zid2.js} +2 -2
  5. package/dist/chunks/ChatBubbleAssistant.E8cXNiqj.js +80 -0
  6. package/dist/chunks/{ChatBubbleUser.Cb2OzGt2.js → ChatBubbleUser.C84VqNux.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.DodhSBf9.js → ChatHistoryTable.BsU8G3Xx.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.BHKiSJYf.js → HistoryEntry.Bb22L2B-.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.A_AoGwYv.js → ProfileEntry.CgCQ3J3r.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.D4RhlncR.js → SettingsEntry.DthuyCfx.js} +151 -130
  11. package/dist/chunks/{Table.Uvq7uGxR.js → Table.DWNSOwzN.js} +2 -2
  12. package/dist/chunks/{UsageEntry.DrVVPYLQ.js → UsageEntry.PtMxeqds.js} +3 -3
  13. package/dist/chunks/{UserMemoriesPanel.kh9_pfi_.js → UserMemoriesPanel.CBSFmHg7.js} +4 -4
  14. package/dist/chunks/{index.DtuEQYZN.js → index.7fhQuqoG.js} +1 -1
  15. package/dist/chunks/{index.Dq4WBOGA.js → index.B7RaRKya.js} +1 -1
  16. package/dist/chunks/{index.CJZ4xgED.js → index.B_LtCB1l.js} +2 -2
  17. package/dist/chunks/{index.CCW8q5W5.js → index.BaFTRquS.js} +3 -3
  18. package/dist/chunks/{index.O2zfzZcM.js → index.BtmJY5AI.js} +1 -1
  19. package/dist/chunks/{index.DB7deAkb.js → index.CKriJDCb.js} +140 -131
  20. package/dist/chunks/{index.Dfe22wCV.js → index.Ca4if9H7.js} +1 -1
  21. package/dist/chunks/{index.B6va7ILw.js → index.DJg0NGP9.js} +1 -1
  22. package/dist/chunks/{useMarkdown.DpoGjOrf.js → useMarkdown.Ky0bSmFT.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +1 -1
  26. package/package.json +3 -3
  27. package/dist/chunks/ChatBubbleAssistant.C-aLHVG0.js +0 -76
@@ -4044,7 +4044,7 @@ const ls = () => {
4044
4044
  if (!e)
4045
4045
  throw new Error("useAuth must be used within an AuthHookProvider");
4046
4046
  return e;
4047
- }, oc = "I'm having trouble right now. Please try again later.", cc = "action-search", lc = "action-sort", uc = "action-toggle-prompt", dc = "action-reset-prompt", us = "sassy-saint-", hc = "search", fc = "sort", mc = "sort-timestamp", pc = "sort-token-usage", yc = "sort-memory-direction", gc = "sort-memory-column", bc = "favorites-only", Ec = "private-disclosure", wc = "reasoning-disclosure", ds = "service-worker", Sc = "chat-id", vc = "sassysaint-oled-mode", Sr = "data-oled-mode", vr = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Tc = 20, Ac = 30, Ic = "av-prompt", _c = "av-prompt-editable", Rc = "size-5 sm:size-4", Cc = 30, Oc = 15, kc = 130, Nc = 160, Pc = 16, $c = 24, xc = 76, Mc = 76;
4047
+ }, oc = "I'm having trouble right now. Please try again later.", cc = "action-search", lc = "action-sort", uc = "action-toggle-prompt", dc = "action-reset-prompt", us = "sassy-saint-", hc = "search", fc = "sort", mc = "sort-timestamp", pc = "sort-token-usage", yc = "sort-memory-direction", gc = "sort-memory-column", bc = "favorites-only", Ec = "private-disclosure", wc = "reasoning-disclosure", ds = "service-worker", Sc = "chat-id", vc = "sassysaint-oled-mode", Tc = "sassysaint-full-screen", Sr = "data-oled-mode", vr = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Ac = 20, Ic = 30, _c = "av-prompt", Rc = "av-prompt-editable", Cc = "size-5 sm:size-4", Oc = 30, kc = 15, Nc = 130, Pc = 160, $c = 16, xc = 24, Mc = 76, Dc = 76;
4048
4048
  let At = null, ae = !1;
4049
4049
  typeof window < "u" && "serviceWorker" in navigator && navigator.serviceWorker.addEventListener("controllerchange", () => {
4050
4050
  ae && (ae = !1, window.location.reload());
@@ -4094,7 +4094,7 @@ async function oi() {
4094
4094
  return console.error("[SW] Service worker un-registration failed:", e), !1;
4095
4095
  }
4096
4096
  }
4097
- async function Dc(e) {
4097
+ async function Lc(e) {
4098
4098
  if (ii(e), e) {
4099
4099
  ae = !0;
4100
4100
  try {
@@ -4149,7 +4149,7 @@ async function ci() {
4149
4149
  function It() {
4150
4150
  return "unknown";
4151
4151
  }
4152
- async function Lc(e = {}) {
4152
+ async function Uc(e = {}) {
4153
4153
  const { urlLimitPerCache: t } = e;
4154
4154
  if (!("caches" in window))
4155
4155
  return { version: It(), caches: [], totalItems: 0 };
@@ -4176,11 +4176,11 @@ async function Lc(e = {}) {
4176
4176
  return console.warn("[SW] getCacheInfo failed:", r), { version: It(), caches: [], totalItems: 0 };
4177
4177
  }
4178
4178
  }
4179
- const Uc = "user", Fc = "assistant", Hc = "data", He = "OpenAI", dt = "Anthropic", ht = "Google", fs = "Perplexity", Kc = He, li = [
4179
+ const Fc = "user", Hc = "assistant", Kc = "data", He = "OpenAI", dt = "Anthropic", ht = "Google", fs = "Perplexity", Gc = He, li = [
4180
4180
  He,
4181
4181
  dt,
4182
4182
  ht
4183
- ], ms = "gpt-5", ps = "gpt-5-mini", ys = "gpt-5-nano", gs = "gpt-4.1-nano", bs = "claude-haiku-4-5-20251001", Es = "claude-sonnet-4-5-20250929", ws = "gemini-2.5-flash", Ss = "gemini-2.5-pro", vs = "sonar", Ts = "sonar-pro", Gc = {
4183
+ ], ms = "gpt-5", ps = "gpt-5-mini", ys = "gpt-5-nano", gs = "gpt-4.1-nano", bs = "claude-haiku-4-5-20251001", Es = "claude-sonnet-4-5-20250929", ws = "gemini-2.5-flash", Ss = "gemini-2.5-pro", vs = "sonar", Ts = "sonar-pro", Bc = {
4184
4184
  [ms]: "GPT-5",
4185
4185
  [ps]: "GPT-5 Mini",
4186
4186
  [ys]: "GPT-5 Nano",
@@ -4214,7 +4214,7 @@ const Uc = "user", Fc = "assistant", Hc = "data", He = "OpenAI", dt = "Anthropic
4214
4214
  ],
4215
4215
  [ht]: [yi],
4216
4216
  [fs]: [gi]
4217
- }, Bc = "x-diggidy-chat-id", qc = "timestamp", Wc = "tokenUsage", k = "Diggidy", Vc = {
4217
+ }, qc = "x-diggidy-chat-id", Wc = "timestamp", Vc = "tokenUsage", k = "Diggidy", jc = {
4218
4218
  TOOL: {
4219
4219
  MEMORIES: "getUserMemories"
4220
4220
  },
@@ -4222,14 +4222,14 @@ const Uc = "user", Fc = "assistant", Hc = "data", He = "OpenAI", dt = "Anthropic
4222
4222
  ATTACHMENTS: "addon:attachments",
4223
4223
  REASONING: "addon:reasoning"
4224
4224
  }
4225
- }, jc = (e) => {
4225
+ }, Qc = (e) => {
4226
4226
  for (const [t, r] of Object.entries(
4227
4227
  bi
4228
4228
  ))
4229
4229
  if (r.some((s) => e.startsWith(s)))
4230
4230
  return t;
4231
4231
  return null;
4232
- }, Qc = (e) => {
4232
+ }, Jc = (e) => {
4233
4233
  if (!e || e.length === 0)
4234
4234
  return [];
4235
4235
  const t = /* @__PURE__ */ new Set();
@@ -4252,13 +4252,13 @@ const Uc = "user", Fc = "assistant", Hc = "data", He = "OpenAI", dt = "Anthropic
4252
4252
  break;
4253
4253
  }
4254
4254
  return t;
4255
- }, Jc = (e) => {
4255
+ }, Yc = (e) => {
4256
4256
  const t = Ei(e);
4257
4257
  for (const r of t.values())
4258
4258
  if (r.length > 1)
4259
4259
  return !0;
4260
4260
  return !1;
4261
- }, Yc = (e, t) => !e || !t || t.length === 0 ? !1 : t.includes(e);
4261
+ }, zc = (e, t) => !e || !t || t.length === 0 ? !1 : t.includes(e);
4262
4262
  function wi(e) {
4263
4263
  return e ? new Set(e) : null;
4264
4264
  }
@@ -4587,7 +4587,7 @@ const G = {
4587
4587
  } catch (r) {
4588
4588
  throw console.error(r), r;
4589
4589
  }
4590
- }, zc = async ({
4590
+ }, Xc = async ({
4591
4591
  provider: e,
4592
4592
  model: t,
4593
4593
  accessToken: r,
@@ -4602,7 +4602,7 @@ const G = {
4602
4602
  type: B.SET_USER_PREFERENCES,
4603
4603
  params: a
4604
4604
  });
4605
- }, Xc = async ({
4605
+ }, Zc = async ({
4606
4606
  plan: e,
4607
4607
  accessToken: t,
4608
4608
  username: r
@@ -4622,13 +4622,13 @@ const G = {
4622
4622
  PREFERENCES: "preferences",
4623
4623
  USAGE: "usage",
4624
4624
  USER_MEMORIES: "userMemories"
4625
- }, Zc = () => fe({
4625
+ }, el = () => fe({
4626
4626
  queryKey: [Q.CAPABILITIES],
4627
4627
  queryFn: async () => await pe({
4628
4628
  type: B.GET_SERVER_CAPABILITIES,
4629
4629
  noAuth: !0
4630
4630
  })
4631
- }), el = () => fe({
4631
+ }), tl = () => fe({
4632
4632
  queryKey: [Q.CHANGELOGS],
4633
4633
  queryFn: async () => await pe({
4634
4634
  type: B.GET_CHANGELOGS,
@@ -4649,7 +4649,7 @@ const G = {
4649
4649
  type: B.GET_USER_PREFERENCES,
4650
4650
  getAccessToken: t
4651
4651
  })
4652
- }), tl = ({
4652
+ }), rl = ({
4653
4653
  user: e,
4654
4654
  getAccessToken: t
4655
4655
  }) => fe({
@@ -4661,7 +4661,7 @@ const G = {
4661
4661
  type: B.GET_CHATS_STATS,
4662
4662
  getAccessToken: t
4663
4663
  })
4664
- }), rl = ({
4664
+ }), sl = ({
4665
4665
  user: e,
4666
4666
  searchString: t,
4667
4667
  sortDirection: r,
@@ -4685,7 +4685,7 @@ const G = {
4685
4685
  type: B.GET_CHATS,
4686
4686
  getAccessToken: a
4687
4687
  })
4688
- }), sl = ({
4688
+ }), al = ({
4689
4689
  chatId: e,
4690
4690
  getAccessToken: t,
4691
4691
  enabled: r = !0
@@ -4697,7 +4697,7 @@ const G = {
4697
4697
  type: B.GET_CHAT,
4698
4698
  getAccessToken: t
4699
4699
  })
4700
- }), al = ({
4700
+ }), nl = ({
4701
4701
  getAccessToken: e
4702
4702
  }) => {
4703
4703
  const t = he();
@@ -4720,7 +4720,7 @@ const G = {
4720
4720
  t.invalidateQueries({ queryKey: [Q.CHATS, s.userId] });
4721
4721
  }
4722
4722
  });
4723
- }, nl = ({
4723
+ }, il = ({
4724
4724
  getAccessToken: e
4725
4725
  }) => {
4726
4726
  const t = he();
@@ -4737,7 +4737,7 @@ const G = {
4737
4737
  t.invalidateQueries({ queryKey: [Q.CHATS, s.userId] });
4738
4738
  }
4739
4739
  });
4740
- }, il = ({
4740
+ }, ol = ({
4741
4741
  getAccessToken: e
4742
4742
  }) => {
4743
4743
  const t = he();
@@ -4754,7 +4754,7 @@ const G = {
4754
4754
  t.invalidateQueries({ queryKey: [Q.CHATS, s.userId] });
4755
4755
  }
4756
4756
  });
4757
- }, ol = ({
4757
+ }, cl = ({
4758
4758
  user: e,
4759
4759
  month: t,
4760
4760
  year: r = (/* @__PURE__ */ new Date()).getFullYear().toString(),
@@ -4772,7 +4772,7 @@ const G = {
4772
4772
  type: B.GET_USAGE,
4773
4773
  getAccessToken: s
4774
4774
  })
4775
- }), cl = ({
4775
+ }), ll = ({
4776
4776
  user: e,
4777
4777
  query: t,
4778
4778
  getAccessToken: r,
@@ -4785,7 +4785,7 @@ const G = {
4785
4785
  type: B.GET_USER_MEMORIES,
4786
4786
  getAccessToken: r
4787
4787
  })
4788
- }), ll = ({
4788
+ }), ul = ({
4789
4789
  getAccessToken: e
4790
4790
  }) => {
4791
4791
  const t = he();
@@ -4808,7 +4808,7 @@ const G = {
4808
4808
  });
4809
4809
  }
4810
4810
  });
4811
- }, ul = ({
4811
+ }, dl = ({
4812
4812
  getAccessToken: e
4813
4813
  }) => {
4814
4814
  const t = he();
@@ -4830,7 +4830,7 @@ const G = {
4830
4830
  });
4831
4831
  }
4832
4832
  });
4833
- }, dl = ({
4833
+ }, hl = ({
4834
4834
  getAccessToken: e
4835
4835
  }) => {
4836
4836
  const t = he();
@@ -4990,7 +4990,7 @@ const G = {
4990
4990
  );
4991
4991
  return /* @__PURE__ */ h(Is.Provider, { value: d, children: r });
4992
4992
  };
4993
- function hl() {
4993
+ function fl() {
4994
4994
  const e = ct(Is);
4995
4995
  if (!e)
4996
4996
  throw new Error("useEntitlements must be used within EntitlementsProvider");
@@ -5194,23 +5194,21 @@ const Hi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5194
5194
  isAuthenticated: e,
5195
5195
  extraClass: t,
5196
5196
  oledMode: r
5197
- }) => y(
5198
- "px-4",
5199
- "bg-slate-700 dark:bg-slate-900",
5200
- "flex-1 overflow-y-auto",
5201
- e ? "pt-0" : "pt-10",
5202
- t,
5203
- {
5204
- "bg-slate-700 dark:bg-slate-900": r,
5205
- "bg-slate-900": !r
5206
- }
5207
- ), Os = ({
5208
- extraClass: e
5197
+ }) => y("px-4", "flex-1 overflow-y-auto", e ? "pt-0" : "pt-10", t, {
5198
+ "bg-slate-900/95 dark:bg-slate-900": r,
5199
+ "bg-slate-900": !r
5200
+ }), Os = ({
5201
+ extraClass: e,
5202
+ fullScreen: t
5209
5203
  } = {}) => y(
5210
5204
  "flex flex-col",
5211
- "w-full md:mx-auto md:max-w-4xl",
5205
+ "w-full md:mx-auto",
5212
5206
  "sm:px-5 px-2",
5213
5207
  "transition-all ease-in-out duration-500",
5208
+ {
5209
+ "md:max-w-4xl": !t,
5210
+ "md:max-w-svw": t
5211
+ },
5214
5212
  e
5215
5213
  ), Bi = (e, t) => t === 1 ? e : `${e}s`, qi = (e, t) => {
5216
5214
  let r;
@@ -5252,7 +5250,7 @@ const Hi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5252
5250
  icon: d
5253
5251
  }), Yi = (e, t) => t === "ready" && !!e && e.length > 0, zi = (e) => {
5254
5252
  e ? document.documentElement.setAttribute(Sr, "true") : document.documentElement.removeAttribute(Sr);
5255
- }, fl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, DOMAIN: Rs, applyOledMode: zi, canEvaluateModels: Yi, convertCamelCaseToReadable: Qi, convertDDToDMS: Qt, convertLatitudeToDMS: $i, convertLongitudeToDMS: xi, debounce: qi, durationFormatter: Gi, extractAverage: Fi, getCurrentGeoLocation: Mi, getLayoutPaddingClass: Os, getMessageContaintWrapperClass: Cs, isDev: jt, isLastMessageFromRole: Hi, isPWAMode: ji, isProbablyMobile: Ns, isProbablyTablet: Ps, isProbablyiPad: Vi, isProbablyiPhone: Wi, isProd: _s, isTauri: ks, numberFormatter: Ki, obfuscate: Di, pluralize: Bi, renderDataAsList: Ui, toastOptions: Ji, unObfuscate: Li }, Symbol.toStringTag, { value: "Module" })), Ir = "av-button", ft = "icon", Jt = "button", Lt = "link", Xi = ({
5253
+ }, ml = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, DOMAIN: Rs, applyOledMode: zi, canEvaluateModels: Yi, convertCamelCaseToReadable: Qi, convertDDToDMS: Qt, convertLatitudeToDMS: $i, convertLongitudeToDMS: xi, debounce: qi, durationFormatter: Gi, extractAverage: Fi, getCurrentGeoLocation: Mi, getLayoutPaddingClass: Os, getMessageContaintWrapperClass: Cs, isDev: jt, isLastMessageFromRole: Hi, isPWAMode: ji, isProbablyMobile: Ns, isProbablyTablet: Ps, isProbablyiPad: Vi, isProbablyiPhone: Wi, isProd: _s, isTauri: ks, numberFormatter: Ki, obfuscate: Di, pluralize: Bi, renderDataAsList: Ui, toastOptions: Ji, unObfuscate: Li }, Symbol.toStringTag, { value: "Module" })), Ir = "av-button", ft = "icon", Jt = "button", Lt = "link", Xi = ({
5256
5254
  type: e,
5257
5255
  size: t,
5258
5256
  labelRight: r,
@@ -6756,9 +6754,9 @@ try {
6756
6754
  });
6757
6755
  } catch {
6758
6756
  }
6759
- const Ko = "ASK! ME! ANYTHING!", Go = "Log in with a password", Bo = "Log in with a Passkey", ml = "Log out", qo = "Password", pl = "Usage", yl = "Profile", gl = "Settings", bl = "Chat history", El = "About", Xt = "Type your message here.", wl = Xt, Sl = `${Xt}
6760
- Press Enter to send it or Shift+Enter for new line.`, vl = `${Xt}
6761
- Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "Review important details.", Al = [
6757
+ const Ko = "ASK! ME! ANYTHING!", Go = "Log in with a password", Bo = "Log in with a Passkey", pl = "Log out", qo = "Password", yl = "Usage", gl = "Profile", bl = "Settings", El = "Chat history", wl = "About", Xt = "Type your message here.", Sl = Xt, vl = `${Xt}
6758
+ Press Enter to send it or Shift+Enter for new line.`, Tl = `${Xt}
6759
+ Press Ctrl+Enter to send it or Enter for new line.`, Al = "{{clipboard}}", P = "Review important details.", Il = [
6762
6760
  `Sometimes, ${k} just makes stuff up. ${P}`,
6763
6761
  `${k} may invent facts on the fly. ${P}`,
6764
6762
  `${k} may be confidently wrong. ${P}`,
@@ -6779,17 +6777,17 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6779
6777
  `Sometimes, ${k} howls at the moon. ${P}`,
6780
6778
  `${k} may dig up imaginary bones. ${P}`,
6781
6779
  `${k} may sniff out nonsense. ${P}`
6782
- ], Il = "Prompts are pre-filled menus available on the main screen, to help you quickly start requests. If you select the 'Private Chat' checkbox, the corresponding chat will not be saved. If you select the 'Clipboard Access' checkbox, your clipboard content (if any) will be provided to the request.", _l = "Default provider set to", Rl = "Chat successfully deleted!", Cl = "Chat successfully saved!", Ol = "Caching enabled. Assets are now stored locally.", kl = "Caching disabled. Local asset cache cleared.", Nl = "av-sassy", Pl = {
6780
+ ], _l = "Prompts are pre-filled menus available on the main screen, to help you quickly start requests. If you select the 'Private Chat' checkbox, the corresponding chat will not be saved. If you select the 'Clipboard Access' checkbox, your clipboard content (if any) will be provided to the request.", Rl = "Default provider set to", Cl = "Chat successfully deleted!", Ol = "Chat successfully saved!", kl = "Caching enabled. Assets are now stored locally.", Nl = "Caching disabled. Local asset cache cleared.", Pl = "av-sassy", $l = {
6783
6781
  0: ["January", "February", "March"],
6784
6782
  3: ["April", "May", "June"],
6785
6783
  6: ["July", "August", "September"],
6786
6784
  9: ["October", "November", "December"]
6787
- }, $l = {
6785
+ }, xl = {
6788
6786
  0: ["Jan", "Feb", "Mar"],
6789
6787
  3: ["Apr", "May", "Jun"],
6790
6788
  6: ["Jul", "Aug", "Sep"],
6791
6789
  9: ["Oct", "Nov", "Dec"]
6792
- }, xl = {
6790
+ }, Ml = {
6793
6791
  PREFERENCES: {
6794
6792
  TITLE: "User profile",
6795
6793
  USERNAME: "Username",
@@ -6831,7 +6829,8 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6831
6829
  REASONING_BUTTON_DESCRIPTION: "The following option allows you to display the Reasoning button in the chat interface. When enabled, you can toggle reasoning mode ON and OFF for more in-depth analysis.",
6832
6830
  NESTED_MODEL_SELECTION_DESCRIPTION: "The following option enables advanced model selection, allowing you to choose specific AI models within each provider category. This feature is only available when multiple models per provider are included in your plan.",
6833
6831
  CACHE_DESCRIPTION: "The following option enables caching of application assets for faster loading and improved performance on slow networks. This feature improves performance by storing frequently used resources locally.",
6834
- BACKGROUND_THEME_DESCRIPTION: "The following option enables OLED mode, which uses pure black backgrounds in dark mode and pure white backgrounds in light mode. This is optimal for OLED displays to reduce power consumption and improve visual quality."
6832
+ BACKGROUND_THEME_DESCRIPTION: "The following option enables OLED mode, which uses pure black backgrounds in dark mode and pure white backgrounds in light mode. This is optimal for OLED displays to reduce power consumption and improve visual quality.",
6833
+ FULL_SCREEN_DESCRIPTION: "The following option enables full screen mode, which removes the maximum width constraint and allows the interface to use the entire available screen width for a more immersive experience."
6835
6834
  },
6836
6835
  SETTINGS_DETAILS: {
6837
6836
  TITLE: "Chats",
@@ -6842,28 +6841,37 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6842
6841
  }, Wo = ({
6843
6842
  className: e,
6844
6843
  isCapabilitiesSuccess: t,
6845
- capabilities: r
6844
+ capabilities: r,
6845
+ oledMode: s
6846
6846
  }) => /* @__PURE__ */ V(
6847
6847
  "div",
6848
6848
  {
6849
6849
  className: y(
6850
6850
  e,
6851
- "flex items-center justify-center text-slate-300"
6851
+ "w-full md:mx-auto md:max-w-4xl",
6852
+ "flex items-center justify-center"
6852
6853
  ),
6853
6854
  children: [
6854
- /* @__PURE__ */ h("div", { className: "basis-1/4", children: /* @__PURE__ */ h(wo, {}) }),
6855
- /* @__PURE__ */ V("div", { className: "prose prose-sm prose-light md:prose-base prose-h1:mb-0 prose-h2:mt-0", children: [
6856
- /* @__PURE__ */ h("h1", { children: k }),
6857
- /* @__PURE__ */ h(
6858
- "h2",
6859
- {
6860
- className: y({
6861
- "text-red-500": t && r?.runningMode === "development"
6862
- }),
6863
- children: Ko
6864
- }
6865
- )
6866
- ] })
6855
+ /* @__PURE__ */ h("div", { className: "basis-1/4 text-slate-300", children: /* @__PURE__ */ h(wo, {}) }),
6856
+ /* @__PURE__ */ V(
6857
+ "div",
6858
+ {
6859
+ className: y(
6860
+ "prose prose-light",
6861
+ "prose-sm md:prose-base",
6862
+ "prose-h1:mb-0 prose-h2:mt-0",
6863
+ {
6864
+ "prose-h1:text-slate-300": s,
6865
+ "prose-h2:text-slate-300": s && !(t && r?.runningMode === "development"),
6866
+ "prose-h2:text-red-500": t && r?.runningMode === "development"
6867
+ }
6868
+ ),
6869
+ children: [
6870
+ /* @__PURE__ */ h("h1", { children: k }),
6871
+ /* @__PURE__ */ h("h2", { children: Ko })
6872
+ ]
6873
+ }
6874
+ )
6867
6875
  ]
6868
6876
  }
6869
6877
  ), Vo = () => {
@@ -6976,7 +6984,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6976
6984
  ] });
6977
6985
  }, jo = new URL(document.location.href).searchParams, Cr = !!jo.get("debug") || !1, Qo = Ws(() => import(
6978
6986
  /* webpackChunkName: "LazyApp" */
6979
- "./App.5gxvd-4-.js"
6987
+ "./App.YrWB4OwR.js"
6980
6988
  ).then((e) => e.App)), Jo = new ma(), Or = ({
6981
6989
  isComponent: e,
6982
6990
  headerHeight: t
@@ -7007,7 +7015,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
7007
7015
  endpoint: process.env.PUBLIC_AUTH_SERVER_URL,
7008
7016
  children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t })
7009
7017
  }
7010
- ) : /* @__PURE__ */ h(wr, { clientId: vr, domain: r, debug: Cr, children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t }) })), Ml = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ h(
7018
+ ) : /* @__PURE__ */ h(wr, { clientId: vr, domain: r, debug: Cr, children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t }) })), Dl = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ h(
7011
7019
  Yo,
7012
7020
  {
7013
7021
  isComponent: !0,
@@ -7017,36 +7025,37 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
7017
7025
  );
7018
7026
  export {
7019
7027
  k as $,
7020
- El as ABOUT_TITLE,
7028
+ wl as ABOUT_TITLE,
7021
7029
  dc as ACTION_RESET_PROMPT,
7022
7030
  cc as ACTION_SEARCH,
7023
7031
  lc as ACTION_SORT,
7024
7032
  uc as ACTION_TOGGLE_PROMPT,
7025
- Nl as APP_CLASSNAME,
7033
+ Pl as APP_CLASSNAME,
7026
7034
  xs as C,
7027
- xl as CARDS,
7028
- Tl as CLIPBOARD_PROMPT,
7029
- Rc as DEFAULT_ICON_ACTION_SIZE,
7030
- Fc as E,
7035
+ Ml as CARDS,
7036
+ Al as CLIPBOARD_PROMPT,
7037
+ Cc as DEFAULT_ICON_ACTION_SIZE,
7038
+ Hc as E,
7031
7039
  oc as ERROR_MESSAGE,
7032
- Jc as Et,
7033
- Kc as F,
7034
- Al as FOOTER_DISCLAIMERS,
7035
- bl as HISTORY_TITLE,
7040
+ Yc as Et,
7041
+ Gc as F,
7042
+ Il as FOOTER_DISCLAIMERS,
7043
+ El as HISTORY_TITLE,
7036
7044
  mt as I,
7037
- Ac as INFINITE_SCROLL_LIMIT,
7038
- Tc as INFINITE_SCROLL_THRESHOLD,
7039
- Pc as INPUT_BOTTOM_OFFSET,
7040
- Mc as INPUT_BOTTOM_OFFSET_EXTRA,
7041
- xc as INPUT_BOTTOM_OFFSET_IPAD,
7042
- $c as INPUT_BOTTOM_OFFSET_IPHONE,
7043
- vl as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7044
- Sl as INPUT_PLACEHOLDER_TEXT_ENTER,
7045
- wl as INPUT_PLACEHOLDER_TEXT_MOBILE,
7046
- qc as J,
7045
+ Ic as INFINITE_SCROLL_LIMIT,
7046
+ Ac as INFINITE_SCROLL_THRESHOLD,
7047
+ $c as INPUT_BOTTOM_OFFSET,
7048
+ Dc as INPUT_BOTTOM_OFFSET_EXTRA,
7049
+ Mc as INPUT_BOTTOM_OFFSET_IPAD,
7050
+ xc as INPUT_BOTTOM_OFFSET_IPHONE,
7051
+ Tl as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7052
+ vl as INPUT_PLACEHOLDER_TEXT_ENTER,
7053
+ Sl as INPUT_PLACEHOLDER_TEXT_MOBILE,
7054
+ Wc as J,
7047
7055
  Io as L,
7048
7056
  Sc as LOCAL_STORAGE_CHAT_ID,
7049
7057
  bc as LOCAL_STORAGE_FAVORITES_ONLY,
7058
+ Tc as LOCAL_STORAGE_FULL_SCREEN,
7050
7059
  vc as LOCAL_STORAGE_OLED_MODE,
7051
7060
  us as LOCAL_STORAGE_PREFIX,
7052
7061
  Ec as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
@@ -7057,49 +7066,49 @@ export {
7057
7066
  yc as LOCAL_STORAGE_SORT_MEMORY_DIRECTION,
7058
7067
  mc as LOCAL_STORAGE_SORT_TIMESTAMP,
7059
7068
  pc as LOCAL_STORAGE_SORT_TOKEN_USAGE,
7060
- ml as LOG_OUT,
7069
+ pl as LOG_OUT,
7061
7070
  Wo as Logo,
7062
7071
  dt as O,
7063
- yl as PROFILE_TITLE,
7064
- Il as PROMPTS_DESCRIPTION,
7065
- Ic as PROMPT_CLASSNAME,
7066
- _c as PROMPT_EDITABLE_AREA_CLASSNAME,
7067
- Wc as Q,
7072
+ gl as PROFILE_TITLE,
7073
+ _l as PROMPTS_DESCRIPTION,
7074
+ _c as PROMPT_CLASSNAME,
7075
+ Rc as PROMPT_EDITABLE_AREA_CLASSNAME,
7076
+ Vc as Q,
7068
7077
  Eo as S,
7069
7078
  B as SERVICE_TYPES,
7070
- gl as SETTINGS_TITLE,
7071
- Ml as SassySaint,
7072
- kl as TOAST_CACHE_DISABLED,
7073
- Ol as TOAST_CACHE_ENABLED,
7074
- Rl as TOAST_CHAT_DELETED,
7075
- Cl as TOAST_CHAT_SAVED,
7076
- _l as TOAST_PROVIDER_CHANGED,
7077
- Pl as TRIMESTERS,
7078
- $l as TRIMESTERS_SHORT,
7079
- Oc as UI_BUTTON_SCROLL_BUFFER,
7080
- kc as UI_DEFAULT_MAIN_HEIGHT,
7081
- Nc as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
7082
- Cc as UI_FOOTER_BUFFER,
7083
- pl as USAGE_TITLE,
7079
+ bl as SETTINGS_TITLE,
7080
+ Dl as SassySaint,
7081
+ Nl as TOAST_CACHE_DISABLED,
7082
+ kl as TOAST_CACHE_ENABLED,
7083
+ Cl as TOAST_CHAT_DELETED,
7084
+ Ol as TOAST_CHAT_SAVED,
7085
+ Rl as TOAST_PROVIDER_CHANGED,
7086
+ $l as TRIMESTERS,
7087
+ xl as TRIMESTERS_SHORT,
7088
+ kc as UI_BUTTON_SCROLL_BUFFER,
7089
+ Nc as UI_DEFAULT_MAIN_HEIGHT,
7090
+ Pc as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
7091
+ Oc as UI_FOOTER_BUFFER,
7092
+ yl as USAGE_TITLE,
7084
7093
  Ei as V,
7085
7094
  zt as Y,
7086
- Bc as Z,
7095
+ qc as Z,
7087
7096
  zi as applyOledMode,
7088
- Hc as b,
7097
+ Kc as b,
7089
7098
  yo as b$1,
7090
7099
  ht as c,
7091
7100
  Yi as canEvaluateModels,
7092
7101
  Qi as convertCamelCaseToReadable,
7093
7102
  qi as debounce,
7094
- Uc as e,
7095
- Qc as et,
7096
- Lc as getCacheInfo,
7103
+ Fc as e,
7104
+ Jc as et,
7105
+ Uc as getCacheInfo,
7097
7106
  Mi as getCurrentGeoLocation,
7098
7107
  Os as getLayoutPaddingClass,
7099
7108
  Cs as getMessageContaintWrapperClass,
7100
7109
  me as graphQLRequest,
7101
7110
  Je as h,
7102
- Dc as handleServiceWorkerToggle,
7111
+ Lc as handleServiceWorkerToggle,
7103
7112
  Ds as i,
7104
7113
  jt as isDev,
7105
7114
  ji as isPWAMode,
@@ -7110,39 +7119,39 @@ export {
7110
7119
  ks as isTauri,
7111
7120
  xe as it,
7112
7121
  ye as j,
7113
- Gc as j$1,
7122
+ Bc as j$1,
7114
7123
  vo as l,
7115
7124
  ls as n,
7116
7125
  Ki as numberFormatter,
7117
7126
  Ms as o,
7118
7127
  Di as obfuscate,
7119
- Vc as ot,
7128
+ jc as ot,
7120
7129
  Bi as pluralize,
7121
7130
  He as r,
7122
7131
  Ui as renderDataAsList,
7123
- Yc as rt,
7132
+ zc as rt,
7124
7133
  vi as serverUrl,
7125
- zc as setNewProvider,
7126
- Xc as setUserPlan,
7127
- jc as st,
7134
+ Xc as setNewProvider,
7135
+ Zc as setUserPlan,
7136
+ Qc as st,
7128
7137
  it as te,
7129
7138
  Li as unObfuscate,
7130
- el as useChangelogs,
7131
- sl as useChat,
7132
- rl as useChatsHistory,
7133
- ol as useChatsUsage,
7134
- dl as useDeleteAllMemories,
7135
- nl as useDeleteChat,
7136
- ul as useDeleteMemory,
7137
- hl as useEntitlements,
7139
+ tl as useChangelogs,
7140
+ al as useChat,
7141
+ sl as useChatsHistory,
7142
+ cl as useChatsUsage,
7143
+ hl as useDeleteAllMemories,
7144
+ il as useDeleteChat,
7145
+ dl as useDeleteMemory,
7146
+ fl as useEntitlements,
7138
7147
  he as useQueryClient,
7139
- al as useSaveChat,
7140
- Zc as useServerCapabilities,
7141
- il as useToggleFavoriteChat,
7142
- ll as useUpdateMemory,
7143
- tl as useUserChatStats,
7144
- cl as useUserMemories,
7148
+ nl as useSaveChat,
7149
+ el as useServerCapabilities,
7150
+ ol as useToggleFavoriteChat,
7151
+ ul as useUpdateMemory,
7152
+ rl as useUserChatStats,
7153
+ ll as useUserMemories,
7145
7154
  Ti as useUserPreferences,
7146
- fl as utilities,
7155
+ ml as utilities,
7147
7156
  Fs as x
7148
7157
  };
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.DpoGjOrf.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.Ky0bSmFT.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.DpoGjOrf.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.Ky0bSmFT.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,8 +1,8 @@
1
1
  import * as rn from "react/jsx-runtime";
2
2
  import { jsx as se, jsxs as Pn } from "react/jsx-runtime";
3
- import { te as Ir, isTauri as Tr, unObfuscate as Pr, obfuscate as Ar } from "./index.DB7deAkb.js";
3
+ import { te as Ir, isTauri as Tr, unObfuscate as Pr, obfuscate as Ar } from "./index.CKriJDCb.js";
4
4
  import zr, { useState as Lt, useEffect as _t, useCallback as vt, useRef as Re } from "react";
5
- import { getDefaultExportFromCjs as Nt } from "./App.5gxvd-4-.js";
5
+ import { getDefaultExportFromCjs as Nt } from "./App.YrWB4OwR.js";
6
6
  import Lr from "clsx";
7
7
  const Rt = ({
8
8
  children: e,
@@ -6907,7 +6907,7 @@ class uu {
6907
6907
  if (!this.remarkGfm) {
6908
6908
  const { default: n } = await import(
6909
6909
  /* webpackChunkName: "md-remark" */
6910
- "./index.Dq4WBOGA.js"
6910
+ "./index.B7RaRKya.js"
6911
6911
  );
6912
6912
  this.remarkGfm = n;
6913
6913
  }
@@ -6918,7 +6918,7 @@ class uu {
6918
6918
  hu("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
6919
6919
  const { default: n } = await import(
6920
6920
  /* webpackChunkName: "md-rehype-katex" */
6921
- "./index.CJZ4xgED.js"
6921
+ "./index.B_LtCB1l.js"
6922
6922
  );
6923
6923
  this.rehypeKatex = n;
6924
6924
  }
@@ -6928,7 +6928,7 @@ class uu {
6928
6928
  if (!this.remarkMath) {
6929
6929
  const { default: n } = await import(
6930
6930
  /* webpackChunkName: "md-remark" */
6931
- "./index.Dfe22wCV.js"
6931
+ "./index.Ca4if9H7.js"
6932
6932
  );
6933
6933
  this.remarkMath = n;
6934
6934
  }
@@ -6938,7 +6938,7 @@ class uu {
6938
6938
  if (!this.rehypeHighlight) {
6939
6939
  const { default: n } = await import(
6940
6940
  /* webpackChunkName: "md-rehype-highlight" */
6941
- "./index.CCW8q5W5.js"
6941
+ "./index.BaFTRquS.js"
6942
6942
  );
6943
6943
  this.rehypeHighlight = n;
6944
6944
  }
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.DB7deAkb.js";
2
+ import { SassySaint as a } from "../../chunks/index.CKriJDCb.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.DB7deAkb.js";
1
+ import { SassySaint as r } from "./chunks/index.CKriJDCb.js";
2
2
  /*!
3
- @sassysaint/client v8.73.3
3
+ @sassysaint/client v8.74.1
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.73.3",
9
- buildTime: "10/28/2025 07:49 PM EDT",
8
+ version: "8.74.1",
9
+ buildTime: "10/29/2025 10:16 AM EDT",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {