@versini/sassysaint 8.117.0 → 8.118.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.Bn_KfUZc.js → AboutChangelog.NMMfTbp4.js} +2 -2
- package/dist/chunks/{AboutEntry.GETrm77g.js → AboutEntry.8kXGiBKr.js} +7 -7
- package/dist/chunks/{App.BzCbkgv8.js → App.MBikKP52.js} +618 -615
- package/dist/chunks/{BubbleActions.CbQ9BHWl.js → BubbleActions.u9muFBXv.js} +3 -3
- package/dist/chunks/{ButtonIconDelete.B5IpSZrD.js → ButtonIconDelete.UIDZwKOu.js} +2 -2
- package/dist/chunks/{Chart.Czhhtzdx.js → Chart.IEDLbK1M.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.DESMaXGq.js → ChatBubbleAssistant.Cn1keoow.js} +5 -5
- package/dist/chunks/{ChatBubbleUser.B_Sniupu.js → ChatBubbleUser.DUizsIIv.js} +4 -4
- package/dist/chunks/{ChatHistoryTable.LPF05gFQ.js → ChatHistoryTable.DIT1MlOO.js} +4 -4
- package/dist/chunks/HistoryEntry.sZ_AMeUu.js +341 -0
- package/dist/chunks/InlineFilter.1dVMRTxM.js +58 -0
- package/dist/chunks/{LoginEntry.Bf8vuUIL.js → LoginEntry.BnHprT7f.js} +4 -4
- package/dist/chunks/{LogoEntry.yn5_B-fa.js → LogoEntry.uN5foS5i.js} +1 -1
- package/dist/chunks/MemoriesEntry.CpxdE30v.js +698 -0
- package/dist/chunks/{ProfileEntry.DitROf-m.js → ProfileEntry.BMpJic5U.js} +4 -4
- package/dist/chunks/{SettingsEntry.DUMuo462.js → SettingsEntry.B8xGufV0.js} +5 -5
- package/dist/chunks/{UsageEntry.CFMWYodz.js → UsageEntry.B1zVYUBb.js} +5 -5
- package/dist/chunks/{_baseUniq.D6y3dh-S.js → _baseUniq.BeocMcb-.js} +1 -1
- package/dist/chunks/{arc.CitIvzp8.js → arc.C-CDR6Sz.js} +1 -1
- package/dist/chunks/{architecture-U656AL7Q.IEP3vDFZ.js → architecture-U656AL7Q.DQ7Jtm55.js} +1 -1
- package/dist/chunks/{architectureDiagram-VXUJARFQ.BhDBUrYi.js → architectureDiagram-VXUJARFQ.Ceo3pgxm.js} +4 -4
- package/dist/chunks/{blockDiagram-VD42YOAC.BFTM8GAn.js → blockDiagram-VD42YOAC.BvjaUl_a.js} +5 -5
- package/dist/chunks/{browser.DK_o_vwl.js → browser.DvUqvHKQ.js} +1 -1
- package/dist/chunks/{c4Diagram-YG6GDRKO.B1vLaqvZ.js → c4Diagram-YG6GDRKO.D8dful9J.js} +2 -2
- package/dist/chunks/{channel.PCRnhDz7.js → channel.B6Qvl469.js} +1 -1
- package/dist/chunks/{chunk-4BX2VUAB.C6rU7w6S.js → chunk-4BX2VUAB.CtVNPH4N.js} +1 -1
- package/dist/chunks/{chunk-55IACEB6.BpJZHN1o.js → chunk-55IACEB6.C0X4Jue2.js} +1 -1
- package/dist/chunks/{chunk-B4BG7PRW.F4PL3cMr.js → chunk-B4BG7PRW.Conu6DQr.js} +4 -4
- package/dist/chunks/{chunk-DI55MBZ5.BF8GKejt.js → chunk-DI55MBZ5.Dg38hF9_.js} +3 -3
- package/dist/chunks/{chunk-FMBD7UC4.B1OYwU0R.js → chunk-FMBD7UC4.BsUH0rhB.js} +1 -1
- package/dist/chunks/{chunk-QN33PNHL.BD5brt5t.js → chunk-QN33PNHL.0RjA_wXX.js} +1 -1
- package/dist/chunks/{chunk-QZHKN3VN.D5WYYv36.js → chunk-QZHKN3VN.Dz6HmVZY.js} +1 -1
- package/dist/chunks/{chunk-TZMSLE5B.C-MZAsEe.js → chunk-TZMSLE5B.Dxuv9zIm.js} +1 -1
- package/dist/chunks/{classDiagram-2ON5EDUG.C5vYqJ4o.js → classDiagram-2ON5EDUG.CRdX6xMs.js} +2 -2
- package/dist/chunks/{classDiagram-v2-WZHVMYZB.C5vYqJ4o.js → classDiagram-v2-WZHVMYZB.CRdX6xMs.js} +2 -2
- package/dist/chunks/{clone.REJ_Pnlj.js → clone.ByaUA-r2.js} +1 -1
- package/dist/chunks/{cose-bilkent-S5V4N54A.DXqAwGZ0.js → cose-bilkent-S5V4N54A.B5YgIJoQ.js} +2 -2
- package/dist/chunks/{dagre-6UL2VRFP.CoGy5JIV.js → dagre-6UL2VRFP.uIiQ6FUj.js} +5 -5
- package/dist/chunks/{diagram-PSM6KHXK.D9vCcidT.js → diagram-PSM6KHXK.Bv8fX1RC.js} +4 -4
- package/dist/chunks/{diagram-QEK2KX5R.6csREdR0.js → diagram-QEK2KX5R.CY_Rq5A7.js} +3 -3
- package/dist/chunks/{diagram-S2PKOQOG.YPf4qVIj.js → diagram-S2PKOQOG.BfXCT4NH.js} +3 -3
- package/dist/chunks/{erDiagram-Q2GNP2WA.CGV8xXOX.js → erDiagram-Q2GNP2WA.BQrPmQkr.js} +4 -4
- package/dist/chunks/{flowDiagram-NV44I4VS.eQKIimm7.js → flowDiagram-NV44I4VS.DZwCRz8X.js} +5 -5
- package/dist/chunks/{ganttDiagram-JELNMOA3.BazHhqv4.js → ganttDiagram-JELNMOA3.CpqB-Lco.js} +2 -2
- package/dist/chunks/{gitGraph-F6HP7TQM.Cb-fQXsF.js → gitGraph-F6HP7TQM.HmdqWT9j.js} +1 -1
- package/dist/chunks/{gitGraphDiagram-NY62KEGX.Dvqk5LX3.js → gitGraphDiagram-NY62KEGX.i87uZR96.js} +4 -4
- package/dist/chunks/{graph.CgbRK_Pv.js → graph.C_jA5HK0.js} +2 -2
- package/dist/chunks/{index.CX_kqcF4.js → index.BHwQBUwd.js} +1 -1
- package/dist/chunks/{index.Bzms2RRF.js → index.BaE2Lbfd.js} +1 -1
- package/dist/chunks/{index.DzZEadJV.js → index.BggKJCTP.js} +1 -1
- package/dist/chunks/{index.BMJ9q_CF.js → index.Bm1g0K7E.js} +3 -3
- package/dist/chunks/{index.OAZ5W9VH.js → index.BrfxZy3k.js} +2 -2
- package/dist/chunks/{index.BkPtehbe.js → index.C5piY5Ss.js} +1 -1
- package/dist/chunks/{index.BEg4_Utt.js → index.Y9mwgfBs.js} +1 -1
- package/dist/chunks/{index.BkL02aS1.js → index.cXGGRddQ.js} +3 -3
- package/dist/chunks/{index.hL-ju5aR.js → index.g3S1xCER.js} +1 -1
- package/dist/chunks/{info-NVLQJR56.53x0eQWW.js → info-NVLQJR56.ITJfPEdI.js} +1 -1
- package/dist/chunks/{infoDiagram-WHAUD3N6.BlrSZ-3e.js → infoDiagram-WHAUD3N6.fkRhLS2k.js} +2 -2
- package/dist/chunks/{journeyDiagram-XKPGCS4Q.CJqy8tkA.js → journeyDiagram-XKPGCS4Q.BtGrOEeN.js} +4 -4
- package/dist/chunks/{kanban-definition-3W4ZIXB7.CRKN0s6T.js → kanban-definition-3W4ZIXB7.B5uNw32c.js} +2 -2
- package/dist/chunks/{layout.B3vPW_pZ.js → layout.CqkuHUdu.js} +4 -4
- package/dist/chunks/{mermaid-parser.core.ChRIRaJW.js → mermaid-parser.core.Ci-ITaRl.js} +10 -10
- package/dist/chunks/{min.CnRvIY0R.js → min.ZkscJwva.js} +2 -2
- package/dist/chunks/{mindmap-definition-VGOIOE7T.D_ABLFPV.js → mindmap-definition-VGOIOE7T.B6kzhC94.js} +4 -4
- package/dist/chunks/{packet-BFZMPI3H.CxGfStzw.js → packet-BFZMPI3H.BMbAoa6x.js} +1 -1
- package/dist/chunks/{pie-7BOR55EZ.DNt3EJ4F.js → pie-7BOR55EZ.BMdBvM8R.js} +1 -1
- package/dist/chunks/{pieDiagram-ADFJNKIX.DIQfkreO.js → pieDiagram-ADFJNKIX.-lbBXtjO.js} +4 -4
- package/dist/chunks/{quadrantDiagram-AYHSOK5B.CiwquW9n.js → quadrantDiagram-AYHSOK5B.Davn6069.js} +1 -1
- package/dist/chunks/{radar-NHE76QYJ.BjalOWfU.js → radar-NHE76QYJ.DYto8RZU.js} +1 -1
- package/dist/chunks/{rehype-mermaid.DiVW4LDn.js → rehype-mermaid.CSGNYSn9.js} +33 -33
- package/dist/chunks/{requirementDiagram-UZGBJVZJ.zxucHbPP.js → requirementDiagram-UZGBJVZJ.FMUxUq0R.js} +3 -3
- package/dist/chunks/{sankeyDiagram-TZEHDZUN.DD-PyOn-.js → sankeyDiagram-TZEHDZUN.DTIl9DDr.js} +1 -1
- package/dist/chunks/{sequenceDiagram-WL72ISMW.DR9lsGWA.js → sequenceDiagram-WL72ISMW.Bc9ucdVx.js} +3 -3
- package/dist/chunks/{stateDiagram-FKZM4ZOC.CsNkAXRg.js → stateDiagram-FKZM4ZOC.DiBSTbjk.js} +4 -4
- package/dist/chunks/{stateDiagram-v2-4FDKWEC3.8NFC4sNp.js → stateDiagram-v2-4FDKWEC3.C3xcoMwn.js} +2 -2
- package/dist/chunks/{timeline-definition-IT6M3QCI.KVweqk-o.js → timeline-definition-IT6M3QCI.BC01Xx8r.js} +2 -2
- package/dist/chunks/{treemap-KMMF4GRG.VQYaLH7h.js → treemap-KMMF4GRG.oysg6M_i.js} +1 -1
- package/dist/chunks/{useMarkdown.BwBe50mc.js → useMarkdown.D8WEecQ3.js} +8 -8
- package/dist/chunks/{xychartDiagram-PRI3JC2R.DLJNhHkJ.js → xychartDiagram-PRI3JC2R.C3TO2yCs.js} +1 -1
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.js +3 -3
- package/package.json +3 -3
- package/dist/chunks/HistoryEntry.CbyRX9rD.js +0 -375
- package/dist/chunks/MemoriesEntry.Bljvi6W9.js +0 -649
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as C, Fragment as B, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { n as v, useUserPreferences as A } from "./index.
|
|
3
|
-
import { ButtonIcon as h, IconCopied as S, IconCopy as I, ChatContext as _, IconBranch as M, TOAST_CHAT_BRANCHED as z } from "./LogoEntry.
|
|
2
|
+
import { n as v, useUserPreferences as A } from "./index.BrfxZy3k.js";
|
|
3
|
+
import { ButtonIcon as h, IconCopied as S, IconCopy as I, ChatContext as _, IconBranch as M, TOAST_CHAT_BRANCHED as z } from "./LogoEntry.uN5foS5i.js";
|
|
4
4
|
import { useState as H, useRef as N, useCallback as g, useEffect as R, useContext as k } from "react";
|
|
5
|
-
import { ResponsiveTooltip as T, useAiChat as E, v4 as O, CHAT_RESET as L, CHAT_SET_ATTACHMENTS as U, CHAT_SET_STATUS as j, showSuccessToast as D, CHAT_SCROLL_TO_BOTTOM as F } from "./App.
|
|
5
|
+
import { ResponsiveTooltip as T, useAiChat as E, v4 as O, CHAT_RESET as L, CHAT_SET_ATTACHMENTS as U, CHAT_SET_STATUS as j, showSuccessToast as D, CHAT_SCROLL_TO_BOTTOM as F } from "./App.MBikKP52.js";
|
|
6
6
|
const P = ({ children: e, richText: r = !1, mode: a = "system", focusMode: l = "system" }) => {
|
|
7
7
|
const [o, c] = H(!1), n = N(null), p = g(async () => {
|
|
8
8
|
if (navigator.clipboard)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as s, jsxs as k, Fragment as w } from "react/jsx-runtime";
|
|
2
2
|
import c from "clsx";
|
|
3
|
-
import { ButtonIcon as C, TableCellSortDirections as m, IconSortUp as N, IconSortDown as T, IconSort as W, IconDelete as E } from "./LogoEntry.
|
|
3
|
+
import { ButtonIcon as C, TableCellSortDirections as m, IconSortUp as N, IconSortDown as T, IconSort as W, IconDelete as E } from "./LogoEntry.uN5foS5i.js";
|
|
4
4
|
import f, { useContext as y } from "react";
|
|
5
|
-
import { ResponsiveTooltip as R } from "./App.
|
|
5
|
+
import { ResponsiveTooltip as R } from "./App.MBikKP52.js";
|
|
6
6
|
function S({ children: e, mode: t = "system", className: r, active: a = !1, ref: l, ...n }) {
|
|
7
7
|
const o = a ? c("relative", "focus-within:static", "focus-within:after:border-transparent", "after:absolute", "after:content-['']", "after:border-b-2", "after:-bottom-1", "after:left-0", "after:right-0", {
|
|
8
8
|
"after:border-table-light": t === "dark",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as Pp } from "react/jsx-runtime";
|
|
2
|
-
import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.
|
|
2
|
+
import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.MBikKP52.js";
|
|
3
3
|
import Lp, { useMemo as Ep } from "react";
|
|
4
|
-
import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.
|
|
4
|
+
import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.uN5foS5i.js";
|
|
5
5
|
var hs = { exports: {} }, Dp = hs.exports, nn;
|
|
6
6
|
function Bp() {
|
|
7
7
|
return nn || (nn = 1, (function(Ae, pe) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as vt } from "react/jsx-runtime";
|
|
2
|
-
import { n as as, useUserPreferences as os, formatTimestamp as Vt } from "./index.
|
|
3
|
-
import { numberFormatter as ls, pluralize as us, Bubble as cs } from "./App.
|
|
2
|
+
import { n as as, useUserPreferences as os, formatTimestamp as Vt } from "./index.BrfxZy3k.js";
|
|
3
|
+
import { numberFormatter as ls, pluralize as us, Bubble as cs } from "./App.MBikKP52.js";
|
|
4
4
|
import Zt from "clsx";
|
|
5
5
|
import fs, { useState as Ae, useEffect as Jt, useContext as St } from "react";
|
|
6
|
-
import { useMarkdown as hs } from "./useMarkdown.
|
|
7
|
-
import { ChatContext as ds, AppContext as ps } from "./LogoEntry.
|
|
8
|
-
import { BubbleActions as ms } from "./BubbleActions.
|
|
6
|
+
import { useMarkdown as hs } from "./useMarkdown.D8WEecQ3.js";
|
|
7
|
+
import { ChatContext as ds, AppContext as ps } from "./LogoEntry.uN5foS5i.js";
|
|
8
|
+
import { BubbleActions as ms } from "./BubbleActions.u9muFBXv.js";
|
|
9
9
|
const Me = {
|
|
10
10
|
isEmpty: !0
|
|
11
11
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as a, Fragment as S, jsxs as b } from "react/jsx-runtime";
|
|
2
|
-
import { Bubble as k } from "./App.
|
|
3
|
-
import { Button as C } from "./LogoEntry.
|
|
2
|
+
import { Bubble as k } from "./App.MBikKP52.js";
|
|
3
|
+
import { Button as C } from "./LogoEntry.uN5foS5i.js";
|
|
4
4
|
import { useState as H, useMemo as m, isValidElement as T, useEffect as O } from "react";
|
|
5
|
-
import { useMarkdown as w } from "./useMarkdown.
|
|
6
|
-
import { BubbleCopyToClipboard as I } from "./BubbleActions.
|
|
5
|
+
import { useMarkdown as w } from "./useMarkdown.D8WEecQ3.js";
|
|
6
|
+
import { BubbleCopyToClipboard as I } from "./BubbleActions.u9muFBXv.js";
|
|
7
7
|
const L = 200, h = ({ string: e, idealLength: r = L }) => {
|
|
8
8
|
if (e.length <= r)
|
|
9
9
|
return {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsxs as u, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { y as w, V as y, INFINITE_SCROLL_THRESHOLD as Y } from "./index.
|
|
3
|
-
import { IconCloseLight as K, CARDS as V, ButtonIcon as R, IconRestore as W, IconStarInCircle as G, IconStarInCircleLight as H } from "./LogoEntry.
|
|
2
|
+
import { y as w, V as y, INFINITE_SCROLL_THRESHOLD as Y } from "./index.BrfxZy3k.js";
|
|
3
|
+
import { IconCloseLight as K, CARDS as V, ButtonIcon as R, IconRestore as W, IconStarInCircle as G, IconStarInCircleLight as H } from "./LogoEntry.uN5foS5i.js";
|
|
4
4
|
import { useState as j, useRef as k, useEffect as O, Fragment as F } from "react";
|
|
5
5
|
import c from "clsx";
|
|
6
|
-
import { Table as q, TableHead as J, TableRow as S, TableBody as Q, TableCell as l, TableCellSort as E, ButtonIconDelete as X } from "./ButtonIconDelete.
|
|
7
|
-
import { pluralize as v, ResponsiveTooltip as I, numberFormatter as Z, isProbablyMobile as ee } from "./App.
|
|
6
|
+
import { Table as q, TableHead as J, TableRow as S, TableBody as Q, TableCell as l, TableCellSort as E, ButtonIconDelete as X } from "./ButtonIconDelete.UIDZwKOu.js";
|
|
7
|
+
import { pluralize as v, ResponsiveTooltip as I, numberFormatter as Z, isProbablyMobile as ee } from "./App.MBikKP52.js";
|
|
8
8
|
const re = "av-pill", te = ({ variant: t }) => c("rounded-xs border", {
|
|
9
9
|
"border-border-information": t === "information",
|
|
10
10
|
"border-border-warning": t === "warning",
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import { jsxs as c, Fragment as G, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { n as ee, INFINITE_SCROLL_LIMIT as J, INFINITE_SCROLL_THRESHOLD as Z, LOCAL_STORAGE_PREFIX as C, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, y as V, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as Ce, V as ue, LOCAL_STORAGE_SEARCH as me, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as Te, useUserChatStats as ye, ACTION_SEARCH as ge } from "./index.BrfxZy3k.js";
|
|
3
|
+
import { useAiChat as pe, useLocalStorage as u, LazyToastContainerWrapper as Ae, v4 as Ee, CHAT_RESET as _e, CHAT_SET_ATTACHMENTS as De, CHAT_SET_STATUS as Le, showErrorToast as Oe, ConfirmationPanel as Re, Panel as ve, debounce as Ie, Toggle as $, ButtonCancel as ke } from "./App.MBikKP52.js";
|
|
4
|
+
import { HistoryContext as te, ChatContext as be, TableCellSortDirections as h, APP_CLASSNAME as we, TOAST_CHAT_DELETED as xe, HISTORY_TITLE as He } from "./LogoEntry.uN5foS5i.js";
|
|
5
|
+
import Fe from "clsx";
|
|
6
|
+
import { useRef as P, useState as R, useContext as Q, useEffect as ae, useCallback as U, Suspense as Ne, lazy as Me } from "react";
|
|
7
|
+
import { InlineFilter as Ve } from "./InlineFilter.1dVMRTxM.js";
|
|
8
|
+
const Ge = Me(
|
|
9
|
+
() => import(
|
|
10
|
+
/* webpackChunkName: "history-table" */
|
|
11
|
+
"./ChatHistoryTable.DIT1MlOO.js"
|
|
12
|
+
).then((n) => ({ default: n.ChatHistoryTable }))
|
|
13
|
+
), Pe = ({
|
|
14
|
+
filteredHistory: n,
|
|
15
|
+
onOpenChange: y,
|
|
16
|
+
mutate: g,
|
|
17
|
+
isLoading: v = !1,
|
|
18
|
+
totalHistoryCount: I,
|
|
19
|
+
isFiltered: z = !1,
|
|
20
|
+
isSearchActive: k = !1,
|
|
21
|
+
requestConfirmation: m
|
|
22
|
+
}) => {
|
|
23
|
+
const { user: s, getAccessToken: p } = ee(), A = P(null), S = P({
|
|
24
|
+
id: "",
|
|
25
|
+
timestamp: "",
|
|
26
|
+
message: ""
|
|
27
|
+
}), [E, _] = R(
|
|
28
|
+
J + Z
|
|
29
|
+
), { state: i, dispatch: K } = Q(te), b = {
|
|
30
|
+
searchString: i.searchString || "",
|
|
31
|
+
sortDirection: i.sortDirection || h.DESC,
|
|
32
|
+
sortedCell: i.sortedCell || V
|
|
33
|
+
}, {
|
|
34
|
+
setChatId: f,
|
|
35
|
+
setInitialMessages: D,
|
|
36
|
+
dispatch: L
|
|
37
|
+
} = Q(be), { setInput: O } = pe(), [w, x] = u({
|
|
38
|
+
key: C + se,
|
|
39
|
+
initialValue: h.DESC
|
|
40
|
+
}), [T, Y] = u({
|
|
41
|
+
key: C + oe,
|
|
42
|
+
initialValue: h.ASC
|
|
43
|
+
}), [, H] = u({
|
|
44
|
+
key: C + ne,
|
|
45
|
+
initialValue: V
|
|
46
|
+
}), [l] = u({
|
|
47
|
+
key: C + ie,
|
|
48
|
+
initialValue: ""
|
|
49
|
+
});
|
|
50
|
+
ae(() => {
|
|
51
|
+
if (!l || n.length === 0)
|
|
52
|
+
return;
|
|
53
|
+
const e = n.findIndex(
|
|
54
|
+
(o) => o.id === l
|
|
55
|
+
);
|
|
56
|
+
e >= 0 && e >= E && _(e + Z);
|
|
57
|
+
}, [l, n, E]);
|
|
58
|
+
const { mutateAsync: d } = ce({ getAccessToken: p }), { mutateAsync: j } = le({
|
|
59
|
+
getAccessToken: p
|
|
60
|
+
}), F = (e) => {
|
|
61
|
+
const o = i.sortedCell === e;
|
|
62
|
+
let r, M;
|
|
63
|
+
switch (e) {
|
|
64
|
+
case V:
|
|
65
|
+
M = x, r = o ? i.sortDirection : w;
|
|
66
|
+
break;
|
|
67
|
+
case ue:
|
|
68
|
+
M = Y, r = o ? i.sortDirection : T;
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
M = x, r = o ? i.sortDirection : w;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
const X = r === h.ASC ? h.DESC : h.ASC;
|
|
75
|
+
M(X), H(e), K({
|
|
76
|
+
type: Ce,
|
|
77
|
+
payload: {
|
|
78
|
+
sortedCell: e,
|
|
79
|
+
sortDirection: X
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}, B = async (e) => {
|
|
83
|
+
try {
|
|
84
|
+
await d({
|
|
85
|
+
userId: s?.username || "",
|
|
86
|
+
id: e
|
|
87
|
+
}), g(""), await Oe(xe, {
|
|
88
|
+
autoClose: 2e3,
|
|
89
|
+
containerId: "history-table"
|
|
90
|
+
});
|
|
91
|
+
} catch {
|
|
92
|
+
}
|
|
93
|
+
}, q = async (e) => {
|
|
94
|
+
try {
|
|
95
|
+
const o = await p(), r = await de({
|
|
96
|
+
accessToken: o,
|
|
97
|
+
type: he.GET_CHAT,
|
|
98
|
+
params: {
|
|
99
|
+
id: e.id
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
L({
|
|
103
|
+
type: Le,
|
|
104
|
+
payload: {
|
|
105
|
+
streaming: !1,
|
|
106
|
+
loading: !1,
|
|
107
|
+
restoring: !0,
|
|
108
|
+
restoredModel: r.data?.model || "",
|
|
109
|
+
restoredTimestamp: r.data?.timestamp || "",
|
|
110
|
+
restoredUsage: r.data?.tokenUsage || 0
|
|
111
|
+
}
|
|
112
|
+
}), O(""), f(e.id), D(r.data.messages), y(!1);
|
|
113
|
+
} catch {
|
|
114
|
+
}
|
|
115
|
+
}, W = (e) => {
|
|
116
|
+
S.current = {
|
|
117
|
+
id: e.id,
|
|
118
|
+
timestamp: e.timestamp,
|
|
119
|
+
message: e.summary
|
|
120
|
+
}, m(
|
|
121
|
+
() => B(e.id),
|
|
122
|
+
/* @__PURE__ */ c(G, { children: [
|
|
123
|
+
/* @__PURE__ */ t("p", { className: "m-0", children: "Are you sure you want to delete the following chat:" }),
|
|
124
|
+
/* @__PURE__ */ c("ul", { className: "m-0", children: [
|
|
125
|
+
/* @__PURE__ */ c("li", { children: [
|
|
126
|
+
"Timestamp: ",
|
|
127
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: e.timestamp })
|
|
128
|
+
] }),
|
|
129
|
+
/* @__PURE__ */ c("li", { children: [
|
|
130
|
+
"First message: ",
|
|
131
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: e.summary })
|
|
132
|
+
] })
|
|
133
|
+
] })
|
|
134
|
+
] })
|
|
135
|
+
), l === e.id && (f(Ee()), D([]), O(""), L({
|
|
136
|
+
type: _e,
|
|
137
|
+
payload: {
|
|
138
|
+
privateChat: !1,
|
|
139
|
+
reasoningText: !1
|
|
140
|
+
}
|
|
141
|
+
}), L({
|
|
142
|
+
type: De,
|
|
143
|
+
payload: {
|
|
144
|
+
attachments: 0
|
|
145
|
+
}
|
|
146
|
+
}));
|
|
147
|
+
}, a = async (e) => {
|
|
148
|
+
try {
|
|
149
|
+
await j({
|
|
150
|
+
userId: s?.username || "",
|
|
151
|
+
id: e.id
|
|
152
|
+
}), g("");
|
|
153
|
+
} catch {
|
|
154
|
+
}
|
|
155
|
+
}, N = U((e) => {
|
|
156
|
+
e[0].isIntersecting && _((r) => r + J);
|
|
157
|
+
}, []), re = U(
|
|
158
|
+
(e) => {
|
|
159
|
+
if (A.current && A.current.disconnect(), e) {
|
|
160
|
+
const o = {
|
|
161
|
+
rootMargin: "20px"
|
|
162
|
+
}, r = new IntersectionObserver(N, o);
|
|
163
|
+
r.observe(e), A.current = r;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
[N]
|
|
167
|
+
);
|
|
168
|
+
return /* @__PURE__ */ c(G, { children: [
|
|
169
|
+
/* @__PURE__ */ t("div", { className: we, children: /* @__PURE__ */ t(Ae, { containerId: "history-table" }) }),
|
|
170
|
+
/* @__PURE__ */ t(Ne, { fallback: /* @__PURE__ */ t("div", {}), children: /* @__PURE__ */ t(
|
|
171
|
+
Ge,
|
|
172
|
+
{
|
|
173
|
+
filteredHistory: n,
|
|
174
|
+
historyState: b,
|
|
175
|
+
lastEntryToLoad: E,
|
|
176
|
+
onClickSort: F,
|
|
177
|
+
onClickRestore: q,
|
|
178
|
+
onClickDelete: W,
|
|
179
|
+
onClickFavorite: a,
|
|
180
|
+
infinityScrollMarkerRef: re,
|
|
181
|
+
isLoading: v,
|
|
182
|
+
totalHistoryCount: I,
|
|
183
|
+
isFiltered: z,
|
|
184
|
+
isSearchActive: k,
|
|
185
|
+
activeChatId: l
|
|
186
|
+
}
|
|
187
|
+
) })
|
|
188
|
+
] });
|
|
189
|
+
}, We = ({
|
|
190
|
+
open: n,
|
|
191
|
+
onOpenChange: y
|
|
192
|
+
}) => {
|
|
193
|
+
const g = P(null), { getAccessToken: v, user: I } = ee(), [z, k] = R([]), m = P(null), { state: s, dispatch: p } = Q(te), [, A] = u({
|
|
194
|
+
key: C + me,
|
|
195
|
+
initialValue: s.searchString
|
|
196
|
+
}), [S, E] = u({
|
|
197
|
+
key: C + Se,
|
|
198
|
+
initialValue: !1
|
|
199
|
+
}), [_, i] = u({
|
|
200
|
+
key: C + fe,
|
|
201
|
+
initialValue: !0
|
|
202
|
+
}), [K, b] = R(!1), [f, D] = R(null), [L, O] = R(null), w = U(
|
|
203
|
+
(a, N) => {
|
|
204
|
+
D(() => a), O(N), b(!0);
|
|
205
|
+
},
|
|
206
|
+
[]
|
|
207
|
+
), x = U(() => {
|
|
208
|
+
f && f(), D(null), O(null);
|
|
209
|
+
}, [f]), {
|
|
210
|
+
data: T,
|
|
211
|
+
refetch: Y,
|
|
212
|
+
isLoading: H,
|
|
213
|
+
isError: l
|
|
214
|
+
} = Te({
|
|
215
|
+
enabled: n,
|
|
216
|
+
user: I?.username || "",
|
|
217
|
+
searchString: s.searchString || "",
|
|
218
|
+
sortDirection: s.sortDirection || h.DESC,
|
|
219
|
+
sortedCell: s.sortedCell || V,
|
|
220
|
+
getAccessToken: v,
|
|
221
|
+
keywordMatchAll: _
|
|
222
|
+
}), { data: d } = ye({
|
|
223
|
+
user: I?.username,
|
|
224
|
+
getAccessToken: v
|
|
225
|
+
}), j = d && d.totalChats ? d.totalChats - d.privateChats - d.deletedChats : 0;
|
|
226
|
+
ae(() => {
|
|
227
|
+
T && k(
|
|
228
|
+
S ? T.filter((a) => a.favoriteChat === !0) : T
|
|
229
|
+
);
|
|
230
|
+
}, [T, S]);
|
|
231
|
+
const F = async (a) => {
|
|
232
|
+
A(a), p({
|
|
233
|
+
type: ge,
|
|
234
|
+
payload: { searchString: a }
|
|
235
|
+
});
|
|
236
|
+
}, B = Ie((a) => {
|
|
237
|
+
F(a.target.value.trim());
|
|
238
|
+
}, 800), q = (a) => {
|
|
239
|
+
E(a);
|
|
240
|
+
}, W = (a) => {
|
|
241
|
+
i(a);
|
|
242
|
+
};
|
|
243
|
+
return /* @__PURE__ */ c(G, { children: [
|
|
244
|
+
/* @__PURE__ */ t(
|
|
245
|
+
Re,
|
|
246
|
+
{
|
|
247
|
+
showConfirmation: K,
|
|
248
|
+
setShowConfirmation: b,
|
|
249
|
+
action: x,
|
|
250
|
+
customStrings: {
|
|
251
|
+
confirmAction: "Delete",
|
|
252
|
+
cancelAction: "Cancel",
|
|
253
|
+
title: "Delete chat"
|
|
254
|
+
},
|
|
255
|
+
children: L
|
|
256
|
+
}
|
|
257
|
+
),
|
|
258
|
+
/* @__PURE__ */ c(
|
|
259
|
+
ve,
|
|
260
|
+
{
|
|
261
|
+
open: n,
|
|
262
|
+
onOpenChange: y,
|
|
263
|
+
title: He,
|
|
264
|
+
animation: !0,
|
|
265
|
+
animationType: "fade",
|
|
266
|
+
blurEffect: "large",
|
|
267
|
+
initialFocus: g,
|
|
268
|
+
footer: /* @__PURE__ */ t("div", { className: "flex flex-wrap justify-end gap-x-2 pb-8 sm:pb-0", children: /* @__PURE__ */ t("div", { className: "box-border max-w-full basis-auto", children: /* @__PURE__ */ t(ke, { onOpenChange: y, ref: g }) }) }),
|
|
269
|
+
children: [
|
|
270
|
+
/* @__PURE__ */ t(
|
|
271
|
+
Ve,
|
|
272
|
+
{
|
|
273
|
+
header: H && s.searchString ? "Loading..." : s.searchString ? "Filters applied" : "Filters",
|
|
274
|
+
toggles: /* @__PURE__ */ c(G, { children: [
|
|
275
|
+
/* @__PURE__ */ t(
|
|
276
|
+
$,
|
|
277
|
+
{
|
|
278
|
+
name: "favorites-only",
|
|
279
|
+
checked: S,
|
|
280
|
+
onChange: q,
|
|
281
|
+
label: "Show favorites only",
|
|
282
|
+
narrow: !0,
|
|
283
|
+
noBorder: !0
|
|
284
|
+
}
|
|
285
|
+
),
|
|
286
|
+
/* @__PURE__ */ t(
|
|
287
|
+
$,
|
|
288
|
+
{
|
|
289
|
+
name: "keyword-match-all",
|
|
290
|
+
checked: _,
|
|
291
|
+
onChange: W,
|
|
292
|
+
label: "Match all keywords",
|
|
293
|
+
narrow: !0,
|
|
294
|
+
noBorder: !0
|
|
295
|
+
}
|
|
296
|
+
)
|
|
297
|
+
] }),
|
|
298
|
+
inputSearchRef: m,
|
|
299
|
+
onSearchChange: B,
|
|
300
|
+
defaultValue: s.searchString,
|
|
301
|
+
resetDisabled: s.searchString === "",
|
|
302
|
+
onResetSearch: () => {
|
|
303
|
+
F(""), m.current?.value && (m.current.value = "", m.current.focus());
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
),
|
|
307
|
+
/* @__PURE__ */ c(
|
|
308
|
+
"div",
|
|
309
|
+
{
|
|
310
|
+
className: Fe(
|
|
311
|
+
"flex flex-col sm:flex-row",
|
|
312
|
+
"max-h-[65vh]",
|
|
313
|
+
"sm:max-h-[75vh]",
|
|
314
|
+
"min-h-[60vh]"
|
|
315
|
+
),
|
|
316
|
+
children: [
|
|
317
|
+
l && /* @__PURE__ */ t("p", { className: "m-0 text-copy-error-light", children: "Failed to load history." }),
|
|
318
|
+
!l && /* @__PURE__ */ t(
|
|
319
|
+
Pe,
|
|
320
|
+
{
|
|
321
|
+
mutate: Y,
|
|
322
|
+
filteredHistory: z,
|
|
323
|
+
onOpenChange: y,
|
|
324
|
+
isLoading: H,
|
|
325
|
+
totalHistoryCount: j,
|
|
326
|
+
isFiltered: !!(s.searchString || S),
|
|
327
|
+
isSearchActive: !!s.searchString,
|
|
328
|
+
requestConfirmation: w
|
|
329
|
+
}
|
|
330
|
+
)
|
|
331
|
+
]
|
|
332
|
+
}
|
|
333
|
+
)
|
|
334
|
+
]
|
|
335
|
+
}
|
|
336
|
+
)
|
|
337
|
+
] });
|
|
338
|
+
};
|
|
339
|
+
export {
|
|
340
|
+
We as HistoryPanel
|
|
341
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { IconSearch as c, Button as d } from "./LogoEntry.uN5foS5i.js";
|
|
3
|
+
import { Card as n } from "./index.Y9mwgfBs.js";
|
|
4
|
+
import { TextInput as f } from "./index.g3S1xCER.js";
|
|
5
|
+
const b = ({
|
|
6
|
+
header: o,
|
|
7
|
+
toggles: t,
|
|
8
|
+
inputSearchRef: l,
|
|
9
|
+
onSearchChange: a,
|
|
10
|
+
onResetSearch: m,
|
|
11
|
+
defaultValue: s,
|
|
12
|
+
resetDisabled: i = !1
|
|
13
|
+
}) => /* @__PURE__ */ r(
|
|
14
|
+
n,
|
|
15
|
+
{
|
|
16
|
+
header: o,
|
|
17
|
+
className: "prose-dark dark:prose-lighter mb-4",
|
|
18
|
+
noBorder: !0,
|
|
19
|
+
compact: !0,
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ e(
|
|
22
|
+
f,
|
|
23
|
+
{
|
|
24
|
+
placeholder: "Search",
|
|
25
|
+
labelHidden: !0,
|
|
26
|
+
noBorder: !0,
|
|
27
|
+
autoCapitalize: "off",
|
|
28
|
+
autoComplete: "off",
|
|
29
|
+
autoCorrect: "off",
|
|
30
|
+
ref: l,
|
|
31
|
+
defaultValue: s,
|
|
32
|
+
mode: "alt-system",
|
|
33
|
+
name: "Search",
|
|
34
|
+
label: "Search",
|
|
35
|
+
onChange: a,
|
|
36
|
+
className: "my-2",
|
|
37
|
+
rightElement: /* @__PURE__ */ e("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ e(c, { monotone: !0, size: "size-3" }) })
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
/* @__PURE__ */ r("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
|
|
41
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col sm:flex-row gap-2 order-1 sm:order-0", children: t }),
|
|
42
|
+
/* @__PURE__ */ e(
|
|
43
|
+
d,
|
|
44
|
+
{
|
|
45
|
+
mode: "light",
|
|
46
|
+
size: "small",
|
|
47
|
+
disabled: i,
|
|
48
|
+
onClick: m,
|
|
49
|
+
children: "Reset Search"
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] })
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
export {
|
|
57
|
+
b as InlineFilter
|
|
58
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as i, jsx as e, Fragment as x } from "react/jsx-runtime";
|
|
2
|
-
import { n as N, getLayoutPaddingClass as C, getMessageContaintWrapperClass as v, isTauri as w } from "./index.
|
|
3
|
-
import { Logo as k, PASSWORD_PLACEHOLDER as M, ButtonIcon as u, IconShow as I, IconHide as L, Button as y, LOG_IN as E, LOG_IN_PASSKEY as S, IconPasskey as P } from "./LogoEntry.
|
|
4
|
-
import { Card as B } from "./index.
|
|
5
|
-
import { TextInput as O, TextInputMask as T } from "./index.
|
|
2
|
+
import { n as N, getLayoutPaddingClass as C, getMessageContaintWrapperClass as v, isTauri as w } from "./index.BrfxZy3k.js";
|
|
3
|
+
import { Logo as k, PASSWORD_PLACEHOLDER as M, ButtonIcon as u, IconShow as I, IconHide as L, Button as y, LOG_IN as E, LOG_IN_PASSKEY as S, IconPasskey as P } from "./LogoEntry.uN5foS5i.js";
|
|
4
|
+
import { Card as B } from "./index.Y9mwgfBs.js";
|
|
5
|
+
import { TextInput as O, TextInputMask as T } from "./index.g3S1xCER.js";
|
|
6
6
|
import { useState as r, useEffect as f } from "react";
|
|
7
7
|
const G = () => {
|
|
8
8
|
const { login: h, logoutReason: o, loginWithPasskey: g } = N(), [t, l] = r(""), [d, n] = r(""), [m, p] = r(!0), [s, c] = r({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import B, { useRef as M, useEffect as z, useCallback as Q, useState as i1, useMemo as G, useContext as n1, useId as l1, useLayoutEffect as J } from "react";
|
|
2
2
|
import { jsxs as n, jsx as r } from "react/jsx-runtime";
|
|
3
3
|
import l from "clsx";
|
|
4
|
-
import { b as h, e as h1, R as d1, E as u1 } from "./index.
|
|
4
|
+
import { b as h, e as h1, R as d1, E as u1 } from "./index.BrfxZy3k.js";
|
|
5
5
|
function p1() {
|
|
6
6
|
const t = M(!1);
|
|
7
7
|
return z(() => (t.current = !0, () => {
|