@versini/sassysaint 5.5.21 → 5.5.23

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx as We, jsxs as P0, Fragment as Sa } from "react/jsx-runtime";
2
- import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as Ns, parse as Sn, parse$1 as Nn, normalize as kn, svg as ks, html as Ts, visitParents as Ms, SKIP as As, longestStreak as Os, factorySpace as xr, markdownLineEnding as $t, Markdown as Rs, remarkGfm as Cs } from "./MessageAssistant.Dv5-gw8Q.js";
3
- import { P as Is, L as Ds, j as Ls } from "./index.CEwE7VpW.js";
2
+ import { convert as _s, getDefaultExportFromCjs as Ss, visit as Na, find as Ns, parse as Sn, parse$1 as Nn, normalize as kn, svg as ks, html as Ts, visitParents as Ms, SKIP as As, longestStreak as Os, factorySpace as xr, markdownLineEnding as $t, Markdown as Rs, remarkGfm as Cs } from "./MessageAssistant.TBLReeCB.js";
3
+ import { P as Is, L as Ds, j as Ls } from "./index.-EILV3b7.js";
4
4
  import Bs, { useState as zs, useEffect as Ps } from "react";
5
5
  import Fs from "clsx";
6
6
  const ka = ({
@@ -1,8 +1,11 @@
1
1
  import { jsxs as Ye, jsx as re, Fragment as Jt } from "react/jsx-runtime";
2
- import { AppContext as pi, E as hi, le as at } from "./App.DhOL7eGv.js";
2
+ import { AppContext as pi, E as hi, le as at } from "./App.CpMFbCku.js";
3
3
  import sn from "clsx";
4
4
  import { lazy as mi, useContext as gi, Suspense as di } from "react";
5
- import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.CEwE7VpW.js";
5
+ import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.-EILV3b7.js";
6
+ function Zt(e) {
7
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
8
+ }
6
9
  /*!
7
10
  @versini/ui-spinner v3.0.0
8
11
  © 2025 gizmette.com
@@ -91,7 +94,7 @@ class Ue {
91
94
  Ue.prototype.property = {};
92
95
  Ue.prototype.normal = {};
93
96
  Ue.prototype.space = null;
94
- function Zt(e, t) {
97
+ function er(e, t) {
95
98
  const n = {}, r = {};
96
99
  let i = -1;
97
100
  for (; ++i < e.length; )
@@ -122,11 +125,11 @@ le.prototype.commaOrSpaceSeparated = !1;
122
125
  le.prototype.mustUseProperty = !1;
123
126
  le.prototype.defined = !1;
124
127
  let Ti = 0;
125
- const M = Ae(), W = Ae(), er = Ae(), E = Ae(), V = Ae(), ve = Ae(), ne = Ae();
128
+ const M = Ae(), W = Ae(), nr = Ae(), E = Ae(), V = Ae(), ve = Ae(), ne = Ae();
126
129
  function Ae() {
127
130
  return 2 ** ++Ti;
128
131
  }
129
- const Ln = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, boolean: M, booleanish: W, commaOrSpaceSeparated: ne, commaSeparated: ve, number: E, overloadedBoolean: er, spaceSeparated: V }, Symbol.toStringTag, { value: "Module" })), cn = Object.keys(Ln);
132
+ const Ln = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, boolean: M, booleanish: W, commaOrSpaceSeparated: ne, commaSeparated: ve, number: E, overloadedBoolean: nr, spaceSeparated: V }, Symbol.toStringTag, { value: "Module" })), cn = Object.keys(Ln);
130
133
  class Nn extends le {
131
134
  /**
132
135
  * @constructor
@@ -164,7 +167,7 @@ function De(e) {
164
167
  }
165
168
  return new Ue(t, n, e.space);
166
169
  }
167
- const nr = De({
170
+ const tr = De({
168
171
  space: "xlink",
169
172
  transform(e, t) {
170
173
  return "xlink:" + t.slice(5).toLowerCase();
@@ -178,25 +181,25 @@ const nr = De({
178
181
  xLinkTitle: null,
179
182
  xLinkType: null
180
183
  }
181
- }), tr = De({
184
+ }), rr = De({
182
185
  space: "xml",
183
186
  transform(e, t) {
184
187
  return "xml:" + t.slice(3).toLowerCase();
185
188
  },
186
189
  properties: { xmlLang: null, xmlBase: null, xmlSpace: null }
187
190
  });
188
- function rr(e, t) {
191
+ function ir(e, t) {
189
192
  return t in e ? e[t] : t;
190
193
  }
191
- function ir(e, t) {
192
- return rr(e, t.toLowerCase());
194
+ function lr(e, t) {
195
+ return ir(e, t.toLowerCase());
193
196
  }
194
- const lr = De({
197
+ const or = De({
195
198
  space: "xmlns",
196
199
  attributes: { xmlnsxlink: "xmlns:xlink" },
197
- transform: ir,
200
+ transform: lr,
198
201
  properties: { xmlns: null, xmlnsXLink: null }
199
- }), or = De({
202
+ }), ar = De({
200
203
  transform(e, t) {
201
204
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
202
205
  },
@@ -259,7 +262,7 @@ const lr = De({
259
262
  htmlfor: "for",
260
263
  httpequiv: "http-equiv"
261
264
  },
262
- transform: ir,
265
+ transform: lr,
263
266
  mustUseProperty: ["checked", "multiple", "muted", "selected"],
264
267
  properties: {
265
268
  // Standard Properties.
@@ -301,7 +304,7 @@ const lr = De({
301
304
  dir: null,
302
305
  dirName: null,
303
306
  disabled: M,
304
- download: er,
307
+ download: nr,
305
308
  draggable: W,
306
309
  encType: null,
307
310
  enterKeyHint: null,
@@ -787,7 +790,7 @@ const lr = De({
787
790
  playbackOrder: "playbackorder",
788
791
  timelineBegin: "timelinebegin"
789
792
  },
790
- transform: rr,
793
+ transform: ir,
791
794
  properties: {
792
795
  about: ne,
793
796
  accentHeight: E,
@@ -1214,7 +1217,7 @@ const _i = {
1214
1217
  xLinkTitle: "xlinkTitle",
1215
1218
  xLinkType: "xlinkType",
1216
1219
  xmlnsXLink: "xmlnsXlink"
1217
- }, Mi = Zt([tr, nr, lr, or, Li], "html"), Bn = Zt([tr, nr, lr, or, zi], "svg");
1220
+ }, Mi = er([rr, tr, or, ar, Li], "html"), Bn = er([rr, tr, or, ar, zi], "svg");
1218
1221
  function Yc(e) {
1219
1222
  const t = String(e || "").trim();
1220
1223
  return t ? t.split(/[ \t\n\r\f]+/g) : [];
@@ -1222,9 +1225,6 @@ function Yc(e) {
1222
1225
  function Ni(e) {
1223
1226
  return e.join(" ").trim();
1224
1227
  }
1225
- function ar(e) {
1226
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
1227
- }
1228
1228
  var Me = {}, fn, ht;
1229
1229
  function Bi() {
1230
1230
  if (ht) return fn;
@@ -1339,7 +1339,7 @@ function ji() {
1339
1339
  return Me.default = n, Me;
1340
1340
  }
1341
1341
  var Hi = /* @__PURE__ */ ji();
1342
- const gt = /* @__PURE__ */ ar(Hi), Ui = gt.default || gt, ur = sr("end"), jn = sr("start");
1342
+ const gt = /* @__PURE__ */ Zt(Hi), Ui = gt.default || gt, ur = sr("end"), jn = sr("start");
1343
1343
  function sr(e) {
1344
1344
  return t;
1345
1345
  function t(n) {
@@ -5488,7 +5488,7 @@ function uu() {
5488
5488
  }, gn;
5489
5489
  }
5490
5490
  var su = /* @__PURE__ */ uu();
5491
- const dn = /* @__PURE__ */ ar(su);
5491
+ const dn = /* @__PURE__ */ Zt(su);
5492
5492
  function Rn(e) {
5493
5493
  if (typeof e != "object" || e === null)
5494
5494
  return !1;
@@ -8651,7 +8651,7 @@ function Uc(e) {
8651
8651
  const qc = mi(
8652
8652
  () => import(
8653
8653
  /* webpackChunkName: "LazyMarkdownWithExtra" */
8654
- "./MarkdownWithExtra.BV7XoKnH.js"
8654
+ "./MarkdownWithExtra.8drtC5Zg.js"
8655
8655
  )
8656
8656
  ), Tn = {
8657
8657
  MODEL: "Model",
@@ -8691,7 +8691,7 @@ export {
8691
8691
  on as convert,
8692
8692
  j as factorySpace,
8693
8693
  Oi as find,
8694
- ar as getDefaultExportFromCjs,
8694
+ Zt as getDefaultExportFromCjs,
8695
8695
  Mi as html,
8696
8696
  ws as longestStreak,
8697
8697
  v as markdownLineEnding,
@@ -1917,7 +1917,7 @@ const Oa = (e) => q(
1917
1917
  children: e
1918
1918
  }
1919
1919
  ) });
1920
- }, jt = (e = Ft) => Tt(e), io = "user", co = "assistant", lo = "system", uo = "internal", mo = "hidden", ho = "I'm having trouble right now. Please try again later.", po = "OpenAI", go = "OpenAI", yo = "Anthropic", fo = "action-message", bo = "action-reset", Eo = "action-model", wo = "action-restore", To = "action-streaming", Io = "action-engine", So = "action-search", _o = "action-sort", ko = "action-toggle-prompt", Ao = "action-reset-prompts", vo = "action-set-prompts", Ro = "sassy-saint-", No = "details", xo = "search", Co = "sort", Oo = "engine-toggle", Po = "==stats==", Ma = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Do = 10, Lo = 30, ft = (e) => Number.isFinite(e) ? e : 0;
1920
+ }, jt = (e = Ft) => Tt(e), io = "user", co = "assistant", lo = "system", uo = "internal", mo = "hidden", ho = "I'm having trouble right now. Please try again later.", po = "OpenAI", go = "OpenAI", yo = "Anthropic", fo = "action-message", bo = "action-reset", Eo = "action-model", wo = "action-restore", To = "action-streaming", Io = "action-search", So = "action-sort", _o = "action-toggle-prompt", ko = "action-reset-prompt", Ao = "sassy-saint-", vo = "details", Ro = "search", No = "sort", xo = "engine-toggle", Co = "==stats==", Ma = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Oo = 10, Po = 30, ft = (e) => Number.isFinite(e) ? e : 0;
1921
1921
  function $a(e) {
1922
1922
  return {
1923
1923
  days: Math.trunc(e / 864e5),
@@ -1997,7 +1997,7 @@ function Ja(e, t) {
1997
1997
  const h = t.colonNotation ? ":" : " ";
1998
1998
  return typeof t.unitCount == "number" && (n = n.slice(0, Math.max(t.unitCount, 1))), a + n.join(h);
1999
1999
  }
2000
- const Va = process.env.NODE_ENV === "production", Ya = !Va, za = Ya ? "gizmette.local.com" : "gizmette.com", Mo = async () => {
2000
+ const Va = process.env.NODE_ENV === "production", Ya = !Va, za = Ya ? "gizmette.local.com" : "gizmette.com", Do = async () => {
2001
2001
  const e = {
2002
2002
  /**
2003
2003
  * A boolean value that indicates the application would
@@ -2046,10 +2046,10 @@ const Va = process.env.NODE_ENV === "production", Ya = !Va, za = Ya ? "gizmette.
2046
2046
  e
2047
2047
  );
2048
2048
  });
2049
- }, $o = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ l("dl", { className: "my-0", children: /* @__PURE__ */ O("div", { className: "flex items-center justify-between", children: [
2049
+ }, Lo = (e, t) => t ? Object.keys(t).map((r) => /* @__PURE__ */ l("dl", { className: "my-0", children: /* @__PURE__ */ O("div", { className: "flex items-center justify-between", children: [
2050
2050
  /* @__PURE__ */ l("dt", { className: "my-1 inline-block font-bold text-copy-dark dark:text-copy-lighter", children: r }),
2051
2051
  /* @__PURE__ */ l("dd", { className: "my-1 inline-block", children: t[r] })
2052
- ] }) }, `${e}-${r}`)) : null, Uo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, Ko = (e) => e > 0 ? Ja(e, {
2052
+ ] }) }, `${e}-${r}`)) : null, Mo = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length - 1].message.role === e, $o = (e) => e > 0 ? Ja(e, {
2053
2053
  secondsDecimalDigits: 2,
2054
2054
  unitCount: 2
2055
2055
  }) : "N/A", Fa = ({
@@ -2061,7 +2061,7 @@ const Va = process.env.NODE_ENV === "production", Ya = !Va, za = Ya ? "gizmette.
2061
2061
  t
2062
2062
  ), ja = ({
2063
2063
  extraClass: e
2064
- }) => g("px-2 sm:px-0", e), Ho = (e, t) => t === 1 ? e : `${e}s`, Wo = (e, t) => {
2064
+ }) => g("px-2 sm:px-0", e), Uo = (e, t) => t === 1 ? e : `${e}s`, Ko = (e, t) => {
2065
2065
  let r;
2066
2066
  return (...a) => {
2067
2067
  window.clearTimeout(r), r = window.setTimeout(() => e(...a), t);
@@ -3538,7 +3538,7 @@ try {
3538
3538
  });
3539
3539
  } catch {
3540
3540
  }
3541
- const Hn = "ASK! ME! ANYTHING!", Wn = "Callisto", Bn = "Log in", Gn = "Sign in with a Passkey", Bo = "Log out", Jn = "Password", Go = "Send", Jo = "Profile", Vo = "Settings", Yo = "Chat history", zo = "About", Fo = "Type your question here", jo = "{{clipboard}}", qo = "Prompts are pre-filled buttons available on the main screen, to help you quickly start requests. The label is used for the button, and the content is what will be inserted in the chat when the button is pressed. You can use the special placeholder {{clipboard}} to automatically insert the content of your clipboard.", Xo = {
3541
+ const Hn = "ASK! ME! ANYTHING!", Wn = "Callisto", Bn = "Log in", Gn = "Sign in with a Passkey", Ho = "Log out", Jn = "Password", Wo = "Send", Bo = "Profile", Go = "Settings", Jo = "Chat history", Vo = "About", Yo = "Type your question here", zo = "{{clipboard}}", Fo = "Prompts are pre-filled buttons available on the main screen, to help you quickly start requests. The label is used for the button, and the content is what will be inserted in the chat when the button is pressed. You can use the special placeholder {{clipboard}} to automatically insert the content of your clipboard.", jo = {
3542
3542
  PREFERENCES: {
3543
3543
  TITLE: "User profile",
3544
3544
  NAME: "Name",
@@ -3693,72 +3693,70 @@ const Hn = "ASK! ME! ANYTHING!", Wn = "Callisto", Bn = "Log in", Gn = "Sign in w
3693
3693
  ) });
3694
3694
  }, zn = new URL(document.location.href).searchParams, Fn = !!zn.get("debug") || !1, jn = or(() => import(
3695
3695
  /* webpackChunkName: "LazyApp" */
3696
- "./App.DhOL7eGv.js"
3696
+ "./App.CpMFbCku.js"
3697
3697
  ).then((e) => e.App)), qn = ({ isComponent: e }) => {
3698
3698
  const { isAuthenticated: t } = jt();
3699
3699
  return t ? /* @__PURE__ */ l(sr, { fallback: /* @__PURE__ */ l("div", {}), children: /* @__PURE__ */ l(jn, { isComponent: e }) }) : /* @__PURE__ */ l(Yn, {});
3700
3700
  }, Xn = ({
3701
3701
  isComponent: e = !1,
3702
3702
  domain: t = za
3703
- }) => /* @__PURE__ */ l(Oe, { children: /* @__PURE__ */ l(La, { clientId: Ma, domain: t, debug: Fn, children: /* @__PURE__ */ l(qn, { isComponent: e }) }) }), Qo = ({ domain: e }) => /* @__PURE__ */ l(Xn, { isComponent: !0, domain: e });
3703
+ }) => /* @__PURE__ */ l(Oe, { children: /* @__PURE__ */ l(La, { clientId: Ma, domain: t, debug: Fn, children: /* @__PURE__ */ l(qn, { isComponent: e }) }) }), qo = ({ domain: e }) => /* @__PURE__ */ l(Xn, { isComponent: !0, domain: e });
3704
3704
  export {
3705
- zo as ABOUT_TITLE,
3706
- Io as ACTION_ENGINE,
3705
+ Vo as ABOUT_TITLE,
3707
3706
  fo as ACTION_MESSAGE,
3708
3707
  Eo as ACTION_MODEL,
3709
3708
  bo as ACTION_RESET,
3710
- Ao as ACTION_RESET_PROMPTS,
3709
+ ko as ACTION_RESET_PROMPT,
3711
3710
  wo as ACTION_RESTORE,
3712
- So as ACTION_SEARCH,
3713
- vo as ACTION_SET_PROMPTS,
3714
- _o as ACTION_SORT,
3711
+ Io as ACTION_SEARCH,
3712
+ So as ACTION_SORT,
3715
3713
  To as ACTION_STREAMING,
3716
- ko as ACTION_TOGGLE_PROMPT,
3714
+ _o as ACTION_TOGGLE_PROMPT,
3717
3715
  Wn as APP_NAME,
3718
3716
  qt as C,
3719
- Xo as CARDS,
3720
- jo as CLIPBOARD_PROMPT,
3717
+ jo as CARDS,
3718
+ zo as CLIPBOARD_PROMPT,
3721
3719
  po as DEFAULT_AI_ENGINE,
3722
3720
  yo as ENGINE_ANTHROPIC,
3723
3721
  go as ENGINE_OPENAI,
3724
3722
  ho as ERROR_MESSAGE,
3725
- Yo as HISTORY_TITLE,
3726
- Lo as INFINITE_SCROLL_LIMIT,
3727
- Do as INFINITE_SCROLL_THRESHOLD,
3723
+ Jo as HISTORY_TITLE,
3724
+ Po as INFINITE_SCROLL_LIMIT,
3725
+ Oo as INFINITE_SCROLL_THRESHOLD,
3728
3726
  En as L,
3729
- No as LOCAL_STORAGE_CHAT_DETAILS,
3730
- Oo as LOCAL_STORAGE_ENGINE_TOGGLE,
3731
- Ro as LOCAL_STORAGE_PREFIX,
3732
- xo as LOCAL_STORAGE_SEARCH,
3733
- Co as LOCAL_STORAGE_SORT,
3734
- Bo as LOG_OUT,
3727
+ vo as LOCAL_STORAGE_CHAT_DETAILS,
3728
+ xo as LOCAL_STORAGE_ENGINE_TOGGLE,
3729
+ Ao as LOCAL_STORAGE_PREFIX,
3730
+ Ro as LOCAL_STORAGE_SEARCH,
3731
+ No as LOCAL_STORAGE_SORT,
3732
+ Ho as LOG_OUT,
3735
3733
  Vn as Logo,
3736
3734
  ue as M,
3737
3735
  Xe as P,
3738
- Jo as PROFILE_TITLE,
3739
- qo as PROMPTS_DESCRIPTION,
3736
+ Bo as PROFILE_TITLE,
3737
+ Fo as PROMPTS_DESCRIPTION,
3740
3738
  un as R,
3741
3739
  co as ROLE_ASSISTANT,
3742
3740
  mo as ROLE_HIDDEN,
3743
3741
  uo as ROLE_INTERNAL,
3744
3742
  lo as ROLE_SYSTEM,
3745
3743
  io as ROLE_USER,
3746
- Go as SEND,
3747
- Vo as SETTINGS_TITLE,
3748
- Po as STATS_SEPARATOR,
3749
- Qo as SassySaint,
3750
- Fo as TYPE_QUESTION,
3751
- Wo as debounce,
3752
- Ko as durationFormatter,
3744
+ Wo as SEND,
3745
+ Go as SETTINGS_TITLE,
3746
+ Co as STATS_SEPARATOR,
3747
+ qo as SassySaint,
3748
+ Yo as TYPE_QUESTION,
3749
+ Ko as debounce,
3750
+ $o as durationFormatter,
3753
3751
  Ue as g,
3754
- Mo as getCurrentGeoLocation,
3752
+ Do as getCurrentGeoLocation,
3755
3753
  ja as getMainPaddingClass,
3756
3754
  Fa as getMessageContaintWrapperClass,
3757
- Uo as isLastMessageFromRole,
3755
+ Mo as isLastMessageFromRole,
3758
3756
  te as j,
3759
- Ho as pluralize,
3757
+ Uo as pluralize,
3760
3758
  fn as r,
3761
- $o as renderDataAsList,
3759
+ Lo as renderDataAsList,
3762
3760
  jt as un,
3763
3761
  at as ye,
3764
3762
  pn as z
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.CEwE7VpW.js";
2
+ import { SassySaint as a } from "../../chunks/index.-EILV3b7.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.CEwE7VpW.js";
1
+ import { SassySaint as r } from "./chunks/index.-EILV3b7.js";
2
2
  /*!
3
- @sassysaint/client v5.19.7
3
+ @sassysaint/client v5.19.9
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "5.19.7",
9
- buildTime: "01/04/2025 07:58 PM EST",
8
+ version: "5.19.9",
9
+ buildTime: "01/06/2025 05:35 PM 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": "5.5.21",
3
+ "version": "5.5.23",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@
30
30
  "react-dom": "^18.3.1 || ^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "5.19.7",
33
+ "@sassysaint/client": "5.19.9",
34
34
  "@versini/ui-styles": "3.0.0"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "e1c2c3ce9c639854b236c913178a28e019615022"
44
+ "gitHead": "8f24bd710e52256c1635b14daf905282f1026ff1"
45
45
  }