@versini/sassysaint 8.73.2 → 8.74.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.
Files changed (26) hide show
  1. package/dist/chunks/{AboutChangelog.BGbXeM1V.js → AboutChangelog.BdU-Up44.js} +2 -2
  2. package/dist/chunks/{AboutEntry.B6zksAh7.js → AboutEntry.DKxA0zBe.js} +7 -7
  3. package/dist/chunks/{App.tbzd8U0K.js → App.BafsamRg.js} +1988 -1953
  4. package/dist/chunks/{Chart.D2MV2w_Q.js → Chart.BMNKv69z.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.RzH26aLB.js → ChatBubbleAssistant.C3XH9kHH.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.CBnoxqes.js → ChatBubbleUser.BV4VXkHI.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.C6I638cE.js → ChatHistoryTable.ChLyu6e8.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.CwveusV0.js → HistoryEntry.n12BNStM.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BSOMcinm.js → ProfileEntry.Bm9hoWDv.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.SHZazp-B.js → SettingsEntry.DW6n7f_c.js} +151 -130
  11. package/dist/chunks/{Table.DwbGRt2o.js → Table.dMXWQqLO.js} +2 -2
  12. package/dist/chunks/{UsageEntry.BOtq-YTl.js → UsageEntry.BJPBuwG4.js} +3 -3
  13. package/dist/chunks/{UserMemoriesPanel.BdWYKyp5.js → UserMemoriesPanel.-_GZ-ON7.js} +4 -4
  14. package/dist/chunks/{index.BO_yfOl7.js → index.B4yXsZXv.js} +3 -3
  15. package/dist/chunks/{index.CqtcPR4A.js → index.BhQUsmmc.js} +121 -108
  16. package/dist/chunks/{index.CREsouo5.js → index.CDPbaKth.js} +1 -1
  17. package/dist/chunks/{index.DX8g0zp_.js → index.D3Wzgh8c.js} +2 -2
  18. package/dist/chunks/{index.Tr3TVoxP.js → index.DK0EDN8A.js} +1 -1
  19. package/dist/chunks/{index.Dxke1YD_.js → index.EoaMCXbo.js} +1 -1
  20. package/dist/chunks/{index.zCqfAEjf.js → index.I5OKXaoQ.js} +1 -1
  21. package/dist/chunks/{index.Cxd_WImT.js → index.IqTXmY7u.js} +1 -1
  22. package/dist/chunks/{useMarkdown.DBF4PL2-.js → useMarkdown.BAbvNFGg.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
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.CqtcPR4A.js";
3
- import { oe as H } from "./App.tbzd8U0K.js";
2
+ import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.BhQUsmmc.js";
3
+ import { oe as H } from "./App.BafsamRg.js";
4
4
  import { useState as C, Suspense as K, lazy as j } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
8
  }, w = j(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.D2MV2w_Q.js"
10
+ "./Chart.BMNKv69z.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -1,10 +1,10 @@
1
1
  import { jsxs as l, jsx as e, Fragment as _ } from "react/jsx-runtime";
2
- import { I as se, L as O, j as y, C as v, n as ce, LOCAL_STORAGE_PREFIX as q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as oe, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ie, useUserMemories as ae, useDeleteMemory as de, useDeleteAllMemories as me, useUpdateMemory as he, te as B } from "./index.CqtcPR4A.js";
3
- import { oe as V, E as F, e as g, ConfirmationPanel as G, st as H } from "./App.tbzd8U0K.js";
2
+ import { I as se, L as O, j as y, C as v, n as ce, LOCAL_STORAGE_PREFIX as q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as oe, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ie, useUserMemories as ae, useDeleteMemory as de, useDeleteAllMemories as me, useUpdateMemory as he, te as B } from "./index.BhQUsmmc.js";
3
+ import { oe as V, E as F, e as g, ConfirmationPanel as G, st as H } from "./App.BafsamRg.js";
4
4
  import E from "clsx";
5
5
  import { useState as x, useEffect as xe, useRef as j } from "react";
6
- import { Re as ue } from "./index.Cxd_WImT.js";
7
- import { j as pe, D as fe, G as b, M as d, F as ge, H as ye, l as Ce, U as Ne } from "./Table.DwbGRt2o.js";
6
+ import { Re as ue } from "./index.IqTXmY7u.js";
7
+ import { j as pe, D as fe, G as b, M as d, F as ge, H as ye, l as Ce, U as Ne } from "./Table.dMXWQqLO.js";
8
8
  const Ae = ({
9
9
  className: a,
10
10
  viewBox: m,
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.tbzd8U0K.js";
2
- import { visit as In } from "./useMarkdown.DBF4PL2-.js";
3
- import { toText as Cn } from "./index.CREsouo5.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.BafsamRg.js";
2
+ import { visit as In } from "./useMarkdown.BAbvNFGg.js";
3
+ import { toText as Cn } from "./index.CDPbaKth.js";
4
4
  function xn(e) {
5
5
  const t = e.regex, i = e.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] }), a = "decltype\\(auto\\)", r = "[a-zA-Z_]\\w*::", d = "(?!struct)(" + a + "|" + t.optional(r) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", c = {
6
6
  className: "type",
@@ -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");
@@ -5192,20 +5192,30 @@ const Hi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5192
5192
  unitCount: 2
5193
5193
  }) : "N/A", Cs = ({
5194
5194
  isAuthenticated: e,
5195
- extraClass: t
5195
+ extraClass: t,
5196
+ oledMode: r
5196
5197
  }) => y(
5197
5198
  "px-4",
5198
- "bg-slate-900",
5199
+ "bg-slate-700 dark:bg-slate-900",
5199
5200
  "flex-1 overflow-y-auto",
5200
5201
  e ? "pt-0" : "pt-10",
5201
- t
5202
+ t,
5203
+ {
5204
+ "bg-slate-700 dark:bg-slate-900": r,
5205
+ "bg-slate-900": !r
5206
+ }
5202
5207
  ), Os = ({
5203
- extraClass: e
5208
+ extraClass: e,
5209
+ fullScreen: t
5204
5210
  } = {}) => y(
5205
5211
  "flex flex-col",
5206
- "w-full md:mx-auto md:max-w-4xl",
5212
+ "w-full md:mx-auto",
5207
5213
  "sm:px-5 px-2",
5208
5214
  "transition-all ease-in-out duration-500",
5215
+ {
5216
+ "md:max-w-4xl": !t,
5217
+ "md:max-w-svw": t
5218
+ },
5209
5219
  e
5210
5220
  ), Bi = (e, t) => t === 1 ? e : `${e}s`, qi = (e, t) => {
5211
5221
  let r;
@@ -5247,7 +5257,7 @@ const Hi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5247
5257
  icon: d
5248
5258
  }), Yi = (e, t) => t === "ready" && !!e && e.length > 0, zi = (e) => {
5249
5259
  e ? document.documentElement.setAttribute(Sr, "true") : document.documentElement.removeAttribute(Sr);
5250
- }, 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 = ({
5260
+ }, 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 = ({
5251
5261
  type: e,
5252
5262
  size: t,
5253
5263
  labelRight: r,
@@ -6751,9 +6761,9 @@ try {
6751
6761
  });
6752
6762
  } catch {
6753
6763
  }
6754
- 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}
6755
- Press Enter to send it or Shift+Enter for new line.`, vl = `${Xt}
6756
- Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "Review important details.", Al = [
6764
+ 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}
6765
+ Press Enter to send it or Shift+Enter for new line.`, Tl = `${Xt}
6766
+ Press Ctrl+Enter to send it or Enter for new line.`, Al = "{{clipboard}}", P = "Review important details.", Il = [
6757
6767
  `Sometimes, ${k} just makes stuff up. ${P}`,
6758
6768
  `${k} may invent facts on the fly. ${P}`,
6759
6769
  `${k} may be confidently wrong. ${P}`,
@@ -6774,17 +6784,17 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6774
6784
  `Sometimes, ${k} howls at the moon. ${P}`,
6775
6785
  `${k} may dig up imaginary bones. ${P}`,
6776
6786
  `${k} may sniff out nonsense. ${P}`
6777
- ], 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 = {
6787
+ ], _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 = {
6778
6788
  0: ["January", "February", "March"],
6779
6789
  3: ["April", "May", "June"],
6780
6790
  6: ["July", "August", "September"],
6781
6791
  9: ["October", "November", "December"]
6782
- }, $l = {
6792
+ }, xl = {
6783
6793
  0: ["Jan", "Feb", "Mar"],
6784
6794
  3: ["Apr", "May", "Jun"],
6785
6795
  6: ["Jul", "Aug", "Sep"],
6786
6796
  9: ["Oct", "Nov", "Dec"]
6787
- }, xl = {
6797
+ }, Ml = {
6788
6798
  PREFERENCES: {
6789
6799
  TITLE: "User profile",
6790
6800
  USERNAME: "Username",
@@ -6826,7 +6836,8 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6826
6836
  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.",
6827
6837
  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.",
6828
6838
  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.",
6829
- 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."
6839
+ 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.",
6840
+ 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."
6830
6841
  },
6831
6842
  SETTINGS_DETAILS: {
6832
6843
  TITLE: "Chats",
@@ -6843,6 +6854,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6843
6854
  {
6844
6855
  className: y(
6845
6856
  e,
6857
+ "w-full md:mx-auto md:max-w-4xl",
6846
6858
  "flex items-center justify-center text-slate-300"
6847
6859
  ),
6848
6860
  children: [
@@ -6971,7 +6983,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
6971
6983
  ] });
6972
6984
  }, jo = new URL(document.location.href).searchParams, Cr = !!jo.get("debug") || !1, Qo = Ws(() => import(
6973
6985
  /* webpackChunkName: "LazyApp" */
6974
- "./App.tbzd8U0K.js"
6986
+ "./App.BafsamRg.js"
6975
6987
  ).then((e) => e.App)), Jo = new ma(), Or = ({
6976
6988
  isComponent: e,
6977
6989
  headerHeight: t
@@ -7002,7 +7014,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
7002
7014
  endpoint: process.env.PUBLIC_AUTH_SERVER_URL,
7003
7015
  children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t })
7004
7016
  }
7005
- ) : /* @__PURE__ */ h(wr, { clientId: vr, domain: r, debug: Cr, children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t }) })), Ml = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ h(
7017
+ ) : /* @__PURE__ */ h(wr, { clientId: vr, domain: r, debug: Cr, children: /* @__PURE__ */ h(Or, { isComponent: e, headerHeight: t }) })), Dl = ({ domain: e, headerHeight: t }) => /* @__PURE__ */ h(
7006
7018
  Yo,
7007
7019
  {
7008
7020
  isComponent: !0,
@@ -7012,36 +7024,37 @@ Press Ctrl+Enter to send it or Enter for new line.`, Tl = "{{clipboard}}", P = "
7012
7024
  );
7013
7025
  export {
7014
7026
  k as $,
7015
- El as ABOUT_TITLE,
7027
+ wl as ABOUT_TITLE,
7016
7028
  dc as ACTION_RESET_PROMPT,
7017
7029
  cc as ACTION_SEARCH,
7018
7030
  lc as ACTION_SORT,
7019
7031
  uc as ACTION_TOGGLE_PROMPT,
7020
- Nl as APP_CLASSNAME,
7032
+ Pl as APP_CLASSNAME,
7021
7033
  xs as C,
7022
- xl as CARDS,
7023
- Tl as CLIPBOARD_PROMPT,
7024
- Rc as DEFAULT_ICON_ACTION_SIZE,
7025
- Fc as E,
7034
+ Ml as CARDS,
7035
+ Al as CLIPBOARD_PROMPT,
7036
+ Cc as DEFAULT_ICON_ACTION_SIZE,
7037
+ Hc as E,
7026
7038
  oc as ERROR_MESSAGE,
7027
- Jc as Et,
7028
- Kc as F,
7029
- Al as FOOTER_DISCLAIMERS,
7030
- bl as HISTORY_TITLE,
7039
+ Yc as Et,
7040
+ Gc as F,
7041
+ Il as FOOTER_DISCLAIMERS,
7042
+ El as HISTORY_TITLE,
7031
7043
  mt as I,
7032
- Ac as INFINITE_SCROLL_LIMIT,
7033
- Tc as INFINITE_SCROLL_THRESHOLD,
7034
- Pc as INPUT_BOTTOM_OFFSET,
7035
- Mc as INPUT_BOTTOM_OFFSET_EXTRA,
7036
- xc as INPUT_BOTTOM_OFFSET_IPAD,
7037
- $c as INPUT_BOTTOM_OFFSET_IPHONE,
7038
- vl as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7039
- Sl as INPUT_PLACEHOLDER_TEXT_ENTER,
7040
- wl as INPUT_PLACEHOLDER_TEXT_MOBILE,
7041
- qc as J,
7044
+ Ic as INFINITE_SCROLL_LIMIT,
7045
+ Ac as INFINITE_SCROLL_THRESHOLD,
7046
+ $c as INPUT_BOTTOM_OFFSET,
7047
+ Dc as INPUT_BOTTOM_OFFSET_EXTRA,
7048
+ Mc as INPUT_BOTTOM_OFFSET_IPAD,
7049
+ xc as INPUT_BOTTOM_OFFSET_IPHONE,
7050
+ Tl as INPUT_PLACEHOLDER_TEXT_CMD_ENTER,
7051
+ vl as INPUT_PLACEHOLDER_TEXT_ENTER,
7052
+ Sl as INPUT_PLACEHOLDER_TEXT_MOBILE,
7053
+ Wc as J,
7042
7054
  Io as L,
7043
7055
  Sc as LOCAL_STORAGE_CHAT_ID,
7044
7056
  bc as LOCAL_STORAGE_FAVORITES_ONLY,
7057
+ Tc as LOCAL_STORAGE_FULL_SCREEN,
7045
7058
  vc as LOCAL_STORAGE_OLED_MODE,
7046
7059
  us as LOCAL_STORAGE_PREFIX,
7047
7060
  Ec as LOCAL_STORAGE_PRIVATE_DISCLOSURE,
@@ -7052,49 +7065,49 @@ export {
7052
7065
  yc as LOCAL_STORAGE_SORT_MEMORY_DIRECTION,
7053
7066
  mc as LOCAL_STORAGE_SORT_TIMESTAMP,
7054
7067
  pc as LOCAL_STORAGE_SORT_TOKEN_USAGE,
7055
- ml as LOG_OUT,
7068
+ pl as LOG_OUT,
7056
7069
  Wo as Logo,
7057
7070
  dt as O,
7058
- yl as PROFILE_TITLE,
7059
- Il as PROMPTS_DESCRIPTION,
7060
- Ic as PROMPT_CLASSNAME,
7061
- _c as PROMPT_EDITABLE_AREA_CLASSNAME,
7062
- Wc as Q,
7071
+ gl as PROFILE_TITLE,
7072
+ _l as PROMPTS_DESCRIPTION,
7073
+ _c as PROMPT_CLASSNAME,
7074
+ Rc as PROMPT_EDITABLE_AREA_CLASSNAME,
7075
+ Vc as Q,
7063
7076
  Eo as S,
7064
7077
  B as SERVICE_TYPES,
7065
- gl as SETTINGS_TITLE,
7066
- Ml as SassySaint,
7067
- kl as TOAST_CACHE_DISABLED,
7068
- Ol as TOAST_CACHE_ENABLED,
7069
- Rl as TOAST_CHAT_DELETED,
7070
- Cl as TOAST_CHAT_SAVED,
7071
- _l as TOAST_PROVIDER_CHANGED,
7072
- Pl as TRIMESTERS,
7073
- $l as TRIMESTERS_SHORT,
7074
- Oc as UI_BUTTON_SCROLL_BUFFER,
7075
- kc as UI_DEFAULT_MAIN_HEIGHT,
7076
- Nc as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
7077
- Cc as UI_FOOTER_BUFFER,
7078
- pl as USAGE_TITLE,
7078
+ bl as SETTINGS_TITLE,
7079
+ Dl as SassySaint,
7080
+ Nl as TOAST_CACHE_DISABLED,
7081
+ kl as TOAST_CACHE_ENABLED,
7082
+ Cl as TOAST_CHAT_DELETED,
7083
+ Ol as TOAST_CHAT_SAVED,
7084
+ Rl as TOAST_PROVIDER_CHANGED,
7085
+ $l as TRIMESTERS,
7086
+ xl as TRIMESTERS_SHORT,
7087
+ kc as UI_BUTTON_SCROLL_BUFFER,
7088
+ Nc as UI_DEFAULT_MAIN_HEIGHT,
7089
+ Pc as UI_DEFAULT_MAIN_HEIGHT_IPHONE,
7090
+ Oc as UI_FOOTER_BUFFER,
7091
+ yl as USAGE_TITLE,
7079
7092
  Ei as V,
7080
7093
  zt as Y,
7081
- Bc as Z,
7094
+ qc as Z,
7082
7095
  zi as applyOledMode,
7083
- Hc as b,
7096
+ Kc as b,
7084
7097
  yo as b$1,
7085
7098
  ht as c,
7086
7099
  Yi as canEvaluateModels,
7087
7100
  Qi as convertCamelCaseToReadable,
7088
7101
  qi as debounce,
7089
- Uc as e,
7090
- Qc as et,
7091
- Lc as getCacheInfo,
7102
+ Fc as e,
7103
+ Jc as et,
7104
+ Uc as getCacheInfo,
7092
7105
  Mi as getCurrentGeoLocation,
7093
7106
  Os as getLayoutPaddingClass,
7094
7107
  Cs as getMessageContaintWrapperClass,
7095
7108
  me as graphQLRequest,
7096
7109
  Je as h,
7097
- Dc as handleServiceWorkerToggle,
7110
+ Lc as handleServiceWorkerToggle,
7098
7111
  Ds as i,
7099
7112
  jt as isDev,
7100
7113
  ji as isPWAMode,
@@ -7105,39 +7118,39 @@ export {
7105
7118
  ks as isTauri,
7106
7119
  xe as it,
7107
7120
  ye as j,
7108
- Gc as j$1,
7121
+ Bc as j$1,
7109
7122
  vo as l,
7110
7123
  ls as n,
7111
7124
  Ki as numberFormatter,
7112
7125
  Ms as o,
7113
7126
  Di as obfuscate,
7114
- Vc as ot,
7127
+ jc as ot,
7115
7128
  Bi as pluralize,
7116
7129
  He as r,
7117
7130
  Ui as renderDataAsList,
7118
- Yc as rt,
7131
+ zc as rt,
7119
7132
  vi as serverUrl,
7120
- zc as setNewProvider,
7121
- Xc as setUserPlan,
7122
- jc as st,
7133
+ Xc as setNewProvider,
7134
+ Zc as setUserPlan,
7135
+ Qc as st,
7123
7136
  it as te,
7124
7137
  Li as unObfuscate,
7125
- el as useChangelogs,
7126
- sl as useChat,
7127
- rl as useChatsHistory,
7128
- ol as useChatsUsage,
7129
- dl as useDeleteAllMemories,
7130
- nl as useDeleteChat,
7131
- ul as useDeleteMemory,
7132
- hl as useEntitlements,
7138
+ tl as useChangelogs,
7139
+ al as useChat,
7140
+ sl as useChatsHistory,
7141
+ cl as useChatsUsage,
7142
+ hl as useDeleteAllMemories,
7143
+ il as useDeleteChat,
7144
+ dl as useDeleteMemory,
7145
+ fl as useEntitlements,
7133
7146
  he as useQueryClient,
7134
- al as useSaveChat,
7135
- Zc as useServerCapabilities,
7136
- il as useToggleFavoriteChat,
7137
- ll as useUpdateMemory,
7138
- tl as useUserChatStats,
7139
- cl as useUserMemories,
7147
+ nl as useSaveChat,
7148
+ el as useServerCapabilities,
7149
+ ol as useToggleFavoriteChat,
7150
+ ul as useUpdateMemory,
7151
+ rl as useUserChatStats,
7152
+ ll as useUserMemories,
7140
7153
  Ti as useUserPreferences,
7141
- fl as utilities,
7154
+ ml as utilities,
7142
7155
  Fs as x
7143
7156
  };
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.DBF4PL2-.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.BAbvNFGg.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.DBF4PL2-.js";
2
- import { toText as Ca } from "./index.CREsouo5.js";
1
+ import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.BAbvNFGg.js";
2
+ import { toText as Ca } from "./index.CDPbaKth.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,5 +1,5 @@
1
1
  import { jsxs as p, jsx as i } from "react/jsx-runtime";
2
- import { te as B } from "./index.CqtcPR4A.js";
2
+ import { te as B } from "./index.BhQUsmmc.js";
3
3
  import { useState as I, useEffect as k } from "react";
4
4
  import s from "clsx";
5
5
  const h = "av-bubble", w = ({
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.DBF4PL2-.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BAbvNFGg.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 se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.DBF4PL2-.js";
1
+ import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.BAbvNFGg.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as x } from "react/jsx-runtime";
2
- import { o as se, h as U, i as ie, x as de } from "./index.CqtcPR4A.js";
2
+ import { o as se, h as U, i as ie, x as de } from "./index.BhQUsmmc.js";
3
3
  import ce, { useState as _, useEffect as ne, useRef as b, useLayoutEffect as T } from "react";
4
4
  import s from "clsx";
5
5
  function ue({