@versini/sassysaint 8.79.1 → 8.81.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.RQ2dLRs9.js → AboutChangelog.CG9_9RBr.js} +3 -3
  2. package/dist/chunks/{AboutEntry.CpFMkr79.js → AboutEntry.BcWHXPTl.js} +5 -5
  3. package/dist/chunks/{App.DAaATEKV.js → App.fy42GZ00.js} +2633 -2817
  4. package/dist/chunks/{Chart.BKmafZak.js → Chart.DgPu7GAJ.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.B4IGyY5V.js → ChatBubbleAssistant.QcgMeCXD.js} +11 -11
  6. package/dist/chunks/{ChatBubbleUser.DsOMP5go.js → ChatBubbleUser.DBCisdEg.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.D4gYhSA9.js → ChatHistoryTable.BpklvK1V.js} +11 -11
  8. package/dist/chunks/{HistoryEntry.CUbsjW_l.js → HistoryEntry.CewFhms8.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.Dz9CVci_.js → ProfileEntry.k75Va2Cz.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.DuAYMX4m.js → SettingsEntry.D29K9xF_.js} +26 -26
  11. package/dist/chunks/{UsageEntry.DpVRUiH5.js → UsageEntry.qqzZUjsN.js} +3 -3
  12. package/dist/chunks/{UserMemoriesPanel.DvYce5sW.js → UserMemoriesPanel.B1FmaK56.js} +14 -14
  13. package/dist/chunks/{index.0cE1U8yJ.js → index.BdHiUvmZ.js} +1 -1
  14. package/dist/chunks/{index.YawG6Xex.js → index.BsGDroXc.js} +1 -1
  15. package/dist/chunks/{index.B1uZUNzr.js → index.Bw68vbKf.js} +3 -3
  16. package/dist/chunks/{index.BCU0BgSz.js → index.Ce9p-YjW.js} +1 -1
  17. package/dist/chunks/{Table.CjzaBOxn.js → index.D20JAa4I.js} +38 -26
  18. package/dist/chunks/{index.IxOxnKDE.js → index.DMtpmERc.js} +2 -2
  19. package/dist/chunks/{index.B9QORjw0.js → index.DdvISo_s.js} +1 -1
  20. package/dist/chunks/{index.TirpXeDY.js → index.DvG_-Ewj.js} +1 -1
  21. package/dist/chunks/{index.JBnaIFI9.js → index.Q0TPtuHy.js} +1808 -1693
  22. package/dist/chunks/{useMarkdown.BtHcsdXH.js → useMarkdown.BeoSWV0O.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,7 +1,7 @@
1
1
  import { jsx as Ap } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.DAaATEKV.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.fy42GZ00.js";
3
3
  import Cp, { useState as Pp, useEffect as Op } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.JBnaIFI9.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.Q0TPtuHy.js";
5
5
  var ls = { exports: {} }, Ip = ls.exports, on;
6
6
  function Dp() {
7
7
  return on || (on = 1, (function(we, he) {
@@ -1,10 +1,10 @@
1
1
  import { jsx as x } from "react/jsx-runtime";
2
- import { n as P, useUserPreferences as R, convertCamelCaseToReadable as y, numberFormatter as L, pluralize as _, Q as v } from "./index.JBnaIFI9.js";
3
- import { BUBBLE_FOOTER_EMPTY as B } from "./index.YawG6Xex.js";
2
+ import { ChatContext as P, AppContext as R, n as y, useUserPreferences as L, convertCamelCaseToReadable as _, numberFormatter as v, pluralize as B, Q as G } from "./index.Q0TPtuHy.js";
3
+ import { BUBBLE_FOOTER_EMPTY as D } from "./index.BsGDroXc.js";
4
4
  import U from "clsx";
5
- import G, { useState as M, useRef as E, useEffect as F, useContext as S } from "react";
6
- import { ChatContext as D, AppContext as j, AsyncBubble as k } from "./App.DAaATEKV.js";
7
- import { useMarkdown as q } from "./useMarkdown.BtHcsdXH.js";
5
+ import j, { useState as M, useRef as E, useEffect as F, useContext as S } from "react";
6
+ import { AsyncBubble as k } from "./App.fy42GZ00.js";
7
+ import { useMarkdown as q } from "./useMarkdown.BeoSWV0O.js";
8
8
  const I = 2, W = I * 1e3, b = "", V = (e) => e * (2 - e);
9
9
  function Y(e, n = !0) {
10
10
  const [a, d] = M(0), [i, p] = M(0), [t, C] = M(e), r = E(0), s = E(0);
@@ -25,7 +25,7 @@ const f = {
25
25
  MODEL: "Model",
26
26
  PLUGIN: "Plugin",
27
27
  USAGE: "Session usage"
28
- }, w = U("max-w-[99cqw]", "mt-3"), Z = G.memo(
28
+ }, w = U("max-w-[99cqw]", "mt-3"), Z = j.memo(
29
29
  ({
30
30
  content: e,
31
31
  annotations: n,
@@ -36,9 +36,9 @@ const f = {
36
36
  }) => {
37
37
  const t = Y(e, i), {
38
38
  state: { streaming: C, restoredModel: r, tokenUsage: s }
39
- } = S(D), {
39
+ } = S(P), {
40
40
  state: { fullScreen: g }
41
- } = S(j), c = n?.model || r, o = s, [u, l] = q(), { user: h, getAccessToken: T } = P(), { data: N } = R({
41
+ } = S(R), c = n?.model || r, o = s, [u, l] = q(), { user: h, getAccessToken: T } = y(), { data: N } = L({
42
42
  user: h?.username,
43
43
  getAccessToken: T
44
44
  }), O = N?.showDetails || !1, A = U("prose-li:ps-3", {
@@ -47,10 +47,10 @@ const f = {
47
47
  let m;
48
48
  return O && (m = {
49
49
  [f.MODEL]: c || null,
50
- [f.PLUGIN]: a ? y(a) : null
51
- }, o && (p ? m[f.USAGE] = `${L.format(o)} ${_("token", o)}` : m[f.USAGE] = B)), F(() => {
50
+ [f.PLUGIN]: a ? _(a) : null
51
+ }, o && (p ? m[f.USAGE] = `${v.format(o)} ${B("token", o)}` : m[f.USAGE] = D)), F(() => {
52
52
  t && l(t);
53
- }, [t, l]), d === v ? /* @__PURE__ */ x(
53
+ }, [t, l]), d === G ? /* @__PURE__ */ x(
54
54
  k,
55
55
  {
56
56
  gradient: "medium",
@@ -1,8 +1,8 @@
1
1
  import { jsx as a, Fragment as h, jsxs as S } from "react/jsx-runtime";
2
- import { Button as C } from "./index.JBnaIFI9.js";
2
+ import { Button as C } from "./index.Q0TPtuHy.js";
3
3
  import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
4
- import { AsyncBubble as w } from "./App.DAaATEKV.js";
5
- import { useMarkdown as x } from "./useMarkdown.BtHcsdXH.js";
4
+ import { AsyncBubble as w } from "./App.fy42GZ00.js";
5
+ import { useMarkdown as x } from "./useMarkdown.BeoSWV0O.js";
6
6
  /*!
7
7
  @versini/ui-truncate v5.2.0
8
8
  © 2025 gizmette.com
@@ -1,9 +1,9 @@
1
1
  import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
- import { f as p, h as u, INFINITE_SCROLL_THRESHOLD as k, CARDS as D, pluralize as T, ButtonIcon as d, IconRestore as y, IconStarInCircle as U, IconStarInCircleLight as z, IconDelete as P, numberFormatter as L, C as _, IconGoogleGemini as G, IconOpenAI as $, IconAnthropic as B, isProbablyMobile as K, K as W, q as Y, E as H } from "./index.JBnaIFI9.js";
3
- import { Tooltip as h } from "./App.DAaATEKV.js";
2
+ import { f as p, h as u, INFINITE_SCROLL_THRESHOLD as k, CARDS as D, pluralize as T, ButtonIcon as d, IconRestore as y, IconStarInCircle as U, IconStarInCircleLight as z, IconDelete as P, numberFormatter as L, C as _, IconGoogleGemini as G, IconOpenAI as $, IconAnthropic as B, isProbablyMobile as K, K as W, q as Y, E as H } from "./index.Q0TPtuHy.js";
3
+ import { W as F, j as V, G as h, H as j, M as n, F as N } from "./index.D20JAa4I.js";
4
+ import { Tooltip as x } from "./App.fy42GZ00.js";
4
5
  import l from "clsx";
5
- import { Fragment as F } from "react";
6
- import { W as V, j, G as x, H as q, M as n, F as N } from "./Table.CjzaBOxn.js";
6
+ import { Fragment as q } from "react";
7
7
  const J = {
8
8
  [H]: B,
9
9
  [Y]: $,
@@ -156,7 +156,7 @@ const J = {
156
156
  case s.ACTIONS:
157
157
  return /* @__PURE__ */ e(n, { children: /* @__PURE__ */ m("div", { className: "flex flex-col items-end sm:flex-row gap-2", children: [
158
158
  /* @__PURE__ */ e(
159
- h,
159
+ x,
160
160
  {
161
161
  label: "Restore chat",
162
162
  placement: "top",
@@ -176,7 +176,7 @@ const J = {
176
176
  }
177
177
  ),
178
178
  /* @__PURE__ */ e(
179
- h,
179
+ x,
180
180
  {
181
181
  label: r.favoriteChat ? "Remove from favorites" : "Add to favorites",
182
182
  placement: "top",
@@ -195,7 +195,7 @@ const J = {
195
195
  }
196
196
  ),
197
197
  /* @__PURE__ */ e(
198
- h,
198
+ x,
199
199
  {
200
200
  label: "Delete chat",
201
201
  placement: "top",
@@ -219,14 +219,14 @@ const J = {
219
219
  return null;
220
220
  }
221
221
  };
222
- return /* @__PURE__ */ m(V, { stickyHeader: !0, compact: !0, mode: "alt-system", caption: (() => {
222
+ return /* @__PURE__ */ m(F, { stickyHeader: !0, compact: !0, mode: "alt-system", caption: (() => {
223
223
  const t = c.length, r = E ?? t;
224
224
  return v && r > t ? `Showing ${T(`${t} chat`, t)} out of ${r}` : T(`${t} chat`, t);
225
225
  })(), children: [
226
- /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e(x, { children: M.map((t) => w(t)) }) }),
227
- /* @__PURE__ */ e(q, { children: I && c.length === 0 ? /* @__PURE__ */ e(x, { children: /* @__PURE__ */ e(n, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : c.slice(0, g).map((t, r) => t?.messages?.length > 0 ? /* @__PURE__ */ m(F, { children: [
226
+ /* @__PURE__ */ e(V, { children: /* @__PURE__ */ e(h, { children: M.map((t) => w(t)) }) }),
227
+ /* @__PURE__ */ e(j, { children: I && c.length === 0 ? /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(n, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : c.slice(0, g).map((t, r) => t?.messages?.length > 0 ? /* @__PURE__ */ m(q, { children: [
228
228
  r === g - k && /* @__PURE__ */ e("tr", { ref: A }),
229
- /* @__PURE__ */ e(x, { children: M.map(
229
+ /* @__PURE__ */ e(h, { children: M.map(
230
230
  (i) => b(i, t, r)
231
231
  ) })
232
232
  ] }, `${D.HISTORY.TITLE}-${t.id}-${r}`) : null) })
@@ -1,11 +1,11 @@
1
1
  import { jsxs as l, Fragment as re, jsx as r } from "react/jsx-runtime";
2
- import { n as M, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as ae, useLocalStorage as p, LOCAL_STORAGE_PREFIX as y, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, f as R, useUserPreferences as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as ue, SERVICE_TYPES as me, setNewProvider as Ce, ACTION_SORT as Se, h as fe, TOAST_PROVIDER_CHANGED as pe, useChatsHistory as ye, useUserChatStats as Te, LOCAL_STORAGE_SEARCH as ge, LOCAL_STORAGE_FAVORITES_ONLY as Ae, HISTORY_TITLE as Ee, Card as ve, TextInput as _e, debounce as De, IconSearch as Oe, Button as Re, ACTION_SEARCH as Ie } from "./index.JBnaIFI9.js";
3
- import { HistoryContext as U, ChatContext as B, useAiChat as Le, e as h, ConfirmationPanel as ke, LazyToastContainerWrapper as be, showErrorToast as Ne, CHAT_SET_PROVIDER as we, showSuccessToast as xe, CHAT_SET_STATUS as He, Panel as Fe, Toggle as Pe } from "./App.DAaATEKV.js";
2
+ import { n as M, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as ae, HistoryContext as U, ChatContext as B, useLocalStorage as p, LOCAL_STORAGE_PREFIX as y, LOCAL_STORAGE_SORT_TIMESTAMP as se, e as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, f as R, useUserPreferences as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as ue, SERVICE_TYPES as me, setNewProvider as Ce, ACTION_SORT as Se, h as fe, TOAST_PROVIDER_CHANGED as pe, useChatsHistory as ye, useUserChatStats as Te, LOCAL_STORAGE_SEARCH as ge, LOCAL_STORAGE_FAVORITES_ONLY as Ae, HISTORY_TITLE as Ee, Card as ve, TextInput as _e, debounce as De, IconSearch as Oe, Button as Re, ACTION_SEARCH as Ie } from "./index.Q0TPtuHy.js";
3
+ import { useAiChat as Le, ConfirmationPanel as ke, LazyToastContainerWrapper as be, showErrorToast as Ne, CHAT_SET_PROVIDER as we, showSuccessToast as xe, CHAT_SET_STATUS as He, Panel as Fe, Toggle as Pe } from "./App.fy42GZ00.js";
4
4
  import { useRef as H, useState as F, useContext as I, useCallback as z, Suspense as Ve, lazy as Ge, useEffect as ze } from "react";
5
5
  const Me = Ge(
6
6
  () => import(
7
7
  /* webpackChunkName: "history-table" */
8
- "./ChatHistoryTable.D4gYhSA9.js"
8
+ "./ChatHistoryTable.BpklvK1V.js"
9
9
  ).then((u) => ({ default: u.ChatHistoryTable }))
10
10
  ), Ue = ({
11
11
  filteredHistory: u,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, Fragment as D, jsx as e } from "react/jsx-runtime";
2
- import { preloadToast as K, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as H, LazyToastContainerWrapper as $, Panel as V } from "./App.DAaATEKV.js";
3
- import { n as q, useUniqueId as J, useUserPreferences as Q, useServerCapabilities as X, d as Z, setUserPlan as ee, Card as d, renderDataAsList as ae, CARDS as s, L as P, j as c, Button as se, it as ne, isTauri as re, ButtonIcon as te, IconPasskey as L, PROFILE_TITLE as le } from "./index.JBnaIFI9.js";
2
+ import { preloadToast as K, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as H, LazyToastContainerWrapper as $, Panel as V } from "./App.fy42GZ00.js";
3
+ import { n as q, useUniqueId as J, useUserPreferences as Q, useServerCapabilities as X, d as Z, setUserPlan as ee, Card as d, renderDataAsList as ae, CARDS as s, L as P, j as c, Button as se, it as ne, isTauri as re, ButtonIcon as te, IconPasskey as L, PROFILE_TITLE as le } from "./index.Q0TPtuHy.js";
4
4
  import ie from "clsx";
5
5
  import { useState as m, useMemo as ce, useCallback as f } from "react";
6
6
  const oe = () => {
@@ -1,30 +1,30 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as je, useEntitlements as Ve, useUserPreferences as Fe, V as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as We, LOCAL_STORAGE_FULL_SCREEN as $e, k as ue, canEvaluateModels as ze, Y as He, getCacheInfo as Ye, isServiceWorkerEnabled as qe, SETTINGS_TITLE as Ke, Card as E, CARDS as r, b as Qe, Button as v, PROMPTS_DESCRIPTION as Je, e_ as me, L as Xe, j as he, applyOledMode as Ee, getCurrentGeoLocation as Ze, graphQLRequest as fe, handleServiceWorkerToggle as et, SERVICE_TYPES as Se } from "./index.JBnaIFI9.js";
3
- import { AppContext as tt, useCapability as pe, Panel as ot, Toggle as l, APP_SET_OLED_MODE as ge, APP_SET_FULL_SCREEN as be } from "./App.DAaATEKV.js";
4
- import { TextArea as Te } from "./index.0cE1U8yJ.js";
2
+ import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, V as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, k as ue, canEvaluateModels as He, Y as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as E, CARDS as r, b as Je, Button as v, PROMPTS_DESCRIPTION as Xe, e_ as me, L as Ze, j as he, applyOledMode as Ee, APP_SET_OLED_MODE as fe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.Q0TPtuHy.js";
3
+ import { useCapability as be, Panel as ot, Toggle as l } from "./App.fy42GZ00.js";
4
+ import { TextArea as Te } from "./index.BdHiUvmZ.js";
5
5
  import { useContext as at, useState as a, useMemo as st, useCallback as nt, useEffect as Ne } from "react";
6
6
  const ut = ({
7
7
  open: Ce,
8
8
  onOpenChange: A
9
9
  }) => {
10
- const { getAccessToken: I, user: R } = je(), { allowedModels: w, status: B } = Ve(), { dispatch: g } = at(tt), {
10
+ const { getAccessToken: I, user: R } = je(), { allowedModels: w, status: B } = Ve(), { dispatch: g } = at(Fe), {
11
11
  data: o,
12
12
  isSuccess: ye,
13
13
  refetch: x
14
- } = Fe({
14
+ } = We({
15
15
  user: R?.username,
16
16
  getAccessToken: I
17
17
  }), [G, b] = a({
18
18
  loadingLocation: !1
19
19
  }), [L, U] = a({
20
20
  prompts: []
21
- }), [j, V] = a(""), [F, T] = a(""), [W, $] = a(!1), [z, H] = a(!1), [N, Y] = a(!1), [C, q] = a(!1), [K, Q] = a(!1), [k, J] = a(!1), [f, X] = a(null), [Z, ee] = a(!1), [te, oe] = a(!1), ae = pe(ie.TOOL.MEMORIES), se = pe(ie.ADDON.REASONING), [i, Ie] = de({
22
- key: We,
21
+ }), [j, V] = a(""), [F, T] = a(""), [W, $] = a(!1), [z, H] = a(!1), [N, Y] = a(!1), [C, q] = a(!1), [K, Q] = a(!1), [k, J] = a(!1), [f, X] = a(null), [Z, ee] = a(!1), [te, oe] = a(!1), ae = be(ie.TOOL.MEMORIES), se = be(ie.ADDON.REASONING), [i, Ie] = de({
22
+ key: $e,
23
23
  initialValue: !1
24
24
  }), [u, we] = de({
25
- key: $e,
25
+ key: ze,
26
26
  initialValue: !1
27
- }), [m, M] = a(!1), [S, D] = a(!1), [ne, re] = a(ue), Le = st(() => ze(w, B) ? He(w) : !1, [w, B]), ke = (e) => {
27
+ }), [m, M] = a(!1), [S, D] = a(!1), [ne, re] = a(ue), Le = st(() => He(w, B) ? Ye(w) : !1, [w, B]), ke = (e) => {
28
28
  oe(e);
29
29
  }, Me = (e) => {
30
30
  $(e);
@@ -45,9 +45,9 @@ const ut = ({
45
45
  }, Be = async (e) => {
46
46
  e.preventDefault();
47
47
  try {
48
- await fe({
48
+ await pe({
49
49
  accessToken: await I(),
50
- type: Se.SET_USER_PREFERENCES,
50
+ type: ge.SET_USER_PREFERENCES,
51
51
  params: {
52
52
  user: R?.username,
53
53
  instructions: j,
@@ -55,8 +55,8 @@ const ut = ({
55
55
  provider: o?.provider,
56
56
  /**
57
57
  * When nested model selection is disabled, explicitly clear any stored
58
- * model preference so the user relies solely on provider defaults.
59
- * Empty string signals to backend to use provider's default model.
58
+ * model preference so the user relies solely on provider defaults. Empty
59
+ * string signals to backend to use provider's default model.
60
60
  */
61
61
  model: k && o?.model || "",
62
62
  tags: L.prompts,
@@ -67,11 +67,11 @@ const ut = ({
67
67
  useNestedModelSelection: k,
68
68
  themeMode: ne
69
69
  }
70
- }), C !== N && (await et(C), Y(C)), m !== i && (Ie(m), Ee(m), g({
71
- type: ge,
70
+ }), C !== N && (await tt(C), Y(C)), m !== i && (Ie(m), Ee(m), g({
71
+ type: fe,
72
72
  payload: { oledMode: m }
73
73
  })), S !== u && (we(S), g({
74
- type: be,
74
+ type: Se,
75
75
  payload: { fullScreen: S }
76
76
  })), x(), b({
77
77
  loadingLocation: !1
@@ -83,9 +83,9 @@ const ut = ({
83
83
  loadingLocation: !0
84
84
  }), T("...");
85
85
  try {
86
- const e = Date.now(), s = await Ze(), y = await fe({
86
+ const e = Date.now(), s = await et(), y = await pe({
87
87
  accessToken: await I(),
88
- type: Se.GET_LOCATION,
88
+ type: ge.GET_LOCATION,
89
89
  params: {
90
90
  latitude: s.latitude,
91
91
  longitude: s.longitude
@@ -103,10 +103,10 @@ const ut = ({
103
103
  }
104
104
  }, le = () => {
105
105
  m !== i && (M(i), Ee(i), g({
106
- type: ge,
106
+ type: fe,
107
107
  payload: { oledMode: i }
108
108
  })), S !== u && (D(u), g({
109
- type: be,
109
+ type: Se,
110
110
  payload: { fullScreen: u }
111
111
  })), x(), A(!1);
112
112
  }, _ = ({
@@ -135,7 +135,7 @@ const ut = ({
135
135
  }, ce = nt(async () => {
136
136
  try {
137
137
  ee(!0);
138
- const e = await Ye();
138
+ const e = await qe();
139
139
  X(e);
140
140
  } catch {
141
141
  } finally {
@@ -146,7 +146,7 @@ const ut = ({
146
146
  if (!o)
147
147
  return;
148
148
  o.instructions && V(o.instructions), o.location && T(o.location), o.tags && U({ prompts: o.tags }), o.sendOnEnter !== void 0 && $(o.sendOnEnter), o.useMemory !== void 0 && H(o.useMemory), o.showDetails !== void 0 && oe(o.showDetails), o.showReasoningButton !== void 0 && Q(o.showReasoningButton), o.useNestedModelSelection !== void 0 && J(o.useNestedModelSelection), o.themeMode !== void 0 && re(o.themeMode);
149
- const e = qe();
149
+ const e = Ke();
150
150
  Y(e), q(e), M(i), D(u);
151
151
  }, [o, i, u]), Ne(() => {
152
152
  N ? ce() : X(null);
@@ -155,11 +155,11 @@ const ut = ({
155
155
  {
156
156
  open: Ce,
157
157
  onOpenChange: le,
158
- title: Ke,
158
+ title: Qe,
159
159
  animation: !0,
160
160
  animationType: "fade",
161
161
  footer: /* @__PURE__ */ n(
162
- Xe,
162
+ Ze,
163
163
  {
164
164
  columnGap: 2,
165
165
  alignHorizontal: "flex-end",
@@ -252,7 +252,7 @@ const ut = ({
252
252
  children: [
253
253
  /* @__PURE__ */ n("p", { className: "text-sm", children: [
254
254
  "What would you like ",
255
- /* @__PURE__ */ t("em", { children: Qe }),
255
+ /* @__PURE__ */ t("em", { children: Je }),
256
256
  " to know about you to provide better responses?"
257
257
  ] }),
258
258
  /* @__PURE__ */ t(
@@ -317,7 +317,7 @@ const ut = ({
317
317
  className: "prose-dark dark:prose-lighter mt-4",
318
318
  noBorder: !0,
319
319
  children: [
320
- /* @__PURE__ */ t("p", { className: "text-sm", children: Je }),
320
+ /* @__PURE__ */ t("p", { className: "text-sm", children: Xe }),
321
321
  L.prompts && L.prompts.slice(0, 3).map((e) => /* @__PURE__ */ n(
322
322
  E,
323
323
  {
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j as A, Button as i, pluralize as m } from "./index.JBnaIFI9.js";
3
- import { Panel as H } from "./App.DAaATEKV.js";
2
+ import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j as A, Button as i, pluralize as m } from "./index.Q0TPtuHy.js";
3
+ import { Panel as H } from "./App.fy42GZ00.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.BKmafZak.js"
10
+ "./Chart.DgPu7GAJ.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as b } from "react/jsx-runtime";
2
- import { L as R, j as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.JBnaIFI9.js";
3
- import { Panel as le, Toggle as _, e as l, ConfirmationPanel as ee, Tooltip as z } from "./App.DAaATEKV.js";
2
+ import { L as R, j as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.Q0TPtuHy.js";
3
+ import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.fy42GZ00.js";
4
+ import { W as te, j as re, G as D, M as s, F as B, H as ie, D as ne } from "./index.D20JAa4I.js";
4
5
  import y from "clsx";
5
- import { useState as C, useEffect as Le, useRef as te } from "react";
6
- import { TextArea as Oe } from "./index.0cE1U8yJ.js";
7
- import { W as re, j as ie, G as D, M as s, F as B, H as ne, D as oe } from "./Table.CjzaBOxn.js";
6
+ import { useState as C, useEffect as Le, useRef as oe } from "react";
7
+ import { TextArea as Oe } from "./index.BdHiUvmZ.js";
8
8
  const _e = ({
9
9
  open: N,
10
10
  onOpenChange: E,
@@ -216,7 +216,7 @@ const _e = ({
216
216
  query: I,
217
217
  getAccessToken: n,
218
218
  enabled: N && m === "expired"
219
- }), P = ve({ getAccessToken: n }), X = De({ getAccessToken: n }), V = Me({ getAccessToken: n }), F = Ee({ getAccessToken: n }), $ = be({ getAccessToken: n }), [se, Y] = C(!1), k = te(null), [ae, W] = C(!1), [ce, G] = C(!1), x = te(null), J = (t, i, c, d) => {
219
+ }), P = ve({ getAccessToken: n }), X = De({ getAccessToken: n }), V = Me({ getAccessToken: n }), F = Ee({ getAccessToken: n }), $ = be({ getAccessToken: n }), [se, Y] = C(!1), k = oe(null), [ae, W] = C(!1), [ce, G] = C(!1), x = oe(null), J = (t, i, c, d) => {
220
220
  k.current = { id: t, text: i, description: c, createdAt: d }, Y(!0);
221
221
  }, de = () => {
222
222
  k.current && P.mutate({ user: a, memoryId: k.current.id });
@@ -382,8 +382,8 @@ const _e = ({
382
382
  children: m === "active" ? /* @__PURE__ */ r(b, { children: [
383
383
  U && /* @__PURE__ */ e("p", { className: "m-0", children: "Loading memories..." }),
384
384
  q && /* @__PURE__ */ e("p", { className: "m-0 text-red-500", children: "Failed to load memories." }),
385
- !U && !q && (g && g.items.length > 0 ? /* @__PURE__ */ r(re, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
386
- /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ r(D, { children: [
385
+ !U && !q && (g && g.items.length > 0 ? /* @__PURE__ */ r(te, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
386
+ /* @__PURE__ */ e(re, { children: /* @__PURE__ */ r(D, { children: [
387
387
  /* @__PURE__ */ e(s, { className: "sr-only", children: "Row" }),
388
388
  /* @__PURE__ */ e(s, { children: "Memory" }),
389
389
  /* @__PURE__ */ e(
@@ -424,7 +424,7 @@ const _e = ({
424
424
  ),
425
425
  /* @__PURE__ */ e(s, { align: "right", children: "Actions" })
426
426
  ] }) }),
427
- /* @__PURE__ */ e(ne, { children: [...g.items].sort((t, i) => {
427
+ /* @__PURE__ */ e(ie, { children: [...g.items].sort((t, i) => {
428
428
  if (o === "createdAt") {
429
429
  const c = t.createdAt ? new Date(t.createdAt).getTime() : 0, d = i.createdAt ? new Date(i.createdAt).getTime() : 0;
430
430
  return u === l.ASC ? c - d : d - c;
@@ -539,7 +539,7 @@ const _e = ({
539
539
  }
540
540
  ) })
541
541
  ] }, t.memoryId)) }),
542
- /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ r(s, { colSpan: 5, children: [
542
+ /* @__PURE__ */ e(ne, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ r(s, { colSpan: 5, children: [
543
543
  g.total,
544
544
  " memor",
545
545
  g.total === 1 ? "y" : "ies",
@@ -560,8 +560,8 @@ const _e = ({
560
560
  ] }) : /* @__PURE__ */ r(b, { children: [
561
561
  H && /* @__PURE__ */ e("p", { className: "m-0", children: "Loading expired memories..." }),
562
562
  j && /* @__PURE__ */ e("p", { className: "m-0 text-red-500", children: "Failed to load expired memories." }),
563
- !H && !j && (f && f.items.length > 0 ? /* @__PURE__ */ r(re, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
564
- /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ r(D, { children: [
563
+ !H && !j && (f && f.items.length > 0 ? /* @__PURE__ */ r(te, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
564
+ /* @__PURE__ */ e(re, { children: /* @__PURE__ */ r(D, { children: [
565
565
  /* @__PURE__ */ e(s, { className: "sr-only", children: "Row" }),
566
566
  /* @__PURE__ */ e(s, { children: "Memory" }),
567
567
  /* @__PURE__ */ e(
@@ -602,7 +602,7 @@ const _e = ({
602
602
  ),
603
603
  /* @__PURE__ */ e(s, { align: "right", children: "Actions" })
604
604
  ] }) }),
605
- /* @__PURE__ */ e(ne, { children: [...f.items].sort((t, i) => {
605
+ /* @__PURE__ */ e(ie, { children: [...f.items].sort((t, i) => {
606
606
  if (o === "createdAt") {
607
607
  const c = t.createdAt ? new Date(t.createdAt).getTime() : 0, d = i.createdAt ? new Date(i.createdAt).getTime() : 0;
608
608
  return u === l.ASC ? c - d : d - c;
@@ -711,7 +711,7 @@ const _e = ({
711
711
  }
712
712
  ) })
713
713
  ] }, t.memoryId)) }),
714
- /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ r(s, { colSpan: 5, children: [
714
+ /* @__PURE__ */ e(ne, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ r(s, { colSpan: 5, children: [
715
715
  f.total,
716
716
  " expired memor",
717
717
  f.total === 1 ? "y" : "ies",
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as h } from "react/jsx-runtime";
2
- import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.JBnaIFI9.js";
2
+ import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.Q0TPtuHy.js";
3
3
  import ue, { useRef as k, useState as I, useLayoutEffect as R } from "react";
4
4
  import o from "clsx";
5
5
  /*!
@@ -1,5 +1,5 @@
1
1
  import { jsxs as h, jsx as l } from "react/jsx-runtime";
2
- import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.JBnaIFI9.js";
2
+ import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.Q0TPtuHy.js";
3
3
  import { useState as N, useEffect as $ } from "react";
4
4
  import t from "clsx";
5
5
  /*!
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.DAaATEKV.js";
2
- import { visit as In } from "./useMarkdown.BtHcsdXH.js";
3
- import { toText as Cn } from "./index.B9QORjw0.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.fy42GZ00.js";
2
+ import { visit as In } from "./useMarkdown.BeoSWV0O.js";
3
+ import { toText as Cn } from "./index.DdvISo_s.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",
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BtHcsdXH.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BeoSWV0O.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,8 +1,7 @@
1
1
  import { jsx as l, jsxs as y } from "react/jsx-runtime";
2
- import { ButtonSort_private as f } from "./index.JBnaIFI9.js";
2
+ import { ButtonSort_private as f, e as k } from "./index.Q0TPtuHy.js";
3
3
  import o from "clsx";
4
4
  import v, { useContext as b } from "react";
5
- import { e as k } from "./App.DAaATEKV.js";
6
5
  /*!
7
6
  @versini/ui-icons v4.15.1
8
7
  © 2025 gizmette.com
@@ -47,7 +46,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
47
46
  e
48
47
  ]
49
48
  });
50
- }, C = ({ className: e, viewBox: a, title: t, monotone: s, ...r }) => /* @__PURE__ */ y(N, {
49
+ }, I = ({ className: e, viewBox: a, title: t, monotone: s, ...r }) => /* @__PURE__ */ y(N, {
51
50
  defaultViewBox: "0 0 576 512",
52
51
  size: "size-5",
53
52
  viewBox: a,
@@ -63,7 +62,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
63
62
  d: "M137.4 470.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 370.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v306.7l-41.4-41.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96z"
64
63
  })
65
64
  ]
66
- }), I = ({ className: e, viewBox: a, title: t, monotone: s, ...r }) => /* @__PURE__ */ y(N, {
65
+ }), C = ({ className: e, viewBox: a, title: t, monotone: s, ...r }) => /* @__PURE__ */ y(N, {
67
66
  defaultViewBox: "0 0 576 512",
68
67
  size: "size-5",
69
68
  viewBox: a,
@@ -136,7 +135,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
136
135
  "text-copy-light dark:text-copy-dark": e === "system",
137
136
  "text-copy-dark dark:text-copy-light": e === "alt-system"
138
137
  })
139
- }), z = ({
138
+ }), B = ({
140
139
  className: e,
141
140
  stickyHeader: a,
142
141
  mode: t
@@ -149,7 +148,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
149
148
  "shadow-[rgb(65_65_65_/30%)_0_0.5rem_1rem] dark:shadow-[rgb(190_190_190_/20%)_0_0.5rem_1rem]": a && t === "alt-system"
150
149
  },
151
150
  e
152
- ), B = ({
151
+ ), z = ({
153
152
  className: e,
154
153
  stickyFooter: a,
155
154
  mode: t
@@ -211,9 +210,9 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
211
210
  },
212
211
  a
213
212
  )
214
- }), W = ({
213
+ }), E = ({
215
214
  buttonClassName: e
216
- }) => o("rounded-none text-sm", e), U = ({
215
+ }) => o("rounded-none text-sm", e), j = ({
217
216
  children: e,
218
217
  mode: a = "system",
219
218
  caption: t,
@@ -252,36 +251,36 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
252
251
  )
253
252
  }
254
253
  );
255
- }, O = ({
254
+ }, D = ({
256
255
  children: e,
257
256
  className: a,
258
257
  ...t
259
258
  }) => {
260
259
  const s = b(p);
261
260
  s.cellWrapper = x;
262
- const r = z({
261
+ const r = B({
263
262
  className: a,
264
263
  mode: s.mode,
265
264
  stickyHeader: s.stickyHeader
266
265
  });
267
266
  return /* @__PURE__ */ l("thead", { className: r, ...t, children: e });
268
- }, G = ({
267
+ }, L = ({
269
268
  children: e,
270
269
  className: a,
271
270
  ...t
272
271
  }) => {
273
272
  const s = b(p);
274
273
  s.cellWrapper = u;
275
- const r = B({
274
+ const r = z({
276
275
  className: a,
277
276
  mode: s.mode,
278
277
  stickyFooter: s.stickyFooter
279
278
  });
280
279
  return /* @__PURE__ */ l("tfoot", { className: r, ...t, children: e });
281
- }, L = ({ children: e, ...a }) => {
280
+ }, A = ({ children: e, ...a }) => {
282
281
  const t = b(p);
283
282
  return t.cellWrapper = _, /* @__PURE__ */ l("tbody", { ...a, children: e });
284
- }, P = ({
283
+ }, O = ({
285
284
  children: e,
286
285
  className: a,
287
286
  ...t
@@ -292,7 +291,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
292
291
  className: a
293
292
  });
294
293
  return /* @__PURE__ */ l("tr", { className: r, ...t, children: e });
295
- }, E = ({
294
+ }, W = ({
296
295
  children: e,
297
296
  component: a,
298
297
  className: t,
@@ -307,7 +306,7 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
307
306
  align: s
308
307
  });
309
308
  return s ? /* @__PURE__ */ l(n, { className: i, ...r, children: /* @__PURE__ */ l("div", { className: c, children: e }) }) : /* @__PURE__ */ l(n, { className: i, ...r, children: e });
310
- }, A = ({
309
+ }, P = ({
311
310
  align: e,
312
311
  children: a,
313
312
  buttonClassName: t,
@@ -321,9 +320,9 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
321
320
  cellId: h,
322
321
  ...g
323
322
  }) => {
324
- const w = W({ buttonClassName: t });
323
+ const w = E({ buttonClassName: t });
325
324
  return /* @__PURE__ */ l(
326
- E,
325
+ W,
327
326
  {
328
327
  component: r,
329
328
  className: s,
@@ -342,18 +341,31 @@ const N = ({ children: e, fill: a, viewBox: t, className: s, defaultViewBox: r,
342
341
  mode: n,
343
342
  fullWidth: !0,
344
343
  labelRight: a,
345
- children: c === k.ASC && m === h ? /* @__PURE__ */ l(S, { className: "size-4", monotone: !0 }) : c === k.DESC && m === h ? /* @__PURE__ */ l(I, { className: "size-4", monotone: !0 }) : /* @__PURE__ */ l(C, { className: "size-4", monotone: !0 })
344
+ children: c === k.ASC && m === h ? /* @__PURE__ */ l(S, { className: "size-4", monotone: !0 }) : c === k.DESC && m === h ? /* @__PURE__ */ l(C, { className: "size-4", monotone: !0 }) : /* @__PURE__ */ l(I, { className: "size-4", monotone: !0 })
346
345
  }
347
346
  )
348
347
  }
349
348
  );
350
349
  };
350
+ /*!
351
+ @versini/ui-table v5.2.2
352
+ © 2025 gizmette.com
353
+ */
354
+ try {
355
+ window.__VERSINI_UI_TABLE__ || (window.__VERSINI_UI_TABLE__ = {
356
+ version: "5.2.2",
357
+ buildTime: "11/04/2025 03:44 PM EST",
358
+ homepage: "https://github.com/aversini/ui-components",
359
+ license: "MIT"
360
+ });
361
+ } catch {
362
+ }
351
363
  export {
352
- G as D,
353
- A as F,
354
- P as G,
355
- L as H,
356
- E as M,
357
- U as W,
358
- O as j
364
+ L as D,
365
+ P as F,
366
+ O as G,
367
+ A as H,
368
+ W as M,
369
+ j as W,
370
+ D as j
359
371
  };
@@ -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.BtHcsdXH.js";
2
- import { toText as Ca } from "./index.B9QORjw0.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.BeoSWV0O.js";
2
+ import { toText as Ca } from "./index.DdvISo_s.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.BtHcsdXH.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.BeoSWV0O.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**