@versini/sassysaint 8.81.1 → 8.82.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.
- package/dist/chunks/{AboutChangelog.C1wdrYSy.js → AboutChangelog.BSx_46oO.js} +3 -3
- package/dist/chunks/{AboutEntry.BBP0FMsE.js → AboutEntry.BpkbOp-E.js} +5 -5
- package/dist/chunks/{App.DXUu7noN.js → App.CpK3vbuC.js} +380 -389
- package/dist/chunks/{Chart.BU6Zc5b7.js → Chart.BQTk2pK3.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.D-RvTGFO.js → ChatBubbleAssistant.BFj2pLII.js} +4 -4
- package/dist/chunks/{ChatBubbleUser.BneldyFS.js → ChatBubbleUser.Cpvxvebn.js} +3 -3
- package/dist/chunks/{ChatHistoryTable.CZe2E7YV.js → ChatHistoryTable.B8sWhUDq.js} +3 -3
- package/dist/chunks/HistoryEntry.Bair25TG.js +298 -0
- package/dist/chunks/{ProfileEntry.COb4Ix5z.js → ProfileEntry.DpxtnxMi.js} +2 -2
- package/dist/chunks/{SettingsEntry.BVpLsSfw.js → SettingsEntry.CAf7JHHN.js} +3 -3
- package/dist/chunks/{UsageEntry.P4bknnZZ.js → UsageEntry.WJO19NIA.js} +3 -3
- package/dist/chunks/{UserMemoriesPanel.CvpKKLRV.js → UserMemoriesPanel.Cc8bs-bq.js} +4 -4
- package/dist/chunks/{index.BPUn0gZ3.js → index.B8DHTZep.js} +1 -1
- package/dist/chunks/{index.8j5Dq4sI.js → index.BHptKcss.js} +1 -2
- package/dist/chunks/{index.qjNo6KZO.js → index.BW2JmieU.js} +1 -1
- package/dist/chunks/{index.BlptHNvh.js → index.CHqfXZtZ.js} +1 -1
- package/dist/chunks/{index.BjkO_ONr.js → index.CPHEqdrL.js} +1 -1
- package/dist/chunks/{index.BKDGy5qf.js → index.CtTF1DFp.js} +1 -1
- package/dist/chunks/{index.DClQQbmr.js → index.DYgM3w1D.js} +3 -3
- package/dist/chunks/{index.BYK-C5Zz.js → index.DmgNCKlb.js} +2 -2
- package/dist/chunks/{index.BD8hmCW6.js → index.qXgqxbjy.js} +1 -1
- package/dist/chunks/{useMarkdown.Cw4b4qiL.js → useMarkdown.ovqec__Y.js} +6 -6
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.js +4 -4
- package/package.json +3 -3
- package/dist/chunks/HistoryEntry.wQYZDKWF.js +0 -316
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as Ap } from "react/jsx-runtime";
|
|
2
|
-
import { getDefaultExportFromCjs as ln } from "./App.
|
|
2
|
+
import { getDefaultExportFromCjs as ln } from "./App.CpK3vbuC.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.
|
|
4
|
+
import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.BHptKcss.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 { 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.
|
|
3
|
-
import { BUBBLE_FOOTER_EMPTY as D } from "./index.
|
|
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.BHptKcss.js";
|
|
3
|
+
import { BUBBLE_FOOTER_EMPTY as D } from "./index.CPHEqdrL.js";
|
|
4
4
|
import U from "clsx";
|
|
5
5
|
import j, { useState as M, useRef as E, useEffect as F, useContext as S } from "react";
|
|
6
|
-
import { AsyncBubble as k } from "./App.
|
|
7
|
-
import { useMarkdown as q } from "./useMarkdown.
|
|
6
|
+
import { AsyncBubble as k } from "./App.CpK3vbuC.js";
|
|
7
|
+
import { useMarkdown as q } from "./useMarkdown.ovqec__Y.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);
|
|
@@ -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.
|
|
2
|
+
import { Button as C } from "./index.BHptKcss.js";
|
|
3
3
|
import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
|
|
4
|
-
import { AsyncBubble as w } from "./App.
|
|
5
|
-
import { useMarkdown as x } from "./useMarkdown.
|
|
4
|
+
import { AsyncBubble as w } from "./App.CpK3vbuC.js";
|
|
5
|
+
import { useMarkdown as x } from "./useMarkdown.ovqec__Y.js";
|
|
6
6
|
/*!
|
|
7
7
|
@versini/ui-truncate v5.2.0
|
|
8
8
|
© 2025 gizmette.com
|
|
@@ -1,7 +1,7 @@
|
|
|
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.
|
|
3
|
-
import { W as F, j as V, G as h, H as j, M as n, F as N } from "./index.
|
|
4
|
-
import { Tooltip as x } from "./App.
|
|
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.BHptKcss.js";
|
|
3
|
+
import { W as F, j as V, G as h, H as j, M as n, F as N } from "./index.B8DHTZep.js";
|
|
4
|
+
import { Tooltip as x } from "./App.CpK3vbuC.js";
|
|
5
5
|
import l from "clsx";
|
|
6
6
|
import { Fragment as q } from "react";
|
|
7
7
|
const J = {
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { jsxs as c, Fragment as $, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { n as P, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as ee, HistoryContext as V, ChatContext as te, useLocalStorage as f, LOCAL_STORAGE_PREFIX as y, LOCAL_STORAGE_SORT_TIMESTAMP as ae, e as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as re, LOCAL_STORAGE_SORT as se, f as v, useDeleteChat as oe, useToggleFavoriteChat as ne, APP_CLASSNAME as ie, TOAST_CHAT_DELETED as ce, graphQLRequest as le, SERVICE_TYPES as de, ACTION_SORT as he, h as me, useChatsHistory as ue, useUserChatStats as Ce, LOCAL_STORAGE_SEARCH as Se, LOCAL_STORAGE_FAVORITES_ONLY as fe, HISTORY_TITLE as ye, Card as pe, TextInput as Te, debounce as ge, IconSearch as Ae, Button as Ee, ACTION_SEARCH as De } from "./index.BHptKcss.js";
|
|
3
|
+
import { useAiChat as _e, ConfirmationPanel as Oe, LazyToastContainerWrapper as Le, showErrorToast as ve, CHAT_SET_STATUS as ke, Panel as Re, Toggle as Ie } from "./App.CpK3vbuC.js";
|
|
4
|
+
import { useRef as N, useState as H, useContext as w, useCallback as M, Suspense as be, lazy as xe, useEffect as Ne } from "react";
|
|
5
|
+
const He = xe(
|
|
6
|
+
() => import(
|
|
7
|
+
/* webpackChunkName: "history-table" */
|
|
8
|
+
"./ChatHistoryTable.B8sWhUDq.js"
|
|
9
|
+
).then((m) => ({ default: m.ChatHistoryTable }))
|
|
10
|
+
), we = ({
|
|
11
|
+
filteredHistory: m,
|
|
12
|
+
onOpenChange: p,
|
|
13
|
+
mutate: C,
|
|
14
|
+
isLoading: T = !1,
|
|
15
|
+
totalHistoryCount: k,
|
|
16
|
+
isFiltered: g = !1
|
|
17
|
+
}) => {
|
|
18
|
+
const { user: l, getAccessToken: s } = P(), S = N(null), n = N({
|
|
19
|
+
id: "",
|
|
20
|
+
timestamp: "",
|
|
21
|
+
message: ""
|
|
22
|
+
}), [A, E] = H(!1), [D, d] = H(
|
|
23
|
+
G + ee
|
|
24
|
+
), { state: i, dispatch: R } = w(V), u = {
|
|
25
|
+
searchString: i.searchString || "",
|
|
26
|
+
sortDirection: i.sortDirection || h.DESC,
|
|
27
|
+
sortedCell: i.sortedCell || v
|
|
28
|
+
}, {
|
|
29
|
+
setChatId: I,
|
|
30
|
+
setInitialMessages: _,
|
|
31
|
+
dispatch: b
|
|
32
|
+
} = w(te), { setInput: x } = _e(), [O, a] = f({
|
|
33
|
+
key: y + ae,
|
|
34
|
+
initialValue: h.DESC
|
|
35
|
+
}), [U, B] = f({
|
|
36
|
+
key: y + re,
|
|
37
|
+
initialValue: h.ASC
|
|
38
|
+
}), [, j] = f({
|
|
39
|
+
key: y + se,
|
|
40
|
+
initialValue: v
|
|
41
|
+
}), { mutateAsync: Y } = oe({ getAccessToken: s }), { mutateAsync: q } = ne({
|
|
42
|
+
getAccessToken: s
|
|
43
|
+
}), K = (e) => {
|
|
44
|
+
const o = i.sortedCell === e;
|
|
45
|
+
let r, L;
|
|
46
|
+
switch (e) {
|
|
47
|
+
case v:
|
|
48
|
+
L = a, r = o ? i.sortDirection : O;
|
|
49
|
+
break;
|
|
50
|
+
case me:
|
|
51
|
+
L = B, r = o ? i.sortDirection : U;
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
L = a, r = o ? i.sortDirection : O;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
const z = r === h.ASC ? h.DESC : h.ASC;
|
|
58
|
+
L(z), j(e), R({
|
|
59
|
+
type: he,
|
|
60
|
+
payload: {
|
|
61
|
+
sortedCell: e,
|
|
62
|
+
sortDirection: z
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}, Q = async () => {
|
|
66
|
+
const e = n.current;
|
|
67
|
+
try {
|
|
68
|
+
await Y({
|
|
69
|
+
userId: l?.username || "",
|
|
70
|
+
id: e.id
|
|
71
|
+
}), C(""), await ve(ce, {
|
|
72
|
+
autoClose: 2e3,
|
|
73
|
+
containerId: "history-table"
|
|
74
|
+
});
|
|
75
|
+
} catch {
|
|
76
|
+
}
|
|
77
|
+
}, W = async (e) => {
|
|
78
|
+
try {
|
|
79
|
+
const o = await s(), r = await le({
|
|
80
|
+
accessToken: o,
|
|
81
|
+
type: de.GET_CHAT,
|
|
82
|
+
params: {
|
|
83
|
+
id: e.id
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
b({
|
|
87
|
+
type: ke,
|
|
88
|
+
payload: {
|
|
89
|
+
streaming: !1,
|
|
90
|
+
loading: !1,
|
|
91
|
+
restoring: !0,
|
|
92
|
+
restoredModel: r.data?.model || "",
|
|
93
|
+
restoredUsage: r.data?.tokenUsage || 0
|
|
94
|
+
}
|
|
95
|
+
}), x(""), I(e.id), _(r.data.messages), p(!1);
|
|
96
|
+
} catch {
|
|
97
|
+
}
|
|
98
|
+
}, X = (e) => {
|
|
99
|
+
n.current = {
|
|
100
|
+
id: e.id,
|
|
101
|
+
timestamp: e.timestamp,
|
|
102
|
+
message: e.messages.length > 0 ? e.messages[0]?.content : ""
|
|
103
|
+
}, E(!A);
|
|
104
|
+
}, J = async (e) => {
|
|
105
|
+
try {
|
|
106
|
+
await q({
|
|
107
|
+
userId: l?.username || "",
|
|
108
|
+
id: e.id
|
|
109
|
+
}), C("");
|
|
110
|
+
} catch {
|
|
111
|
+
}
|
|
112
|
+
}, F = M((e) => {
|
|
113
|
+
e[0].isIntersecting && d((r) => r + G);
|
|
114
|
+
}, []), Z = M(
|
|
115
|
+
(e) => {
|
|
116
|
+
if (S.current && S.current.disconnect(), e) {
|
|
117
|
+
const o = {
|
|
118
|
+
rootMargin: "20px"
|
|
119
|
+
}, r = new IntersectionObserver(F, o);
|
|
120
|
+
r.observe(e), S.current = r;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
[F]
|
|
124
|
+
);
|
|
125
|
+
return /* @__PURE__ */ c($, { children: [
|
|
126
|
+
/* @__PURE__ */ c(
|
|
127
|
+
Oe,
|
|
128
|
+
{
|
|
129
|
+
showConfirmation: A,
|
|
130
|
+
setShowConfirmation: E,
|
|
131
|
+
action: Q,
|
|
132
|
+
customStrings: {
|
|
133
|
+
confirmAction: "Delete",
|
|
134
|
+
cancelAction: "Cancel",
|
|
135
|
+
title: "Delete chat"
|
|
136
|
+
},
|
|
137
|
+
children: [
|
|
138
|
+
/* @__PURE__ */ t("p", { className: "m-0", children: "Are you sure you want to delete the following chat:" }),
|
|
139
|
+
/* @__PURE__ */ c("ul", { className: "m-0", children: [
|
|
140
|
+
/* @__PURE__ */ c("li", { children: [
|
|
141
|
+
"Timestamp:",
|
|
142
|
+
" ",
|
|
143
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: n.current && n.current.timestamp })
|
|
144
|
+
] }),
|
|
145
|
+
/* @__PURE__ */ c("li", { children: [
|
|
146
|
+
"First message:",
|
|
147
|
+
" ",
|
|
148
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: n.current?.message })
|
|
149
|
+
] })
|
|
150
|
+
] })
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
),
|
|
154
|
+
/* @__PURE__ */ t("div", { className: ie, children: /* @__PURE__ */ t(Le, { containerId: "history-table" }) }),
|
|
155
|
+
/* @__PURE__ */ t(be, { fallback: /* @__PURE__ */ t("div", {}), children: /* @__PURE__ */ t(
|
|
156
|
+
He,
|
|
157
|
+
{
|
|
158
|
+
filteredHistory: m,
|
|
159
|
+
historyState: u,
|
|
160
|
+
lastEntryToLoad: D,
|
|
161
|
+
onClickSort: K,
|
|
162
|
+
onClickRestore: W,
|
|
163
|
+
onClickDelete: X,
|
|
164
|
+
onClickFavorite: J,
|
|
165
|
+
infinityScrollMarkerRef: Z,
|
|
166
|
+
isLoading: T,
|
|
167
|
+
totalHistoryCount: k,
|
|
168
|
+
isFiltered: g
|
|
169
|
+
}
|
|
170
|
+
) })
|
|
171
|
+
] });
|
|
172
|
+
}, Pe = ({
|
|
173
|
+
open: m,
|
|
174
|
+
onOpenChange: p
|
|
175
|
+
}) => {
|
|
176
|
+
const { getAccessToken: C, user: T } = P(), [k, g] = H([]), l = N(null), { state: s, dispatch: S } = w(V), {
|
|
177
|
+
data: n,
|
|
178
|
+
refetch: A,
|
|
179
|
+
isLoading: E,
|
|
180
|
+
isError: D
|
|
181
|
+
} = ue({
|
|
182
|
+
enabled: m,
|
|
183
|
+
user: T?.username || "",
|
|
184
|
+
searchString: s.searchString || "",
|
|
185
|
+
sortDirection: s.sortDirection || h.DESC,
|
|
186
|
+
sortedCell: s.sortedCell || v,
|
|
187
|
+
getAccessToken: C
|
|
188
|
+
}), { data: d } = Ce({
|
|
189
|
+
user: T?.username,
|
|
190
|
+
getAccessToken: C
|
|
191
|
+
}), i = d && d.totalChats ? d.totalChats - d.privateChats - d.deletedChats : 0, [, R] = f({
|
|
192
|
+
key: y + Se,
|
|
193
|
+
initialValue: s.searchString
|
|
194
|
+
}), [u, I] = f({
|
|
195
|
+
key: y + fe,
|
|
196
|
+
initialValue: !1
|
|
197
|
+
});
|
|
198
|
+
Ne(() => {
|
|
199
|
+
n && g(
|
|
200
|
+
u ? n.filter((a) => a.favoriteChat === !0) : n
|
|
201
|
+
);
|
|
202
|
+
}, [n, u]);
|
|
203
|
+
const _ = async (a) => {
|
|
204
|
+
R(a), S({
|
|
205
|
+
type: De,
|
|
206
|
+
payload: { searchString: a }
|
|
207
|
+
});
|
|
208
|
+
}, b = ge((a) => {
|
|
209
|
+
_(a.target.value.trim());
|
|
210
|
+
}, 500), x = async (a) => {
|
|
211
|
+
a.preventDefault();
|
|
212
|
+
}, O = (a) => {
|
|
213
|
+
I(a);
|
|
214
|
+
};
|
|
215
|
+
return /* @__PURE__ */ c(
|
|
216
|
+
Re,
|
|
217
|
+
{
|
|
218
|
+
open: m,
|
|
219
|
+
onOpenChange: p,
|
|
220
|
+
title: ye,
|
|
221
|
+
animation: !0,
|
|
222
|
+
animationType: "fade",
|
|
223
|
+
children: [
|
|
224
|
+
/* @__PURE__ */ t(
|
|
225
|
+
pe,
|
|
226
|
+
{
|
|
227
|
+
header: s.searchString ? "Filters applied" : "Filters",
|
|
228
|
+
className: "prose-dark dark:prose-lighter mb-4",
|
|
229
|
+
noBorder: !0,
|
|
230
|
+
compact: !0,
|
|
231
|
+
children: /* @__PURE__ */ c("form", { autoComplete: "off", onSubmit: x, children: [
|
|
232
|
+
/* @__PURE__ */ t(
|
|
233
|
+
Te,
|
|
234
|
+
{
|
|
235
|
+
placeholder: "Search",
|
|
236
|
+
labelHidden: !0,
|
|
237
|
+
noBorder: !0,
|
|
238
|
+
autoCapitalize: "off",
|
|
239
|
+
autoComplete: "off",
|
|
240
|
+
autoCorrect: "off",
|
|
241
|
+
ref: l,
|
|
242
|
+
defaultValue: s.searchString,
|
|
243
|
+
mode: "alt-system",
|
|
244
|
+
name: "Search",
|
|
245
|
+
label: "Search",
|
|
246
|
+
onChange: b,
|
|
247
|
+
className: "my-2",
|
|
248
|
+
rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(Ae, { monotone: !0, size: "size-3" }) })
|
|
249
|
+
}
|
|
250
|
+
),
|
|
251
|
+
/* @__PURE__ */ c("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
|
|
252
|
+
/* @__PURE__ */ t("div", { className: "order-1 sm:order-0", children: /* @__PURE__ */ t(
|
|
253
|
+
Ie,
|
|
254
|
+
{
|
|
255
|
+
name: "favorites-only",
|
|
256
|
+
checked: u,
|
|
257
|
+
onChange: O,
|
|
258
|
+
label: "Show favorites only",
|
|
259
|
+
narrow: !0,
|
|
260
|
+
noBorder: !0
|
|
261
|
+
}
|
|
262
|
+
) }),
|
|
263
|
+
/* @__PURE__ */ t(
|
|
264
|
+
Ee,
|
|
265
|
+
{
|
|
266
|
+
size: "small",
|
|
267
|
+
disabled: s.searchString === "",
|
|
268
|
+
onClick: () => {
|
|
269
|
+
_(""), l.current?.value && (l.current.value = "", l.current.focus());
|
|
270
|
+
},
|
|
271
|
+
children: "Reset Search"
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
] })
|
|
275
|
+
] })
|
|
276
|
+
}
|
|
277
|
+
),
|
|
278
|
+
/* @__PURE__ */ c("div", { className: "flex flex-col sm:flex-row max-h-[65vh] sm:max-h-[75vh] min-h-[60vh]", children: [
|
|
279
|
+
D && /* @__PURE__ */ t("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
|
|
280
|
+
!D && /* @__PURE__ */ t(
|
|
281
|
+
we,
|
|
282
|
+
{
|
|
283
|
+
mutate: A,
|
|
284
|
+
filteredHistory: k,
|
|
285
|
+
onOpenChange: p,
|
|
286
|
+
isLoading: E,
|
|
287
|
+
totalHistoryCount: i,
|
|
288
|
+
isFiltered: !!(s.searchString || u)
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
] })
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
);
|
|
295
|
+
};
|
|
296
|
+
export {
|
|
297
|
+
Pe as HistoryPanel
|
|
298
|
+
};
|
|
@@ -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.
|
|
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.
|
|
2
|
+
import { preloadToast as K, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as H, LazyToastContainerWrapper as $, Panel as V } from "./App.CpK3vbuC.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.BHptKcss.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,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, 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.
|
|
3
|
-
import { useCapability as be, Panel as ot, Toggle as l } from "./App.
|
|
4
|
-
import { TextArea as Te } from "./index.
|
|
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.BHptKcss.js";
|
|
3
|
+
import { useCapability as be, Panel as ot, Toggle as l } from "./App.CpK3vbuC.js";
|
|
4
|
+
import { TextArea as Te } from "./index.CHqfXZtZ.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,
|
|
@@ -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.
|
|
3
|
-
import { Panel as H } from "./App.
|
|
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.BHptKcss.js";
|
|
3
|
+
import { Panel as H } from "./App.CpK3vbuC.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.
|
|
10
|
+
"./Chart.BQTk2pK3.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, 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.
|
|
3
|
-
import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.
|
|
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.
|
|
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.BHptKcss.js";
|
|
3
|
+
import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.CpK3vbuC.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.B8DHTZep.js";
|
|
5
5
|
import y from "clsx";
|
|
6
6
|
import { useState as C, useEffect as Le, useRef as oe } from "react";
|
|
7
|
-
import { TextArea as Oe } from "./index.
|
|
7
|
+
import { TextArea as Oe } from "./index.CHqfXZtZ.js";
|
|
8
8
|
const _e = ({
|
|
9
9
|
open: N,
|
|
10
10
|
onOpenChange: E,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as l, jsxs as y } from "react/jsx-runtime";
|
|
2
|
-
import { ButtonSort_private as f, e as k } from "./index.
|
|
2
|
+
import { ButtonSort_private as f, e as k } from "./index.BHptKcss.js";
|
|
3
3
|
import o from "clsx";
|
|
4
4
|
import v, { useContext as b } from "react";
|
|
5
5
|
/*!
|
|
@@ -4252,7 +4252,6 @@ const U = {
|
|
|
4252
4252
|
GET_CHAT: `query GetChatById($id: String!) {
|
|
4253
4253
|
chatById(id: $id) {
|
|
4254
4254
|
model
|
|
4255
|
-
provider
|
|
4256
4255
|
summary
|
|
4257
4256
|
tokenUsage
|
|
4258
4257
|
messages {
|
|
@@ -7856,7 +7855,7 @@ const Br = {
|
|
|
7856
7855
|
] });
|
|
7857
7856
|
}, Pc = new URL(document.location.href).searchParams, Gr = !!Pc.get("debug") || !1, xc = cn(() => import(
|
|
7858
7857
|
/* webpackChunkName: "LazyApp" */
|
|
7859
|
-
"./App.
|
|
7858
|
+
"./App.CpK3vbuC.js"
|
|
7860
7859
|
).then((e) => e.App)), Mc = new Pn(), zr = ({
|
|
7861
7860
|
isComponent: e,
|
|
7862
7861
|
headerHeight: t
|
|
@@ -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.
|
|
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.ovqec__Y.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 h } from "react/jsx-runtime";
|
|
2
|
-
import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.
|
|
2
|
+
import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.BHptKcss.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.
|
|
2
|
+
import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.BHptKcss.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.
|
|
2
|
-
import { visit as In } from "./useMarkdown.
|
|
3
|
-
import { toText as Cn } from "./index.
|
|
1
|
+
import { getDefaultExportFromCjs as kn } from "./App.CpK3vbuC.js";
|
|
2
|
+
import { visit as In } from "./useMarkdown.ovqec__Y.js";
|
|
3
|
+
import { toText as Cn } from "./index.CtTF1DFp.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,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.
|
|
2
|
-
import { toText as Ca } from "./index.
|
|
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.ovqec__Y.js";
|
|
2
|
+
import { toText as Ca } from "./index.CtTF1DFp.js";
|
|
3
3
|
const Gt = /[#.]/g;
|
|
4
4
|
function qa(r, e) {
|
|
5
5
|
const t = r || "", a = {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as le from "react/jsx-runtime";
|
|
2
2
|
import { jsx as vt, jsxs as Tr } from "react/jsx-runtime";
|
|
3
|
-
import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.
|
|
3
|
+
import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.BHptKcss.js";
|
|
4
4
|
import { useCallback as Dt, useRef as vn, useState as Nr, useEffect as Rr } from "react";
|
|
5
|
-
import { getDefaultExportFromCjs as Ft } from "./App.
|
|
5
|
+
import { getDefaultExportFromCjs as Ft } from "./App.CpK3vbuC.js";
|
|
6
6
|
const Ot = -1, ee = 0, Hn = 1, ne = 2, ze = 3, _e = 4, Me = 5, Ne = 6, Bt = 7, jt = 8, Qe = typeof self == "object" ? self : globalThis, vr = (n, e) => {
|
|
7
7
|
const t = (i, l) => (n.set(l, i), i), r = (i) => {
|
|
8
8
|
if (n.has(i))
|
|
@@ -7111,7 +7111,7 @@ class vu {
|
|
|
7111
7111
|
if (!this.remarkGfm) {
|
|
7112
7112
|
const { default: e } = await import(
|
|
7113
7113
|
/* webpackChunkName: "md-remark" */
|
|
7114
|
-
"./index.
|
|
7114
|
+
"./index.BW2JmieU.js"
|
|
7115
7115
|
);
|
|
7116
7116
|
this.remarkGfm = e;
|
|
7117
7117
|
}
|
|
@@ -7122,7 +7122,7 @@ class vu {
|
|
|
7122
7122
|
ju("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
|
|
7123
7123
|
const { default: e } = await import(
|
|
7124
7124
|
/* webpackChunkName: "md-rehype-katex" */
|
|
7125
|
-
"./index.
|
|
7125
|
+
"./index.DmgNCKlb.js"
|
|
7126
7126
|
);
|
|
7127
7127
|
this.rehypeKatex = e;
|
|
7128
7128
|
}
|
|
@@ -7132,7 +7132,7 @@ class vu {
|
|
|
7132
7132
|
if (!this.remarkMath) {
|
|
7133
7133
|
const { default: e } = await import(
|
|
7134
7134
|
/* webpackChunkName: "md-remark" */
|
|
7135
|
-
"./index.
|
|
7135
|
+
"./index.qXgqxbjy.js"
|
|
7136
7136
|
);
|
|
7137
7137
|
this.remarkMath = e;
|
|
7138
7138
|
}
|
|
@@ -7142,7 +7142,7 @@ class vu {
|
|
|
7142
7142
|
if (!this.rehypeHighlight) {
|
|
7143
7143
|
const { default: e } = await import(
|
|
7144
7144
|
/* webpackChunkName: "md-rehype-highlight" */
|
|
7145
|
-
"./index.
|
|
7145
|
+
"./index.DYgM3w1D.js"
|
|
7146
7146
|
);
|
|
7147
7147
|
this.rehypeHighlight = e;
|
|
7148
7148
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { SassySaint as r } from "./chunks/index.
|
|
1
|
+
import { SassySaint as r } from "./chunks/index.BHptKcss.js";
|
|
2
2
|
/*!
|
|
3
|
-
@sassysaint/client v8.
|
|
3
|
+
@sassysaint/client v8.82.0
|
|
4
4
|
© 2025 gizmette.com
|
|
5
5
|
*/
|
|
6
6
|
try {
|
|
7
7
|
window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
|
|
8
|
-
version: "8.
|
|
9
|
-
buildTime: "11/13/2025
|
|
8
|
+
version: "8.82.0",
|
|
9
|
+
buildTime: "11/13/2025 10:08 AM EST",
|
|
10
10
|
license: "MIT"
|
|
11
11
|
});
|
|
12
12
|
} catch {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/sassysaint",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.82.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Arno Versini",
|
|
6
6
|
"publishConfig": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"react-dom": "^18.3.1 || ^19.0.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@sassysaint/client": "8.
|
|
36
|
+
"@sassysaint/client": "8.82.0",
|
|
37
37
|
"@tailwindcss/vite": "4.1.17",
|
|
38
38
|
"@versini/ui-styles": "6.1.1"
|
|
39
39
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"sideEffects": [
|
|
46
46
|
"**/*.css"
|
|
47
47
|
],
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "a162d21892df3863241cb1211df8c5a65a12b193"
|
|
49
49
|
}
|