@versini/sassysaint 8.98.4 → 8.99.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 (25) hide show
  1. package/dist/chunks/{AboutChangelog.3nWq9RDW.js → AboutChangelog.Lsbr0lUh.js} +3 -3
  2. package/dist/chunks/{AboutEntry.a3uZp2Z6.js → AboutEntry.C-uC4MBB.js} +5 -5
  3. package/dist/chunks/{App.DEJrv0e7.js → App.lHXZIn8I.js} +16 -16
  4. package/dist/chunks/{Chart.Dub857RP.js → Chart.ClOH2fiY.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.ChC3fC3h.js → ChatBubbleAssistant.BV6sVx6a.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.DPaGlgSG.js → ChatBubbleUser.Dij7uJwm.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.DAJl5_NR.js → ChatHistoryTable.BFfmfdjX.js} +50 -40
  8. package/dist/chunks/{HistoryEntry.rkscIz2j.js → HistoryEntry.BkOQP3CV.js} +58 -57
  9. package/dist/chunks/{ProfileEntry.CCqF5eoD.js → ProfileEntry.DuvmIHnj.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.B8PLktcf.js → SettingsEntry.Cu-T81W1.js} +3 -3
  11. package/dist/chunks/{UsageEntry.sQ40I-6y.js → UsageEntry.XYX0KDAl.js} +3 -3
  12. package/dist/chunks/{UserMemoriesPanel.BdvZj09-.js → UserMemoriesPanel.Cm0Gz7iM.js} +19 -19
  13. package/dist/chunks/{index.CUVO2ANy.js → index.5-5jxYfs.js} +1 -5
  14. package/dist/chunks/{index.DiXzmsCp.js → index.B-J4ZnaE.js} +1 -1
  15. package/dist/chunks/{index.D1OWPCfC.js → index.B5oy8JDL.js} +1 -1
  16. package/dist/chunks/{index.BoKSdDIq.js → index.BTGZYTuA.js} +2 -2
  17. package/dist/chunks/{index.BvMJ5rNl.js → index.CDxR_BoA.js} +205 -175
  18. package/dist/chunks/{index.uiUEU8U5.js → index.CfH88Vnf.js} +1 -1
  19. package/dist/chunks/{index.CIHTa2rI.js → index.D5nCT2P4.js} +1 -1
  20. package/dist/chunks/{index.5avIqWNm.js → index.DvsI9f9_.js} +3 -3
  21. package/dist/chunks/{index.BNkLwHEw.js → index.ttYr-nJ-.js} +1 -1
  22. package/dist/chunks/{useMarkdown.CCBZ9pPz.js → useMarkdown.Df5zZY4U.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/package.json +3 -3
@@ -1,37 +1,37 @@
1
1
  import { jsxs as i, Fragment as ae, jsx as t } from "react/jsx-runtime";
2
- import { n as j, INFINITE_SCROLL_LIMIT as P, INFINITE_SCROLL_THRESHOLD as re, HistoryContext as K, ChatContext as se, useLocalStorage as h, LOCAL_STORAGE_PREFIX as m, LOCAL_STORAGE_SORT_TIMESTAMP as oe, e$1 as d, LOCAL_STORAGE_SORT_TOKEN_USAGE as ne, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ce, useDeleteChat as le, useToggleFavoriteChat as de, APP_CLASSNAME as he, TOAST_CHAT_DELETED as me, graphQLRequest as ue, SERVICE_TYPES as Ce, ACTION_SORT as Se, v as fe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, LOCAL_STORAGE_KEYWORD_MATCH_ALL as pe, useChatsHistory as ge, useUserChatStats as Ae, HISTORY_TITLE as Ee, Card as _e, TextInput as Le, debounce as De, IconSearch as Oe, Button as ke, L as ve, j as Re, ACTION_SEARCH as be } from "./index.CUVO2ANy.js";
3
- import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as U, CancelButton as ze } from "./App.DEJrv0e7.js";
2
+ import { n as j, INFINITE_SCROLL_LIMIT as P, INFINITE_SCROLL_THRESHOLD as re, HistoryContext as K, ChatContext as se, useLocalStorage as h, LOCAL_STORAGE_PREFIX as m, LOCAL_STORAGE_SORT_TIMESTAMP as oe, e$1 as d, LOCAL_STORAGE_SORT_TOKEN_USAGE as ne, LOCAL_STORAGE_SORT as ie, y as x, LOCAL_STORAGE_CHAT_ID as ce, useDeleteChat as le, useToggleFavoriteChat as de, APP_CLASSNAME as he, TOAST_CHAT_DELETED as me, graphQLRequest as ue, SERVICE_TYPES as Ce, ACTION_SORT as Se, v as fe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, LOCAL_STORAGE_KEYWORD_MATCH_ALL as pe, useChatsHistory as ge, useUserChatStats as Ae, HISTORY_TITLE as Ee, Card as _e, TextInput as Le, debounce as De, IconSearch as ke, Button as Oe, L as ve, j as Re, ACTION_SEARCH as be } from "./index.5-5jxYfs.js";
3
+ import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as U, CancelButton as ze } from "./App.lHXZIn8I.js";
4
4
  import Pe from "clsx";
5
5
  import { useRef as F, useState as M, useContext as G, useCallback as B, Suspense as Ue, lazy as Be, useEffect as je } from "react";
6
6
  const Ke = Be(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.DAJl5_NR.js"
9
+ "./ChatHistoryTable.BFfmfdjX.js"
10
10
  ).then((u) => ({ default: u.ChatHistoryTable }))
11
11
  ), Ye = ({
12
12
  filteredHistory: u,
13
13
  onOpenChange: y,
14
14
  mutate: T,
15
15
  isLoading: E = !1,
16
- totalHistoryCount: x,
16
+ totalHistoryCount: w,
17
17
  isFiltered: _ = !1,
18
18
  isSearchActive: C = !1
19
19
  }) => {
20
- const { user: s, getAccessToken: p } = j(), g = F(null), n = F({
20
+ const { user: r, getAccessToken: p } = j(), g = F(null), n = F({
21
21
  id: "",
22
22
  timestamp: "",
23
23
  message: ""
24
- }), [L, A] = M(!1), [w, S] = M(
24
+ }), [L, A] = M(!1), [H, S] = M(
25
25
  P + re
26
- ), { state: c, dispatch: H } = G(K), D = {
26
+ ), { state: c, dispatch: D } = G(K), k = {
27
27
  searchString: c.searchString || "",
28
28
  sortDirection: c.sortDirection || d.DESC,
29
- sortedCell: c.sortedCell || I
29
+ sortedCell: c.sortedCell || x
30
30
  }, {
31
31
  setChatId: l,
32
32
  setInitialMessages: O,
33
33
  dispatch: f
34
- } = G(se), { setInput: k } = Ie(), [v, R] = h({
34
+ } = G(se), { setInput: v } = Ie(), [R, b] = h({
35
35
  key: m + oe,
36
36
  initialValue: d.DESC
37
37
  }), [N, a] = h({
@@ -39,7 +39,7 @@ const Ke = Be(
39
39
  initialValue: d.ASC
40
40
  }), [, Y] = h({
41
41
  key: m + ie,
42
- initialValue: I
42
+ initialValue: x
43
43
  }), [W] = h({
44
44
  key: m + ce,
45
45
  initialValue: ""
@@ -47,20 +47,20 @@ const Ke = Be(
47
47
  getAccessToken: p
48
48
  }), X = (e) => {
49
49
  const o = c.sortedCell === e;
50
- let r, b;
50
+ let s, I;
51
51
  switch (e) {
52
- case I:
53
- b = R, r = o ? c.sortDirection : v;
52
+ case x:
53
+ I = b, s = o ? c.sortDirection : R;
54
54
  break;
55
55
  case fe:
56
- b = a, r = o ? c.sortDirection : N;
56
+ I = a, s = o ? c.sortDirection : N;
57
57
  break;
58
58
  default:
59
- b = R, r = o ? c.sortDirection : v;
59
+ I = b, s = o ? c.sortDirection : R;
60
60
  break;
61
61
  }
62
- const z = r === d.ASC ? d.DESC : d.ASC;
63
- b(z), Y(e), H({
62
+ const z = s === d.ASC ? d.DESC : d.ASC;
63
+ I(z), Y(e), D({
64
64
  type: Se,
65
65
  payload: {
66
66
  sortedCell: e,
@@ -71,7 +71,7 @@ const Ke = Be(
71
71
  const e = n.current;
72
72
  try {
73
73
  await q({
74
- userId: s?.username || "",
74
+ userId: r?.username || "",
75
75
  id: e.id
76
76
  }), T(""), await He(me, {
77
77
  autoClose: 2e3,
@@ -81,7 +81,7 @@ const Ke = Be(
81
81
  }
82
82
  }, J = async (e) => {
83
83
  try {
84
- const o = await p(), r = await ue({
84
+ const o = await p(), s = await ue({
85
85
  accessToken: o,
86
86
  type: Ce.GET_CHAT,
87
87
  params: {
@@ -94,18 +94,18 @@ const Ke = Be(
94
94
  streaming: !1,
95
95
  loading: !1,
96
96
  restoring: !0,
97
- restoredModel: r.data?.model || "",
98
- restoredUsage: r.data?.tokenUsage || 0
97
+ restoredModel: s.data?.model || "",
98
+ restoredUsage: s.data?.tokenUsage || 0
99
99
  }
100
- }), k(""), l(e.id), O(r.data.messages), y(!1);
100
+ }), v(""), l(e.id), O(s.data.messages), y(!1);
101
101
  } catch {
102
102
  }
103
103
  }, Z = (e) => {
104
104
  n.current = {
105
105
  id: e.id,
106
106
  timestamp: e.timestamp,
107
- message: e.messages.length > 0 ? e.messages[0]?.content : ""
108
- }, A(!L), W === e.id && (l(Ne()), O([]), k(""), f({
107
+ message: e.summary
108
+ }, A(!L), W === e.id && (l(Ne()), O([]), v(""), f({
109
109
  type: Fe,
110
110
  payload: {
111
111
  privateChat: !1,
@@ -120,20 +120,20 @@ const Ke = Be(
120
120
  }, ee = async (e) => {
121
121
  try {
122
122
  await Q({
123
- userId: s?.username || "",
123
+ userId: r?.username || "",
124
124
  id: e.id
125
125
  }), T("");
126
126
  } catch {
127
127
  }
128
128
  }, V = B((e) => {
129
- e[0].isIntersecting && S((r) => r + P);
129
+ e[0].isIntersecting && S((s) => s + P);
130
130
  }, []), te = B(
131
131
  (e) => {
132
132
  if (g.current && g.current.disconnect(), e) {
133
133
  const o = {
134
134
  rootMargin: "20px"
135
- }, r = new IntersectionObserver(V, o);
136
- r.observe(e), g.current = r;
135
+ }, s = new IntersectionObserver(V, o);
136
+ s.observe(e), g.current = s;
137
137
  }
138
138
  },
139
139
  [V]
@@ -172,15 +172,15 @@ const Ke = Be(
172
172
  Ke,
173
173
  {
174
174
  filteredHistory: u,
175
- historyState: D,
176
- lastEntryToLoad: w,
175
+ historyState: k,
176
+ lastEntryToLoad: H,
177
177
  onClickSort: X,
178
178
  onClickRestore: J,
179
179
  onClickDelete: Z,
180
180
  onClickFavorite: ee,
181
181
  infinityScrollMarkerRef: te,
182
182
  isLoading: E,
183
- totalHistoryCount: x,
183
+ totalHistoryCount: w,
184
184
  isFiltered: _,
185
185
  isSearchActive: C
186
186
  }
@@ -190,26 +190,26 @@ const Ke = Be(
190
190
  open: u,
191
191
  onOpenChange: y
192
192
  }) => {
193
- const { getAccessToken: T, user: E } = j(), [x, _] = M([]), C = F(null), { state: s, dispatch: p } = G(K), [, g] = h({
193
+ const { getAccessToken: T, user: E } = j(), [w, _] = M([]), C = F(null), { state: r, dispatch: p } = G(K), [, g] = h({
194
194
  key: m + ye,
195
- initialValue: s.searchString
195
+ initialValue: r.searchString
196
196
  }), [n, L] = h({
197
197
  key: m + Te,
198
198
  initialValue: !1
199
- }), [A, w] = h({
199
+ }), [A, H] = h({
200
200
  key: m + pe,
201
201
  initialValue: !0
202
202
  }), {
203
203
  data: S,
204
204
  refetch: c,
205
- isLoading: H,
206
- isError: D
205
+ isLoading: D,
206
+ isError: k
207
207
  } = ge({
208
208
  enabled: u,
209
209
  user: E?.username || "",
210
- searchString: s.searchString || "",
211
- sortDirection: s.sortDirection || d.DESC,
212
- sortedCell: s.sortedCell || I,
210
+ searchString: r.searchString || "",
211
+ sortDirection: r.sortDirection || d.DESC,
212
+ sortedCell: r.sortedCell || x,
213
213
  getAccessToken: T,
214
214
  keywordMatchAll: A
215
215
  }), { data: l } = Ae({
@@ -226,14 +226,14 @@ const Ke = Be(
226
226
  type: be,
227
227
  payload: { searchString: a }
228
228
  });
229
- }, k = De((a) => {
229
+ }, v = De((a) => {
230
230
  f(a.target.value.trim());
231
- }, 500), v = async (a) => {
231
+ }, 800), R = async (a) => {
232
232
  a.preventDefault();
233
- }, R = (a) => {
233
+ }, b = (a) => {
234
234
  L(a);
235
235
  }, N = (a) => {
236
- w(a);
236
+ H(a);
237
237
  };
238
238
  return /* @__PURE__ */ i(
239
239
  Ve,
@@ -257,11 +257,11 @@ const Ke = Be(
257
257
  /* @__PURE__ */ t(
258
258
  _e,
259
259
  {
260
- header: s.searchString ? "Filters applied" : "Filters",
260
+ header: D && r.searchString ? "Loading..." : r.searchString ? "Filters applied" : "Filters",
261
261
  className: "prose-dark dark:prose-lighter mb-4",
262
262
  noBorder: !0,
263
263
  compact: !0,
264
- children: /* @__PURE__ */ i("form", { autoComplete: "off", onSubmit: v, children: [
264
+ children: /* @__PURE__ */ i("form", { autoComplete: "off", onSubmit: R, children: [
265
265
  /* @__PURE__ */ t(
266
266
  Le,
267
267
  {
@@ -272,13 +272,13 @@ const Ke = Be(
272
272
  autoComplete: "off",
273
273
  autoCorrect: "off",
274
274
  ref: C,
275
- defaultValue: s.searchString,
275
+ defaultValue: r.searchString,
276
276
  mode: "alt-system",
277
277
  name: "Search",
278
278
  label: "Search",
279
- onChange: k,
279
+ onChange: v,
280
280
  className: "my-2",
281
- rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(Oe, { monotone: !0, size: "size-3" }) })
281
+ rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(ke, { monotone: !0, size: "size-3" }) })
282
282
  }
283
283
  ),
284
284
  /* @__PURE__ */ i("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
@@ -288,7 +288,7 @@ const Ke = Be(
288
288
  {
289
289
  name: "favorites-only",
290
290
  checked: n,
291
- onChange: R,
291
+ onChange: b,
292
292
  label: "Show favorites only",
293
293
  narrow: !0,
294
294
  noBorder: !0
@@ -307,10 +307,11 @@ const Ke = Be(
307
307
  )
308
308
  ] }),
309
309
  /* @__PURE__ */ t(
310
- ke,
310
+ Oe,
311
311
  {
312
+ mode: "dark",
312
313
  size: "small",
313
- disabled: s.searchString === "",
314
+ disabled: r.searchString === "",
314
315
  onClick: () => {
315
316
  f(""), C.current?.value && (C.current.value = "", C.current.focus());
316
317
  },
@@ -331,17 +332,17 @@ const Ke = Be(
331
332
  "min-h-[60vh]"
332
333
  ),
333
334
  children: [
334
- D && /* @__PURE__ */ t("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
335
- !D && /* @__PURE__ */ t(
335
+ k && /* @__PURE__ */ t("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
336
+ !k && /* @__PURE__ */ t(
336
337
  Ye,
337
338
  {
338
339
  mutate: c,
339
- filteredHistory: x,
340
+ filteredHistory: w,
340
341
  onOpenChange: y,
341
- isLoading: H,
342
+ isLoading: D,
342
343
  totalHistoryCount: O,
343
- isFiltered: !!(s.searchString || n),
344
- isSearchActive: !!s.searchString
344
+ isFiltered: !!(r.searchString || n),
345
+ isSearchActive: !!r.searchString
345
346
  }
346
347
  )
347
348
  ]
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, Fragment as H, jsx as e } from "react/jsx-runtime";
2
- import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.DEJrv0e7.js";
3
- import { n as J, useUniqueId as Q, useUserPreferences as X, useServerCapabilities as Z, p as ee, setUserPlan as ae, Card as d, renderDataAsList as ne, CARDS as s, L as h, j as i, Button as se, st as re, isTauri as te, ButtonIcon as le, IconPasskey as k, PROFILE_TITLE as ie } from "./index.CUVO2ANy.js";
2
+ import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.lHXZIn8I.js";
3
+ import { n as J, useUniqueId as Q, useUserPreferences as X, useServerCapabilities as Z, p as ee, setUserPlan as ae, Card as d, renderDataAsList as ne, CARDS as s, L as h, j as i, Button as se, st as re, isTauri as te, ButtonIcon as le, IconPasskey as k, PROFILE_TITLE as ie } from "./index.5-5jxYfs.js";
4
4
  import ce from "clsx";
5
5
  import { useState as m, useMemo as oe, useCallback as P } from "react";
6
6
  const de = () => {
@@ -1,7 +1,7 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, w as ce, useLocalStorage as ie, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as de, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as f, CARDS as r, V as Je, Button as ue, PROMPTS_DESCRIPTION as Xe, K as me, L as Ze, j as he, applyOledMode as fe, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as pe, getCurrentGeoLocation as et, graphQLRequest as Se, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.CUVO2ANy.js";
3
- import { useCapability as Te, Panel as ot, Toggle as l, CancelButton as st } from "./App.DEJrv0e7.js";
4
- import { TextArea as be } from "./index.BNkLwHEw.js";
2
+ import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, w as ce, useLocalStorage as ie, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as de, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as f, CARDS as r, V as Je, Button as ue, PROMPTS_DESCRIPTION as Xe, K as me, L as Ze, j as he, applyOledMode as fe, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as pe, getCurrentGeoLocation as et, graphQLRequest as Se, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.5-5jxYfs.js";
3
+ import { useCapability as Te, Panel as ot, Toggle as l, CancelButton as st } from "./App.lHXZIn8I.js";
4
+ import { TextArea as be } from "./index.ttYr-nJ-.js";
5
5
  import { useContext as at, useState as s, useMemo as nt, useCallback as rt, useEffect as Ne } from "react";
6
6
  const mt = ({
7
7
  open: Ce,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as T, jsx as t } from "react/jsx-runtime";
2
- import { n as X, useUniqueId as Z, useUserChatStats as J, useLocalStorage as M, LOCAL_STORAGE_PREFIX as N, LOCAL_STORAGE_USAGE_VIEW_MODE as Q, LOCAL_STORAGE_USAGE_TIME_RANGE as $, TIME_RANGES as e, LOCAL_STORAGE_USAGE_SELECTED_MONTH as ee, useChatsUsage as te, USAGE_TITLE as ne, Card as Y, CARDS as d, L as h, j as c, TIME_RANGE_LABELS as k, MONTHS as g, ButtonIcon as E, IconChart as re, IconSelected as H, IconUnSelected as P, IconPrevious as le, IconNext as se, renderDataAsList as ae, pluralize as D } from "./index.CUVO2ANy.js";
3
- import { Panel as ie, Menu as b, MenuGroupLabel as oe, MenuItem as x, CancelButton as ce } from "./App.DEJrv0e7.js";
2
+ import { n as X, useUniqueId as Z, useUserChatStats as J, useLocalStorage as M, LOCAL_STORAGE_PREFIX as N, LOCAL_STORAGE_USAGE_VIEW_MODE as Q, LOCAL_STORAGE_USAGE_TIME_RANGE as $, TIME_RANGES as e, LOCAL_STORAGE_USAGE_SELECTED_MONTH as ee, useChatsUsage as te, USAGE_TITLE as ne, Card as Y, CARDS as d, L as h, j as c, TIME_RANGE_LABELS as k, MONTHS as g, ButtonIcon as E, IconChart as re, IconSelected as H, IconUnSelected as P, IconPrevious as le, IconNext as se, renderDataAsList as ae, pluralize as D } from "./index.5-5jxYfs.js";
3
+ import { Panel as ie, Menu as b, MenuGroupLabel as oe, MenuItem as x, CancelButton as ce } from "./App.lHXZIn8I.js";
4
4
  import { useState as G, Suspense as Te, lazy as de } from "react";
5
5
  const a = [0, 3, 6, 9], s = {
6
6
  TOKEN: "token",
@@ -14,7 +14,7 @@ const a = [0, 3, 6, 9], s = {
14
14
  ], ue = de(
15
15
  () => import(
16
16
  /* webpackChunkName: "chart-highcharts" */
17
- "./Chart.Dub857RP.js"
17
+ "./Chart.ClOH2fiY.js"
18
18
  )
19
19
  ), Oe = ({
20
20
  open: U,
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as I } from "react/jsx-runtime";
2
- import { L as E, j as f, Button as P, n as Se, useLocalStorage as Q, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as Te, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as ve, useExpiredMemories as De, useDeleteMemory as be, useDeleteAllActiveMemories as Ee, useDeleteAllExpiredMemories as Me, useUpdateMemory as Re, useRestoreMemory as Ie, ButtonIcon as L, IconEdit as Le, IconDelete as ee, IconRestore as Oe } from "./index.CUVO2ANy.js";
3
- import { Panel as se, Toggle as O, CancelButton as ae, ConfirmationPanel as te, ResponsiveTooltip as _ } from "./App.DEJrv0e7.js";
4
- import { W as re, j as ie, G as D, M as s, F as z, H as ne, D as oe } from "./index.BvMJ5rNl.js";
2
+ import { L as E, j as f, Button as P, n as Se, useLocalStorage as W, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as Te, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as ve, useExpiredMemories as De, useDeleteMemory as be, useDeleteAllActiveMemories as Ee, useDeleteAllExpiredMemories as Me, useUpdateMemory as Re, useRestoreMemory as Ie, ButtonIcon as L, IconEdit as Le, IconDelete as ee, IconRestore as Oe } from "./index.5-5jxYfs.js";
3
+ import { Panel as se, Toggle as O, CancelButton as ae, ConfirmationPanel as te, ResponsiveTooltip as _ } from "./App.lHXZIn8I.js";
4
+ import { j as re, D as ie, F as D, L as s, Y as z, G as ne, H as oe } from "./index.CDxR_BoA.js";
5
5
  import A from "clsx";
6
6
  import { useState as y, useEffect as _e, useRef as le } from "react";
7
- import { TextArea as ze } from "./index.BNkLwHEw.js";
7
+ import { TextArea as ze } from "./index.ttYr-nJ-.js";
8
8
  const Pe = ({
9
9
  open: C,
10
10
  onOpenChange: b,
@@ -183,10 +183,10 @@ const Pe = ({
183
183
  onOpenChange: b,
184
184
  user: c
185
185
  }) => {
186
- const { getAccessToken: n } = Se(), [M] = y(void 0), [m, p] = y("active"), [R, h] = Q({
186
+ const { getAccessToken: n } = Se(), [M] = y(void 0), [m, p] = y("active"), [R, h] = W({
187
187
  key: Z + Te,
188
188
  initialValue: l.DESC
189
- }), [N, S] = Q({
189
+ }), [N, S] = W({
190
190
  key: Z + ke,
191
191
  initialValue: "createdAt"
192
192
  }), [u, T] = y(R || l.DESC), [o, k] = y(
@@ -198,14 +198,14 @@ const Pe = ({
198
198
  enabled: C && m === "active"
199
199
  }), {
200
200
  data: g,
201
- isLoading: H,
202
- isError: $
201
+ isLoading: $,
202
+ isError: H
203
203
  } = De({
204
204
  user: c,
205
205
  query: M,
206
206
  getAccessToken: n,
207
207
  enabled: C && m === "expired"
208
- }), B = be({ getAccessToken: n }), j = Ee({ getAccessToken: n }), X = Me({ getAccessToken: n }), F = Re({ getAccessToken: n }), V = Ie({ getAccessToken: n }), [ce, Y] = y(!1), w = le(null), [de, W] = y(!1), [me, G] = y(!1), x = le(null), J = (t, i, a, d) => {
208
+ }), B = be({ getAccessToken: n }), j = Ee({ getAccessToken: n }), X = Me({ getAccessToken: n }), F = Re({ getAccessToken: n }), V = Ie({ getAccessToken: n }), [ce, Y] = y(!1), w = le(null), [de, J] = y(!1), [me, G] = y(!1), x = le(null), K = (t, i, a, d) => {
209
209
  w.current = { id: t, text: i, description: a, createdAt: d }, Y(!0);
210
210
  }, xe = () => {
211
211
  w.current && B.mutate({ user: c, memoryId: w.current.id });
@@ -237,10 +237,10 @@ const Pe = ({
237
237
  }
238
238
  );
239
239
  }, ue = () => {
240
- c && W(!0);
240
+ c && J(!0);
241
241
  }, ge = () => {
242
242
  c && (m === "active" ? j.mutate({ user: c }) : X.mutate({ user: c }));
243
- }, K = (t) => {
243
+ }, Q = (t) => {
244
244
  const i = `${t.total} memor${t.total === 1 ? "y" : "ies"}`, a = t.totalTokenUsage ? ` (~${t.totalTokenUsage} tokens)` : "";
245
245
  return i + a;
246
246
  };
@@ -297,7 +297,7 @@ const Pe = ({
297
297
  te,
298
298
  {
299
299
  showConfirmation: de,
300
- setShowConfirmation: W,
300
+ setShowConfirmation: J,
301
301
  action: ge,
302
302
  customStrings: {
303
303
  title: m === "active" ? "Delete all active memories" : "Delete all expired memories",
@@ -374,7 +374,7 @@ const Pe = ({
374
374
  stickyFooter: !0,
375
375
  compact: !0,
376
376
  mode: "alt-system",
377
- caption: K(v),
377
+ caption: Q(v),
378
378
  children: [
379
379
  /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ r(D, { children: [
380
380
  /* @__PURE__ */ e(s, { className: "sr-only", children: "Row" }),
@@ -522,7 +522,7 @@ const Pe = ({
522
522
  variant: "primary",
523
523
  iconClassName: "text-red-700 dark:text-red-500",
524
524
  disabled: B.isPending,
525
- onClick: () => J(
525
+ onClick: () => K(
526
526
  t.memoryId,
527
527
  t.text,
528
528
  t.description,
@@ -539,14 +539,14 @@ const Pe = ({
539
539
  }
540
540
  )
541
541
  ] }, t.memoryId)) }),
542
- /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ e(s, { colSpan: 5, children: K(v) }) }) })
542
+ /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ e(s, { colSpan: 5, children: Q(v) }) }) })
543
543
  ]
544
544
  }
545
545
  ) : /* @__PURE__ */ e("p", { className: "m-0 italic opacity-70", children: "No memories stored." }))
546
546
  ] }) : /* @__PURE__ */ r(I, { children: [
547
- H && /* @__PURE__ */ e("p", { className: "m-0", children: "Loading expired memories..." }),
548
- $ && /* @__PURE__ */ e("p", { className: "m-0 text-red-500", children: "Failed to load expired memories." }),
549
- !H && !$ && (g && g.items.length > 0 ? /* @__PURE__ */ r(re, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
547
+ $ && /* @__PURE__ */ e("p", { className: "m-0", children: "Loading expired memories..." }),
548
+ H && /* @__PURE__ */ e("p", { className: "m-0 text-red-500", children: "Failed to load expired memories." }),
549
+ !$ && !H && (g && g.items.length > 0 ? /* @__PURE__ */ r(re, { stickyHeader: !0, stickyFooter: !0, compact: !0, mode: "alt-system", children: [
550
550
  /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ r(D, { children: [
551
551
  /* @__PURE__ */ e(s, { className: "sr-only", children: "Row" }),
552
552
  /* @__PURE__ */ e(s, { children: "Memory" }),
@@ -687,7 +687,7 @@ const Pe = ({
687
687
  variant: "primary",
688
688
  iconClassName: "text-red-700 dark:text-red-500",
689
689
  disabled: B.isPending,
690
- onClick: () => J(
690
+ onClick: () => K(
691
691
  t.memoryId,
692
692
  t.text,
693
693
  t.description,
@@ -4548,15 +4548,11 @@ const zi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
4548
4548
  keywordMatchAll: $keywordMatchAll) {
4549
4549
  timestamp
4550
4550
  id
4551
- model
4552
4551
  summary
4553
4552
  tokenUsage
4554
4553
  favoriteChat
4555
4554
  similarityScore
4556
4555
  keywordMatch
4557
- messages {
4558
- content
4559
- }
4560
4556
  }
4561
4557
  }`,
4562
4558
  GET_CHATS_STATS: `query GetChatsStats($user: String!) {
@@ -7848,7 +7844,7 @@ const tc = "ASK! ME! ANYTHING!", rc = "Log in with a password", sc = "Log in wit
7848
7844
  ] });
7849
7845
  }, Ec = new URL(document.location.href).searchParams, Fr = !!Ec.get("debug") || !1, Sc = nn(() => import(
7850
7846
  /* webpackChunkName: "LazyApp" */
7851
- "./App.DEJrv0e7.js"
7847
+ "./App.lHXZIn8I.js"
7852
7848
  ).then((e) => e.App)), wc = new Dn(), Br = ({
7853
7849
  isComponent: e,
7854
7850
  headerHeight: t
@@ -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.CUVO2ANy.js";
2
+ import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.5-5jxYfs.js";
3
3
  import { useState as N, useEffect as $ } from "react";
4
4
  import t from "clsx";
5
5
  /*!
@@ -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.CCBZ9pPz.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.Df5zZY4U.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
- 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.CCBZ9pPz.js";
2
- import { toText as Ca } from "./index.CIHTa2rI.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.Df5zZY4U.js";
2
+ import { toText as Ca } from "./index.D5nCT2P4.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};