@versini/sassysaint 8.95.1 → 8.96.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.oKYEpTAu.js → AboutChangelog.BT8UgmHQ.js} +3 -3
- package/dist/chunks/{AboutEntry.C3YYsRM3.js → AboutEntry.BJE-bU_N.js} +5 -5
- package/dist/chunks/{App.YJ6X6xsL.js → App.LYDFtAda.js} +17 -17
- package/dist/chunks/{Chart.C9KO1m34.js → Chart.B095KoRq.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.D-_zHFRv.js → ChatBubbleAssistant.BknxuERx.js} +4 -4
- package/dist/chunks/{ChatBubbleUser.DhmmlriT.js → ChatBubbleUser.BclrVW4B.js} +3 -3
- package/dist/chunks/{ChatHistoryTable.D8zIPSxa.js → ChatHistoryTable.CB_X65fc.js} +3 -3
- package/dist/chunks/{HistoryEntry.A_zM8X2l.js → HistoryEntry.BgHyFwE3.js} +3 -3
- package/dist/chunks/{ProfileEntry.BTJI95Ps.js → ProfileEntry.C9QOm9l-.js} +2 -2
- package/dist/chunks/{SettingsEntry.Bh6zMUQR.js → SettingsEntry.CzbiS7Bz.js} +3 -3
- package/dist/chunks/UsageEntry.CgQaTCNr.js +245 -0
- package/dist/chunks/{UserMemoriesPanel.Cb4rReTt.js → UserMemoriesPanel.DTr5Rx1F.js} +4 -4
- package/dist/chunks/{index.DE1Lyuoz.js → index.66Na7pB6.js} +1 -1
- package/dist/chunks/{index.B3VxdF5s.js → index.B5KZFYb6.js} +3 -3
- package/dist/chunks/{index.ksfUny7U.js → index.BCn9j5ZA.js} +1 -1
- package/dist/chunks/{index.BV3huGg5.js → index.BXgW23HY.js} +1 -1
- package/dist/chunks/{index.DzVmZ1PW.js → index.BwhIOCQB.js} +1 -1
- package/dist/chunks/{index.DeMYwl1b.js → index.CLiPgVbU.js} +1 -1
- package/dist/chunks/{index.CLoLtkdg.js → index.CQkhzIBN.js} +1 -1
- package/dist/chunks/{index.E7vY8f-A.js → index.D9s4cOVM.js} +2 -2
- package/dist/chunks/{index.Bb0qPlsw.js → index.sJ3tCqwk.js} +100 -98
- package/dist/chunks/{useMarkdown.DwJslJ5L.js → useMarkdown.DLS4h-XT.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/UsageEntry.DDAJ5UIh.js +0 -240
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as Le, jsxs as Rt, Fragment as Tr } from "react/jsx-runtime";
|
|
2
|
-
import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.
|
|
2
|
+
import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.sJ3tCqwk.js";
|
|
3
3
|
import { useCallback as Dt, useRef as Rn, useState as Nr, useEffect as vr } from "react";
|
|
4
|
-
import { getDefaultExportFromCjs as Ot } from "./App.
|
|
4
|
+
import { getDefaultExportFromCjs as Ot } from "./App.LYDFtAda.js";
|
|
5
5
|
const Ft = -1, ee = 0, $n = 1, ne = 2, ze = 3, _e = 4, Me = 5, Ne = 6, Bt = 7, Ut = 8, Qe = typeof self == "object" ? self : globalThis, Rr = (n, e) => {
|
|
6
6
|
const t = (i, l) => (n.set(l, i), i), r = (i) => {
|
|
7
7
|
if (n.has(i))
|
|
@@ -7137,7 +7137,7 @@ class Bu {
|
|
|
7137
7137
|
if (!this.remarkGfm) {
|
|
7138
7138
|
const { default: e } = await import(
|
|
7139
7139
|
/* webpackChunkName: "md-remark" */
|
|
7140
|
-
"./index.
|
|
7140
|
+
"./index.BCn9j5ZA.js"
|
|
7141
7141
|
);
|
|
7142
7142
|
this.remarkGfm = e;
|
|
7143
7143
|
}
|
|
@@ -7148,7 +7148,7 @@ class Bu {
|
|
|
7148
7148
|
Vu("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
|
|
7149
7149
|
const { default: e } = await import(
|
|
7150
7150
|
/* webpackChunkName: "md-rehype-katex" */
|
|
7151
|
-
"./index.
|
|
7151
|
+
"./index.D9s4cOVM.js"
|
|
7152
7152
|
);
|
|
7153
7153
|
this.rehypeKatex = e;
|
|
7154
7154
|
}
|
|
@@ -7158,7 +7158,7 @@ class Bu {
|
|
|
7158
7158
|
if (!this.remarkMath) {
|
|
7159
7159
|
const { default: e } = await import(
|
|
7160
7160
|
/* webpackChunkName: "md-remark" */
|
|
7161
|
-
"./index.
|
|
7161
|
+
"./index.CLiPgVbU.js"
|
|
7162
7162
|
);
|
|
7163
7163
|
this.remarkMath = e;
|
|
7164
7164
|
}
|
|
@@ -7168,7 +7168,7 @@ class Bu {
|
|
|
7168
7168
|
if (!this.rehypeHighlight) {
|
|
7169
7169
|
const { default: e } = await import(
|
|
7170
7170
|
/* webpackChunkName: "md-rehype-highlight" */
|
|
7171
|
-
"./index.
|
|
7171
|
+
"./index.B5KZFYb6.js"
|
|
7172
7172
|
);
|
|
7173
7173
|
this.rehypeHighlight = e;
|
|
7174
7174
|
}
|
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.sJ3tCqwk.js";
|
|
2
2
|
/*!
|
|
3
|
-
@sassysaint/client v8.
|
|
3
|
+
@sassysaint/client v8.96.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: "
|
|
8
|
+
version: "8.96.0",
|
|
9
|
+
buildTime: "12/01/2025 09:44 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.96.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.96.0",
|
|
37
37
|
"@tailwindcss/vite": "4.1.17",
|
|
38
38
|
"@versini/ui-styles": "6.1.2"
|
|
39
39
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"sideEffects": [
|
|
46
46
|
"**/*.css"
|
|
47
47
|
],
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "2daff197cf6a2368723585a7513a33f3d1c758fd"
|
|
49
49
|
}
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import { jsxs as d, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { n as X, useUniqueId as Z, useUserChatStats as J, useLocalStorage as g, LOCAL_STORAGE_PREFIX as _, LOCAL_STORAGE_USAGE_VIEW_MODE as Q, LOCAL_STORAGE_USAGE_TIME_RANGE as $, TIME_RANGES as t, LOCAL_STORAGE_USAGE_SELECTED_MONTH as ee, useChatsUsage as te, USAGE_TITLE as ne, Card as Y, CARDS as T, L as A, j as c, TIME_RANGE_LABELS as k, MONTHS as N, ButtonIcon as u, IconChart as re, IconSelected as P, IconUnSelected as b, IconPrevious as le, IconNext as se, renderDataAsList as ae, Button as oe, pluralize as D } from "./index.Bb0qPlsw.js";
|
|
3
|
-
import { Panel as ie, Menu as x, MenuGroupLabel as ce, MenuItem as G } from "./App.YJ6X6xsL.js";
|
|
4
|
-
import { useState as U, Suspense as de, lazy as Te } from "react";
|
|
5
|
-
const a = [0, 3, 6, 9], s = {
|
|
6
|
-
TOKEN: "token",
|
|
7
|
-
MODEL: "model"
|
|
8
|
-
}, ue = [
|
|
9
|
-
t.TODAY,
|
|
10
|
-
t.YESTERDAY,
|
|
11
|
-
t.CURRENT_YEAR,
|
|
12
|
-
t.LAST_YEAR
|
|
13
|
-
], Ee = Te(
|
|
14
|
-
() => import(
|
|
15
|
-
/* webpackChunkName: "chart-highcharts" */
|
|
16
|
-
"./Chart.C9KO1m34.js"
|
|
17
|
-
)
|
|
18
|
-
), me = ({
|
|
19
|
-
open: v,
|
|
20
|
-
onOpenChange: R
|
|
21
|
-
}) => {
|
|
22
|
-
const { getAccessToken: L, user: p } = X(), H = Z(), { data: o, isSuccess: F } = J({
|
|
23
|
-
user: p?.username,
|
|
24
|
-
getAccessToken: L
|
|
25
|
-
}), f = Math.floor((/* @__PURE__ */ new Date()).getMonth() / 3) * 3, [m, C] = U(f), [i, z] = g({
|
|
26
|
-
key: _ + Q,
|
|
27
|
-
initialValue: s.MODEL
|
|
28
|
-
}), [r, E] = g({
|
|
29
|
-
key: _ + $,
|
|
30
|
-
initialValue: t.CURRENT_YEAR
|
|
31
|
-
}), [l, S] = g({
|
|
32
|
-
key: _ + ee,
|
|
33
|
-
initialValue: null
|
|
34
|
-
}), [B, y] = U(
|
|
35
|
-
(/* @__PURE__ */ new Date()).getFullYear()
|
|
36
|
-
), { data: h, isSuccess: V } = te({
|
|
37
|
-
user: p?.username,
|
|
38
|
-
getAccessToken: L,
|
|
39
|
-
timeRange: r,
|
|
40
|
-
month: r === t.SPECIFIC_MONTH && l !== null ? String(l) : void 0,
|
|
41
|
-
year: r === t.SPECIFIC_MONTH ? String(B) : void 0,
|
|
42
|
-
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
43
|
-
}), K = (n) => {
|
|
44
|
-
if (n.preventDefault(), r === t.TODAY || r === t.YESTERDAY) {
|
|
45
|
-
E(
|
|
46
|
-
r === t.TODAY ? t.YESTERDAY : t.TODAY
|
|
47
|
-
);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (r === t.SPECIFIC_MONTH && l !== null) {
|
|
51
|
-
const M = (l + 1) % 12;
|
|
52
|
-
S(M);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const O = (a.indexOf(m) + 1) % a.length;
|
|
56
|
-
C(a[O]);
|
|
57
|
-
}, j = (n) => {
|
|
58
|
-
if (n.preventDefault(), r === t.TODAY || r === t.YESTERDAY) {
|
|
59
|
-
E(
|
|
60
|
-
r === t.TODAY ? t.YESTERDAY : t.TODAY
|
|
61
|
-
);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (r === t.SPECIFIC_MONTH && l !== null) {
|
|
65
|
-
const M = (l - 1 + 12) % 12;
|
|
66
|
-
S(M);
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
const O = (a.indexOf(m) - 1 + a.length) % a.length;
|
|
70
|
-
C(a[O]);
|
|
71
|
-
}, w = (n) => {
|
|
72
|
-
E(n), n !== t.SPECIFIC_MONTH && S(null), (n === t.CURRENT_YEAR || n === t.LAST_YEAR) && C(f);
|
|
73
|
-
}, W = (n) => {
|
|
74
|
-
S(n), y((/* @__PURE__ */ new Date()).getFullYear()), E(t.SPECIFIC_MONTH);
|
|
75
|
-
}, q = () => r === t.SPECIFIC_MONTH && l !== null ? N[l] : k[r];
|
|
76
|
-
return /* @__PURE__ */ d(
|
|
77
|
-
ie,
|
|
78
|
-
{
|
|
79
|
-
open: v,
|
|
80
|
-
onOpenChange: R,
|
|
81
|
-
title: ne,
|
|
82
|
-
animation: !0,
|
|
83
|
-
animationType: "fade",
|
|
84
|
-
blurEffect: "large",
|
|
85
|
-
footer: /* @__PURE__ */ e(
|
|
86
|
-
A,
|
|
87
|
-
{
|
|
88
|
-
columnGap: 2,
|
|
89
|
-
alignHorizontal: "flex-end",
|
|
90
|
-
className: "pb-8 sm:pb-0",
|
|
91
|
-
children: /* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
92
|
-
oe,
|
|
93
|
-
{
|
|
94
|
-
mode: "dark",
|
|
95
|
-
variant: "secondary",
|
|
96
|
-
focusMode: "light",
|
|
97
|
-
noBorder: !0,
|
|
98
|
-
onClick: () => R(!1),
|
|
99
|
-
children: "Dismiss"
|
|
100
|
-
}
|
|
101
|
-
) })
|
|
102
|
-
}
|
|
103
|
-
),
|
|
104
|
-
children: [
|
|
105
|
-
/* @__PURE__ */ e(
|
|
106
|
-
Y,
|
|
107
|
-
{
|
|
108
|
-
header: T.MAIN_STATISTICS.USAGE,
|
|
109
|
-
className: "prose-dark dark:prose-lighter mb-4 min-h-[578px]",
|
|
110
|
-
noBorder: !0,
|
|
111
|
-
children: V && h ? /* @__PURE__ */ d(de, { fallback: /* @__PURE__ */ e("div", {}), children: [
|
|
112
|
-
/* @__PURE__ */ e(A, { className: "mb-2", alignHorizontal: "center", children: /* @__PURE__ */ e(c, { children: /* @__PURE__ */ d(
|
|
113
|
-
x,
|
|
114
|
-
{
|
|
115
|
-
mode: "dark",
|
|
116
|
-
focusMode: "light",
|
|
117
|
-
trigger: /* @__PURE__ */ e(
|
|
118
|
-
u,
|
|
119
|
-
{
|
|
120
|
-
noBorder: !0,
|
|
121
|
-
variant: "selected",
|
|
122
|
-
size: "small",
|
|
123
|
-
labelRight: q(),
|
|
124
|
-
children: /* @__PURE__ */ e(re, { className: "mr-1", size: "size-4" })
|
|
125
|
-
}
|
|
126
|
-
),
|
|
127
|
-
defaultPlacement: "bottom-start",
|
|
128
|
-
children: [
|
|
129
|
-
/* @__PURE__ */ e(ce, { children: "Date Range" }),
|
|
130
|
-
ue.map((n) => /* @__PURE__ */ e(
|
|
131
|
-
G,
|
|
132
|
-
{
|
|
133
|
-
label: k[n],
|
|
134
|
-
selected: r === n,
|
|
135
|
-
onClick: () => w(n)
|
|
136
|
-
},
|
|
137
|
-
n
|
|
138
|
-
)),
|
|
139
|
-
/* @__PURE__ */ e(x, { label: "Month", children: N.map((n, I) => /* @__PURE__ */ e(
|
|
140
|
-
G,
|
|
141
|
-
{
|
|
142
|
-
label: n,
|
|
143
|
-
selected: r === t.SPECIFIC_MONTH && l === I,
|
|
144
|
-
onClick: () => W(I)
|
|
145
|
-
},
|
|
146
|
-
n
|
|
147
|
-
)) })
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
) }) }),
|
|
151
|
-
/* @__PURE__ */ d(A, { className: "mb-2", alignHorizontal: "center", columnGap: 2, children: [
|
|
152
|
-
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
153
|
-
u,
|
|
154
|
-
{
|
|
155
|
-
onClick: () => z(s.MODEL),
|
|
156
|
-
labelRight: "Model Usage",
|
|
157
|
-
noBorder: !0,
|
|
158
|
-
size: "small",
|
|
159
|
-
mode: i === s.MODEL ? "light" : "dark",
|
|
160
|
-
children: i === s.MODEL ? /* @__PURE__ */ e(P, { size: "size-4" }) : /* @__PURE__ */ e(b, { size: "size-4" })
|
|
161
|
-
}
|
|
162
|
-
) }),
|
|
163
|
-
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
164
|
-
u,
|
|
165
|
-
{
|
|
166
|
-
onClick: () => z(s.TOKEN),
|
|
167
|
-
labelRight: "Token Usage",
|
|
168
|
-
noBorder: !0,
|
|
169
|
-
size: "small",
|
|
170
|
-
mode: i === s.TOKEN ? "light" : "dark",
|
|
171
|
-
children: i === s.TOKEN ? /* @__PURE__ */ e(P, { size: "size-4" }) : /* @__PURE__ */ e(b, { size: "size-4" })
|
|
172
|
-
}
|
|
173
|
-
) })
|
|
174
|
-
] }),
|
|
175
|
-
/* @__PURE__ */ e(
|
|
176
|
-
Ee,
|
|
177
|
-
{
|
|
178
|
-
tokenUsage: i === s.TOKEN ? h.tokenUsage?.series || [] : h.modelUsage?.series || [],
|
|
179
|
-
page: m,
|
|
180
|
-
viewMode: i,
|
|
181
|
-
timeRange: r,
|
|
182
|
-
categories: h.categories,
|
|
183
|
-
chartTitle: r === t.SPECIFIC_MONTH && l !== null ? N[l] : void 0
|
|
184
|
-
}
|
|
185
|
-
),
|
|
186
|
-
/* @__PURE__ */ d(A, { className: "mt-2", alignHorizontal: "center", columnGap: 2, children: [
|
|
187
|
-
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
188
|
-
u,
|
|
189
|
-
{
|
|
190
|
-
noBorder: !0,
|
|
191
|
-
size: "small",
|
|
192
|
-
label: "Previous",
|
|
193
|
-
onClick: j,
|
|
194
|
-
children: /* @__PURE__ */ e(le, { size: "size-4" })
|
|
195
|
-
}
|
|
196
|
-
) }),
|
|
197
|
-
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
198
|
-
u,
|
|
199
|
-
{
|
|
200
|
-
noBorder: !0,
|
|
201
|
-
size: "small",
|
|
202
|
-
label: "Next",
|
|
203
|
-
onClick: K,
|
|
204
|
-
children: /* @__PURE__ */ e(se, { size: "size-4" })
|
|
205
|
-
}
|
|
206
|
-
) })
|
|
207
|
-
] })
|
|
208
|
-
] }) : null
|
|
209
|
-
}
|
|
210
|
-
),
|
|
211
|
-
/* @__PURE__ */ e(
|
|
212
|
-
Y,
|
|
213
|
-
{
|
|
214
|
-
header: T.MAIN_STATISTICS.TITLE,
|
|
215
|
-
className: "prose-dark dark:prose-lighter min-h-[170px]",
|
|
216
|
-
noBorder: !0,
|
|
217
|
-
children: F ? ae(
|
|
218
|
-
H,
|
|
219
|
-
{
|
|
220
|
-
[D(T.MAIN_STATISTICS.TOTAL, o.totalChats)]: o.totalChats,
|
|
221
|
-
[D(
|
|
222
|
-
T.MAIN_STATISTICS.TOTAL_PRIVATE,
|
|
223
|
-
o.privateChats
|
|
224
|
-
)]: o.privateChats,
|
|
225
|
-
[D(
|
|
226
|
-
T.MAIN_STATISTICS.TOTAL_DELETED,
|
|
227
|
-
o.deletedChats
|
|
228
|
-
)]: o.deletedChats
|
|
229
|
-
},
|
|
230
|
-
!0
|
|
231
|
-
) : null
|
|
232
|
-
}
|
|
233
|
-
)
|
|
234
|
-
]
|
|
235
|
-
}
|
|
236
|
-
);
|
|
237
|
-
};
|
|
238
|
-
export {
|
|
239
|
-
me as Usage
|
|
240
|
-
};
|