@versini/sassysaint 8.69.0 → 8.70.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 (27) hide show
  1. package/dist/chunks/{AboutChangelog.C1qlLGOL.js → AboutChangelog.DVjlL3Qi.js} +2 -2
  2. package/dist/chunks/{AboutEntry.MVgAFIQi.js → AboutEntry.d-oqfbRb.js} +5 -5
  3. package/dist/chunks/{App.DnIeRbwI.js → App.DP_1QDro.js} +16 -16
  4. package/dist/chunks/{Chart.D4LA295Y.js → Chart.BxgzH0Ym.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.B9uKu0Zq.js → ChatBubbleAssistant.CAVS6c3_.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.DBArpWQj.js → ChatBubbleUser.Cyzg2idO.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.DpDPvpwx.js → ChatHistoryTable.gB3WSJ7G.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.DyYYZjb-.js → HistoryEntry.CQyBOAhi.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BkfA5ilN.js → ProfileEntry.CWwyc27k.js} +2 -2
  10. package/dist/chunks/SettingsEntry.DKbi9HA-.js +444 -0
  11. package/dist/chunks/{Table.BSsGkgB1.js → Table.B65cZ6GW.js} +2 -2
  12. package/dist/chunks/{UsageEntry.DA9Z1z3A.js → UsageEntry.BdgexwbQ.js} +3 -3
  13. package/dist/chunks/UserMemoriesPanel.CXJlDOY-.js +347 -0
  14. package/dist/chunks/{index.BtXviUD3.js → index.B-25p6O_.js} +3 -3
  15. package/dist/chunks/index.C0hBKDgD.js +357 -0
  16. package/dist/chunks/{index.CaDLl4vX.js → index.CTgvpxYe.js} +1 -1
  17. package/dist/chunks/{index.Dta1BrG6.js → index.Cfv_6CcW.js} +1 -1
  18. package/dist/chunks/{index.DXaLvF3n.js → index.DjSi9ICW.js} +487 -455
  19. package/dist/chunks/{index.CKRmoShZ.js → index.DtU6Al_9.js} +1 -1
  20. package/dist/chunks/{index.DH2l4xnG.js → index.TU_lKm2K.js} +1 -1
  21. package/dist/chunks/{index.B3XB6cTq.js → index.edqJduuy.js} +2 -2
  22. package/dist/chunks/{useMarkdown.BAKJP0y9.js → useMarkdown.CZcXi3B7.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
  26. package/dist/chunks/SettingsEntry.CfM4w4sE.js +0 -794
  27. package/dist/chunks/UserMemoriesPanel.BI0GoJUN.js +0 -208
@@ -0,0 +1,444 @@
1
+ import { jsxs as s, jsx as t, Fragment as w } from "react/jsx-runtime";
2
+ import { n as Ce, useEntitlements as Ie, useUserPreferences as be, nt as te, canEvaluateModels as ke, et as we, getCacheInfo as ye, isServiceWorkerEnabled as ve, SETTINGS_TITLE as De, S as m, CARDS as c, Q as Le, C as y, PROMPTS_DESCRIPTION as Me, L as xe, j as oe, getCurrentGeoLocation as _e, mutateCall as se, SERVICE_TYPES as ae, handleServiceWorkerToggle as Re } from "./index.DjSi9ICW.js";
3
+ import { useCapability as ne, oe as Be, G as l } from "./App.DP_1QDro.js";
4
+ import { Re as re } from "./index.C0hBKDgD.js";
5
+ import { useState as n, useMemo as Oe, useCallback as Ae, useEffect as ce } from "react";
6
+ const $e = ({
7
+ open: le,
8
+ onOpenChange: v
9
+ }) => {
10
+ const { getAccessToken: E, user: D } = Ce(), { allowedModels: T, status: L } = Ie(), {
11
+ data: o,
12
+ isSuccess: ie,
13
+ refetch: M
14
+ } = be({
15
+ user: D?.username,
16
+ getAccessToken: E
17
+ }), [x, p] = n({
18
+ loadingLocation: !1
19
+ }), [C, _] = n({
20
+ prompts: []
21
+ }), [R, B] = n(""), [O, g] = n(""), [A, P] = n(!1), [G, U] = n(!1), [N, W] = n(!1), [S, V] = n(!1), [$, z] = n(!1), [j, Y] = n(!1), [u, F] = n(null), [H, q] = n(!1), [Q, J] = n(!1), K = ne(te.TOOL.MEMORIES), X = ne(te.ADDON.REASONING), de = Oe(() => ke(T, L) ? we(T) : !1, [T, L]), me = (e) => {
22
+ J(e);
23
+ }, ue = (e) => {
24
+ P(e);
25
+ }, he = (e) => {
26
+ K && U(e);
27
+ }, pe = (e) => {
28
+ V(e);
29
+ }, ge = (e) => {
30
+ X && z(e);
31
+ }, Ne = (e) => {
32
+ Y(e);
33
+ }, Se = async (e) => {
34
+ e.preventDefault();
35
+ try {
36
+ await se({
37
+ accessToken: await E(),
38
+ type: ae.SET_USER_PREFERENCES,
39
+ params: {
40
+ user: D?.username,
41
+ instructions: R,
42
+ location: O,
43
+ provider: o?.provider,
44
+ tags: C.prompts,
45
+ sendOnEnter: A,
46
+ useMemory: G,
47
+ showDetails: Q,
48
+ showReasoningButton: $,
49
+ useNestedModelSelection: j
50
+ }
51
+ }), S !== N && (await Re(S), W(S)), M(), p({
52
+ loadingLocation: !1
53
+ });
54
+ } catch {
55
+ }
56
+ }, fe = async () => {
57
+ p({
58
+ loadingLocation: !0
59
+ }), g("...");
60
+ try {
61
+ const e = Date.now(), a = await _e(), f = await se({
62
+ accessToken: await E(),
63
+ type: ae.GET_LOCATION,
64
+ params: {
65
+ latitude: a.latitude,
66
+ longitude: a.longitude
67
+ }
68
+ }), d = Date.now() - e;
69
+ d < 2e3 && await new Promise((Te) => setTimeout(Te, 2e3 - d));
70
+ const { city: i, state: r, country: h, displayName: k } = f.data, Ee = i && r && h ? `${i}, ${r}, ${h}` : k;
71
+ p({
72
+ loadingLocation: !1
73
+ }), g(Ee);
74
+ } catch {
75
+ p({
76
+ loadingLocation: !1
77
+ });
78
+ }
79
+ }, Z = () => {
80
+ M(), v(!1);
81
+ }, I = ({
82
+ enabled: e = !1,
83
+ privateChat: a = !1,
84
+ clipboardAccess: f = !1,
85
+ ...b
86
+ }) => {
87
+ _((d) => {
88
+ const i = d.prompts, r = {
89
+ ...b,
90
+ enabled: e,
91
+ privateChat: a,
92
+ clipboardAccess: f
93
+ };
94
+ f ? r.content = r.content.replace(/{{clipboard}}/g, "") + " {{clipboard}}" : r.content = r.content.replace(/{{clipboard}}/g, "");
95
+ const h = i.findIndex((k) => k.slot === b.slot);
96
+ return h === -1 ? {
97
+ ...d,
98
+ prompts: [...i, { ...r }]
99
+ } : (i[h] = r, {
100
+ ...d,
101
+ prompts: [...i]
102
+ });
103
+ });
104
+ }, ee = Ae(async () => {
105
+ try {
106
+ q(!0);
107
+ const e = await ye();
108
+ F(e);
109
+ } catch {
110
+ } finally {
111
+ q(!1);
112
+ }
113
+ }, []);
114
+ return ce(() => {
115
+ if (!o)
116
+ return;
117
+ o.instructions && B(o.instructions), o.location && g(o.location), o.tags && _({ prompts: o.tags }), o.sendOnEnter !== void 0 && P(o.sendOnEnter), o.useMemory !== void 0 && U(o.useMemory), o.showDetails !== void 0 && J(o.showDetails), o.showReasoningButton !== void 0 && z(o.showReasoningButton), o.useNestedModelSelection !== void 0 && Y(o.useNestedModelSelection);
118
+ const e = ve();
119
+ W(e), V(e);
120
+ }, [o]), ce(() => {
121
+ N ? ee() : F(null);
122
+ }, [N, ee]), ie ? /* @__PURE__ */ s(
123
+ Be,
124
+ {
125
+ open: le,
126
+ onOpenChange: Z,
127
+ title: De,
128
+ animation: !0,
129
+ animationType: "fade",
130
+ footer: /* @__PURE__ */ s(
131
+ xe,
132
+ {
133
+ columnGap: 2,
134
+ alignHorizontal: "flex-end",
135
+ className: "pb-8 sm:pb-0",
136
+ children: [
137
+ /* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(
138
+ y,
139
+ {
140
+ mode: "dark",
141
+ variant: "secondary",
142
+ focusMode: "light",
143
+ noBorder: !0,
144
+ onClick: Z,
145
+ children: "Cancel"
146
+ }
147
+ ) }),
148
+ /* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(
149
+ y,
150
+ {
151
+ mode: "dark",
152
+ focusMode: "light",
153
+ onClick: async (e) => {
154
+ v(!1), await Se(e);
155
+ },
156
+ children: "Save"
157
+ }
158
+ ) })
159
+ ]
160
+ }
161
+ ),
162
+ children: [
163
+ /* @__PURE__ */ s(
164
+ m,
165
+ {
166
+ header: c.SETTINGS_DETAILS.TITLE,
167
+ className: "prose-dark dark:prose-lighter",
168
+ noBorder: !0,
169
+ children: [
170
+ /* @__PURE__ */ t("p", { className: "text-sm", children: c.SETTINGS_DETAILS.DETAILS }),
171
+ /* @__PURE__ */ t(
172
+ l,
173
+ {
174
+ noBorder: !0,
175
+ narrow: !0,
176
+ className: "mt-2",
177
+ label: "Show Message Statistics",
178
+ name: "show-message-statistics",
179
+ onChange: me,
180
+ checked: Q
181
+ }
182
+ ),
183
+ /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: c.SETTINGS_DETAILS.SEND_ON_ENTER }),
184
+ /* @__PURE__ */ t(
185
+ l,
186
+ {
187
+ noBorder: !0,
188
+ narrow: !0,
189
+ className: "mt-2",
190
+ label: "Send Message on Enter",
191
+ name: "send-message-on-enter",
192
+ onChange: ue,
193
+ checked: A
194
+ }
195
+ ),
196
+ K && /* @__PURE__ */ s(w, { children: [
197
+ /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: c.SETTINGS_DETAILS.USE_MEMORY }),
198
+ /* @__PURE__ */ t(
199
+ l,
200
+ {
201
+ noBorder: !0,
202
+ narrow: !0,
203
+ className: "mt-2",
204
+ label: "Use Memory",
205
+ name: "use-memory",
206
+ onChange: he,
207
+ checked: G
208
+ }
209
+ )
210
+ ] })
211
+ ]
212
+ }
213
+ ),
214
+ /* @__PURE__ */ s(
215
+ m,
216
+ {
217
+ header: "Custom Instructions",
218
+ className: "prose-dark dark:prose-lighter mt-4",
219
+ noBorder: !0,
220
+ children: [
221
+ /* @__PURE__ */ s("p", { className: "text-sm", children: [
222
+ "What would you like ",
223
+ /* @__PURE__ */ t("em", { children: Le }),
224
+ " to know about you to provide better responses?"
225
+ ] }),
226
+ /* @__PURE__ */ t(
227
+ re,
228
+ {
229
+ mode: "alt-system",
230
+ autoCapitalize: "off",
231
+ autoComplete: "off",
232
+ autoCorrect: "off",
233
+ name: "customInstructions",
234
+ label: "Custom Instructions",
235
+ value: R,
236
+ onChange: (e) => {
237
+ B(e.target.value);
238
+ },
239
+ helperText: "Press ENTER to add a new line."
240
+ }
241
+ )
242
+ ]
243
+ }
244
+ ),
245
+ /* @__PURE__ */ s(
246
+ m,
247
+ {
248
+ header: "Location",
249
+ className: "prose-dark dark:prose-lighter mt-4",
250
+ noBorder: !0,
251
+ children: [
252
+ /* @__PURE__ */ t("p", { className: "text-sm", children: "You can share your location to receive customized responses based on your area." }),
253
+ /* @__PURE__ */ t(
254
+ re,
255
+ {
256
+ mode: "alt-system",
257
+ name: "location",
258
+ label: "Location",
259
+ value: O,
260
+ onChange: (e) => {
261
+ g(e.target.value);
262
+ },
263
+ helperText: "Enter your location or press auto-detect."
264
+ }
265
+ ),
266
+ /* @__PURE__ */ t(
267
+ y,
268
+ {
269
+ className: "mt-2",
270
+ size: "small",
271
+ noBorder: !0,
272
+ variant: "secondary",
273
+ disabled: x.loadingLocation,
274
+ onClick: fe,
275
+ children: x.loadingLocation ? "Detecting..." : "Auto-detect"
276
+ }
277
+ )
278
+ ]
279
+ }
280
+ ),
281
+ /* @__PURE__ */ s(
282
+ m,
283
+ {
284
+ header: c.SETTINGS_PROMPTS.TITLE,
285
+ className: "prose-dark dark:prose-lighter mt-4",
286
+ noBorder: !0,
287
+ children: [
288
+ /* @__PURE__ */ t("p", { className: "text-sm", children: Me }),
289
+ C.prompts && C.prompts.slice(0, 3).map((e) => /* @__PURE__ */ s(
290
+ m,
291
+ {
292
+ mode: "dark",
293
+ noBorder: !0,
294
+ header: e.label.replace("...", ""),
295
+ className: "prose-light mb-2",
296
+ children: [
297
+ /* @__PURE__ */ t("p", { className: "text-sm", children: e.description }),
298
+ /* @__PURE__ */ t(
299
+ l,
300
+ {
301
+ noBorder: !0,
302
+ narrow: !0,
303
+ mode: "dark",
304
+ focusMode: "light",
305
+ className: "mt-2",
306
+ label: "Enabled",
307
+ name: e.slot.toString(),
308
+ onChange: (a) => {
309
+ I({
310
+ ...e,
311
+ enabled: a
312
+ });
313
+ },
314
+ checked: e.enabled
315
+ }
316
+ ),
317
+ /* @__PURE__ */ t(
318
+ l,
319
+ {
320
+ noBorder: !0,
321
+ narrow: !0,
322
+ mode: "dark",
323
+ focusMode: "light",
324
+ className: "mt-2",
325
+ label: "Private Chat",
326
+ name: `private-${e.slot.toString()}`,
327
+ onChange: (a) => {
328
+ I({
329
+ ...e,
330
+ privateChat: a
331
+ });
332
+ },
333
+ checked: e.privateChat
334
+ }
335
+ ),
336
+ /* @__PURE__ */ t(
337
+ l,
338
+ {
339
+ noBorder: !0,
340
+ narrow: !0,
341
+ mode: "dark",
342
+ focusMode: "light",
343
+ className: "mt-2",
344
+ label: "Use Clipboard",
345
+ name: `clipboard-${e.slot.toString()}`,
346
+ onChange: (a) => {
347
+ I({
348
+ ...e,
349
+ clipboardAccess: a
350
+ });
351
+ },
352
+ checked: e.clipboardAccess
353
+ }
354
+ )
355
+ ]
356
+ },
357
+ `prompt-slot-${e.slot}`
358
+ ))
359
+ ]
360
+ }
361
+ ),
362
+ /* @__PURE__ */ s(
363
+ m,
364
+ {
365
+ header: c.SETTINGS_ADVANCED.TITLE,
366
+ className: "prose-dark dark:prose-lighter mt-4 ",
367
+ noBorder: !0,
368
+ children: [
369
+ X && /* @__PURE__ */ s(w, { children: [
370
+ /* @__PURE__ */ t("p", { className: "text-sm", children: c.SETTINGS_ADVANCED.REASONING_BUTTON_DESCRIPTION }),
371
+ /* @__PURE__ */ t(
372
+ l,
373
+ {
374
+ noBorder: !0,
375
+ narrow: !0,
376
+ className: "mt-2",
377
+ label: "Show Reasoning Button",
378
+ name: "show-reasoning-button",
379
+ onChange: ge,
380
+ checked: $
381
+ }
382
+ )
383
+ ] }),
384
+ de && /* @__PURE__ */ s(w, { children: [
385
+ /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: c.SETTINGS_ADVANCED.NESTED_MODEL_SELECTION_DESCRIPTION }),
386
+ /* @__PURE__ */ t(
387
+ l,
388
+ {
389
+ noBorder: !0,
390
+ narrow: !0,
391
+ className: "mt-2",
392
+ label: "Enable Model Selection",
393
+ name: "use-nested-model-selection",
394
+ onChange: Ne,
395
+ checked: j
396
+ }
397
+ )
398
+ ] }),
399
+ /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: c.SETTINGS_ADVANCED.CACHE_DESCRIPTION }),
400
+ /* @__PURE__ */ t(
401
+ l,
402
+ {
403
+ noBorder: !0,
404
+ narrow: !0,
405
+ className: "mt-2",
406
+ label: "Enable Assets Caching",
407
+ name: "enable-service-worker",
408
+ onChange: pe,
409
+ checked: S
410
+ }
411
+ ),
412
+ N && /* @__PURE__ */ s("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
413
+ /* @__PURE__ */ t("h3", { className: "m-0 mb-2 text-xs uppercase opacity-70", children: "Cache Info" }),
414
+ u ? /* @__PURE__ */ s("div", { className: "text-xs space-y-2", children: [
415
+ /* @__PURE__ */ s("p", { className: "m-0", children: [
416
+ "Version: ",
417
+ /* @__PURE__ */ t("strong", { children: u.version })
418
+ ] }),
419
+ /* @__PURE__ */ s("p", { className: "m-0", children: [
420
+ "Total Items: ",
421
+ /* @__PURE__ */ t("strong", { children: u.totalItems })
422
+ ] }),
423
+ u.caches.map((e) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("ul", { className: "not-prose font-mono mt-2 list-none w-[95cqw]", children: e.urls.map((a) => /* @__PURE__ */ t(
424
+ "li",
425
+ {
426
+ className: "truncate text-xs text-copy-dark dark:text-copy-light overflow-hidden text-ellipsis",
427
+ title: a,
428
+ children: new URL(a).pathname
429
+ },
430
+ a
431
+ )) }) }, e.name)),
432
+ u.totalItems === 0 && !H && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
433
+ ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: H ? "Loading cache info..." : "No cache info available." })
434
+ ] })
435
+ ]
436
+ }
437
+ )
438
+ ]
439
+ }
440
+ ) : null;
441
+ };
442
+ export {
443
+ $e as SettingsPanel
444
+ };
@@ -1,8 +1,8 @@
1
1
  import { jsxs as _, jsx as r } from "react/jsx-runtime";
2
- import { I as f, b as v } from "./index.DXaLvF3n.js";
2
+ import { I as f, b as v } from "./index.DjSi9ICW.js";
3
3
  import C, { useContext as b } from "react";
4
4
  import o from "clsx";
5
- import { e as k } from "./App.DnIeRbwI.js";
5
+ import { e as k } from "./App.DP_1QDro.js";
6
6
  const L = ({
7
7
  className: e,
8
8
  viewBox: a,
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.DXaLvF3n.js";
3
- import { oe as H } from "./App.DnIeRbwI.js";
2
+ import { n as f, i as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, S as g, renderDataAsList as P, CARDS as a, L as p, j as A, C as i, pluralize as h } from "./index.DjSi9ICW.js";
3
+ import { oe as H } from "./App.DP_1QDro.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.D4LA295Y.js"
10
+ "./Chart.BxgzH0Ym.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E