local-operator-ui 0.10.2 → 0.10.4
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/out/main/index.jsc +0 -0
- package/out/preload/index.jsc +0 -0
- package/out/renderer/assets/{_basePickBy-C1pUk9It.js → _basePickBy-HBztaYeO.js} +2 -2
- package/out/renderer/assets/{_baseUniq-BhM_jJyj.js → _baseUniq-Dz-_QJw-.js} +1 -1
- package/out/renderer/assets/{arc-GsaK0m8I.js → arc-BbFClCF-.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-DZu4O8mc.js → architectureDiagram-IEHRJDOE-DzXvnk9f.js} +8 -8
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-YjWXho8z.js → blockDiagram-JOT3LUYC-boa_T8E1.js} +6 -6
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-De0QKOfp.js → c4Diagram-VJAJSXHY-CUWQVTBw.js} +3 -3
- package/out/renderer/assets/{channel-BYEpM1hE.js → channel-BnLrRohu.js} +1 -1
- package/out/renderer/assets/{chunk-4BMEZGHF-D_9bHgmZ.js → chunk-4BMEZGHF-C5nHFO1H.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-5l5F3-rU.js → chunk-A2AXSNBT-YCzWQkj3.js} +2 -2
- package/out/renderer/assets/{chunk-AEK57VVT-CbLZCuOU.js → chunk-AEK57VVT-RSKL44QH.js} +2 -2
- package/out/renderer/assets/{chunk-D6G4REZN-DWyr2hm7.js → chunk-D6G4REZN-y_oEq-tO.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-Bk83POAM.js → chunk-RZ5BOZE2-Bh5Vf1hk.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-gR6XMwdC.js → chunk-XZIHB7SX-BEC6jdKb.js} +1 -1
- package/out/renderer/assets/{classDiagram-GIVACNV2-OHQU5BtB.js → classDiagram-GIVACNV2-D_MSeJ_6.js} +4 -4
- package/out/renderer/assets/{classDiagram-v2-COTLJTTW-OHQU5BtB.js → classDiagram-v2-COTLJTTW-D_MSeJ_6.js} +4 -4
- package/out/renderer/assets/{clone-B7OBVcUT.js → clone-DTo9NJBP.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-BxuIa4zh.js → dagre-OKDRZEBW-BRmuP5ne.js} +7 -7
- package/out/renderer/assets/{diagram-SSKATNLV-DKenVGfy.js → diagram-SSKATNLV-lmqZ5zjv.js} +7 -7
- package/out/renderer/assets/{diagram-VNBRO52H-Dk2WOxg5.js → diagram-VNBRO52H-Bxh5b-em.js} +7 -7
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-EjRTdPk0.js → erDiagram-Q7BY3M3F-B_3VyDfP.js} +4 -4
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-b1Ugcxyi.js → flowDiagram-4HSFHLVR-DO9xIDx0.js} +4 -4
- package/out/renderer/assets/{fonts-DlbYGWfq.js → fonts-Bb3Axuvj.js} +81 -70
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-BYm6m2kF.js → ganttDiagram-APWFNJXF-BK37zBtS.js} +2 -2
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-BTKdzXBX.js → gitGraphDiagram-7IBYFJ6S-Jz6QBGPa.js} +8 -8
- package/out/renderer/assets/{graph-CWOikQzs.js → graph-DzxdEvr-.js} +2 -2
- package/out/renderer/assets/{index-DWmNhY0q.js → index-9ll8evaS.js} +2 -2
- package/out/renderer/assets/{index-DUscOlgJ.js → index-BcAunMPD.js} +2 -2
- package/out/renderer/assets/{index-a6JOvPtI.js → index-DSUSTpnZ.js} +2013 -1006
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-CzKeKjqX.js → infoDiagram-PH2N3AL5-BrTEa3Dg.js} +6 -6
- package/out/renderer/assets/{installer-DiekTv0c.js → installer-2u6KIViI.js} +1 -12
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-CoTNgbPQ.js → journeyDiagram-U35MCT3I-cp-7j6JH.js} +4 -4
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-C99jAkvb.js → kanban-definition-NDS4AKOZ-DT0Ds4_6.js} +2 -2
- package/out/renderer/assets/{layout-CJybZnOl.js → layout-RVhCHjA1.js} +4 -4
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-BahSAi8Q.js → mindmap-definition-ALO5MXBD-B8ntf-YJ.js} +2 -2
- package/out/renderer/assets/{pieDiagram-IB7DONF6-BNWxfAYp.js → pieDiagram-IB7DONF6-D_aSId8t.js} +8 -8
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-D4CXSiul.js → quadrantDiagram-7GDLP6J5-VtpoaDCW.js} +2 -2
- package/out/renderer/assets/{radar-MK3ICKWK-CfV3aHGj.js → radar-MK3ICKWK-Bvvn6bXt.js} +4 -4
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-B2P_I3bB.js → requirementDiagram-KVF5MWMF-DmQX7SmX.js} +3 -3
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-B7s67NDQ.js → sankeyDiagram-QLVOVGJD-DH2kTl35.js} +2 -2
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BI1s6_9f.js → sequenceDiagram-X6HHIX6F-Cy6jqgLY.js} +4 -4
- package/out/renderer/assets/{stateDiagram-DGXRK772-CuGuCLow.js → stateDiagram-DGXRK772-B5sjzMc3.js} +8 -8
- package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-Cf9Nvzou.js → stateDiagram-v2-YXO3MK2T-CCntK586.js} +4 -4
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-DF5bq-1Q.js → timeline-definition-BDJGKUSR-B24Z4NA2.js} +3 -3
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-B28wS5w8.js → xychartDiagram-VJFVF3MP-gjn-8kXQ.js} +2 -2
- package/out/renderer/index.html +2 -2
- package/out/renderer/installer.html +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-
|
|
2
|
-
import {
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-9ll8evaS.js","./fonts-Bb3Axuvj.js","./fonts-B9KBGB-g.css","./index-BcAunMPD.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-BRmuP5ne.js","./graph-DzxdEvr-.js","./_baseUniq-Dz-_QJw-.js","./layout-RVhCHjA1.js","./_basePickBy-HBztaYeO.js","./clone-DTo9NJBP.js","./c4Diagram-VJAJSXHY-CUWQVTBw.js","./chunk-D6G4REZN-y_oEq-tO.js","./flowDiagram-4HSFHLVR-DO9xIDx0.js","./chunk-RZ5BOZE2-Bh5Vf1hk.js","./channel-BnLrRohu.js","./erDiagram-Q7BY3M3F-B_3VyDfP.js","./gitGraphDiagram-7IBYFJ6S-Jz6QBGPa.js","./chunk-4BMEZGHF-C5nHFO1H.js","./chunk-XZIHB7SX-BEC6jdKb.js","./radar-MK3ICKWK-Bvvn6bXt.js","./ganttDiagram-APWFNJXF-BK37zBtS.js","./infoDiagram-PH2N3AL5-BrTEa3Dg.js","./pieDiagram-IB7DONF6-D_aSId8t.js","./arc-BbFClCF-.js","./quadrantDiagram-7GDLP6J5-VtpoaDCW.js","./xychartDiagram-VJFVF3MP-gjn-8kXQ.js","./requirementDiagram-KVF5MWMF-DmQX7SmX.js","./sequenceDiagram-X6HHIX6F-Cy6jqgLY.js","./classDiagram-GIVACNV2-D_MSeJ_6.js","./chunk-A2AXSNBT-YCzWQkj3.js","./classDiagram-v2-COTLJTTW-D_MSeJ_6.js","./stateDiagram-DGXRK772-B5sjzMc3.js","./chunk-AEK57VVT-RSKL44QH.js","./stateDiagram-v2-YXO3MK2T-CCntK586.js","./journeyDiagram-U35MCT3I-cp-7j6JH.js","./timeline-definition-BDJGKUSR-B24Z4NA2.js","./mindmap-definition-ALO5MXBD-B8ntf-YJ.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-DT0Ds4_6.js","./sankeyDiagram-QLVOVGJD-DH2kTl35.js","./diagram-VNBRO52H-Bxh5b-em.js","./diagram-SSKATNLV-lmqZ5zjv.js","./blockDiagram-JOT3LUYC-boa_T8E1.js","./architectureDiagram-IEHRJDOE-DzXvnk9f.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { i as createStyled, l as resolveProps, m as useTheme, n as useTheme$1, r as reactExports, o as React, p as useEnhancedEffect$1, q as clsx, t as useForkRef$1, v as extendSxProp, j as jsxRuntimeExports, w as handleBreakpoints, x as resolveBreakpointValues, y as createUnarySpacing, z as deepmerge, A as mergeBreakpointsInOrder, F as composeClasses$1, G as generateUtilityClass$1, I as createTheme$1, J as getValue$1, h as React$1, K as requireReactDom, g as getDefaultExportFromCjs, L as defaultTheme$2, M as THEME_ID, N as generateUtilityClasses$1, O as useDefaultProps, s as styled$1, P as capitalize$1, Q as memoTheme, _ as _inheritsLoose, S as _objectWithoutPropertiesLoose$k, U as TransitionGroupContext, V as _extends$w, W as duration, u as useTheme$2, X as useTimeout$1, Y as useId$1, Z as ButtonBase, b as alpha$1, $ as createSimplePaletteValueFilter, a0 as CircularProgress, a1 as Paper, a2 as darken$1, a3 as lighten$1, a4 as useEventCallback$1, a5 as useRtl, a6 as globalCss, a7 as formatMuiErrorMessage$1, a8 as rootShouldForwardProp, T as Typography, a9 as css$1, k as keyframes, aa as getPath$2, ab as isFocusVisible, ac as typographyClasses, ad as slotShouldForwardProp, ae as clamp, af as emphasize, ag as Timeout$1, c as createLucideIcon, a as Button, B as Box, ah as FontAwesomeIcon, ai as faExclamationTriangle, D as DEFAULT_THEME, aj as faChevronLeft, ak as faChevronRight, al as faRobot, am as faCheck, an as faTimes, ao as faEraser, ap as faPen, aq as faFileImport, ar as faUpload, as as GlobalStyles, at as requireReact, au as faComment, av as faSave, aw as faEdit, ax as faTrashAlt, ay as faInfoCircle, az as faGear, aA as faPlus, aB as faServer, aC as faStar, aD as faTag, aE as faIdCard, aF as faCalendarAlt, aG as faCodeBranch, aH as faShieldAlt, aI as faArrowLeft, aJ as faClock, C as Code, aK as faSliders, aL as faTrash, aM as faHome, aN as faDownload, aO as faFileAlt, aP as faDesktop, aQ as faImage, aR as faMusic, aS as faVideo, aT as faLaptop, aU as faUsers, aV as faDatabase, aW as faBoxOpen, aX as faBook, aY as faHdd, aZ as faBox, a_ as faArchive, a$ as faNetworkWired, b0 as faFolder, b1 as faFolderOpen, b2 as faFolderTree, b3 as faArrowDown, b4 as faPaperclip, b5 as faStop, b6 as faPaperPlane, b7 as faFile, b8 as faExclamationCircle, b9 as faChevronDown, ba as isDevelopmentMode, bb as faCommentSlash, bc as faArrowRight, bd as faBrain, be as faWandMagicSparkles, bf as faExternalLinkAlt, bg as faKey, bh as radientTheme, bi as faGlobe, bj as faSearch, bk as PropTypes, bl as shouldForwardProp, bm as TransitionGroup, bn as commonjsGlobal, bo as faLock, bp as faPuzzlePiece, H as HardDrive, bq as faSignOut, br as themes$1, bs as faMoon, bt as faSun, bu as faHexagonNodes, bv as faSkull, bw as faLeaf, bx as faCode, by as faMountain, bz as faFire, bA as faIcicles, bB as faBolt, bC as faAdjust, bD as faWaveSquare, bE as faUser, bF as faEnvelope, bG as faHistory, bH as faListAlt, bI as faCreditCard, bJ as faPlusCircle, bK as faChartLine, bL as faShield, bM as library$1, bN as icons$1, f as CssBaseline, e as ThemeProvider$1, d as getTheme, R as ReactDOM$1, E as ErrorBoundary } from "./fonts-Bb3Axuvj.js";
|
|
3
3
|
const styled = createStyled();
|
|
4
4
|
function getThemeProps(params) {
|
|
5
5
|
const {
|
|
@@ -9099,7 +9099,7 @@ function getSvgIconUtilityClass(slot) {
|
|
|
9099
9099
|
return generateUtilityClass$1("MuiSvgIcon", slot);
|
|
9100
9100
|
}
|
|
9101
9101
|
generateUtilityClasses$1("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
|
|
9102
|
-
const useUtilityClasses$
|
|
9102
|
+
const useUtilityClasses$1t = (ownerState) => {
|
|
9103
9103
|
const {
|
|
9104
9104
|
color: color2,
|
|
9105
9105
|
fontSize,
|
|
@@ -9238,7 +9238,7 @@ const SvgIcon = /* @__PURE__ */ reactExports.forwardRef(function SvgIcon2(inProp
|
|
|
9238
9238
|
if (!inheritViewBox) {
|
|
9239
9239
|
more.viewBox = viewBox;
|
|
9240
9240
|
}
|
|
9241
|
-
const classes = useUtilityClasses$
|
|
9241
|
+
const classes = useUtilityClasses$1t(ownerState);
|
|
9242
9242
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(SvgIconRoot, {
|
|
9243
9243
|
as: component,
|
|
9244
9244
|
className: clsx(classes.root, className),
|
|
@@ -9752,7 +9752,7 @@ function getCollapseUtilityClass(slot) {
|
|
|
9752
9752
|
return generateUtilityClass$1("MuiCollapse", slot);
|
|
9753
9753
|
}
|
|
9754
9754
|
generateUtilityClasses$1("MuiCollapse", ["root", "horizontal", "vertical", "entered", "hidden", "wrapper", "wrapperInner"]);
|
|
9755
|
-
const useUtilityClasses$
|
|
9755
|
+
const useUtilityClasses$1s = (ownerState) => {
|
|
9756
9756
|
const {
|
|
9757
9757
|
orientation,
|
|
9758
9758
|
classes
|
|
@@ -9880,7 +9880,7 @@ const Collapse = /* @__PURE__ */ reactExports.forwardRef(function Collapse2(inPr
|
|
|
9880
9880
|
orientation,
|
|
9881
9881
|
collapsedSize: collapsedSizeProp
|
|
9882
9882
|
};
|
|
9883
|
-
const classes = useUtilityClasses$
|
|
9883
|
+
const classes = useUtilityClasses$1s(ownerState);
|
|
9884
9884
|
const theme2 = useTheme$2();
|
|
9885
9885
|
const timer2 = useTimeout$1();
|
|
9886
9886
|
const wrapperRef = reactExports.useRef(null);
|
|
@@ -10095,7 +10095,7 @@ function getIconButtonUtilityClass(slot) {
|
|
|
10095
10095
|
return generateUtilityClass$1("MuiIconButton", slot);
|
|
10096
10096
|
}
|
|
10097
10097
|
const iconButtonClasses = generateUtilityClasses$1("MuiIconButton", ["root", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorError", "colorInfo", "colorSuccess", "colorWarning", "edgeStart", "edgeEnd", "sizeSmall", "sizeMedium", "sizeLarge", "loading", "loadingIndicator", "loadingWrapper"]);
|
|
10098
|
-
const useUtilityClasses$
|
|
10098
|
+
const useUtilityClasses$1r = (ownerState) => {
|
|
10099
10099
|
const {
|
|
10100
10100
|
classes,
|
|
10101
10101
|
disabled,
|
|
@@ -10281,7 +10281,7 @@ const IconButton = /* @__PURE__ */ reactExports.forwardRef(function IconButton2(
|
|
|
10281
10281
|
loadingIndicator,
|
|
10282
10282
|
size
|
|
10283
10283
|
};
|
|
10284
|
-
const classes = useUtilityClasses$
|
|
10284
|
+
const classes = useUtilityClasses$1r(ownerState);
|
|
10285
10285
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(IconButtonRoot, {
|
|
10286
10286
|
id: loading ? loadingId : idProp,
|
|
10287
10287
|
className: clsx(classes.root, className),
|
|
@@ -10320,7 +10320,7 @@ const InfoOutlinedIcon = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("pa
|
|
|
10320
10320
|
const ClearIcon$1 = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("path", {
|
|
10321
10321
|
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
|
|
10322
10322
|
}), "Close");
|
|
10323
|
-
const useUtilityClasses$
|
|
10323
|
+
const useUtilityClasses$1q = (ownerState) => {
|
|
10324
10324
|
const {
|
|
10325
10325
|
variant,
|
|
10326
10326
|
color: color2,
|
|
@@ -10475,7 +10475,7 @@ const Alert = /* @__PURE__ */ reactExports.forwardRef(function Alert2(inProps, r
|
|
|
10475
10475
|
variant,
|
|
10476
10476
|
colorSeverity: color2 || severity
|
|
10477
10477
|
};
|
|
10478
|
-
const classes = useUtilityClasses$
|
|
10478
|
+
const classes = useUtilityClasses$1q(ownerState);
|
|
10479
10479
|
const externalForwardedProps = {
|
|
10480
10480
|
slots: {
|
|
10481
10481
|
closeButton: components.CloseButton,
|
|
@@ -12828,7 +12828,7 @@ function resolveAnchorEl$1(anchorEl) {
|
|
|
12828
12828
|
function isHTMLElement(element2) {
|
|
12829
12829
|
return element2.nodeType !== void 0;
|
|
12830
12830
|
}
|
|
12831
|
-
const useUtilityClasses$
|
|
12831
|
+
const useUtilityClasses$1p = (ownerState) => {
|
|
12832
12832
|
const {
|
|
12833
12833
|
classes
|
|
12834
12834
|
} = ownerState;
|
|
@@ -12929,7 +12929,7 @@ const PopperTooltip = /* @__PURE__ */ reactExports.forwardRef(function PopperToo
|
|
|
12929
12929
|
if (TransitionProps !== null) {
|
|
12930
12930
|
childProps.TransitionProps = TransitionProps;
|
|
12931
12931
|
}
|
|
12932
|
-
const classes = useUtilityClasses$
|
|
12932
|
+
const classes = useUtilityClasses$1p(props2);
|
|
12933
12933
|
const Root = slots.root ?? "div";
|
|
12934
12934
|
const rootProps = useSlotProps$1({
|
|
12935
12935
|
elementType: Root,
|
|
@@ -13077,7 +13077,7 @@ function getListSubheaderUtilityClass(slot) {
|
|
|
13077
13077
|
return generateUtilityClass$1("MuiListSubheader", slot);
|
|
13078
13078
|
}
|
|
13079
13079
|
generateUtilityClasses$1("MuiListSubheader", ["root", "colorPrimary", "colorInherit", "gutters", "inset", "sticky"]);
|
|
13080
|
-
const useUtilityClasses$
|
|
13080
|
+
const useUtilityClasses$1o = (ownerState) => {
|
|
13081
13081
|
const {
|
|
13082
13082
|
classes,
|
|
13083
13083
|
color: color2,
|
|
@@ -13172,7 +13172,7 @@ const ListSubheader = /* @__PURE__ */ reactExports.forwardRef(function ListSubhe
|
|
|
13172
13172
|
disableSticky,
|
|
13173
13173
|
inset
|
|
13174
13174
|
};
|
|
13175
|
-
const classes = useUtilityClasses$
|
|
13175
|
+
const classes = useUtilityClasses$1o(ownerState);
|
|
13176
13176
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ListSubheaderRoot, {
|
|
13177
13177
|
as: component,
|
|
13178
13178
|
className: clsx(classes.root, className),
|
|
@@ -13191,7 +13191,7 @@ function getChipUtilityClass(slot) {
|
|
|
13191
13191
|
return generateUtilityClass$1("MuiChip", slot);
|
|
13192
13192
|
}
|
|
13193
13193
|
const chipClasses = generateUtilityClasses$1("MuiChip", ["root", "sizeSmall", "sizeMedium", "colorDefault", "colorError", "colorInfo", "colorPrimary", "colorSecondary", "colorSuccess", "colorWarning", "disabled", "clickable", "clickableColorPrimary", "clickableColorSecondary", "deletable", "deletableColorPrimary", "deletableColorSecondary", "outlined", "filled", "outlinedPrimary", "outlinedSecondary", "filledPrimary", "filledSecondary", "avatar", "avatarSmall", "avatarMedium", "avatarColorPrimary", "avatarColorSecondary", "icon", "iconSmall", "iconMedium", "iconColorPrimary", "iconColorSecondary", "label", "labelSmall", "labelMedium", "deleteIcon", "deleteIconSmall", "deleteIconMedium", "deleteIconColorPrimary", "deleteIconColorSecondary", "deleteIconOutlinedColorPrimary", "deleteIconOutlinedColorSecondary", "deleteIconFilledColorPrimary", "deleteIconFilledColorSecondary", "focusVisible"]);
|
|
13194
|
-
const useUtilityClasses$
|
|
13194
|
+
const useUtilityClasses$1n = (ownerState) => {
|
|
13195
13195
|
const {
|
|
13196
13196
|
classes,
|
|
13197
13197
|
disabled,
|
|
@@ -13582,7 +13582,7 @@ const Chip = /* @__PURE__ */ reactExports.forwardRef(function Chip2(inProps, ref
|
|
|
13582
13582
|
clickable,
|
|
13583
13583
|
variant
|
|
13584
13584
|
};
|
|
13585
|
-
const classes = useUtilityClasses$
|
|
13585
|
+
const classes = useUtilityClasses$1n(ownerState);
|
|
13586
13586
|
const moreProps = component === ButtonBase ? {
|
|
13587
13587
|
component: ComponentProp || "div",
|
|
13588
13588
|
focusVisibleClassName: classes.focusVisible,
|
|
@@ -13850,7 +13850,7 @@ const inputOverridesResolver = (props2, styles2) => {
|
|
|
13850
13850
|
} = props2;
|
|
13851
13851
|
return [styles2.input, ownerState.size === "small" && styles2.inputSizeSmall, ownerState.multiline && styles2.inputMultiline, ownerState.type === "search" && styles2.inputTypeSearch, ownerState.startAdornment && styles2.inputAdornedStart, ownerState.endAdornment && styles2.inputAdornedEnd, ownerState.hiddenLabel && styles2.inputHiddenLabel];
|
|
13852
13852
|
};
|
|
13853
|
-
const useUtilityClasses$
|
|
13853
|
+
const useUtilityClasses$1m = (ownerState) => {
|
|
13854
13854
|
const {
|
|
13855
13855
|
classes,
|
|
13856
13856
|
color: color2,
|
|
@@ -14236,7 +14236,7 @@ const InputBase = /* @__PURE__ */ reactExports.forwardRef(function InputBase2(in
|
|
|
14236
14236
|
startAdornment,
|
|
14237
14237
|
type: type2
|
|
14238
14238
|
};
|
|
14239
|
-
const classes = useUtilityClasses$
|
|
14239
|
+
const classes = useUtilityClasses$1m(ownerState);
|
|
14240
14240
|
const Root = slots.root || components.Root || InputBaseRoot;
|
|
14241
14241
|
const rootProps = slotProps.root || componentsProps.root || {};
|
|
14242
14242
|
const Input3 = slots.input || components.Input || InputBaseInput;
|
|
@@ -14329,7 +14329,7 @@ function getAutocompleteUtilityClass(slot) {
|
|
|
14329
14329
|
}
|
|
14330
14330
|
const autocompleteClasses = generateUtilityClasses$1("MuiAutocomplete", ["root", "expanded", "fullWidth", "focused", "focusVisible", "tag", "tagSizeSmall", "tagSizeMedium", "hasPopupIcon", "hasClearIcon", "inputRoot", "input", "inputFocused", "endAdornment", "clearIndicator", "popupIndicator", "popupIndicatorOpen", "popper", "popperDisablePortal", "paper", "listbox", "loading", "noOptions", "option", "groupLabel", "groupUl"]);
|
|
14331
14331
|
var _ClearIcon, _ArrowDropDownIcon;
|
|
14332
|
-
const useUtilityClasses$
|
|
14332
|
+
const useUtilityClasses$1l = (ownerState) => {
|
|
14333
14333
|
const {
|
|
14334
14334
|
classes,
|
|
14335
14335
|
disablePortal,
|
|
@@ -14825,7 +14825,7 @@ const Autocomplete = /* @__PURE__ */ reactExports.forwardRef(function Autocomple
|
|
|
14825
14825
|
popupOpen,
|
|
14826
14826
|
size
|
|
14827
14827
|
};
|
|
14828
|
-
const classes = useUtilityClasses$
|
|
14828
|
+
const classes = useUtilityClasses$1l(ownerState);
|
|
14829
14829
|
const externalForwardedProps = {
|
|
14830
14830
|
slots: {
|
|
14831
14831
|
paper: PaperComponentProp,
|
|
@@ -15040,7 +15040,7 @@ function getAvatarUtilityClass(slot) {
|
|
|
15040
15040
|
return generateUtilityClass$1("MuiAvatar", slot);
|
|
15041
15041
|
}
|
|
15042
15042
|
generateUtilityClasses$1("MuiAvatar", ["root", "colorDefault", "circular", "rounded", "square", "img", "fallback"]);
|
|
15043
|
-
const useUtilityClasses$
|
|
15043
|
+
const useUtilityClasses$1k = (ownerState) => {
|
|
15044
15044
|
const {
|
|
15045
15045
|
classes,
|
|
15046
15046
|
variant,
|
|
@@ -15205,7 +15205,7 @@ const Avatar = /* @__PURE__ */ reactExports.forwardRef(function Avatar2(inProps,
|
|
|
15205
15205
|
const hasImgNotFailing = hasImg && loaded !== "error";
|
|
15206
15206
|
ownerState.colorDefault = !hasImgNotFailing;
|
|
15207
15207
|
delete ownerState.ownerState;
|
|
15208
|
-
const classes = useUtilityClasses$
|
|
15208
|
+
const classes = useUtilityClasses$1k(ownerState);
|
|
15209
15209
|
const [ImgSlot, imgSlotProps] = useSlot("img", {
|
|
15210
15210
|
className: classes.img,
|
|
15211
15211
|
elementType: AvatarImg,
|
|
@@ -15366,7 +15366,7 @@ function getBackdropUtilityClass(slot) {
|
|
|
15366
15366
|
return generateUtilityClass$1("MuiBackdrop", slot);
|
|
15367
15367
|
}
|
|
15368
15368
|
generateUtilityClasses$1("MuiBackdrop", ["root", "invisible"]);
|
|
15369
|
-
const useUtilityClasses$
|
|
15369
|
+
const useUtilityClasses$1j = (ownerState) => {
|
|
15370
15370
|
const {
|
|
15371
15371
|
classes,
|
|
15372
15372
|
invisible
|
|
@@ -15429,7 +15429,7 @@ const Backdrop = /* @__PURE__ */ reactExports.forwardRef(function Backdrop2(inPr
|
|
|
15429
15429
|
component,
|
|
15430
15430
|
invisible
|
|
15431
15431
|
};
|
|
15432
|
-
const classes = useUtilityClasses$
|
|
15432
|
+
const classes = useUtilityClasses$1j(ownerState);
|
|
15433
15433
|
const backwardCompatibleSlots = {
|
|
15434
15434
|
transition: TransitionComponentProp,
|
|
15435
15435
|
root: components.Root,
|
|
@@ -15472,7 +15472,7 @@ function getCardUtilityClass(slot) {
|
|
|
15472
15472
|
return generateUtilityClass$1("MuiCard", slot);
|
|
15473
15473
|
}
|
|
15474
15474
|
generateUtilityClasses$1("MuiCard", ["root"]);
|
|
15475
|
-
const useUtilityClasses$
|
|
15475
|
+
const useUtilityClasses$1i = (ownerState) => {
|
|
15476
15476
|
const {
|
|
15477
15477
|
classes
|
|
15478
15478
|
} = ownerState;
|
|
@@ -15502,7 +15502,7 @@ const Card = /* @__PURE__ */ reactExports.forwardRef(function Card2(inProps, ref
|
|
|
15502
15502
|
...props2,
|
|
15503
15503
|
raised
|
|
15504
15504
|
};
|
|
15505
|
-
const classes = useUtilityClasses$
|
|
15505
|
+
const classes = useUtilityClasses$1i(ownerState);
|
|
15506
15506
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(CardRoot, {
|
|
15507
15507
|
className: clsx(classes.root, className),
|
|
15508
15508
|
elevation: raised ? 8 : void 0,
|
|
@@ -15511,6 +15511,88 @@ const Card = /* @__PURE__ */ reactExports.forwardRef(function Card2(inProps, ref
|
|
|
15511
15511
|
...other2
|
|
15512
15512
|
});
|
|
15513
15513
|
});
|
|
15514
|
+
function getCardActionAreaUtilityClass(slot) {
|
|
15515
|
+
return generateUtilityClass$1("MuiCardActionArea", slot);
|
|
15516
|
+
}
|
|
15517
|
+
const cardActionAreaClasses = generateUtilityClasses$1("MuiCardActionArea", ["root", "focusVisible", "focusHighlight"]);
|
|
15518
|
+
const useUtilityClasses$1h = (ownerState) => {
|
|
15519
|
+
const {
|
|
15520
|
+
classes
|
|
15521
|
+
} = ownerState;
|
|
15522
|
+
const slots = {
|
|
15523
|
+
root: ["root"],
|
|
15524
|
+
focusHighlight: ["focusHighlight"]
|
|
15525
|
+
};
|
|
15526
|
+
return composeClasses$1(slots, getCardActionAreaUtilityClass, classes);
|
|
15527
|
+
};
|
|
15528
|
+
const CardActionAreaRoot = styled$1(ButtonBase, {
|
|
15529
|
+
name: "MuiCardActionArea",
|
|
15530
|
+
slot: "Root",
|
|
15531
|
+
overridesResolver: (props2, styles2) => styles2.root
|
|
15532
|
+
})(memoTheme(({
|
|
15533
|
+
theme: theme2
|
|
15534
|
+
}) => ({
|
|
15535
|
+
display: "block",
|
|
15536
|
+
textAlign: "inherit",
|
|
15537
|
+
borderRadius: "inherit",
|
|
15538
|
+
// for Safari to work https://github.com/mui/material-ui/issues/36285.
|
|
15539
|
+
width: "100%",
|
|
15540
|
+
[`&:hover .${cardActionAreaClasses.focusHighlight}`]: {
|
|
15541
|
+
opacity: (theme2.vars || theme2).palette.action.hoverOpacity,
|
|
15542
|
+
"@media (hover: none)": {
|
|
15543
|
+
opacity: 0
|
|
15544
|
+
}
|
|
15545
|
+
},
|
|
15546
|
+
[`&.${cardActionAreaClasses.focusVisible} .${cardActionAreaClasses.focusHighlight}`]: {
|
|
15547
|
+
opacity: (theme2.vars || theme2).palette.action.focusOpacity
|
|
15548
|
+
}
|
|
15549
|
+
})));
|
|
15550
|
+
const CardActionAreaFocusHighlight = styled$1("span", {
|
|
15551
|
+
name: "MuiCardActionArea",
|
|
15552
|
+
slot: "FocusHighlight",
|
|
15553
|
+
overridesResolver: (props2, styles2) => styles2.focusHighlight
|
|
15554
|
+
})(memoTheme(({
|
|
15555
|
+
theme: theme2
|
|
15556
|
+
}) => ({
|
|
15557
|
+
overflow: "hidden",
|
|
15558
|
+
pointerEvents: "none",
|
|
15559
|
+
position: "absolute",
|
|
15560
|
+
top: 0,
|
|
15561
|
+
right: 0,
|
|
15562
|
+
bottom: 0,
|
|
15563
|
+
left: 0,
|
|
15564
|
+
borderRadius: "inherit",
|
|
15565
|
+
opacity: 0,
|
|
15566
|
+
backgroundColor: "currentcolor",
|
|
15567
|
+
transition: theme2.transitions.create("opacity", {
|
|
15568
|
+
duration: theme2.transitions.duration.short
|
|
15569
|
+
})
|
|
15570
|
+
})));
|
|
15571
|
+
const CardActionArea = /* @__PURE__ */ reactExports.forwardRef(function CardActionArea2(inProps, ref) {
|
|
15572
|
+
const props2 = useDefaultProps({
|
|
15573
|
+
props: inProps,
|
|
15574
|
+
name: "MuiCardActionArea"
|
|
15575
|
+
});
|
|
15576
|
+
const {
|
|
15577
|
+
children: children2,
|
|
15578
|
+
className,
|
|
15579
|
+
focusVisibleClassName,
|
|
15580
|
+
...other2
|
|
15581
|
+
} = props2;
|
|
15582
|
+
const ownerState = props2;
|
|
15583
|
+
const classes = useUtilityClasses$1h(ownerState);
|
|
15584
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(CardActionAreaRoot, {
|
|
15585
|
+
className: clsx(classes.root, className),
|
|
15586
|
+
focusVisibleClassName: clsx(focusVisibleClassName, classes.focusVisible),
|
|
15587
|
+
ref,
|
|
15588
|
+
ownerState,
|
|
15589
|
+
...other2,
|
|
15590
|
+
children: [children2, /* @__PURE__ */ jsxRuntimeExports.jsx(CardActionAreaFocusHighlight, {
|
|
15591
|
+
className: classes.focusHighlight,
|
|
15592
|
+
ownerState
|
|
15593
|
+
})]
|
|
15594
|
+
});
|
|
15595
|
+
});
|
|
15514
15596
|
function getCardActionsUtilityClass(slot) {
|
|
15515
15597
|
return generateUtilityClass$1("MuiCardActions", slot);
|
|
15516
15598
|
}
|
|
@@ -35740,18 +35822,45 @@ const useAgentSelectionStore = create$3()(
|
|
|
35740
35822
|
* This source code is licensed under the ISC license.
|
|
35741
35823
|
* See the LICENSE file in the root directory of this source tree.
|
|
35742
35824
|
*/
|
|
35743
|
-
const __iconNode$
|
|
35825
|
+
const __iconNode$1g = [
|
|
35826
|
+
["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
|
|
35827
|
+
["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
|
|
35828
|
+
["path", { d: "M10 12h4", key: "a56b0p" }]
|
|
35829
|
+
];
|
|
35830
|
+
const Archive = createLucideIcon("archive", __iconNode$1g);
|
|
35831
|
+
/**
|
|
35832
|
+
* @license lucide-react v0.507.0 - ISC
|
|
35833
|
+
*
|
|
35834
|
+
* This source code is licensed under the ISC license.
|
|
35835
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
35836
|
+
*/
|
|
35837
|
+
const __iconNode$1f = [
|
|
35744
35838
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
35745
35839
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
35746
35840
|
];
|
|
35747
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
35841
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1f);
|
|
35748
35842
|
/**
|
|
35749
35843
|
* @license lucide-react v0.507.0 - ISC
|
|
35750
35844
|
*
|
|
35751
35845
|
* This source code is licensed under the ISC license.
|
|
35752
35846
|
* See the LICENSE file in the root directory of this source tree.
|
|
35753
35847
|
*/
|
|
35754
|
-
const __iconNode$
|
|
35848
|
+
const __iconNode$1e = [
|
|
35849
|
+
["path", { d: "M2 10v3", key: "1fnikh" }],
|
|
35850
|
+
["path", { d: "M6 6v11", key: "11sgs0" }],
|
|
35851
|
+
["path", { d: "M10 3v18", key: "yhl04a" }],
|
|
35852
|
+
["path", { d: "M14 8v7", key: "3a1oy3" }],
|
|
35853
|
+
["path", { d: "M18 5v13", key: "123xd1" }],
|
|
35854
|
+
["path", { d: "M22 10v3", key: "154ddg" }]
|
|
35855
|
+
];
|
|
35856
|
+
const AudioLines = createLucideIcon("audio-lines", __iconNode$1e);
|
|
35857
|
+
/**
|
|
35858
|
+
* @license lucide-react v0.507.0 - ISC
|
|
35859
|
+
*
|
|
35860
|
+
* This source code is licensed under the ISC license.
|
|
35861
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
35862
|
+
*/
|
|
35863
|
+
const __iconNode$1d = [
|
|
35755
35864
|
[
|
|
35756
35865
|
"path",
|
|
35757
35866
|
{
|
|
@@ -35760,14 +35869,14 @@ const __iconNode$16 = [
|
|
|
35760
35869
|
}
|
|
35761
35870
|
]
|
|
35762
35871
|
];
|
|
35763
|
-
const Book = createLucideIcon("book", __iconNode$
|
|
35872
|
+
const Book = createLucideIcon("book", __iconNode$1d);
|
|
35764
35873
|
/**
|
|
35765
35874
|
* @license lucide-react v0.507.0 - ISC
|
|
35766
35875
|
*
|
|
35767
35876
|
* This source code is licensed under the ISC license.
|
|
35768
35877
|
* See the LICENSE file in the root directory of this source tree.
|
|
35769
35878
|
*/
|
|
35770
|
-
const __iconNode$
|
|
35879
|
+
const __iconNode$1c = [
|
|
35771
35880
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
35772
35881
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
35773
35882
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -35775,25 +35884,25 @@ const __iconNode$15 = [
|
|
|
35775
35884
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
35776
35885
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
35777
35886
|
];
|
|
35778
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
35887
|
+
const Bot = createLucideIcon("bot", __iconNode$1c);
|
|
35779
35888
|
/**
|
|
35780
35889
|
* @license lucide-react v0.507.0 - ISC
|
|
35781
35890
|
*
|
|
35782
35891
|
* This source code is licensed under the ISC license.
|
|
35783
35892
|
* See the LICENSE file in the root directory of this source tree.
|
|
35784
35893
|
*/
|
|
35785
|
-
const __iconNode$
|
|
35894
|
+
const __iconNode$1b = [
|
|
35786
35895
|
["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
|
|
35787
35896
|
["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
|
|
35788
35897
|
];
|
|
35789
|
-
const Briefcase = createLucideIcon("briefcase", __iconNode$
|
|
35898
|
+
const Briefcase = createLucideIcon("briefcase", __iconNode$1b);
|
|
35790
35899
|
/**
|
|
35791
35900
|
* @license lucide-react v0.507.0 - ISC
|
|
35792
35901
|
*
|
|
35793
35902
|
* This source code is licensed under the ISC license.
|
|
35794
35903
|
* See the LICENSE file in the root directory of this source tree.
|
|
35795
35904
|
*/
|
|
35796
|
-
const __iconNode$
|
|
35905
|
+
const __iconNode$1a = [
|
|
35797
35906
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
35798
35907
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
35799
35908
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
@@ -35805,136 +35914,136 @@ const __iconNode$13 = [
|
|
|
35805
35914
|
["path", { d: "M12 18h.01", key: "mhygvu" }],
|
|
35806
35915
|
["path", { d: "M16 18h.01", key: "kzsmim" }]
|
|
35807
35916
|
];
|
|
35808
|
-
const CalendarDays = createLucideIcon("calendar-days", __iconNode$
|
|
35917
|
+
const CalendarDays = createLucideIcon("calendar-days", __iconNode$1a);
|
|
35809
35918
|
/**
|
|
35810
35919
|
* @license lucide-react v0.507.0 - ISC
|
|
35811
35920
|
*
|
|
35812
35921
|
* This source code is licensed under the ISC license.
|
|
35813
35922
|
* See the LICENSE file in the root directory of this source tree.
|
|
35814
35923
|
*/
|
|
35815
|
-
const __iconNode$
|
|
35924
|
+
const __iconNode$19 = [
|
|
35816
35925
|
["line", { x1: "18", x2: "18", y1: "20", y2: "10", key: "1xfpm4" }],
|
|
35817
35926
|
["line", { x1: "12", x2: "12", y1: "20", y2: "4", key: "be30l9" }],
|
|
35818
35927
|
["line", { x1: "6", x2: "6", y1: "20", y2: "14", key: "1r4le6" }]
|
|
35819
35928
|
];
|
|
35820
|
-
const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$
|
|
35929
|
+
const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$19);
|
|
35821
35930
|
/**
|
|
35822
35931
|
* @license lucide-react v0.507.0 - ISC
|
|
35823
35932
|
*
|
|
35824
35933
|
* This source code is licensed under the ISC license.
|
|
35825
35934
|
* See the LICENSE file in the root directory of this source tree.
|
|
35826
35935
|
*/
|
|
35827
|
-
const __iconNode$
|
|
35828
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
35936
|
+
const __iconNode$18 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
35937
|
+
const Check = createLucideIcon("check", __iconNode$18);
|
|
35829
35938
|
/**
|
|
35830
35939
|
* @license lucide-react v0.507.0 - ISC
|
|
35831
35940
|
*
|
|
35832
35941
|
* This source code is licensed under the ISC license.
|
|
35833
35942
|
* See the LICENSE file in the root directory of this source tree.
|
|
35834
35943
|
*/
|
|
35835
|
-
const __iconNode$
|
|
35836
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
35944
|
+
const __iconNode$17 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
35945
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$17);
|
|
35837
35946
|
/**
|
|
35838
35947
|
* @license lucide-react v0.507.0 - ISC
|
|
35839
35948
|
*
|
|
35840
35949
|
* This source code is licensed under the ISC license.
|
|
35841
35950
|
* See the LICENSE file in the root directory of this source tree.
|
|
35842
35951
|
*/
|
|
35843
|
-
const __iconNode
|
|
35844
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode
|
|
35952
|
+
const __iconNode$16 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
35953
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$16);
|
|
35845
35954
|
/**
|
|
35846
35955
|
* @license lucide-react v0.507.0 - ISC
|
|
35847
35956
|
*
|
|
35848
35957
|
* This source code is licensed under the ISC license.
|
|
35849
35958
|
* See the LICENSE file in the root directory of this source tree.
|
|
35850
35959
|
*/
|
|
35851
|
-
const __iconNode$
|
|
35852
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
35960
|
+
const __iconNode$15 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
35961
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$15);
|
|
35853
35962
|
/**
|
|
35854
35963
|
* @license lucide-react v0.507.0 - ISC
|
|
35855
35964
|
*
|
|
35856
35965
|
* This source code is licensed under the ISC license.
|
|
35857
35966
|
* See the LICENSE file in the root directory of this source tree.
|
|
35858
35967
|
*/
|
|
35859
|
-
const __iconNode$
|
|
35860
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
35968
|
+
const __iconNode$14 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
35969
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$14);
|
|
35861
35970
|
/**
|
|
35862
35971
|
* @license lucide-react v0.507.0 - ISC
|
|
35863
35972
|
*
|
|
35864
35973
|
* This source code is licensed under the ISC license.
|
|
35865
35974
|
* See the LICENSE file in the root directory of this source tree.
|
|
35866
35975
|
*/
|
|
35867
|
-
const __iconNode$
|
|
35976
|
+
const __iconNode$13 = [
|
|
35868
35977
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
35869
35978
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
35870
35979
|
];
|
|
35871
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
35980
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$13);
|
|
35872
35981
|
/**
|
|
35873
35982
|
* @license lucide-react v0.507.0 - ISC
|
|
35874
35983
|
*
|
|
35875
35984
|
* This source code is licensed under the ISC license.
|
|
35876
35985
|
* See the LICENSE file in the root directory of this source tree.
|
|
35877
35986
|
*/
|
|
35878
|
-
const __iconNode$
|
|
35987
|
+
const __iconNode$12 = [
|
|
35879
35988
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35880
35989
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
35881
35990
|
];
|
|
35882
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
35991
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$12);
|
|
35883
35992
|
/**
|
|
35884
35993
|
* @license lucide-react v0.507.0 - ISC
|
|
35885
35994
|
*
|
|
35886
35995
|
* This source code is licensed under the ISC license.
|
|
35887
35996
|
* See the LICENSE file in the root directory of this source tree.
|
|
35888
35997
|
*/
|
|
35889
|
-
const __iconNode$
|
|
35998
|
+
const __iconNode$11 = [
|
|
35890
35999
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35891
36000
|
["path", { d: "M17 12h.01", key: "1m0b6t" }],
|
|
35892
36001
|
["path", { d: "M12 12h.01", key: "1mp3jc" }],
|
|
35893
36002
|
["path", { d: "M7 12h.01", key: "eqddd0" }]
|
|
35894
36003
|
];
|
|
35895
|
-
const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$
|
|
36004
|
+
const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$11);
|
|
35896
36005
|
/**
|
|
35897
36006
|
* @license lucide-react v0.507.0 - ISC
|
|
35898
36007
|
*
|
|
35899
36008
|
* This source code is licensed under the ISC license.
|
|
35900
36009
|
* See the LICENSE file in the root directory of this source tree.
|
|
35901
36010
|
*/
|
|
35902
|
-
const __iconNode$
|
|
36011
|
+
const __iconNode$10 = [
|
|
35903
36012
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35904
36013
|
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
|
35905
36014
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
35906
36015
|
];
|
|
35907
|
-
const CircleHelp = createLucideIcon("circle-help", __iconNode$
|
|
36016
|
+
const CircleHelp = createLucideIcon("circle-help", __iconNode$10);
|
|
35908
36017
|
/**
|
|
35909
36018
|
* @license lucide-react v0.507.0 - ISC
|
|
35910
36019
|
*
|
|
35911
36020
|
* This source code is licensed under the ISC license.
|
|
35912
36021
|
* See the LICENSE file in the root directory of this source tree.
|
|
35913
36022
|
*/
|
|
35914
|
-
const __iconNode
|
|
36023
|
+
const __iconNode$$ = [
|
|
35915
36024
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35916
36025
|
["polygon", { points: "10 8 16 12 10 16 10 8", key: "1cimsy" }]
|
|
35917
36026
|
];
|
|
35918
|
-
const CirclePlay = createLucideIcon("circle-play", __iconNode
|
|
36027
|
+
const CirclePlay = createLucideIcon("circle-play", __iconNode$$);
|
|
35919
36028
|
/**
|
|
35920
36029
|
* @license lucide-react v0.507.0 - ISC
|
|
35921
36030
|
*
|
|
35922
36031
|
* This source code is licensed under the ISC license.
|
|
35923
36032
|
* See the LICENSE file in the root directory of this source tree.
|
|
35924
36033
|
*/
|
|
35925
|
-
const __iconNode$
|
|
36034
|
+
const __iconNode$_ = [
|
|
35926
36035
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35927
36036
|
["path", { d: "M8 12h8", key: "1wcyev" }],
|
|
35928
36037
|
["path", { d: "M12 8v8", key: "napkw2" }]
|
|
35929
36038
|
];
|
|
35930
|
-
const CirclePlus = createLucideIcon("circle-plus", __iconNode$
|
|
36039
|
+
const CirclePlus = createLucideIcon("circle-plus", __iconNode$_);
|
|
35931
36040
|
/**
|
|
35932
36041
|
* @license lucide-react v0.507.0 - ISC
|
|
35933
36042
|
*
|
|
35934
36043
|
* This source code is licensed under the ISC license.
|
|
35935
36044
|
* See the LICENSE file in the root directory of this source tree.
|
|
35936
36045
|
*/
|
|
35937
|
-
const __iconNode$
|
|
36046
|
+
const __iconNode$Z = [
|
|
35938
36047
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
35939
36048
|
[
|
|
35940
36049
|
"path",
|
|
@@ -35948,72 +36057,72 @@ const __iconNode$S = [
|
|
|
35948
36057
|
["path", { d: "M8 11h.01", key: "1dfujw" }],
|
|
35949
36058
|
["path", { d: "M8 16h.01", key: "18s6g9" }]
|
|
35950
36059
|
];
|
|
35951
|
-
const ClipboardList = createLucideIcon("clipboard-list", __iconNode$
|
|
36060
|
+
const ClipboardList = createLucideIcon("clipboard-list", __iconNode$Z);
|
|
35952
36061
|
/**
|
|
35953
36062
|
* @license lucide-react v0.507.0 - ISC
|
|
35954
36063
|
*
|
|
35955
36064
|
* This source code is licensed under the ISC license.
|
|
35956
36065
|
* See the LICENSE file in the root directory of this source tree.
|
|
35957
36066
|
*/
|
|
35958
|
-
const __iconNode$
|
|
36067
|
+
const __iconNode$Y = [
|
|
35959
36068
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
35960
36069
|
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
|
|
35961
36070
|
];
|
|
35962
|
-
const Clock$1 = createLucideIcon("clock", __iconNode$
|
|
36071
|
+
const Clock$1 = createLucideIcon("clock", __iconNode$Y);
|
|
35963
36072
|
/**
|
|
35964
36073
|
* @license lucide-react v0.507.0 - ISC
|
|
35965
36074
|
*
|
|
35966
36075
|
* This source code is licensed under the ISC license.
|
|
35967
36076
|
* See the LICENSE file in the root directory of this source tree.
|
|
35968
36077
|
*/
|
|
35969
|
-
const __iconNode$
|
|
36078
|
+
const __iconNode$X = [
|
|
35970
36079
|
["path", { d: "M12 13v8", key: "1l5pq0" }],
|
|
35971
36080
|
["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
|
|
35972
36081
|
["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
|
|
35973
36082
|
];
|
|
35974
|
-
const CloudUpload = createLucideIcon("cloud-upload", __iconNode$
|
|
36083
|
+
const CloudUpload = createLucideIcon("cloud-upload", __iconNode$X);
|
|
35975
36084
|
/**
|
|
35976
36085
|
* @license lucide-react v0.507.0 - ISC
|
|
35977
36086
|
*
|
|
35978
36087
|
* This source code is licensed under the ISC license.
|
|
35979
36088
|
* See the LICENSE file in the root directory of this source tree.
|
|
35980
36089
|
*/
|
|
35981
|
-
const __iconNode$
|
|
36090
|
+
const __iconNode$W = [
|
|
35982
36091
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
35983
36092
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
35984
36093
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
35985
36094
|
];
|
|
35986
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
36095
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$W);
|
|
35987
36096
|
/**
|
|
35988
36097
|
* @license lucide-react v0.507.0 - ISC
|
|
35989
36098
|
*
|
|
35990
36099
|
* This source code is licensed under the ISC license.
|
|
35991
36100
|
* See the LICENSE file in the root directory of this source tree.
|
|
35992
36101
|
*/
|
|
35993
|
-
const __iconNode$
|
|
36102
|
+
const __iconNode$V = [
|
|
35994
36103
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
35995
36104
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
35996
36105
|
];
|
|
35997
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
36106
|
+
const Copy = createLucideIcon("copy", __iconNode$V);
|
|
35998
36107
|
/**
|
|
35999
36108
|
* @license lucide-react v0.507.0 - ISC
|
|
36000
36109
|
*
|
|
36001
36110
|
* This source code is licensed under the ISC license.
|
|
36002
36111
|
* See the LICENSE file in the root directory of this source tree.
|
|
36003
36112
|
*/
|
|
36004
|
-
const __iconNode$
|
|
36113
|
+
const __iconNode$U = [
|
|
36005
36114
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
36006
36115
|
["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }],
|
|
36007
36116
|
["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }]
|
|
36008
36117
|
];
|
|
36009
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
36118
|
+
const Download = createLucideIcon("download", __iconNode$U);
|
|
36010
36119
|
/**
|
|
36011
36120
|
* @license lucide-react v0.507.0 - ISC
|
|
36012
36121
|
*
|
|
36013
36122
|
* This source code is licensed under the ISC license.
|
|
36014
36123
|
* See the LICENSE file in the root directory of this source tree.
|
|
36015
36124
|
*/
|
|
36016
|
-
const __iconNode$
|
|
36125
|
+
const __iconNode$T = [
|
|
36017
36126
|
["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }],
|
|
36018
36127
|
[
|
|
36019
36128
|
"path",
|
|
@@ -36025,26 +36134,26 @@ const __iconNode$M = [
|
|
|
36025
36134
|
["path", { d: "M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05", key: "14pb5j" }],
|
|
36026
36135
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
36027
36136
|
];
|
|
36028
|
-
const Earth = createLucideIcon("earth", __iconNode$
|
|
36137
|
+
const Earth = createLucideIcon("earth", __iconNode$T);
|
|
36029
36138
|
/**
|
|
36030
36139
|
* @license lucide-react v0.507.0 - ISC
|
|
36031
36140
|
*
|
|
36032
36141
|
* This source code is licensed under the ISC license.
|
|
36033
36142
|
* See the LICENSE file in the root directory of this source tree.
|
|
36034
36143
|
*/
|
|
36035
|
-
const __iconNode$
|
|
36144
|
+
const __iconNode$S = [
|
|
36036
36145
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
36037
36146
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
36038
36147
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
36039
36148
|
];
|
|
36040
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
36149
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$S);
|
|
36041
36150
|
/**
|
|
36042
36151
|
* @license lucide-react v0.507.0 - ISC
|
|
36043
36152
|
*
|
|
36044
36153
|
* This source code is licensed under the ISC license.
|
|
36045
36154
|
* See the LICENSE file in the root directory of this source tree.
|
|
36046
36155
|
*/
|
|
36047
|
-
const __iconNode$
|
|
36156
|
+
const __iconNode$R = [
|
|
36048
36157
|
[
|
|
36049
36158
|
"path",
|
|
36050
36159
|
{
|
|
@@ -36055,79 +36164,130 @@ const __iconNode$K = [
|
|
|
36055
36164
|
["path", { d: "M22 21H7", key: "t4ddhn" }],
|
|
36056
36165
|
["path", { d: "m5 11 9 9", key: "1mo9qw" }]
|
|
36057
36166
|
];
|
|
36058
|
-
const Eraser = createLucideIcon("eraser", __iconNode$
|
|
36167
|
+
const Eraser = createLucideIcon("eraser", __iconNode$R);
|
|
36059
36168
|
/**
|
|
36060
36169
|
* @license lucide-react v0.507.0 - ISC
|
|
36061
36170
|
*
|
|
36062
36171
|
* This source code is licensed under the ISC license.
|
|
36063
36172
|
* See the LICENSE file in the root directory of this source tree.
|
|
36064
36173
|
*/
|
|
36065
|
-
const __iconNode$
|
|
36174
|
+
const __iconNode$Q = [
|
|
36066
36175
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
36067
36176
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
36068
36177
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
36069
36178
|
];
|
|
36070
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode$
|
|
36179
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$Q);
|
|
36071
36180
|
/**
|
|
36072
36181
|
* @license lucide-react v0.507.0 - ISC
|
|
36073
36182
|
*
|
|
36074
36183
|
* This source code is licensed under the ISC license.
|
|
36075
36184
|
* See the LICENSE file in the root directory of this source tree.
|
|
36076
36185
|
*/
|
|
36077
|
-
const __iconNode$
|
|
36186
|
+
const __iconNode$P = [
|
|
36187
|
+
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36188
|
+
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36189
|
+
["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
|
|
36190
|
+
["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
|
|
36191
|
+
];
|
|
36192
|
+
const FileImage = createLucideIcon("file-image", __iconNode$P);
|
|
36193
|
+
/**
|
|
36194
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36195
|
+
*
|
|
36196
|
+
* This source code is licensed under the ISC license.
|
|
36197
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36198
|
+
*/
|
|
36199
|
+
const __iconNode$O = [
|
|
36078
36200
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36079
36201
|
["path", { d: "M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2", key: "1vk7w2" }],
|
|
36080
36202
|
["path", { d: "M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6", key: "1jink5" }],
|
|
36081
36203
|
["path", { d: "m5 11-3 3", key: "1dgrs4" }],
|
|
36082
36204
|
["path", { d: "m5 17-3-3h10", key: "1mvvaf" }]
|
|
36083
36205
|
];
|
|
36084
|
-
const FileOutput = createLucideIcon("file-output", __iconNode$
|
|
36206
|
+
const FileOutput = createLucideIcon("file-output", __iconNode$O);
|
|
36085
36207
|
/**
|
|
36086
36208
|
* @license lucide-react v0.507.0 - ISC
|
|
36087
36209
|
*
|
|
36088
36210
|
* This source code is licensed under the ISC license.
|
|
36089
36211
|
* See the LICENSE file in the root directory of this source tree.
|
|
36090
36212
|
*/
|
|
36091
|
-
const __iconNode$
|
|
36213
|
+
const __iconNode$N = [
|
|
36092
36214
|
["path", { d: "M12 17h.01", key: "p32p05" }],
|
|
36093
36215
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
|
|
36094
36216
|
["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }]
|
|
36095
36217
|
];
|
|
36096
|
-
const FileQuestion = createLucideIcon("file-question", __iconNode$
|
|
36218
|
+
const FileQuestion = createLucideIcon("file-question", __iconNode$N);
|
|
36097
36219
|
/**
|
|
36098
36220
|
* @license lucide-react v0.507.0 - ISC
|
|
36099
36221
|
*
|
|
36100
36222
|
* This source code is licensed under the ISC license.
|
|
36101
36223
|
* See the LICENSE file in the root directory of this source tree.
|
|
36102
36224
|
*/
|
|
36103
|
-
const __iconNode$
|
|
36225
|
+
const __iconNode$M = [
|
|
36226
|
+
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36227
|
+
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36228
|
+
["path", { d: "M8 13h2", key: "yr2amv" }],
|
|
36229
|
+
["path", { d: "M14 13h2", key: "un5t4a" }],
|
|
36230
|
+
["path", { d: "M8 17h2", key: "2yhykz" }],
|
|
36231
|
+
["path", { d: "M14 17h2", key: "10kma7" }]
|
|
36232
|
+
];
|
|
36233
|
+
const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$M);
|
|
36234
|
+
/**
|
|
36235
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36236
|
+
*
|
|
36237
|
+
* This source code is licensed under the ISC license.
|
|
36238
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36239
|
+
*/
|
|
36240
|
+
const __iconNode$L = [
|
|
36104
36241
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36105
36242
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36106
36243
|
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
36107
36244
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
36108
36245
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
36109
36246
|
];
|
|
36110
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
36247
|
+
const FileText = createLucideIcon("file-text", __iconNode$L);
|
|
36111
36248
|
/**
|
|
36112
36249
|
* @license lucide-react v0.507.0 - ISC
|
|
36113
36250
|
*
|
|
36114
36251
|
* This source code is licensed under the ISC license.
|
|
36115
36252
|
* See the LICENSE file in the root directory of this source tree.
|
|
36116
36253
|
*/
|
|
36117
|
-
const __iconNode$
|
|
36254
|
+
const __iconNode$K = [
|
|
36118
36255
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36119
36256
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36120
36257
|
["path", { d: "M12 12v6", key: "3ahymv" }],
|
|
36121
36258
|
["path", { d: "m15 15-3-3-3 3", key: "15xj92" }]
|
|
36122
36259
|
];
|
|
36123
|
-
const FileUp = createLucideIcon("file-up", __iconNode$
|
|
36260
|
+
const FileUp = createLucideIcon("file-up", __iconNode$K);
|
|
36124
36261
|
/**
|
|
36125
36262
|
* @license lucide-react v0.507.0 - ISC
|
|
36126
36263
|
*
|
|
36127
36264
|
* This source code is licensed under the ISC license.
|
|
36128
36265
|
* See the LICENSE file in the root directory of this source tree.
|
|
36129
36266
|
*/
|
|
36130
|
-
const __iconNode$
|
|
36267
|
+
const __iconNode$J = [
|
|
36268
|
+
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36269
|
+
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36270
|
+
["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
|
|
36271
|
+
];
|
|
36272
|
+
const FileVideo = createLucideIcon("file-video", __iconNode$J);
|
|
36273
|
+
/**
|
|
36274
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36275
|
+
*
|
|
36276
|
+
* This source code is licensed under the ISC license.
|
|
36277
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36278
|
+
*/
|
|
36279
|
+
const __iconNode$I = [
|
|
36280
|
+
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36281
|
+
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
|
|
36282
|
+
];
|
|
36283
|
+
const File$1 = createLucideIcon("file", __iconNode$I);
|
|
36284
|
+
/**
|
|
36285
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36286
|
+
*
|
|
36287
|
+
* This source code is licensed under the ISC license.
|
|
36288
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36289
|
+
*/
|
|
36290
|
+
const __iconNode$H = [
|
|
36131
36291
|
[
|
|
36132
36292
|
"path",
|
|
36133
36293
|
{
|
|
@@ -36138,14 +36298,30 @@ const __iconNode$E = [
|
|
|
36138
36298
|
["path", { d: "M6.453 15h11.094", key: "3shlmq" }],
|
|
36139
36299
|
["path", { d: "M8.5 2h7", key: "csnxdl" }]
|
|
36140
36300
|
];
|
|
36141
|
-
const FlaskConical = createLucideIcon("flask-conical", __iconNode$
|
|
36301
|
+
const FlaskConical = createLucideIcon("flask-conical", __iconNode$H);
|
|
36142
36302
|
/**
|
|
36143
36303
|
* @license lucide-react v0.507.0 - ISC
|
|
36144
36304
|
*
|
|
36145
36305
|
* This source code is licensed under the ISC license.
|
|
36146
36306
|
* See the LICENSE file in the root directory of this source tree.
|
|
36147
36307
|
*/
|
|
36148
|
-
const __iconNode$
|
|
36308
|
+
const __iconNode$G = [
|
|
36309
|
+
[
|
|
36310
|
+
"path",
|
|
36311
|
+
{
|
|
36312
|
+
d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
|
|
36313
|
+
key: "usdka0"
|
|
36314
|
+
}
|
|
36315
|
+
]
|
|
36316
|
+
];
|
|
36317
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$G);
|
|
36318
|
+
/**
|
|
36319
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36320
|
+
*
|
|
36321
|
+
* This source code is licensed under the ISC license.
|
|
36322
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36323
|
+
*/
|
|
36324
|
+
const __iconNode$F = [
|
|
36149
36325
|
[
|
|
36150
36326
|
"path",
|
|
36151
36327
|
{
|
|
@@ -36156,14 +36332,14 @@ const __iconNode$D = [
|
|
|
36156
36332
|
["path", { d: "M22 10v6", key: "1lu8f3" }],
|
|
36157
36333
|
["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
|
|
36158
36334
|
];
|
|
36159
|
-
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$
|
|
36335
|
+
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$F);
|
|
36160
36336
|
/**
|
|
36161
36337
|
* @license lucide-react v0.507.0 - ISC
|
|
36162
36338
|
*
|
|
36163
36339
|
* This source code is licensed under the ISC license.
|
|
36164
36340
|
* See the LICENSE file in the root directory of this source tree.
|
|
36165
36341
|
*/
|
|
36166
|
-
const __iconNode$
|
|
36342
|
+
const __iconNode$E = [
|
|
36167
36343
|
[
|
|
36168
36344
|
"path",
|
|
36169
36345
|
{
|
|
@@ -36173,14 +36349,14 @@ const __iconNode$C = [
|
|
|
36173
36349
|
],
|
|
36174
36350
|
["path", { d: "M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27", key: "1uw2ng" }]
|
|
36175
36351
|
];
|
|
36176
|
-
const HeartPulse = createLucideIcon("heart-pulse", __iconNode$
|
|
36352
|
+
const HeartPulse = createLucideIcon("heart-pulse", __iconNode$E);
|
|
36177
36353
|
/**
|
|
36178
36354
|
* @license lucide-react v0.507.0 - ISC
|
|
36179
36355
|
*
|
|
36180
36356
|
* This source code is licensed under the ISC license.
|
|
36181
36357
|
* See the LICENSE file in the root directory of this source tree.
|
|
36182
36358
|
*/
|
|
36183
|
-
const __iconNode$
|
|
36359
|
+
const __iconNode$D = [
|
|
36184
36360
|
[
|
|
36185
36361
|
"path",
|
|
36186
36362
|
{
|
|
@@ -36189,26 +36365,26 @@ const __iconNode$B = [
|
|
|
36189
36365
|
}
|
|
36190
36366
|
]
|
|
36191
36367
|
];
|
|
36192
|
-
const Heart = createLucideIcon("heart", __iconNode$
|
|
36368
|
+
const Heart = createLucideIcon("heart", __iconNode$D);
|
|
36193
36369
|
/**
|
|
36194
36370
|
* @license lucide-react v0.507.0 - ISC
|
|
36195
36371
|
*
|
|
36196
36372
|
* This source code is licensed under the ISC license.
|
|
36197
36373
|
* See the LICENSE file in the root directory of this source tree.
|
|
36198
36374
|
*/
|
|
36199
|
-
const __iconNode$
|
|
36375
|
+
const __iconNode$C = [
|
|
36200
36376
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
36201
36377
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
36202
36378
|
["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
|
|
36203
36379
|
];
|
|
36204
|
-
const History = createLucideIcon("history", __iconNode$
|
|
36380
|
+
const History = createLucideIcon("history", __iconNode$C);
|
|
36205
36381
|
/**
|
|
36206
36382
|
* @license lucide-react v0.507.0 - ISC
|
|
36207
36383
|
*
|
|
36208
36384
|
* This source code is licensed under the ISC license.
|
|
36209
36385
|
* See the LICENSE file in the root directory of this source tree.
|
|
36210
36386
|
*/
|
|
36211
|
-
const __iconNode$
|
|
36387
|
+
const __iconNode$B = [
|
|
36212
36388
|
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
36213
36389
|
["path", { d: "m8 11 4 4 4-4", key: "1dohi6" }],
|
|
36214
36390
|
[
|
|
@@ -36219,38 +36395,38 @@ const __iconNode$z = [
|
|
|
36219
36395
|
}
|
|
36220
36396
|
]
|
|
36221
36397
|
];
|
|
36222
|
-
const Import = createLucideIcon("import", __iconNode$
|
|
36398
|
+
const Import = createLucideIcon("import", __iconNode$B);
|
|
36223
36399
|
/**
|
|
36224
36400
|
* @license lucide-react v0.507.0 - ISC
|
|
36225
36401
|
*
|
|
36226
36402
|
* This source code is licensed under the ISC license.
|
|
36227
36403
|
* See the LICENSE file in the root directory of this source tree.
|
|
36228
36404
|
*/
|
|
36229
|
-
const __iconNode$
|
|
36405
|
+
const __iconNode$A = [
|
|
36230
36406
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36231
36407
|
["path", { d: "M12 16v-4", key: "1dtifu" }],
|
|
36232
36408
|
["path", { d: "M12 8h.01", key: "e9boi3" }]
|
|
36233
36409
|
];
|
|
36234
|
-
const Info$1 = createLucideIcon("info", __iconNode$
|
|
36410
|
+
const Info$1 = createLucideIcon("info", __iconNode$A);
|
|
36235
36411
|
/**
|
|
36236
36412
|
* @license lucide-react v0.507.0 - ISC
|
|
36237
36413
|
*
|
|
36238
36414
|
* This source code is licensed under the ISC license.
|
|
36239
36415
|
* See the LICENSE file in the root directory of this source tree.
|
|
36240
36416
|
*/
|
|
36241
|
-
const __iconNode$
|
|
36417
|
+
const __iconNode$z = [
|
|
36242
36418
|
["path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4", key: "g0fldk" }],
|
|
36243
36419
|
["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
|
|
36244
36420
|
["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
|
|
36245
36421
|
];
|
|
36246
|
-
const Key = createLucideIcon("key", __iconNode$
|
|
36422
|
+
const Key = createLucideIcon("key", __iconNode$z);
|
|
36247
36423
|
/**
|
|
36248
36424
|
* @license lucide-react v0.507.0 - ISC
|
|
36249
36425
|
*
|
|
36250
36426
|
* This source code is licensed under the ISC license.
|
|
36251
36427
|
* See the LICENSE file in the root directory of this source tree.
|
|
36252
36428
|
*/
|
|
36253
|
-
const __iconNode$
|
|
36429
|
+
const __iconNode$y = [
|
|
36254
36430
|
[
|
|
36255
36431
|
"path",
|
|
36256
36432
|
{
|
|
@@ -36273,14 +36449,14 @@ const __iconNode$w = [
|
|
|
36273
36449
|
}
|
|
36274
36450
|
]
|
|
36275
36451
|
];
|
|
36276
|
-
const Layers = createLucideIcon("layers", __iconNode$
|
|
36452
|
+
const Layers = createLucideIcon("layers", __iconNode$y);
|
|
36277
36453
|
/**
|
|
36278
36454
|
* @license lucide-react v0.507.0 - ISC
|
|
36279
36455
|
*
|
|
36280
36456
|
* This source code is licensed under the ISC license.
|
|
36281
36457
|
* See the LICENSE file in the root directory of this source tree.
|
|
36282
36458
|
*/
|
|
36283
|
-
const __iconNode$
|
|
36459
|
+
const __iconNode$x = [
|
|
36284
36460
|
[
|
|
36285
36461
|
"path",
|
|
36286
36462
|
{
|
|
@@ -36291,80 +36467,80 @@ const __iconNode$v = [
|
|
|
36291
36467
|
["path", { d: "M9 18h6", key: "x1upvd" }],
|
|
36292
36468
|
["path", { d: "M10 22h4", key: "ceow96" }]
|
|
36293
36469
|
];
|
|
36294
|
-
const Lightbulb = createLucideIcon("lightbulb", __iconNode$
|
|
36470
|
+
const Lightbulb = createLucideIcon("lightbulb", __iconNode$x);
|
|
36295
36471
|
/**
|
|
36296
36472
|
* @license lucide-react v0.507.0 - ISC
|
|
36297
36473
|
*
|
|
36298
36474
|
* This source code is licensed under the ISC license.
|
|
36299
36475
|
* See the LICENSE file in the root directory of this source tree.
|
|
36300
36476
|
*/
|
|
36301
|
-
const __iconNode$
|
|
36477
|
+
const __iconNode$w = [
|
|
36302
36478
|
["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }],
|
|
36303
36479
|
["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]
|
|
36304
36480
|
];
|
|
36305
|
-
const Link = createLucideIcon("link", __iconNode$
|
|
36481
|
+
const Link = createLucideIcon("link", __iconNode$w);
|
|
36306
36482
|
/**
|
|
36307
36483
|
* @license lucide-react v0.507.0 - ISC
|
|
36308
36484
|
*
|
|
36309
36485
|
* This source code is licensed under the ISC license.
|
|
36310
36486
|
* See the LICENSE file in the root directory of this source tree.
|
|
36311
36487
|
*/
|
|
36312
|
-
const __iconNode$
|
|
36488
|
+
const __iconNode$v = [
|
|
36313
36489
|
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
36314
36490
|
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
36315
36491
|
];
|
|
36316
|
-
const Mail = createLucideIcon("mail", __iconNode$
|
|
36492
|
+
const Mail = createLucideIcon("mail", __iconNode$v);
|
|
36317
36493
|
/**
|
|
36318
36494
|
* @license lucide-react v0.507.0 - ISC
|
|
36319
36495
|
*
|
|
36320
36496
|
* This source code is licensed under the ISC license.
|
|
36321
36497
|
* See the LICENSE file in the root directory of this source tree.
|
|
36322
36498
|
*/
|
|
36323
|
-
const __iconNode$
|
|
36499
|
+
const __iconNode$u = [
|
|
36324
36500
|
["polyline", { points: "15 3 21 3 21 9", key: "mznyad" }],
|
|
36325
36501
|
["polyline", { points: "9 21 3 21 3 15", key: "1avn1i" }],
|
|
36326
36502
|
["line", { x1: "21", x2: "14", y1: "3", y2: "10", key: "ota7mn" }],
|
|
36327
36503
|
["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }]
|
|
36328
36504
|
];
|
|
36329
|
-
const Maximize2 = createLucideIcon("maximize-2", __iconNode$
|
|
36505
|
+
const Maximize2 = createLucideIcon("maximize-2", __iconNode$u);
|
|
36330
36506
|
/**
|
|
36331
36507
|
* @license lucide-react v0.507.0 - ISC
|
|
36332
36508
|
*
|
|
36333
36509
|
* This source code is licensed under the ISC license.
|
|
36334
36510
|
* See the LICENSE file in the root directory of this source tree.
|
|
36335
36511
|
*/
|
|
36336
|
-
const __iconNode$
|
|
36512
|
+
const __iconNode$t = [
|
|
36337
36513
|
["path", { d: "m3 11 18-5v12L3 14v-3z", key: "n962bs" }],
|
|
36338
36514
|
["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }]
|
|
36339
36515
|
];
|
|
36340
|
-
const Megaphone = createLucideIcon("megaphone", __iconNode$
|
|
36516
|
+
const Megaphone = createLucideIcon("megaphone", __iconNode$t);
|
|
36341
36517
|
/**
|
|
36342
36518
|
* @license lucide-react v0.507.0 - ISC
|
|
36343
36519
|
*
|
|
36344
36520
|
* This source code is licensed under the ISC license.
|
|
36345
36521
|
* See the LICENSE file in the root directory of this source tree.
|
|
36346
36522
|
*/
|
|
36347
|
-
const __iconNode$
|
|
36523
|
+
const __iconNode$s = [
|
|
36348
36524
|
["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]
|
|
36349
36525
|
];
|
|
36350
|
-
const MessageCircle = createLucideIcon("message-circle", __iconNode$
|
|
36526
|
+
const MessageCircle = createLucideIcon("message-circle", __iconNode$s);
|
|
36351
36527
|
/**
|
|
36352
36528
|
* @license lucide-react v0.507.0 - ISC
|
|
36353
36529
|
*
|
|
36354
36530
|
* This source code is licensed under the ISC license.
|
|
36355
36531
|
* See the LICENSE file in the root directory of this source tree.
|
|
36356
36532
|
*/
|
|
36357
|
-
const __iconNode$
|
|
36533
|
+
const __iconNode$r = [
|
|
36358
36534
|
["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
|
|
36359
36535
|
];
|
|
36360
|
-
const MessageSquare = createLucideIcon("message-square", __iconNode$
|
|
36536
|
+
const MessageSquare = createLucideIcon("message-square", __iconNode$r);
|
|
36361
36537
|
/**
|
|
36362
36538
|
* @license lucide-react v0.507.0 - ISC
|
|
36363
36539
|
*
|
|
36364
36540
|
* This source code is licensed under the ISC license.
|
|
36365
36541
|
* See the LICENSE file in the root directory of this source tree.
|
|
36366
36542
|
*/
|
|
36367
|
-
const __iconNode$
|
|
36543
|
+
const __iconNode$q = [
|
|
36368
36544
|
["path", { d: "M12 2v20", key: "t6zp3m" }],
|
|
36369
36545
|
["path", { d: "m15 19-3 3-3-3", key: "11eu04" }],
|
|
36370
36546
|
["path", { d: "m19 9 3 3-3 3", key: "1mg7y2" }],
|
|
@@ -36372,14 +36548,14 @@ const __iconNode$o = [
|
|
|
36372
36548
|
["path", { d: "m5 9-3 3 3 3", key: "j64kie" }],
|
|
36373
36549
|
["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }]
|
|
36374
36550
|
];
|
|
36375
|
-
const Move = createLucideIcon("move", __iconNode$
|
|
36551
|
+
const Move = createLucideIcon("move", __iconNode$q);
|
|
36376
36552
|
/**
|
|
36377
36553
|
* @license lucide-react v0.507.0 - ISC
|
|
36378
36554
|
*
|
|
36379
36555
|
* This source code is licensed under the ISC license.
|
|
36380
36556
|
* See the LICENSE file in the root directory of this source tree.
|
|
36381
36557
|
*/
|
|
36382
|
-
const __iconNode$
|
|
36558
|
+
const __iconNode$p = [
|
|
36383
36559
|
["path", { d: "m14.622 17.897-10.68-2.913", key: "vj2p1u" }],
|
|
36384
36560
|
[
|
|
36385
36561
|
"path",
|
|
@@ -36396,14 +36572,14 @@ const __iconNode$n = [
|
|
|
36396
36572
|
}
|
|
36397
36573
|
]
|
|
36398
36574
|
];
|
|
36399
|
-
const Paintbrush = createLucideIcon("paintbrush", __iconNode$
|
|
36575
|
+
const Paintbrush = createLucideIcon("paintbrush", __iconNode$p);
|
|
36400
36576
|
/**
|
|
36401
36577
|
* @license lucide-react v0.507.0 - ISC
|
|
36402
36578
|
*
|
|
36403
36579
|
* This source code is licensed under the ISC license.
|
|
36404
36580
|
* See the LICENSE file in the root directory of this source tree.
|
|
36405
36581
|
*/
|
|
36406
|
-
const __iconNode$
|
|
36582
|
+
const __iconNode$o = [
|
|
36407
36583
|
["path", { d: "M12 20h9", key: "t2du7b" }],
|
|
36408
36584
|
[
|
|
36409
36585
|
"path",
|
|
@@ -36414,14 +36590,14 @@ const __iconNode$m = [
|
|
|
36414
36590
|
],
|
|
36415
36591
|
["path", { d: "m15 5 3 3", key: "1w25hb" }]
|
|
36416
36592
|
];
|
|
36417
|
-
const PencilLine = createLucideIcon("pencil-line", __iconNode$
|
|
36593
|
+
const PencilLine = createLucideIcon("pencil-line", __iconNode$o);
|
|
36418
36594
|
/**
|
|
36419
36595
|
* @license lucide-react v0.507.0 - ISC
|
|
36420
36596
|
*
|
|
36421
36597
|
* This source code is licensed under the ISC license.
|
|
36422
36598
|
* See the LICENSE file in the root directory of this source tree.
|
|
36423
36599
|
*/
|
|
36424
|
-
const __iconNode$
|
|
36600
|
+
const __iconNode$n = [
|
|
36425
36601
|
[
|
|
36426
36602
|
"path",
|
|
36427
36603
|
{
|
|
@@ -36431,25 +36607,37 @@ const __iconNode$l = [
|
|
|
36431
36607
|
],
|
|
36432
36608
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
36433
36609
|
];
|
|
36434
|
-
const Pencil = createLucideIcon("pencil", __iconNode$
|
|
36610
|
+
const Pencil = createLucideIcon("pencil", __iconNode$n);
|
|
36435
36611
|
/**
|
|
36436
36612
|
* @license lucide-react v0.507.0 - ISC
|
|
36437
36613
|
*
|
|
36438
36614
|
* This source code is licensed under the ISC license.
|
|
36439
36615
|
* See the LICENSE file in the root directory of this source tree.
|
|
36440
36616
|
*/
|
|
36441
|
-
const __iconNode$
|
|
36617
|
+
const __iconNode$m = [
|
|
36442
36618
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
36443
36619
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
36444
36620
|
];
|
|
36445
|
-
const Plus$1 = createLucideIcon("plus", __iconNode$
|
|
36621
|
+
const Plus$1 = createLucideIcon("plus", __iconNode$m);
|
|
36446
36622
|
/**
|
|
36447
36623
|
* @license lucide-react v0.507.0 - ISC
|
|
36448
36624
|
*
|
|
36449
36625
|
* This source code is licensed under the ISC license.
|
|
36450
36626
|
* See the LICENSE file in the root directory of this source tree.
|
|
36451
36627
|
*/
|
|
36452
|
-
const __iconNode$
|
|
36628
|
+
const __iconNode$l = [
|
|
36629
|
+
["path", { d: "M2 3h20", key: "91anmk" }],
|
|
36630
|
+
["path", { d: "M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3", key: "2k9sn8" }],
|
|
36631
|
+
["path", { d: "m7 21 5-5 5 5", key: "bip4we" }]
|
|
36632
|
+
];
|
|
36633
|
+
const Presentation = createLucideIcon("presentation", __iconNode$l);
|
|
36634
|
+
/**
|
|
36635
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36636
|
+
*
|
|
36637
|
+
* This source code is licensed under the ISC license.
|
|
36638
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36639
|
+
*/
|
|
36640
|
+
const __iconNode$k = [
|
|
36453
36641
|
[
|
|
36454
36642
|
"path",
|
|
36455
36643
|
{
|
|
@@ -36458,25 +36646,25 @@ const __iconNode$j = [
|
|
|
36458
36646
|
}
|
|
36459
36647
|
]
|
|
36460
36648
|
];
|
|
36461
|
-
const Puzzle = createLucideIcon("puzzle", __iconNode$
|
|
36649
|
+
const Puzzle = createLucideIcon("puzzle", __iconNode$k);
|
|
36462
36650
|
/**
|
|
36463
36651
|
* @license lucide-react v0.507.0 - ISC
|
|
36464
36652
|
*
|
|
36465
36653
|
* This source code is licensed under the ISC license.
|
|
36466
36654
|
* See the LICENSE file in the root directory of this source tree.
|
|
36467
36655
|
*/
|
|
36468
|
-
const __iconNode$
|
|
36656
|
+
const __iconNode$j = [
|
|
36469
36657
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
36470
36658
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
36471
36659
|
];
|
|
36472
|
-
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$
|
|
36660
|
+
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$j);
|
|
36473
36661
|
/**
|
|
36474
36662
|
* @license lucide-react v0.507.0 - ISC
|
|
36475
36663
|
*
|
|
36476
36664
|
* This source code is licensed under the ISC license.
|
|
36477
36665
|
* See the LICENSE file in the root directory of this source tree.
|
|
36478
36666
|
*/
|
|
36479
|
-
const __iconNode$
|
|
36667
|
+
const __iconNode$i = [
|
|
36480
36668
|
[
|
|
36481
36669
|
"path",
|
|
36482
36670
|
{
|
|
@@ -36487,21 +36675,40 @@ const __iconNode$h = [
|
|
|
36487
36675
|
["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }],
|
|
36488
36676
|
["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
|
|
36489
36677
|
];
|
|
36490
|
-
const Save = createLucideIcon("save", __iconNode$
|
|
36678
|
+
const Save = createLucideIcon("save", __iconNode$i);
|
|
36491
36679
|
/**
|
|
36492
36680
|
* @license lucide-react v0.507.0 - ISC
|
|
36493
36681
|
*
|
|
36494
36682
|
* This source code is licensed under the ISC license.
|
|
36495
36683
|
* See the LICENSE file in the root directory of this source tree.
|
|
36496
36684
|
*/
|
|
36497
|
-
const __iconNode$
|
|
36685
|
+
const __iconNode$h = [
|
|
36498
36686
|
["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
|
|
36499
36687
|
["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
|
|
36500
36688
|
["path", { d: "M7 21h10", key: "1b0cd5" }],
|
|
36501
36689
|
["path", { d: "M12 3v18", key: "108xh3" }],
|
|
36502
36690
|
["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
|
|
36503
36691
|
];
|
|
36504
|
-
const Scale = createLucideIcon("scale", __iconNode$
|
|
36692
|
+
const Scale = createLucideIcon("scale", __iconNode$h);
|
|
36693
|
+
/**
|
|
36694
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36695
|
+
*
|
|
36696
|
+
* This source code is licensed under the ISC license.
|
|
36697
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36698
|
+
*/
|
|
36699
|
+
const __iconNode$g = [
|
|
36700
|
+
["path", { d: "M15 12h-5", key: "r7krc0" }],
|
|
36701
|
+
["path", { d: "M15 8h-5", key: "1khuty" }],
|
|
36702
|
+
["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }],
|
|
36703
|
+
[
|
|
36704
|
+
"path",
|
|
36705
|
+
{
|
|
36706
|
+
d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",
|
|
36707
|
+
key: "1ph1d7"
|
|
36708
|
+
}
|
|
36709
|
+
]
|
|
36710
|
+
];
|
|
36711
|
+
const ScrollText = createLucideIcon("scroll-text", __iconNode$g);
|
|
36505
36712
|
/**
|
|
36506
36713
|
* @license lucide-react v0.507.0 - ISC
|
|
36507
36714
|
*
|
|
@@ -38335,7 +38542,8 @@ const convertToMessage = (record, conversationId) => {
|
|
|
38335
38542
|
file_path: record.file_path,
|
|
38336
38543
|
replacements: record.replacements,
|
|
38337
38544
|
agent: record.agent,
|
|
38338
|
-
learnings: record.learnings
|
|
38545
|
+
learnings: record.learnings,
|
|
38546
|
+
thinking: record.thinking
|
|
38339
38547
|
};
|
|
38340
38548
|
};
|
|
38341
38549
|
const useConversationMessages = (conversationId, pageSize2 = 20) => {
|
|
@@ -40510,6 +40718,7 @@ const useUpdateConfig = () => {
|
|
|
40510
40718
|
}
|
|
40511
40719
|
});
|
|
40512
40720
|
};
|
|
40721
|
+
let isAnyBackendAuthInProgress = false;
|
|
40513
40722
|
const radientClient = createRadientClient(
|
|
40514
40723
|
apiConfig.radientBaseUrl,
|
|
40515
40724
|
apiConfig.radientClientId
|
|
@@ -40530,6 +40739,13 @@ const useOidcAuth = (options) => {
|
|
|
40530
40739
|
const { mutateAsync: updateConfig } = useUpdateConfig();
|
|
40531
40740
|
const handleBackendAuth = reactExports.useCallback(
|
|
40532
40741
|
async (provider, idToken, googleAccessToken, googleTokenExpiry, googleRefreshToken) => {
|
|
40742
|
+
if (isAnyBackendAuthInProgress) {
|
|
40743
|
+
console.warn(
|
|
40744
|
+
"Backend authentication is already in progress globally. Skipping duplicate call."
|
|
40745
|
+
);
|
|
40746
|
+
return;
|
|
40747
|
+
}
|
|
40748
|
+
isAnyBackendAuthInProgress = true;
|
|
40533
40749
|
setError(null);
|
|
40534
40750
|
try {
|
|
40535
40751
|
if (provider === "google") {
|
|
@@ -40647,6 +40863,8 @@ const useOidcAuth = (options) => {
|
|
|
40647
40863
|
console.error("Error during backend authentication:", err);
|
|
40648
40864
|
setError(msg || "Authentication failed during backend processing.");
|
|
40649
40865
|
showErrorToast(msg || "Authentication failed");
|
|
40866
|
+
} finally {
|
|
40867
|
+
isAnyBackendAuthInProgress = false;
|
|
40650
40868
|
}
|
|
40651
40869
|
},
|
|
40652
40870
|
[queryClient2, updateConfig, onSuccess, onAfterCredentialUpdate]
|
|
@@ -40952,12 +41170,8 @@ const useScrollToBottom = (buttonThreshold = 50, externalContainerRef, contentKe
|
|
|
40952
41170
|
const distanceFromBottom = Math.abs(scrollTop);
|
|
40953
41171
|
const canScroll = scrollHeight > clientHeight;
|
|
40954
41172
|
const shouldShow = canScroll && distanceFromBottom > buttonThreshold;
|
|
40955
|
-
|
|
40956
|
-
|
|
40957
|
-
lastUpdateTimeRef.current = now2;
|
|
40958
|
-
setIsFarFromBottom(shouldShow);
|
|
40959
|
-
}
|
|
40960
|
-
}, [buttonThreshold, containerRef, isFarFromBottom]);
|
|
41173
|
+
setIsFarFromBottom(shouldShow);
|
|
41174
|
+
}, [buttonThreshold, containerRef]);
|
|
40961
41175
|
const scrollToBottom = reactExports.useCallback(() => {
|
|
40962
41176
|
const container = containerRef.current;
|
|
40963
41177
|
if (!container) return;
|
|
@@ -45607,38 +45821,66 @@ var libExports = requireLib();
|
|
|
45607
45821
|
const HTMLReactParser = /* @__PURE__ */ getDefaultExportFromCjs(libExports);
|
|
45608
45822
|
const parse$7 = HTMLReactParser.default || HTMLReactParser;
|
|
45609
45823
|
const UpdateContainer = styled$1("div")(({ theme: theme2 }) => ({
|
|
45610
|
-
padding:
|
|
45824
|
+
padding: theme2.spacing(2.5),
|
|
45611
45825
|
borderRadius: 8,
|
|
45612
45826
|
backgroundColor: theme2.palette.background.paper,
|
|
45613
|
-
|
|
45827
|
+
border: `1px solid ${theme2.palette.divider}`,
|
|
45828
|
+
boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
45614
45829
|
position: "fixed",
|
|
45615
|
-
top:
|
|
45616
|
-
right:
|
|
45830
|
+
top: theme2.spacing(2.5),
|
|
45831
|
+
right: theme2.spacing(2.5),
|
|
45617
45832
|
zIndex: 1300,
|
|
45618
|
-
|
|
45619
|
-
|
|
45620
|
-
|
|
45833
|
+
width: 400,
|
|
45834
|
+
maxWidth: "calc(100vw - 40px)",
|
|
45835
|
+
backgroundImage: "none",
|
|
45836
|
+
"& .update-title": {
|
|
45837
|
+
fontSize: "1.125rem",
|
|
45838
|
+
fontWeight: 600,
|
|
45839
|
+
lineHeight: 1.4,
|
|
45840
|
+
marginBottom: theme2.spacing(1.5),
|
|
45841
|
+
color: theme2.palette.text.primary
|
|
45842
|
+
},
|
|
45843
|
+
"& .update-description": {
|
|
45844
|
+
fontSize: "0.875rem",
|
|
45845
|
+
lineHeight: 1.5,
|
|
45846
|
+
color: theme2.palette.text.secondary,
|
|
45847
|
+
marginBottom: theme2.spacing(1)
|
|
45848
|
+
},
|
|
45849
|
+
"& .update-notes": {
|
|
45850
|
+
fontSize: "0.8125rem",
|
|
45851
|
+
lineHeight: 1.4,
|
|
45852
|
+
color: theme2.palette.text.secondary
|
|
45853
|
+
},
|
|
45621
45854
|
"& a": {
|
|
45622
45855
|
color: theme2.palette.primary.main,
|
|
45623
45856
|
textDecoration: "none",
|
|
45857
|
+
fontWeight: 500,
|
|
45624
45858
|
"&:hover": {
|
|
45625
45859
|
textDecoration: "underline"
|
|
45626
45860
|
}
|
|
45861
|
+
},
|
|
45862
|
+
[theme2.breakpoints.down("sm")]: {
|
|
45863
|
+
width: "calc(100vw - 32px)",
|
|
45864
|
+
left: theme2.spacing(2),
|
|
45865
|
+
right: theme2.spacing(2),
|
|
45866
|
+
top: theme2.spacing(2),
|
|
45867
|
+
padding: theme2.spacing(2)
|
|
45627
45868
|
}
|
|
45628
45869
|
}));
|
|
45629
|
-
const UpdateActions = styled$1("div")({
|
|
45870
|
+
const UpdateActions = styled$1("div")(({ theme: theme2 }) => ({
|
|
45630
45871
|
display: "flex",
|
|
45631
45872
|
justifyContent: "flex-end",
|
|
45632
|
-
gap:
|
|
45633
|
-
marginTop:
|
|
45634
|
-
});
|
|
45635
|
-
const ProgressContainer = styled$1("div")({
|
|
45636
|
-
marginTop:
|
|
45637
|
-
marginBottom:
|
|
45638
|
-
});
|
|
45873
|
+
gap: theme2.spacing(1.5),
|
|
45874
|
+
marginTop: theme2.spacing(3)
|
|
45875
|
+
}));
|
|
45876
|
+
const ProgressContainer = styled$1("div")(({ theme: theme2 }) => ({
|
|
45877
|
+
marginTop: theme2.spacing(2),
|
|
45878
|
+
marginBottom: theme2.spacing(1)
|
|
45879
|
+
}));
|
|
45639
45880
|
const UpdateNotification = ({
|
|
45640
45881
|
autoCheck = true
|
|
45641
45882
|
}) => {
|
|
45883
|
+
const theme2 = useTheme$2();
|
|
45642
45884
|
const [checking, setChecking] = reactExports.useState(false);
|
|
45643
45885
|
const [updatingBackend, setUpdatingBackend] = reactExports.useState(false);
|
|
45644
45886
|
const [updateAvailable, setUpdateAvailable] = reactExports.useState(false);
|
|
@@ -45818,10 +46060,25 @@ const UpdateNotification = ({
|
|
|
45818
46060
|
const handleSnackbarClose = () => {
|
|
45819
46061
|
setSnackbarOpen(false);
|
|
45820
46062
|
};
|
|
46063
|
+
const buttonSx = {
|
|
46064
|
+
textTransform: "none",
|
|
46065
|
+
fontSize: "0.8125rem",
|
|
46066
|
+
padding: theme2.spacing(0.5, 1.5),
|
|
46067
|
+
borderRadius: theme2.shape.borderRadius * 0.75
|
|
46068
|
+
};
|
|
46069
|
+
const secondaryButtonSx = {
|
|
46070
|
+
...buttonSx,
|
|
46071
|
+
borderColor: theme2.palette.divider,
|
|
46072
|
+
color: theme2.palette.text.secondary,
|
|
46073
|
+
"&:hover": {
|
|
46074
|
+
backgroundColor: theme2.palette.action.hover,
|
|
46075
|
+
borderColor: theme2.palette.divider
|
|
46076
|
+
}
|
|
46077
|
+
};
|
|
45821
46078
|
if (checking) {
|
|
45822
46079
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45823
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45824
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
46080
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-title", children: updatingBackend ? "Updating Server" : "Checking for Updates" }),
|
|
46081
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-description", children: updatingBackend ? "Please wait while the server is being updated. The server will temporarily go offline while it restarts to apply the update." : "Please wait while we check for available updates..." }),
|
|
45825
46082
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ProgressContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(LinearProgress, {}) })
|
|
45826
46083
|
] });
|
|
45827
46084
|
}
|
|
@@ -45840,15 +46097,15 @@ const UpdateNotification = ({
|
|
|
45840
46097
|
if (updateAvailable && !updateDownloaded && updateInfo) {
|
|
45841
46098
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45842
46099
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45843
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45844
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46100
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-title", children: "Update Available" }),
|
|
46101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-description", children: [
|
|
45845
46102
|
"Version ",
|
|
45846
46103
|
updateInfo.version,
|
|
45847
46104
|
" is available. You are currently using version ",
|
|
45848
46105
|
appVersion,
|
|
45849
46106
|
"."
|
|
45850
46107
|
] }),
|
|
45851
|
-
updateInfo.releaseNotes && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46108
|
+
updateInfo.releaseNotes && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-notes", sx: { mt: 1 }, children: [
|
|
45852
46109
|
"Release Notes:",
|
|
45853
46110
|
" ",
|
|
45854
46111
|
typeof updateInfo.releaseNotes === "string" ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
@@ -45874,7 +46131,7 @@ const UpdateNotification = ({
|
|
|
45874
46131
|
)
|
|
45875
46132
|
] }),
|
|
45876
46133
|
downloading && downloadProgress && /* @__PURE__ */ jsxRuntimeExports.jsxs(ProgressContainer, { children: [
|
|
45877
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { variant: "body2", children: [
|
|
46134
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { variant: "body2", sx: { fontSize: "0.8125rem" }, children: [
|
|
45878
46135
|
"Downloading: ",
|
|
45879
46136
|
Math.round(downloadProgress.percent),
|
|
45880
46137
|
"%"
|
|
@@ -45887,22 +46144,30 @@ const UpdateNotification = ({
|
|
|
45887
46144
|
sx: { mt: 1 }
|
|
45888
46145
|
}
|
|
45889
46146
|
),
|
|
45890
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
45891
|
-
|
|
45892
|
-
|
|
45893
|
-
|
|
45894
|
-
|
|
45895
|
-
|
|
45896
|
-
|
|
46147
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
46148
|
+
Typography,
|
|
46149
|
+
{
|
|
46150
|
+
variant: "caption",
|
|
46151
|
+
sx: { mt: 0.5, display: "block", fontSize: "0.75rem" },
|
|
46152
|
+
children: [
|
|
46153
|
+
Math.round(downloadProgress.transferred / 1024),
|
|
46154
|
+
" KB of",
|
|
46155
|
+
" ",
|
|
46156
|
+
Math.round(downloadProgress.total / 1024),
|
|
46157
|
+
" KB"
|
|
46158
|
+
]
|
|
46159
|
+
}
|
|
46160
|
+
)
|
|
45897
46161
|
] }),
|
|
45898
46162
|
/* @__PURE__ */ jsxRuntimeExports.jsx(UpdateActions, { children: !downloading && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45899
46163
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45900
46164
|
Button,
|
|
45901
46165
|
{
|
|
45902
46166
|
variant: "contained",
|
|
45903
|
-
|
|
46167
|
+
size: "small",
|
|
45904
46168
|
onClick: downloadUpdate,
|
|
45905
46169
|
disabled: downloading,
|
|
46170
|
+
sx: buttonSx,
|
|
45906
46171
|
children: "Download Update"
|
|
45907
46172
|
}
|
|
45908
46173
|
),
|
|
@@ -45910,8 +46175,10 @@ const UpdateNotification = ({
|
|
|
45910
46175
|
Button,
|
|
45911
46176
|
{
|
|
45912
46177
|
variant: "outlined",
|
|
46178
|
+
size: "small",
|
|
45913
46179
|
onClick: handleDeferUpdate,
|
|
45914
46180
|
disabled: downloading,
|
|
46181
|
+
sx: secondaryButtonSx,
|
|
45915
46182
|
children: "Update Later"
|
|
45916
46183
|
}
|
|
45917
46184
|
)
|
|
@@ -45935,18 +46202,36 @@ const UpdateNotification = ({
|
|
|
45935
46202
|
if (updateDownloaded && updateInfo) {
|
|
45936
46203
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45937
46204
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45938
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45939
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46205
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-title", children: "Update Ready to Install" }),
|
|
46206
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-description", children: [
|
|
45940
46207
|
"Version ",
|
|
45941
46208
|
updateInfo.version,
|
|
45942
46209
|
" is available. You are currently using version ",
|
|
45943
46210
|
appVersion,
|
|
45944
46211
|
"."
|
|
45945
46212
|
] }),
|
|
45946
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
46213
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-notes", sx: { mt: 1 }, children: "The application will restart to apply the update." }),
|
|
45947
46214
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateActions, { children: [
|
|
45948
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45949
|
-
|
|
46215
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46216
|
+
Button,
|
|
46217
|
+
{
|
|
46218
|
+
variant: "contained",
|
|
46219
|
+
size: "small",
|
|
46220
|
+
onClick: installUpdate,
|
|
46221
|
+
sx: buttonSx,
|
|
46222
|
+
children: "Install Now"
|
|
46223
|
+
}
|
|
46224
|
+
),
|
|
46225
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46226
|
+
Button,
|
|
46227
|
+
{
|
|
46228
|
+
variant: "outlined",
|
|
46229
|
+
size: "small",
|
|
46230
|
+
onClick: handleDeferUpdate,
|
|
46231
|
+
sx: secondaryButtonSx,
|
|
46232
|
+
children: "Update Later"
|
|
46233
|
+
}
|
|
46234
|
+
)
|
|
45950
46235
|
] })
|
|
45951
46236
|
] }),
|
|
45952
46237
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -45964,23 +46249,24 @@ const UpdateNotification = ({
|
|
|
45964
46249
|
if (backendUpdateAvailable && backendUpdateInfo) {
|
|
45965
46250
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45966
46251
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45967
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45968
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46252
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-title", children: "Server Update Available" }),
|
|
46253
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-description", children: [
|
|
45969
46254
|
"Server version ",
|
|
45970
46255
|
backendUpdateInfo.latestVersion,
|
|
45971
46256
|
" is available. You are currently using version ",
|
|
45972
46257
|
backendUpdateInfo.currentVersion,
|
|
45973
46258
|
"."
|
|
45974
46259
|
] }),
|
|
45975
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
46260
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-notes", sx: { mt: 1 }, children: "Updating the server will improve AI functionality, improve security, and fix bugs." }),
|
|
45976
46261
|
backendUpdateInfo.canManageUpdate ? /* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateActions, { children: [
|
|
45977
46262
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45978
46263
|
Button,
|
|
45979
46264
|
{
|
|
45980
46265
|
variant: "contained",
|
|
45981
|
-
|
|
46266
|
+
size: "small",
|
|
45982
46267
|
onClick: updateBackend,
|
|
45983
46268
|
disabled: checking,
|
|
46269
|
+
sx: buttonSx,
|
|
45984
46270
|
children: checking ? "Updating..." : "Update Server"
|
|
45985
46271
|
}
|
|
45986
46272
|
),
|
|
@@ -45988,13 +46274,22 @@ const UpdateNotification = ({
|
|
|
45988
46274
|
Button,
|
|
45989
46275
|
{
|
|
45990
46276
|
variant: "outlined",
|
|
46277
|
+
size: "small",
|
|
45991
46278
|
onClick: handleDeferBackendUpdate,
|
|
45992
46279
|
disabled: checking,
|
|
46280
|
+
sx: secondaryButtonSx,
|
|
45993
46281
|
children: "Update Later"
|
|
45994
46282
|
}
|
|
45995
46283
|
)
|
|
45996
46284
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45997
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46285
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46286
|
+
Typography,
|
|
46287
|
+
{
|
|
46288
|
+
variant: "body2",
|
|
46289
|
+
sx: { mt: 2, color: "warning.main", fontSize: "0.8125rem" },
|
|
46290
|
+
children: "The backend server is running externally and cannot be updated automatically. Please update it manually using the following command:"
|
|
46291
|
+
}
|
|
46292
|
+
),
|
|
45998
46293
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45999
46294
|
Typography,
|
|
46000
46295
|
{
|
|
@@ -46004,7 +46299,8 @@ const UpdateNotification = ({
|
|
|
46004
46299
|
p: 1,
|
|
46005
46300
|
backgroundColor: "background.default",
|
|
46006
46301
|
borderRadius: 1,
|
|
46007
|
-
fontFamily: "monospace"
|
|
46302
|
+
fontFamily: "monospace",
|
|
46303
|
+
fontSize: "0.8125rem"
|
|
46008
46304
|
},
|
|
46009
46305
|
children: backendUpdateInfo.updateCommand
|
|
46010
46306
|
}
|
|
@@ -46013,8 +46309,10 @@ const UpdateNotification = ({
|
|
|
46013
46309
|
Button,
|
|
46014
46310
|
{
|
|
46015
46311
|
variant: "outlined",
|
|
46312
|
+
size: "small",
|
|
46016
46313
|
onClick: handleDeferBackendUpdate,
|
|
46017
46314
|
disabled: checking,
|
|
46315
|
+
sx: secondaryButtonSx,
|
|
46018
46316
|
children: "Dismiss"
|
|
46019
46317
|
}
|
|
46020
46318
|
) })
|
|
@@ -46050,7 +46348,7 @@ const UpdateNotification = ({
|
|
|
46050
46348
|
severity: "warning",
|
|
46051
46349
|
sx: { width: "100%" },
|
|
46052
46350
|
children: [
|
|
46053
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", children: manualUpdateInfo.message }),
|
|
46351
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", sx: { fontSize: "0.8125rem" }, children: manualUpdateInfo.message }),
|
|
46054
46352
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46055
46353
|
Typography,
|
|
46056
46354
|
{
|
|
@@ -46060,7 +46358,8 @@ const UpdateNotification = ({
|
|
|
46060
46358
|
p: 1,
|
|
46061
46359
|
backgroundColor: "background.default",
|
|
46062
46360
|
borderRadius: 1,
|
|
46063
|
-
fontFamily: "monospace"
|
|
46361
|
+
fontFamily: "monospace",
|
|
46362
|
+
fontSize: "0.8125rem"
|
|
46064
46363
|
},
|
|
46065
46364
|
children: manualUpdateInfo.command
|
|
46066
46365
|
}
|
|
@@ -54100,7 +54399,7 @@ const CountDisplay = styled$1("span")(({ theme: theme2 }) => ({
|
|
|
54100
54399
|
minWidth: "20px",
|
|
54101
54400
|
height: "1em"
|
|
54102
54401
|
}));
|
|
54103
|
-
const StyledCard$
|
|
54402
|
+
const StyledCard$2 = styled$1(Card)(({ theme: theme2 }) => ({
|
|
54104
54403
|
display: "flex",
|
|
54105
54404
|
flexDirection: "column",
|
|
54106
54405
|
height: 410,
|
|
@@ -54234,7 +54533,7 @@ const AgentCard = ({
|
|
|
54234
54533
|
const likeTooltip = isAuthenticated ? isLiked ? "Unlike agent" : "Like agent" : "Log in to Radient to like agents";
|
|
54235
54534
|
const favouriteTooltip = isAuthenticated ? isFavourited ? "Unfavourite agent" : "Favourite agent" : "Log in to Radient to favourite agents";
|
|
54236
54535
|
const downloadTooltip = "Download agent to your computer";
|
|
54237
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledCard$
|
|
54536
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledCard$2, { onClick: handleCardClick, children: [
|
|
54238
54537
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
54239
54538
|
Box,
|
|
54240
54539
|
{
|
|
@@ -54791,7 +55090,7 @@ const SectionTitle$6 = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
|
54791
55090
|
alignItems: "center",
|
|
54792
55091
|
color: theme2.palette.text.primary
|
|
54793
55092
|
}));
|
|
54794
|
-
const TitleIcon$
|
|
55093
|
+
const TitleIcon$3 = styled$1(FontAwesomeIcon)(({ theme: theme2 }) => ({
|
|
54795
55094
|
marginRight: 10,
|
|
54796
55095
|
color: theme2.palette.primary.main,
|
|
54797
55096
|
padding: theme2.spacing(0.5),
|
|
@@ -54915,25 +55214,30 @@ const UnsetSliderSetting = ({
|
|
|
54915
55214
|
};
|
|
54916
55215
|
const SectionTitle$5 = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
54917
55216
|
fontWeight: 600,
|
|
54918
|
-
marginBottom
|
|
55217
|
+
// Adjusted marginBottom for better spacing with collapsible content
|
|
55218
|
+
marginBottom: theme2.spacing(1),
|
|
54919
55219
|
display: "flex",
|
|
54920
55220
|
alignItems: "center",
|
|
54921
|
-
color: theme2.palette.text.primary
|
|
55221
|
+
color: theme2.palette.text.primary,
|
|
55222
|
+
padding: theme2.spacing(1, 0)
|
|
55223
|
+
// Add some vertical padding for better clickability
|
|
54922
55224
|
}));
|
|
54923
|
-
const
|
|
54924
|
-
marginRight:
|
|
54925
|
-
|
|
54926
|
-
|
|
54927
|
-
|
|
54928
|
-
|
|
54929
|
-
|
|
54930
|
-
|
|
55225
|
+
const TitleIconContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
55226
|
+
marginRight: theme2.spacing(1.5),
|
|
55227
|
+
// Standard spacing
|
|
55228
|
+
display: "flex",
|
|
55229
|
+
alignItems: "center",
|
|
55230
|
+
justifyContent: "center",
|
|
55231
|
+
color: theme2.palette.primary.main
|
|
55232
|
+
// Removed padding, border-radius, and background for a cleaner Lucide icon look
|
|
54931
55233
|
}));
|
|
54932
55234
|
const InfoButton$2 = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
54933
55235
|
marginLeft: theme2.spacing(1),
|
|
54934
|
-
color: theme2.palette.
|
|
55236
|
+
color: theme2.palette.text.secondary,
|
|
55237
|
+
// Adjusted for a more subtle look
|
|
54935
55238
|
"&:hover": {
|
|
54936
|
-
backgroundColor: alpha$1(theme2.palette.
|
|
55239
|
+
backgroundColor: alpha$1(theme2.palette.action.hover, 0.08)
|
|
55240
|
+
// Consistent hover
|
|
54937
55241
|
}
|
|
54938
55242
|
}));
|
|
54939
55243
|
const StyledButton$1 = styled$1(Button)(({ theme: theme2 }) => ({
|
|
@@ -54967,501 +55271,532 @@ const ChatSettings = ({
|
|
|
54967
55271
|
reactExports.useEffect(() => {
|
|
54968
55272
|
setLocalAgent(selectedAgent);
|
|
54969
55273
|
}, [selectedAgent]);
|
|
55274
|
+
const [isExpanded, setIsExpanded] = reactExports.useState(false);
|
|
54970
55275
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { mt: 2, mb: 1 }, children: [
|
|
54971
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
54972
|
-
|
|
54973
|
-
"Chat Settings",
|
|
54974
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54975
|
-
Tooltip$1,
|
|
54976
|
-
{
|
|
54977
|
-
title: "Settings that control how the agent generates responses",
|
|
54978
|
-
arrow: true,
|
|
54979
|
-
placement: "top",
|
|
54980
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton$2, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
54981
|
-
}
|
|
54982
|
-
)
|
|
54983
|
-
] }),
|
|
54984
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mb: 2 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mb: 2 }, children: "You can set custom values for these settings by updating the options below. If not set, default values will be used that are optimized based on user testing." }) }),
|
|
54985
|
-
localAgent.temperature === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54986
|
-
UnsetSliderSetting,
|
|
54987
|
-
{
|
|
54988
|
-
label: "Temperature",
|
|
54989
|
-
description: "Controls randomness in responses (0.0-1.0). Higher values make output more random.",
|
|
54990
|
-
defaultValue: 0.2,
|
|
54991
|
-
onSetValue: async (value) => {
|
|
54992
|
-
setSavingField("temperature");
|
|
54993
|
-
try {
|
|
54994
|
-
const update = { temperature: value };
|
|
54995
|
-
await updateAgentMutation.mutateAsync({
|
|
54996
|
-
agentId: selectedAgent.id,
|
|
54997
|
-
update
|
|
54998
|
-
});
|
|
54999
|
-
setLocalAgent((prev2) => ({
|
|
55000
|
-
...prev2,
|
|
55001
|
-
temperature: value
|
|
55002
|
-
}));
|
|
55003
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55004
|
-
await refetchAgent();
|
|
55005
|
-
}
|
|
55006
|
-
} catch (_error) {
|
|
55007
|
-
} finally {
|
|
55008
|
-
setSavingField(null);
|
|
55009
|
-
}
|
|
55010
|
-
}
|
|
55011
|
-
}
|
|
55012
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55013
|
-
SliderSetting,
|
|
55276
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55277
|
+
SectionTitle$5,
|
|
55014
55278
|
{
|
|
55015
|
-
|
|
55016
|
-
|
|
55017
|
-
|
|
55018
|
-
|
|
55019
|
-
|
|
55020
|
-
|
|
55021
|
-
|
|
55022
|
-
|
|
55023
|
-
|
|
55024
|
-
|
|
55025
|
-
|
|
55026
|
-
|
|
55027
|
-
|
|
55028
|
-
update
|
|
55029
|
-
});
|
|
55030
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55031
|
-
await refetchAgent();
|
|
55279
|
+
variant: "subtitle1",
|
|
55280
|
+
onClick: () => setIsExpanded(!isExpanded),
|
|
55281
|
+
sx: { cursor: "pointer" },
|
|
55282
|
+
children: [
|
|
55283
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIconContainer, { children: isExpanded ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { size: 20 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { size: 20 }) }),
|
|
55284
|
+
"Advanced Chat Settings",
|
|
55285
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55286
|
+
Tooltip$1,
|
|
55287
|
+
{
|
|
55288
|
+
title: "Advanced settings to change how the agent generates responses",
|
|
55289
|
+
arrow: true,
|
|
55290
|
+
placement: "top",
|
|
55291
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton$2, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
55032
55292
|
}
|
|
55033
|
-
|
|
55034
|
-
|
|
55035
|
-
setSavingField(null);
|
|
55036
|
-
}
|
|
55037
|
-
}
|
|
55293
|
+
)
|
|
55294
|
+
]
|
|
55038
55295
|
}
|
|
55039
55296
|
),
|
|
55040
|
-
|
|
55041
|
-
|
|
55297
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Collapse, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55298
|
+
Box,
|
|
55042
55299
|
{
|
|
55043
|
-
|
|
55044
|
-
|
|
55045
|
-
|
|
55046
|
-
|
|
55047
|
-
|
|
55048
|
-
|
|
55049
|
-
|
|
55050
|
-
|
|
55051
|
-
|
|
55052
|
-
|
|
55053
|
-
|
|
55054
|
-
|
|
55055
|
-
|
|
55056
|
-
|
|
55057
|
-
|
|
55058
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55059
|
-
await refetchAgent();
|
|
55300
|
+
sx: {
|
|
55301
|
+
pt: 1,
|
|
55302
|
+
pb: 2,
|
|
55303
|
+
pl: (theme2) => theme2.spacing(
|
|
55304
|
+
1.5 + 1.5 + 0.5
|
|
55305
|
+
)
|
|
55306
|
+
},
|
|
55307
|
+
children: [
|
|
55308
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55309
|
+
Typography,
|
|
55310
|
+
{
|
|
55311
|
+
variant: "caption",
|
|
55312
|
+
color: "text.secondary",
|
|
55313
|
+
sx: { mb: 2, display: "block" },
|
|
55314
|
+
children: "You can set custom values for these settings by updating the options below. If not set, default values will be used that are optimized based on user testing."
|
|
55060
55315
|
}
|
|
55061
|
-
|
|
55062
|
-
|
|
55063
|
-
|
|
55064
|
-
|
|
55065
|
-
|
|
55066
|
-
|
|
55067
|
-
|
|
55068
|
-
|
|
55069
|
-
|
|
55070
|
-
|
|
55071
|
-
|
|
55072
|
-
|
|
55073
|
-
|
|
55074
|
-
|
|
55075
|
-
|
|
55076
|
-
|
|
55077
|
-
|
|
55078
|
-
|
|
55079
|
-
|
|
55080
|
-
|
|
55081
|
-
|
|
55082
|
-
|
|
55083
|
-
|
|
55084
|
-
|
|
55085
|
-
|
|
55086
|
-
|
|
55316
|
+
),
|
|
55317
|
+
localAgent.temperature === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55318
|
+
UnsetSliderSetting,
|
|
55319
|
+
{
|
|
55320
|
+
label: "Temperature",
|
|
55321
|
+
description: "Controls randomness in responses (0.0-1.0). Higher values make output more random.",
|
|
55322
|
+
defaultValue: 0.2,
|
|
55323
|
+
onSetValue: async (value) => {
|
|
55324
|
+
setSavingField("temperature");
|
|
55325
|
+
try {
|
|
55326
|
+
const update = { temperature: value };
|
|
55327
|
+
await updateAgentMutation.mutateAsync({
|
|
55328
|
+
agentId: selectedAgent.id,
|
|
55329
|
+
update
|
|
55330
|
+
});
|
|
55331
|
+
setLocalAgent((prev2) => ({
|
|
55332
|
+
...prev2,
|
|
55333
|
+
temperature: value
|
|
55334
|
+
}));
|
|
55335
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55336
|
+
await refetchAgent();
|
|
55337
|
+
}
|
|
55338
|
+
} catch (_error) {
|
|
55339
|
+
} finally {
|
|
55340
|
+
setSavingField(null);
|
|
55341
|
+
}
|
|
55342
|
+
}
|
|
55087
55343
|
}
|
|
55088
|
-
|
|
55089
|
-
|
|
55090
|
-
|
|
55091
|
-
|
|
55092
|
-
|
|
55093
|
-
|
|
55094
|
-
|
|
55095
|
-
|
|
55096
|
-
|
|
55097
|
-
|
|
55098
|
-
|
|
55099
|
-
|
|
55100
|
-
|
|
55101
|
-
|
|
55102
|
-
|
|
55103
|
-
|
|
55104
|
-
|
|
55105
|
-
|
|
55106
|
-
|
|
55107
|
-
|
|
55108
|
-
|
|
55109
|
-
|
|
55110
|
-
|
|
55111
|
-
|
|
55112
|
-
|
|
55113
|
-
|
|
55114
|
-
await refetchAgent();
|
|
55344
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55345
|
+
SliderSetting,
|
|
55346
|
+
{
|
|
55347
|
+
value: localAgent.temperature ?? 0.2,
|
|
55348
|
+
label: "Temperature",
|
|
55349
|
+
description: "Controls randomness in responses (0.0-1.0). Higher values make output more random.",
|
|
55350
|
+
min: 0,
|
|
55351
|
+
max: 1,
|
|
55352
|
+
step: 0.01,
|
|
55353
|
+
isSaving: savingField === "temperature",
|
|
55354
|
+
onChange: async (value) => {
|
|
55355
|
+
setSavingField("temperature");
|
|
55356
|
+
try {
|
|
55357
|
+
const update = { temperature: value };
|
|
55358
|
+
await updateAgentMutation.mutateAsync({
|
|
55359
|
+
agentId: selectedAgent.id,
|
|
55360
|
+
update
|
|
55361
|
+
});
|
|
55362
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55363
|
+
await refetchAgent();
|
|
55364
|
+
}
|
|
55365
|
+
} catch (_error) {
|
|
55366
|
+
} finally {
|
|
55367
|
+
setSavingField(null);
|
|
55368
|
+
}
|
|
55369
|
+
}
|
|
55115
55370
|
}
|
|
55116
|
-
|
|
55117
|
-
|
|
55118
|
-
|
|
55119
|
-
|
|
55120
|
-
|
|
55121
|
-
|
|
55122
|
-
|
|
55123
|
-
|
|
55124
|
-
|
|
55125
|
-
|
|
55126
|
-
|
|
55127
|
-
|
|
55128
|
-
|
|
55129
|
-
|
|
55130
|
-
|
|
55131
|
-
|
|
55132
|
-
|
|
55133
|
-
|
|
55134
|
-
|
|
55135
|
-
|
|
55136
|
-
|
|
55137
|
-
|
|
55138
|
-
|
|
55139
|
-
|
|
55140
|
-
|
|
55141
|
-
|
|
55371
|
+
),
|
|
55372
|
+
localAgent.top_p === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55373
|
+
UnsetSliderSetting,
|
|
55374
|
+
{
|
|
55375
|
+
label: "Top P",
|
|
55376
|
+
description: "Controls cumulative probability of tokens to sample from (0.0-1.0).",
|
|
55377
|
+
defaultValue: 0.9,
|
|
55378
|
+
onSetValue: async (value) => {
|
|
55379
|
+
setSavingField("top_p");
|
|
55380
|
+
try {
|
|
55381
|
+
const update = { top_p: value };
|
|
55382
|
+
await updateAgentMutation.mutateAsync({
|
|
55383
|
+
agentId: selectedAgent.id,
|
|
55384
|
+
update
|
|
55385
|
+
});
|
|
55386
|
+
setLocalAgent((prev2) => ({
|
|
55387
|
+
...prev2,
|
|
55388
|
+
top_p: value
|
|
55389
|
+
}));
|
|
55390
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55391
|
+
await refetchAgent();
|
|
55392
|
+
}
|
|
55393
|
+
} catch (_error) {
|
|
55394
|
+
} finally {
|
|
55395
|
+
setSavingField(null);
|
|
55396
|
+
}
|
|
55397
|
+
}
|
|
55142
55398
|
}
|
|
55143
|
-
|
|
55144
|
-
|
|
55145
|
-
|
|
55146
|
-
|
|
55147
|
-
|
|
55148
|
-
|
|
55149
|
-
|
|
55150
|
-
|
|
55151
|
-
|
|
55152
|
-
|
|
55153
|
-
|
|
55154
|
-
|
|
55155
|
-
|
|
55156
|
-
|
|
55157
|
-
|
|
55158
|
-
|
|
55159
|
-
|
|
55160
|
-
|
|
55161
|
-
|
|
55162
|
-
|
|
55163
|
-
|
|
55164
|
-
|
|
55165
|
-
|
|
55166
|
-
|
|
55167
|
-
|
|
55168
|
-
|
|
55169
|
-
await refetchAgent();
|
|
55399
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55400
|
+
SliderSetting,
|
|
55401
|
+
{
|
|
55402
|
+
value: localAgent.top_p ?? 0.9,
|
|
55403
|
+
label: "Top P",
|
|
55404
|
+
description: "Controls cumulative probability of tokens to sample from (0.0-1.0).",
|
|
55405
|
+
min: 0,
|
|
55406
|
+
max: 1,
|
|
55407
|
+
step: 0.01,
|
|
55408
|
+
isSaving: savingField === "top_p",
|
|
55409
|
+
onChange: async (value) => {
|
|
55410
|
+
setSavingField("top_p");
|
|
55411
|
+
try {
|
|
55412
|
+
const update = { top_p: value };
|
|
55413
|
+
await updateAgentMutation.mutateAsync({
|
|
55414
|
+
agentId: selectedAgent.id,
|
|
55415
|
+
update
|
|
55416
|
+
});
|
|
55417
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55418
|
+
await refetchAgent();
|
|
55419
|
+
}
|
|
55420
|
+
} catch (_error) {
|
|
55421
|
+
} finally {
|
|
55422
|
+
setSavingField(null);
|
|
55423
|
+
}
|
|
55424
|
+
}
|
|
55170
55425
|
}
|
|
55171
|
-
|
|
55172
|
-
|
|
55173
|
-
|
|
55174
|
-
|
|
55175
|
-
|
|
55176
|
-
|
|
55177
|
-
|
|
55178
|
-
|
|
55179
|
-
|
|
55180
|
-
|
|
55181
|
-
|
|
55182
|
-
|
|
55183
|
-
|
|
55184
|
-
|
|
55185
|
-
|
|
55186
|
-
|
|
55187
|
-
|
|
55188
|
-
|
|
55189
|
-
|
|
55190
|
-
|
|
55191
|
-
|
|
55192
|
-
|
|
55193
|
-
|
|
55194
|
-
|
|
55195
|
-
|
|
55196
|
-
|
|
55426
|
+
),
|
|
55427
|
+
localAgent.top_k === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55428
|
+
UnsetSliderSetting,
|
|
55429
|
+
{
|
|
55430
|
+
label: "Top K",
|
|
55431
|
+
description: "Limits tokens to sample from at each step.",
|
|
55432
|
+
defaultValue: 40,
|
|
55433
|
+
onSetValue: async (value) => {
|
|
55434
|
+
setSavingField("top_k");
|
|
55435
|
+
try {
|
|
55436
|
+
const update = { top_k: value };
|
|
55437
|
+
await updateAgentMutation.mutateAsync({
|
|
55438
|
+
agentId: selectedAgent.id,
|
|
55439
|
+
update
|
|
55440
|
+
});
|
|
55441
|
+
setLocalAgent((prev2) => ({
|
|
55442
|
+
...prev2,
|
|
55443
|
+
top_k: value
|
|
55444
|
+
}));
|
|
55445
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55446
|
+
await refetchAgent();
|
|
55447
|
+
}
|
|
55448
|
+
} catch (_error) {
|
|
55449
|
+
} finally {
|
|
55450
|
+
setSavingField(null);
|
|
55451
|
+
}
|
|
55452
|
+
}
|
|
55197
55453
|
}
|
|
55198
|
-
|
|
55199
|
-
|
|
55200
|
-
|
|
55201
|
-
|
|
55202
|
-
|
|
55203
|
-
|
|
55204
|
-
|
|
55205
|
-
|
|
55206
|
-
|
|
55207
|
-
|
|
55208
|
-
|
|
55209
|
-
|
|
55210
|
-
|
|
55211
|
-
|
|
55212
|
-
|
|
55213
|
-
|
|
55214
|
-
|
|
55215
|
-
|
|
55216
|
-
|
|
55217
|
-
|
|
55218
|
-
children: [
|
|
55219
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.disabled", children: "Not set yet" }),
|
|
55220
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55221
|
-
StyledButton$1,
|
|
55222
|
-
{
|
|
55223
|
-
onClick: async () => {
|
|
55224
|
-
setSavingField("stop");
|
|
55225
|
-
try {
|
|
55226
|
-
const update = { stop: [] };
|
|
55227
|
-
await updateAgentMutation.mutateAsync({
|
|
55228
|
-
agentId: selectedAgent.id,
|
|
55229
|
-
update
|
|
55230
|
-
});
|
|
55231
|
-
setLocalAgent((prev2) => ({
|
|
55232
|
-
...prev2,
|
|
55233
|
-
stop: []
|
|
55234
|
-
}));
|
|
55235
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55236
|
-
await refetchAgent();
|
|
55237
|
-
}
|
|
55238
|
-
} catch (_error) {
|
|
55239
|
-
} finally {
|
|
55240
|
-
setSavingField(null);
|
|
55454
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55455
|
+
SliderSetting,
|
|
55456
|
+
{
|
|
55457
|
+
value: localAgent.top_k ?? 40,
|
|
55458
|
+
label: "Top K",
|
|
55459
|
+
description: "Limits tokens to sample from at each step.",
|
|
55460
|
+
min: 1,
|
|
55461
|
+
max: 100,
|
|
55462
|
+
step: 1,
|
|
55463
|
+
isSaving: savingField === "top_k",
|
|
55464
|
+
onChange: async (value) => {
|
|
55465
|
+
setSavingField("top_k");
|
|
55466
|
+
try {
|
|
55467
|
+
const update = { top_k: value };
|
|
55468
|
+
await updateAgentMutation.mutateAsync({
|
|
55469
|
+
agentId: selectedAgent.id,
|
|
55470
|
+
update
|
|
55471
|
+
});
|
|
55472
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55473
|
+
await refetchAgent();
|
|
55241
55474
|
}
|
|
55475
|
+
} catch (_error) {
|
|
55476
|
+
} finally {
|
|
55477
|
+
setSavingField(null);
|
|
55478
|
+
}
|
|
55479
|
+
}
|
|
55480
|
+
}
|
|
55481
|
+
),
|
|
55482
|
+
localAgent.max_tokens === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55483
|
+
UnsetSliderSetting,
|
|
55484
|
+
{
|
|
55485
|
+
label: "Max Tokens",
|
|
55486
|
+
description: "Maximum tokens to generate in response.",
|
|
55487
|
+
defaultValue: 4096,
|
|
55488
|
+
onSetValue: async (value) => {
|
|
55489
|
+
setSavingField("max_tokens");
|
|
55490
|
+
try {
|
|
55491
|
+
const update = { max_tokens: value };
|
|
55492
|
+
await updateAgentMutation.mutateAsync({
|
|
55493
|
+
agentId: selectedAgent.id,
|
|
55494
|
+
update
|
|
55495
|
+
});
|
|
55496
|
+
setLocalAgent((prev2) => ({
|
|
55497
|
+
...prev2,
|
|
55498
|
+
max_tokens: value
|
|
55499
|
+
}));
|
|
55500
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55501
|
+
await refetchAgent();
|
|
55502
|
+
}
|
|
55503
|
+
} catch (_error) {
|
|
55504
|
+
} finally {
|
|
55505
|
+
setSavingField(null);
|
|
55506
|
+
}
|
|
55507
|
+
}
|
|
55508
|
+
}
|
|
55509
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55510
|
+
SliderSetting,
|
|
55511
|
+
{
|
|
55512
|
+
value: localAgent.max_tokens ?? 4096,
|
|
55513
|
+
label: "Max Tokens",
|
|
55514
|
+
description: "Maximum tokens to generate in response.",
|
|
55515
|
+
min: 1,
|
|
55516
|
+
max: 8192,
|
|
55517
|
+
step: 1,
|
|
55518
|
+
isSaving: savingField === "max_tokens",
|
|
55519
|
+
onChange: async (value) => {
|
|
55520
|
+
setSavingField("max_tokens");
|
|
55521
|
+
try {
|
|
55522
|
+
const update = { max_tokens: value };
|
|
55523
|
+
await updateAgentMutation.mutateAsync({
|
|
55524
|
+
agentId: selectedAgent.id,
|
|
55525
|
+
update
|
|
55526
|
+
});
|
|
55527
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55528
|
+
await refetchAgent();
|
|
55529
|
+
}
|
|
55530
|
+
} catch (_error) {
|
|
55531
|
+
} finally {
|
|
55532
|
+
setSavingField(null);
|
|
55533
|
+
}
|
|
55534
|
+
}
|
|
55535
|
+
}
|
|
55536
|
+
),
|
|
55537
|
+
localAgent.stop === null ? /* @__PURE__ */ jsxRuntimeExports.jsxs(UnsetContainer, { elevation: 0, children: [
|
|
55538
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(LabelWrapper, { children: [
|
|
55539
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelText, { variant: "subtitle2", children: "Stop Sequences" }),
|
|
55540
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DescriptionText$1, { variant: "body2", color: "text.secondary", children: "Sequences that will cause the model to stop generating text." })
|
|
55541
|
+
] }),
|
|
55542
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55543
|
+
Box,
|
|
55544
|
+
{
|
|
55545
|
+
sx: {
|
|
55546
|
+
display: "flex",
|
|
55547
|
+
alignItems: "center",
|
|
55548
|
+
justifyContent: "space-between"
|
|
55242
55549
|
},
|
|
55243
|
-
children:
|
|
55550
|
+
children: [
|
|
55551
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.disabled", children: "Not set yet" }),
|
|
55552
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55553
|
+
StyledButton$1,
|
|
55554
|
+
{
|
|
55555
|
+
onClick: async () => {
|
|
55556
|
+
setSavingField("stop");
|
|
55557
|
+
try {
|
|
55558
|
+
const update = { stop: [] };
|
|
55559
|
+
await updateAgentMutation.mutateAsync({
|
|
55560
|
+
agentId: selectedAgent.id,
|
|
55561
|
+
update
|
|
55562
|
+
});
|
|
55563
|
+
setLocalAgent((prev2) => ({
|
|
55564
|
+
...prev2,
|
|
55565
|
+
stop: []
|
|
55566
|
+
}));
|
|
55567
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55568
|
+
await refetchAgent();
|
|
55569
|
+
}
|
|
55570
|
+
} catch (_error) {
|
|
55571
|
+
} finally {
|
|
55572
|
+
setSavingField(null);
|
|
55573
|
+
}
|
|
55574
|
+
},
|
|
55575
|
+
children: "Set to default (empty)"
|
|
55576
|
+
}
|
|
55577
|
+
)
|
|
55578
|
+
]
|
|
55244
55579
|
}
|
|
55245
55580
|
)
|
|
55246
|
-
]
|
|
55247
|
-
|
|
55248
|
-
|
|
55249
|
-
|
|
55250
|
-
|
|
55251
|
-
|
|
55252
|
-
|
|
55253
|
-
|
|
55254
|
-
|
|
55255
|
-
|
|
55256
|
-
|
|
55257
|
-
|
|
55258
|
-
|
|
55259
|
-
|
|
55260
|
-
|
|
55261
|
-
|
|
55262
|
-
|
|
55263
|
-
|
|
55264
|
-
|
|
55265
|
-
|
|
55266
|
-
|
|
55267
|
-
|
|
55268
|
-
|
|
55269
|
-
|
|
55270
|
-
|
|
55271
|
-
|
|
55581
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55582
|
+
EditableField,
|
|
55583
|
+
{
|
|
55584
|
+
value: localAgent.stop?.join("\n") || "",
|
|
55585
|
+
label: "Stop Sequences",
|
|
55586
|
+
placeholder: "Enter stop sequences (one per line)...",
|
|
55587
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faGear }),
|
|
55588
|
+
multiline: true,
|
|
55589
|
+
rows: 3,
|
|
55590
|
+
isSaving: savingField === "stop",
|
|
55591
|
+
onSave: async (value) => {
|
|
55592
|
+
setSavingField("stop");
|
|
55593
|
+
try {
|
|
55594
|
+
const stopSequences = value.split("\n").map((line2) => line2.trim()).filter((line2) => line2.length > 0);
|
|
55595
|
+
const update = {
|
|
55596
|
+
stop: stopSequences.length > 0 ? stopSequences : void 0
|
|
55597
|
+
};
|
|
55598
|
+
await updateAgentMutation.mutateAsync({
|
|
55599
|
+
agentId: selectedAgent.id,
|
|
55600
|
+
update
|
|
55601
|
+
});
|
|
55602
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55603
|
+
await refetchAgent();
|
|
55604
|
+
}
|
|
55605
|
+
} catch (_error) {
|
|
55606
|
+
} finally {
|
|
55607
|
+
setSavingField(null);
|
|
55608
|
+
}
|
|
55609
|
+
}
|
|
55272
55610
|
}
|
|
55273
|
-
|
|
55274
|
-
|
|
55275
|
-
|
|
55276
|
-
|
|
55277
|
-
|
|
55278
|
-
|
|
55279
|
-
|
|
55280
|
-
|
|
55281
|
-
|
|
55282
|
-
|
|
55283
|
-
|
|
55284
|
-
|
|
55285
|
-
|
|
55286
|
-
|
|
55287
|
-
|
|
55288
|
-
|
|
55289
|
-
|
|
55290
|
-
|
|
55291
|
-
|
|
55292
|
-
|
|
55293
|
-
|
|
55294
|
-
|
|
55295
|
-
|
|
55296
|
-
|
|
55297
|
-
|
|
55298
|
-
|
|
55299
|
-
|
|
55611
|
+
),
|
|
55612
|
+
localAgent.frequency_penalty === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55613
|
+
UnsetSliderSetting,
|
|
55614
|
+
{
|
|
55615
|
+
label: "Frequency Penalty",
|
|
55616
|
+
description: "Reduces repetition by lowering likelihood of repeated tokens (-2.0 to 2.0).",
|
|
55617
|
+
defaultValue: 0,
|
|
55618
|
+
onSetValue: async (value) => {
|
|
55619
|
+
setSavingField("frequency_penalty");
|
|
55620
|
+
try {
|
|
55621
|
+
const update = { frequency_penalty: value };
|
|
55622
|
+
await updateAgentMutation.mutateAsync({
|
|
55623
|
+
agentId: selectedAgent.id,
|
|
55624
|
+
update
|
|
55625
|
+
});
|
|
55626
|
+
setLocalAgent((prev2) => ({
|
|
55627
|
+
...prev2,
|
|
55628
|
+
frequency_penalty: value
|
|
55629
|
+
}));
|
|
55630
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55631
|
+
await refetchAgent();
|
|
55632
|
+
}
|
|
55633
|
+
} catch (_error) {
|
|
55634
|
+
} finally {
|
|
55635
|
+
setSavingField(null);
|
|
55636
|
+
}
|
|
55637
|
+
}
|
|
55300
55638
|
}
|
|
55301
|
-
|
|
55302
|
-
|
|
55303
|
-
|
|
55304
|
-
|
|
55305
|
-
|
|
55306
|
-
|
|
55307
|
-
|
|
55308
|
-
|
|
55309
|
-
|
|
55310
|
-
|
|
55311
|
-
|
|
55312
|
-
|
|
55313
|
-
|
|
55314
|
-
|
|
55315
|
-
|
|
55316
|
-
|
|
55317
|
-
|
|
55318
|
-
|
|
55319
|
-
|
|
55320
|
-
|
|
55321
|
-
|
|
55322
|
-
|
|
55323
|
-
|
|
55324
|
-
|
|
55325
|
-
|
|
55326
|
-
|
|
55639
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55640
|
+
SliderSetting,
|
|
55641
|
+
{
|
|
55642
|
+
value: localAgent.frequency_penalty ?? 0,
|
|
55643
|
+
label: "Frequency Penalty",
|
|
55644
|
+
description: "Reduces repetition by lowering likelihood of repeated tokens (-2.0 to 2.0).",
|
|
55645
|
+
min: -2,
|
|
55646
|
+
max: 2,
|
|
55647
|
+
step: 0.01,
|
|
55648
|
+
isSaving: savingField === "frequency_penalty",
|
|
55649
|
+
onChange: async (value) => {
|
|
55650
|
+
setSavingField("frequency_penalty");
|
|
55651
|
+
try {
|
|
55652
|
+
const update = { frequency_penalty: value };
|
|
55653
|
+
await updateAgentMutation.mutateAsync({
|
|
55654
|
+
agentId: selectedAgent.id,
|
|
55655
|
+
update
|
|
55656
|
+
});
|
|
55657
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55658
|
+
await refetchAgent();
|
|
55659
|
+
}
|
|
55660
|
+
} catch (_error) {
|
|
55661
|
+
} finally {
|
|
55662
|
+
setSavingField(null);
|
|
55663
|
+
}
|
|
55664
|
+
}
|
|
55327
55665
|
}
|
|
55328
|
-
|
|
55329
|
-
|
|
55330
|
-
|
|
55331
|
-
|
|
55332
|
-
|
|
55333
|
-
|
|
55334
|
-
|
|
55335
|
-
|
|
55336
|
-
|
|
55337
|
-
|
|
55338
|
-
|
|
55339
|
-
|
|
55340
|
-
|
|
55341
|
-
|
|
55342
|
-
|
|
55343
|
-
|
|
55344
|
-
|
|
55345
|
-
|
|
55346
|
-
|
|
55347
|
-
|
|
55348
|
-
|
|
55349
|
-
|
|
55350
|
-
|
|
55351
|
-
|
|
55352
|
-
|
|
55353
|
-
|
|
55354
|
-
|
|
55666
|
+
),
|
|
55667
|
+
localAgent.presence_penalty === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55668
|
+
UnsetSliderSetting,
|
|
55669
|
+
{
|
|
55670
|
+
label: "Presence Penalty",
|
|
55671
|
+
description: "Increases diversity by lowering likelihood of prompt tokens (-2.0 to 2.0).",
|
|
55672
|
+
defaultValue: 0,
|
|
55673
|
+
onSetValue: async (value) => {
|
|
55674
|
+
setSavingField("presence_penalty");
|
|
55675
|
+
try {
|
|
55676
|
+
const update = { presence_penalty: value };
|
|
55677
|
+
await updateAgentMutation.mutateAsync({
|
|
55678
|
+
agentId: selectedAgent.id,
|
|
55679
|
+
update
|
|
55680
|
+
});
|
|
55681
|
+
setLocalAgent((prev2) => ({
|
|
55682
|
+
...prev2,
|
|
55683
|
+
presence_penalty: value
|
|
55684
|
+
}));
|
|
55685
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55686
|
+
await refetchAgent();
|
|
55687
|
+
}
|
|
55688
|
+
} catch (_error) {
|
|
55689
|
+
} finally {
|
|
55690
|
+
setSavingField(null);
|
|
55691
|
+
}
|
|
55692
|
+
}
|
|
55355
55693
|
}
|
|
55356
|
-
|
|
55357
|
-
|
|
55358
|
-
|
|
55359
|
-
|
|
55360
|
-
|
|
55361
|
-
|
|
55362
|
-
|
|
55363
|
-
|
|
55364
|
-
|
|
55365
|
-
|
|
55366
|
-
|
|
55367
|
-
|
|
55368
|
-
|
|
55369
|
-
|
|
55370
|
-
|
|
55371
|
-
|
|
55372
|
-
|
|
55373
|
-
|
|
55374
|
-
|
|
55375
|
-
|
|
55376
|
-
|
|
55377
|
-
|
|
55378
|
-
|
|
55379
|
-
|
|
55380
|
-
|
|
55381
|
-
|
|
55694
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55695
|
+
SliderSetting,
|
|
55696
|
+
{
|
|
55697
|
+
value: localAgent.presence_penalty ?? 0,
|
|
55698
|
+
label: "Presence Penalty",
|
|
55699
|
+
description: "Increases diversity by lowering likelihood of prompt tokens (-2.0 to 2.0).",
|
|
55700
|
+
min: -2,
|
|
55701
|
+
max: 2,
|
|
55702
|
+
step: 0.01,
|
|
55703
|
+
isSaving: savingField === "presence_penalty",
|
|
55704
|
+
onChange: async (value) => {
|
|
55705
|
+
setSavingField("presence_penalty");
|
|
55706
|
+
try {
|
|
55707
|
+
const update = { presence_penalty: value };
|
|
55708
|
+
await updateAgentMutation.mutateAsync({
|
|
55709
|
+
agentId: selectedAgent.id,
|
|
55710
|
+
update
|
|
55711
|
+
});
|
|
55712
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55713
|
+
await refetchAgent();
|
|
55714
|
+
}
|
|
55715
|
+
} catch (_error) {
|
|
55716
|
+
} finally {
|
|
55717
|
+
setSavingField(null);
|
|
55718
|
+
}
|
|
55719
|
+
}
|
|
55382
55720
|
}
|
|
55383
|
-
|
|
55384
|
-
|
|
55385
|
-
|
|
55386
|
-
|
|
55387
|
-
|
|
55388
|
-
|
|
55389
|
-
|
|
55390
|
-
|
|
55391
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(LabelWrapper, { children: [
|
|
55392
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelText, { variant: "subtitle2", children: "Seed" }),
|
|
55393
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DescriptionText$1, { variant: "body2", color: "text.secondary", children: "Random number seed for deterministic generation." })
|
|
55394
|
-
] }),
|
|
55395
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55396
|
-
Box,
|
|
55397
|
-
{
|
|
55398
|
-
sx: {
|
|
55399
|
-
display: "flex",
|
|
55400
|
-
alignItems: "center",
|
|
55401
|
-
justifyContent: "space-between"
|
|
55402
|
-
},
|
|
55403
|
-
children: [
|
|
55404
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.disabled", children: "Not set yet" }),
|
|
55405
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55406
|
-
StyledButton$1,
|
|
55721
|
+
),
|
|
55722
|
+
localAgent.seed === null ? /* @__PURE__ */ jsxRuntimeExports.jsxs(UnsetContainer, { elevation: 0, children: [
|
|
55723
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(LabelWrapper, { children: [
|
|
55724
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelText, { variant: "subtitle2", children: "Seed" }),
|
|
55725
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DescriptionText$1, { variant: "body2", color: "text.secondary", children: "Random number seed for deterministic generation." })
|
|
55726
|
+
] }),
|
|
55727
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55728
|
+
Box,
|
|
55407
55729
|
{
|
|
55408
|
-
|
|
55409
|
-
|
|
55410
|
-
|
|
55411
|
-
|
|
55412
|
-
await updateAgentMutation.mutateAsync({
|
|
55413
|
-
agentId: selectedAgent.id,
|
|
55414
|
-
update
|
|
55415
|
-
});
|
|
55416
|
-
setLocalAgent((prev2) => ({
|
|
55417
|
-
...prev2,
|
|
55418
|
-
seed: 42
|
|
55419
|
-
}));
|
|
55420
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55421
|
-
await refetchAgent();
|
|
55422
|
-
}
|
|
55423
|
-
} catch (_error) {
|
|
55424
|
-
} finally {
|
|
55425
|
-
setSavingField(null);
|
|
55426
|
-
}
|
|
55730
|
+
sx: {
|
|
55731
|
+
display: "flex",
|
|
55732
|
+
alignItems: "center",
|
|
55733
|
+
justifyContent: "space-between"
|
|
55427
55734
|
},
|
|
55428
|
-
children:
|
|
55735
|
+
children: [
|
|
55736
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.disabled", children: "Not set yet" }),
|
|
55737
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55738
|
+
StyledButton$1,
|
|
55739
|
+
{
|
|
55740
|
+
onClick: async () => {
|
|
55741
|
+
setSavingField("seed");
|
|
55742
|
+
try {
|
|
55743
|
+
const update = { seed: 42 };
|
|
55744
|
+
await updateAgentMutation.mutateAsync({
|
|
55745
|
+
agentId: selectedAgent.id,
|
|
55746
|
+
update
|
|
55747
|
+
});
|
|
55748
|
+
setLocalAgent((prev2) => ({
|
|
55749
|
+
...prev2,
|
|
55750
|
+
seed: 42
|
|
55751
|
+
}));
|
|
55752
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55753
|
+
await refetchAgent();
|
|
55754
|
+
}
|
|
55755
|
+
} catch (_error) {
|
|
55756
|
+
} finally {
|
|
55757
|
+
setSavingField(null);
|
|
55758
|
+
}
|
|
55759
|
+
},
|
|
55760
|
+
children: "Set to default (42)"
|
|
55761
|
+
}
|
|
55762
|
+
)
|
|
55763
|
+
]
|
|
55429
55764
|
}
|
|
55430
55765
|
)
|
|
55431
|
-
]
|
|
55432
|
-
|
|
55433
|
-
|
|
55434
|
-
|
|
55435
|
-
|
|
55436
|
-
|
|
55437
|
-
|
|
55438
|
-
|
|
55439
|
-
|
|
55440
|
-
|
|
55441
|
-
|
|
55442
|
-
|
|
55443
|
-
|
|
55444
|
-
|
|
55445
|
-
|
|
55446
|
-
|
|
55447
|
-
|
|
55448
|
-
|
|
55449
|
-
|
|
55450
|
-
|
|
55451
|
-
|
|
55452
|
-
|
|
55453
|
-
|
|
55454
|
-
|
|
55455
|
-
|
|
55456
|
-
|
|
55766
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55767
|
+
EditableField,
|
|
55768
|
+
{
|
|
55769
|
+
value: localAgent.seed?.toString() || "",
|
|
55770
|
+
label: "Seed",
|
|
55771
|
+
placeholder: "Random number seed for deterministic generation",
|
|
55772
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faGear }),
|
|
55773
|
+
isSaving: savingField === "seed",
|
|
55774
|
+
onSave: async (value) => {
|
|
55775
|
+
setSavingField("seed");
|
|
55776
|
+
try {
|
|
55777
|
+
const seedValue = value.trim() ? Number.parseInt(value, 10) : void 0;
|
|
55778
|
+
if (value.trim() && Number.isNaN(seedValue)) {
|
|
55779
|
+
showErrorToast("Seed must be a valid number");
|
|
55780
|
+
return;
|
|
55781
|
+
}
|
|
55782
|
+
const update = { seed: seedValue };
|
|
55783
|
+
await updateAgentMutation.mutateAsync({
|
|
55784
|
+
agentId: selectedAgent.id,
|
|
55785
|
+
update
|
|
55786
|
+
});
|
|
55787
|
+
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55788
|
+
await refetchAgent();
|
|
55789
|
+
}
|
|
55790
|
+
} catch (_error) {
|
|
55791
|
+
} finally {
|
|
55792
|
+
setSavingField(null);
|
|
55793
|
+
}
|
|
55794
|
+
}
|
|
55457
55795
|
}
|
|
55458
|
-
|
|
55459
|
-
|
|
55460
|
-
setSavingField(null);
|
|
55461
|
-
}
|
|
55462
|
-
}
|
|
55796
|
+
)
|
|
55797
|
+
]
|
|
55463
55798
|
}
|
|
55464
|
-
)
|
|
55799
|
+
) })
|
|
55465
55800
|
] });
|
|
55466
55801
|
};
|
|
55467
55802
|
const ALLOWED_AGENT_CATEGORIES = [
|
|
@@ -66244,9 +66579,15 @@ const GeneralSettings = ({
|
|
|
66244
66579
|
refetchAgent,
|
|
66245
66580
|
initialSelectedAgentId
|
|
66246
66581
|
}) => {
|
|
66247
|
-
const
|
|
66248
|
-
|
|
66249
|
-
)
|
|
66582
|
+
const { data: config2, isLoading: isConfigLoading } = useConfig();
|
|
66583
|
+
const [currentHosting, setCurrentHosting] = reactExports.useState("");
|
|
66584
|
+
reactExports.useEffect(() => {
|
|
66585
|
+
if (!isConfigLoading && config2?.values) {
|
|
66586
|
+
setCurrentHosting(selectedAgent.hosting || config2.values.hosting || "");
|
|
66587
|
+
} else if (!isConfigLoading) {
|
|
66588
|
+
setCurrentHosting(selectedAgent.hosting || "");
|
|
66589
|
+
}
|
|
66590
|
+
}, [selectedAgent, config2, isConfigLoading]);
|
|
66250
66591
|
const [tagsSaving, setTagsSaving] = reactExports.useState(false);
|
|
66251
66592
|
const [categoriesSaving, setCategoriesSaving] = reactExports.useState(false);
|
|
66252
66593
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
@@ -66293,7 +66634,7 @@ const GeneralSettings = ({
|
|
|
66293
66634
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66294
66635
|
HostingSelect,
|
|
66295
66636
|
{
|
|
66296
|
-
value: selectedAgent.hosting || "",
|
|
66637
|
+
value: selectedAgent.hosting || (config2?.values.hosting ?? ""),
|
|
66297
66638
|
isSaving: savingField === "hosting",
|
|
66298
66639
|
onSave: async (value) => {
|
|
66299
66640
|
setSavingField("hosting");
|
|
@@ -66320,14 +66661,14 @@ const GeneralSettings = ({
|
|
|
66320
66661
|
filterByCredentials: true,
|
|
66321
66662
|
allowDefault: true
|
|
66322
66663
|
},
|
|
66323
|
-
`hosting-select-${selectedAgent.hosting || ""}`
|
|
66664
|
+
`hosting-select-${selectedAgent.id}-${selectedAgent.hosting || (config2?.values.hosting ?? "default")}`
|
|
66324
66665
|
)
|
|
66325
66666
|
}
|
|
66326
66667
|
),
|
|
66327
66668
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, md: 6, "data-tour-tag": "agent-settings-model-select", children: currentHosting ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66328
66669
|
ModelSelect,
|
|
66329
66670
|
{
|
|
66330
|
-
value: selectedAgent.model || "",
|
|
66671
|
+
value: selectedAgent.hosting ? selectedAgent.model || "" : selectedAgent.model || (config2?.values.model_name ?? ""),
|
|
66331
66672
|
hostingId: currentHosting,
|
|
66332
66673
|
isSaving: savingField === "model",
|
|
66333
66674
|
allowDefault: true,
|
|
@@ -66348,7 +66689,7 @@ const GeneralSettings = ({
|
|
|
66348
66689
|
}
|
|
66349
66690
|
}
|
|
66350
66691
|
},
|
|
66351
|
-
`model-select-${currentHosting}`
|
|
66692
|
+
`model-select-${selectedAgent.id}-${currentHosting}-${selectedAgent.model || (!selectedAgent.hosting && config2?.values.model_name ? config2.values.model_name : "default")}`
|
|
66352
66693
|
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(FieldContainer, { children: [
|
|
66353
66694
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Select a hosting provider first, and then select the AI model that you want to use. Each model has different capabilities and costs. Recommended: Automatic", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(FieldLabel$3, { children: [
|
|
66354
66695
|
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelIcon$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faRobot }) }),
|
|
@@ -66511,26 +66852,35 @@ const SecuritySettings = ({
|
|
|
66511
66852
|
refetchAgent,
|
|
66512
66853
|
initialSelectedAgentId
|
|
66513
66854
|
}) => {
|
|
66514
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { "data-tour-tag": "agent-settings-security", children: [
|
|
66855
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { "data-tour-tag": "agent-settings-security", sx: { mt: 4 }, children: [
|
|
66515
66856
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$3, { variant: "subtitle1", children: [
|
|
66516
66857
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$1, { icon: faShieldAlt }),
|
|
66517
|
-
"Security
|
|
66858
|
+
"Security Instructions",
|
|
66518
66859
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66519
66860
|
Tooltip$1,
|
|
66520
66861
|
{
|
|
66521
|
-
title:
|
|
66862
|
+
title: `Security instructions that guide the agent's behavior and limitations. This is the "system prompt" for the security agent.`,
|
|
66522
66863
|
arrow: true,
|
|
66523
66864
|
placement: "top",
|
|
66524
66865
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton$1, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
66525
66866
|
}
|
|
66526
66867
|
)
|
|
66527
66868
|
] }),
|
|
66869
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66870
|
+
Typography,
|
|
66871
|
+
{
|
|
66872
|
+
variant: "caption",
|
|
66873
|
+
color: "text.secondary",
|
|
66874
|
+
sx: { mb: 1, display: "block" },
|
|
66875
|
+
children: `This prompt is directed to the AI security reviewer. It helps the reviewer decide whether to block or allow actions based on safety. Write as if talking to another agent that is watching this agent (eg. "Allow all git operations", "Don't let the agent access drive files in the restricted folder"). Update this to allow the agent to perform actions if you are getting frequent security blocks.`
|
|
66876
|
+
}
|
|
66877
|
+
),
|
|
66528
66878
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66529
66879
|
EditableField,
|
|
66530
66880
|
{
|
|
66531
66881
|
value: selectedAgent.security_prompt || "",
|
|
66532
66882
|
label: "",
|
|
66533
|
-
placeholder: "Enter security
|
|
66883
|
+
placeholder: "Enter instructions for the security agent...",
|
|
66534
66884
|
multiline: true,
|
|
66535
66885
|
rows: 6,
|
|
66536
66886
|
isSaving: savingField === "security_prompt",
|
|
@@ -66594,26 +66944,35 @@ const SystemPromptSettings = ({
|
|
|
66594
66944
|
setLocalSystemPrompt(systemPrompt);
|
|
66595
66945
|
}
|
|
66596
66946
|
}, [systemPrompt]);
|
|
66597
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { "data-tour-tag": "agent-settings-system-prompt", sx: { mt:
|
|
66947
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { "data-tour-tag": "agent-settings-system-prompt", sx: { mt: 0 }, children: [
|
|
66598
66948
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$2, { variant: "subtitle1", children: [
|
|
66599
66949
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon, { icon: faRobot }),
|
|
66600
|
-
"
|
|
66950
|
+
"Agent Instructions",
|
|
66601
66951
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66602
66952
|
Tooltip$1,
|
|
66603
66953
|
{
|
|
66604
|
-
title:
|
|
66954
|
+
title: `System instructions that define the agent's behavior and capabilities. This is the agent's "system prompt"`,
|
|
66605
66955
|
arrow: true,
|
|
66606
66956
|
placement: "top",
|
|
66607
66957
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
66608
66958
|
}
|
|
66609
66959
|
)
|
|
66610
66960
|
] }),
|
|
66961
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66962
|
+
Typography,
|
|
66963
|
+
{
|
|
66964
|
+
variant: "caption",
|
|
66965
|
+
color: "text.secondary",
|
|
66966
|
+
sx: { mb: 1, display: "block" },
|
|
66967
|
+
children: `Define the agent's role, personality, or provide context. Write as if talking to the agent (e.g., "You are an expert researcher") and/or about yourself (e.g., "My name is John").`
|
|
66968
|
+
}
|
|
66969
|
+
),
|
|
66611
66970
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66612
66971
|
EditableField,
|
|
66613
66972
|
{
|
|
66614
66973
|
value: localSystemPrompt,
|
|
66615
66974
|
label: "",
|
|
66616
|
-
placeholder: isLoading ? "Loading system prompt..." : "Enter
|
|
66975
|
+
placeholder: isLoading ? "Loading system prompt..." : "Enter instructions for the agent...",
|
|
66617
66976
|
multiline: true,
|
|
66618
66977
|
rows: 6,
|
|
66619
66978
|
isSaving: savingField === "system_prompt",
|
|
@@ -66705,22 +67064,22 @@ const AgentSettings = ({
|
|
|
66705
67064
|
}
|
|
66706
67065
|
),
|
|
66707
67066
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66708
|
-
|
|
67067
|
+
SystemPromptSettings,
|
|
66709
67068
|
{
|
|
66710
67069
|
selectedAgent,
|
|
66711
67070
|
savingField,
|
|
66712
67071
|
setSavingField,
|
|
66713
|
-
updateAgentMutation,
|
|
66714
67072
|
refetchAgent,
|
|
66715
67073
|
initialSelectedAgentId
|
|
66716
67074
|
}
|
|
66717
67075
|
),
|
|
66718
67076
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66719
|
-
|
|
67077
|
+
SecuritySettings,
|
|
66720
67078
|
{
|
|
66721
67079
|
selectedAgent,
|
|
66722
67080
|
savingField,
|
|
66723
67081
|
setSavingField,
|
|
67082
|
+
updateAgentMutation,
|
|
66724
67083
|
refetchAgent,
|
|
66725
67084
|
initialSelectedAgentId
|
|
66726
67085
|
}
|
|
@@ -67745,9 +68104,14 @@ const defaultConversationCanvasState = {
|
|
|
67745
68104
|
isOpen: false,
|
|
67746
68105
|
openTabs: [],
|
|
67747
68106
|
selectedTabId: null,
|
|
67748
|
-
files: []
|
|
68107
|
+
files: [],
|
|
68108
|
+
mentionedFiles: [],
|
|
68109
|
+
viewMode: "documents"
|
|
68110
|
+
};
|
|
68111
|
+
const getConversationState = (conversations, conversationId) => {
|
|
68112
|
+
const existing = conversations[conversationId];
|
|
68113
|
+
return existing ? { ...defaultConversationCanvasState, ...existing } : { ...defaultConversationCanvasState };
|
|
67749
68114
|
};
|
|
67750
|
-
const getConversationState = (conversations, conversationId) => conversations[conversationId] ?? { ...defaultConversationCanvasState };
|
|
67751
68115
|
const useCanvasStore = create$3()(
|
|
67752
68116
|
persist(
|
|
67753
68117
|
(set2, _2) => ({
|
|
@@ -67804,6 +68168,71 @@ const useCanvasStore = create$3()(
|
|
|
67804
68168
|
};
|
|
67805
68169
|
return { conversations: newConversations };
|
|
67806
68170
|
});
|
|
68171
|
+
},
|
|
68172
|
+
setMentionedFiles: (conversationId, mentionedFiles) => {
|
|
68173
|
+
set2((state2) => ({
|
|
68174
|
+
conversations: {
|
|
68175
|
+
...state2.conversations,
|
|
68176
|
+
[conversationId]: {
|
|
68177
|
+
...getConversationState(state2.conversations, conversationId),
|
|
68178
|
+
mentionedFiles
|
|
68179
|
+
}
|
|
68180
|
+
}
|
|
68181
|
+
}));
|
|
68182
|
+
},
|
|
68183
|
+
addMentionedFile: (conversationId, file) => {
|
|
68184
|
+
set2((state2) => {
|
|
68185
|
+
const conv = getConversationState(
|
|
68186
|
+
state2.conversations,
|
|
68187
|
+
conversationId
|
|
68188
|
+
);
|
|
68189
|
+
const exists = conv.mentionedFiles.find((d2) => d2.id === file.id);
|
|
68190
|
+
const updated = exists ? conv.mentionedFiles : [...conv.mentionedFiles, file];
|
|
68191
|
+
return {
|
|
68192
|
+
conversations: {
|
|
68193
|
+
...state2.conversations,
|
|
68194
|
+
[conversationId]: {
|
|
68195
|
+
...conv,
|
|
68196
|
+
mentionedFiles: updated
|
|
68197
|
+
}
|
|
68198
|
+
}
|
|
68199
|
+
};
|
|
68200
|
+
});
|
|
68201
|
+
},
|
|
68202
|
+
addMentionedFilesBatch: (conversationId, filesToAdd) => {
|
|
68203
|
+
set2((state2) => {
|
|
68204
|
+
const conv = getConversationState(
|
|
68205
|
+
state2.conversations,
|
|
68206
|
+
conversationId
|
|
68207
|
+
);
|
|
68208
|
+
const existingFileIds = new Set(conv.mentionedFiles.map((f2) => f2.id));
|
|
68209
|
+
const newFiles = filesToAdd.filter(
|
|
68210
|
+
(file) => !existingFileIds.has(file.id)
|
|
68211
|
+
);
|
|
68212
|
+
if (newFiles.length === 0) {
|
|
68213
|
+
return state2;
|
|
68214
|
+
}
|
|
68215
|
+
return {
|
|
68216
|
+
conversations: {
|
|
68217
|
+
...state2.conversations,
|
|
68218
|
+
[conversationId]: {
|
|
68219
|
+
...conv,
|
|
68220
|
+
mentionedFiles: [...conv.mentionedFiles, ...newFiles]
|
|
68221
|
+
}
|
|
68222
|
+
}
|
|
68223
|
+
};
|
|
68224
|
+
});
|
|
68225
|
+
},
|
|
68226
|
+
setViewMode: (conversationId, viewMode) => {
|
|
68227
|
+
set2((state2) => ({
|
|
68228
|
+
conversations: {
|
|
68229
|
+
...state2.conversations,
|
|
68230
|
+
[conversationId]: {
|
|
68231
|
+
...getConversationState(state2.conversations, conversationId),
|
|
68232
|
+
viewMode
|
|
68233
|
+
}
|
|
68234
|
+
}
|
|
68235
|
+
}));
|
|
67807
68236
|
}
|
|
67808
68237
|
}),
|
|
67809
68238
|
{
|
|
@@ -86305,7 +86734,7 @@ const languages = [
|
|
|
86305
86734
|
name: "Go",
|
|
86306
86735
|
extensions: ["go"],
|
|
86307
86736
|
load() {
|
|
86308
|
-
return __vitePreload(() => import("./index-
|
|
86737
|
+
return __vitePreload(() => import("./index-9ll8evaS.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
|
|
86309
86738
|
}
|
|
86310
86739
|
}),
|
|
86311
86740
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -86482,7 +86911,7 @@ const languages = [
|
|
|
86482
86911
|
alias: ["yml"],
|
|
86483
86912
|
extensions: ["yaml", "yml"],
|
|
86484
86913
|
load() {
|
|
86485
|
-
return __vitePreload(() => import("./index-
|
|
86914
|
+
return __vitePreload(() => import("./index-BcAunMPD.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
|
|
86486
86915
|
}
|
|
86487
86916
|
}),
|
|
86488
86917
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -168921,7 +169350,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
168921
169350
|
registerLayoutLoaders([
|
|
168922
169351
|
{
|
|
168923
169352
|
name: "dagre",
|
|
168924
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-
|
|
169353
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-BRmuP5ne.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
|
|
168925
169354
|
}
|
|
168926
169355
|
]);
|
|
168927
169356
|
}, "registerDefaultLayoutLoaders");
|
|
@@ -169511,7 +169940,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
169511
169940
|
}, "detector");
|
|
169512
169941
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
169513
169942
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169514
|
-
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-
|
|
169943
|
+
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-CUWQVTBw.js");
|
|
169515
169944
|
return { diagram: diagram22 };
|
|
169516
169945
|
}, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
|
|
169517
169946
|
return { id, diagram: diagram2 };
|
|
@@ -169531,7 +169960,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169531
169960
|
}, "detector");
|
|
169532
169961
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
169533
169962
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169534
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
169963
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169535
169964
|
return { diagram: diagram22 };
|
|
169536
169965
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169537
169966
|
return { id: id2, diagram: diagram2 };
|
|
@@ -169557,7 +169986,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169557
169986
|
}, "detector");
|
|
169558
169987
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
169559
169988
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169560
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
169989
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169561
169990
|
return { diagram: diagram22 };
|
|
169562
169991
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169563
169992
|
return { id: id3, diagram: diagram2 };
|
|
@@ -169574,7 +170003,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
169574
170003
|
}, "detector");
|
|
169575
170004
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
169576
170005
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169577
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-
|
|
170006
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-B_3VyDfP.js");
|
|
169578
170007
|
return { diagram: diagram22 };
|
|
169579
170008
|
}, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
|
|
169580
170009
|
return { id: id4, diagram: diagram2 };
|
|
@@ -169591,7 +170020,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
169591
170020
|
}, "detector");
|
|
169592
170021
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
169593
170022
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169594
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-
|
|
170023
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-Jz6QBGPa.js");
|
|
169595
170024
|
return { diagram: diagram22 };
|
|
169596
170025
|
}, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169597
170026
|
return { id: id5, diagram: diagram2 };
|
|
@@ -169608,7 +170037,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
169608
170037
|
}, "detector");
|
|
169609
170038
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
169610
170039
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169611
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-
|
|
170040
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-BK37zBtS.js");
|
|
169612
170041
|
return { diagram: diagram22 };
|
|
169613
170042
|
}, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
|
|
169614
170043
|
return { id: id6, diagram: diagram2 };
|
|
@@ -169625,7 +170054,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
169625
170054
|
}, "detector");
|
|
169626
170055
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
169627
170056
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169628
|
-
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-
|
|
170057
|
+
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-BrTEa3Dg.js");
|
|
169629
170058
|
return { diagram: diagram22 };
|
|
169630
170059
|
}, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169631
170060
|
return { id: id7, diagram: diagram2 };
|
|
@@ -169641,7 +170070,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
169641
170070
|
}, "detector");
|
|
169642
170071
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
169643
170072
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169644
|
-
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-
|
|
170073
|
+
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-D_aSId8t.js");
|
|
169645
170074
|
return { diagram: diagram22 };
|
|
169646
170075
|
}, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
|
|
169647
170076
|
return { id: id8, diagram: diagram2 };
|
|
@@ -169657,7 +170086,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
169657
170086
|
}, "detector");
|
|
169658
170087
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
169659
170088
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169660
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-
|
|
170089
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-VtpoaDCW.js");
|
|
169661
170090
|
return { diagram: diagram22 };
|
|
169662
170091
|
}, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
|
|
169663
170092
|
return { id: id9, diagram: diagram2 };
|
|
@@ -169674,7 +170103,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
169674
170103
|
}, "detector");
|
|
169675
170104
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
169676
170105
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169677
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-
|
|
170106
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-gjn-8kXQ.js");
|
|
169678
170107
|
return { diagram: diagram22 };
|
|
169679
170108
|
}, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
|
|
169680
170109
|
return { id: id10, diagram: diagram2 };
|
|
@@ -169691,7 +170120,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
169691
170120
|
}, "detector");
|
|
169692
170121
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
169693
170122
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169694
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-
|
|
170123
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-DmQX7SmX.js");
|
|
169695
170124
|
return { diagram: diagram22 };
|
|
169696
170125
|
}, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
|
|
169697
170126
|
return { id: id11, diagram: diagram2 };
|
|
@@ -169708,7 +170137,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
169708
170137
|
}, "detector");
|
|
169709
170138
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
169710
170139
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169711
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-
|
|
170140
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-Cy6jqgLY.js");
|
|
169712
170141
|
return { diagram: diagram22 };
|
|
169713
170142
|
}, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
|
|
169714
170143
|
return { id: id12, diagram: diagram2 };
|
|
@@ -169728,7 +170157,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169728
170157
|
}, "detector");
|
|
169729
170158
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
169730
170159
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169731
|
-
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-
|
|
170160
|
+
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-D_MSeJ_6.js");
|
|
169732
170161
|
return { diagram: diagram22 };
|
|
169733
170162
|
}, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
|
|
169734
170163
|
return { id: id13, diagram: diagram2 };
|
|
@@ -169748,7 +170177,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169748
170177
|
}, "detector");
|
|
169749
170178
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
169750
170179
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169751
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-
|
|
170180
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-D_MSeJ_6.js");
|
|
169752
170181
|
return { diagram: diagram22 };
|
|
169753
170182
|
}, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
|
|
169754
170183
|
return { id: id14, diagram: diagram2 };
|
|
@@ -169768,7 +170197,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169768
170197
|
}, "detector");
|
|
169769
170198
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
169770
170199
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169771
|
-
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-
|
|
170200
|
+
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-B5sjzMc3.js");
|
|
169772
170201
|
return { diagram: diagram22 };
|
|
169773
170202
|
}, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
|
|
169774
170203
|
return { id: id15, diagram: diagram2 };
|
|
@@ -169791,7 +170220,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169791
170220
|
}, "detector");
|
|
169792
170221
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
169793
170222
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169794
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-
|
|
170223
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-CCntK586.js");
|
|
169795
170224
|
return { diagram: diagram22 };
|
|
169796
170225
|
}, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
|
|
169797
170226
|
return { id: id16, diagram: diagram2 };
|
|
@@ -169808,7 +170237,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
169808
170237
|
}, "detector");
|
|
169809
170238
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
169810
170239
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169811
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-
|
|
170240
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-cp-7j6JH.js");
|
|
169812
170241
|
return { diagram: diagram22 };
|
|
169813
170242
|
}, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
|
|
169814
170243
|
return { id: id17, diagram: diagram2 };
|
|
@@ -169878,7 +170307,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
169878
170307
|
}, "detector");
|
|
169879
170308
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
169880
170309
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169881
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
170310
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169882
170311
|
return { diagram: diagram22 };
|
|
169883
170312
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169884
170313
|
return { id: id18, diagram: diagram2 };
|
|
@@ -169895,7 +170324,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
169895
170324
|
}, "detector");
|
|
169896
170325
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
169897
170326
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169898
|
-
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-
|
|
170327
|
+
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-B24Z4NA2.js");
|
|
169899
170328
|
return { diagram: diagram22 };
|
|
169900
170329
|
}, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
|
|
169901
170330
|
return { id: id19, diagram: diagram2 };
|
|
@@ -169912,7 +170341,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
169912
170341
|
}, "detector");
|
|
169913
170342
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
169914
170343
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169915
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-
|
|
170344
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-B8ntf-YJ.js");
|
|
169916
170345
|
return { diagram: diagram22 };
|
|
169917
170346
|
}, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
|
|
169918
170347
|
return { id: id20, diagram: diagram2 };
|
|
@@ -169929,7 +170358,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
169929
170358
|
}, "detector");
|
|
169930
170359
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
169931
170360
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169932
|
-
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-
|
|
170361
|
+
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-DT0Ds4_6.js");
|
|
169933
170362
|
return { diagram: diagram22 };
|
|
169934
170363
|
}, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
|
|
169935
170364
|
return { id: id21, diagram: diagram2 };
|
|
@@ -169946,7 +170375,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
169946
170375
|
}, "detector");
|
|
169947
170376
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
169948
170377
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169949
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-
|
|
170378
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-DH2kTl35.js");
|
|
169950
170379
|
return { diagram: diagram22 };
|
|
169951
170380
|
}, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
|
|
169952
170381
|
return { id: id22, diagram: diagram2 };
|
|
@@ -169963,7 +170392,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
169963
170392
|
}, "detector");
|
|
169964
170393
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
169965
170394
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169966
|
-
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-
|
|
170395
|
+
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-Bxh5b-em.js");
|
|
169967
170396
|
return { diagram: diagram22 };
|
|
169968
170397
|
}, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169969
170398
|
return { id: id23, diagram: diagram2 };
|
|
@@ -169979,7 +170408,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
169979
170408
|
}, "detector");
|
|
169980
170409
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
169981
170410
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169982
|
-
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-
|
|
170411
|
+
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-lmqZ5zjv.js");
|
|
169983
170412
|
return { diagram: diagram22 };
|
|
169984
170413
|
}, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169985
170414
|
return { id: id24, diagram: diagram2 };
|
|
@@ -169995,7 +170424,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
169995
170424
|
}, "detector");
|
|
169996
170425
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
169997
170426
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169998
|
-
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-
|
|
170427
|
+
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-boa_T8E1.js");
|
|
169999
170428
|
return { diagram: diagram22 };
|
|
170000
170429
|
}, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
|
|
170001
170430
|
return { id: id25, diagram: diagram2 };
|
|
@@ -170012,7 +170441,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
170012
170441
|
}, "detector");
|
|
170013
170442
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
170014
170443
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170015
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-
|
|
170444
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-DzXvnk9f.js");
|
|
170016
170445
|
return { diagram: diagram22 };
|
|
170017
170446
|
}, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
|
|
170018
170447
|
return { id: id26, diagram: diagram2 };
|
|
@@ -171483,6 +171912,351 @@ const CanvasContentComponent = ({ document: document2 }) => {
|
|
|
171483
171912
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(CodeEditor, { document: document2 });
|
|
171484
171913
|
};
|
|
171485
171914
|
const CanvasContent = reactExports.memo(CanvasContentComponent);
|
|
171915
|
+
const RESOURCE_NAME_REGEX$2 = /name=([^;,]+)/;
|
|
171916
|
+
const PATH_SEPARATOR_REGEX$5 = /[/\\]/;
|
|
171917
|
+
const DATA_URI_REGEX = /^data:([^;,]+)/;
|
|
171918
|
+
const getFileName$4 = (path2) => {
|
|
171919
|
+
if (path2.startsWith("data:image/")) {
|
|
171920
|
+
const nameMatch = path2.match(RESOURCE_NAME_REGEX$2);
|
|
171921
|
+
if (nameMatch?.[1]) {
|
|
171922
|
+
try {
|
|
171923
|
+
return decodeURIComponent(nameMatch[1]);
|
|
171924
|
+
} catch (_2) {
|
|
171925
|
+
return "Pasted Image";
|
|
171926
|
+
}
|
|
171927
|
+
}
|
|
171928
|
+
return "Pasted Image";
|
|
171929
|
+
}
|
|
171930
|
+
if (path2.startsWith("data:")) {
|
|
171931
|
+
const nameMatch = path2.match(RESOURCE_NAME_REGEX$2);
|
|
171932
|
+
if (nameMatch?.[1]) {
|
|
171933
|
+
try {
|
|
171934
|
+
return decodeURIComponent(nameMatch[1]);
|
|
171935
|
+
} catch (_2) {
|
|
171936
|
+
return "Pasted File";
|
|
171937
|
+
}
|
|
171938
|
+
}
|
|
171939
|
+
const mimeTypeMatch = path2.match(DATA_URI_REGEX);
|
|
171940
|
+
if (mimeTypeMatch?.[1]) {
|
|
171941
|
+
const simpleType = mimeTypeMatch[1].split("/")[0];
|
|
171942
|
+
if (simpleType) {
|
|
171943
|
+
return `Pasted ${simpleType.charAt(0).toUpperCase() + simpleType.slice(1)} File`;
|
|
171944
|
+
}
|
|
171945
|
+
}
|
|
171946
|
+
return "Pasted File";
|
|
171947
|
+
}
|
|
171948
|
+
const parts = path2.split(PATH_SEPARATOR_REGEX$5);
|
|
171949
|
+
return parts[parts.length - 1];
|
|
171950
|
+
};
|
|
171951
|
+
const canvasSupportedExtensions = /* @__PURE__ */ new Set([
|
|
171952
|
+
...Object.keys(langs),
|
|
171953
|
+
...Object.keys(languageOverrideMap)
|
|
171954
|
+
]);
|
|
171955
|
+
const isCanvasSupported = (fileName) => {
|
|
171956
|
+
const ext = fileName.toLowerCase().split("/").pop()?.split(".").pop() ?? "";
|
|
171957
|
+
return canvasSupportedExtensions.has(ext);
|
|
171958
|
+
};
|
|
171959
|
+
const defaultFiles = [];
|
|
171960
|
+
const StyledCard$1 = styled$1(Card)(({ theme: theme2 }) => ({
|
|
171961
|
+
display: "flex",
|
|
171962
|
+
flexDirection: "column",
|
|
171963
|
+
height: "100%",
|
|
171964
|
+
backgroundColor: alpha$1(theme2.palette.background.paper, 0.8),
|
|
171965
|
+
backgroundImage: "none",
|
|
171966
|
+
transition: "box-shadow 0.2s ease-in-out",
|
|
171967
|
+
"&:hover": {
|
|
171968
|
+
boxShadow: theme2.shadows[6]
|
|
171969
|
+
},
|
|
171970
|
+
borderRadius: 8
|
|
171971
|
+
}));
|
|
171972
|
+
const StyledImage = styled$1("img")({
|
|
171973
|
+
height: 140,
|
|
171974
|
+
width: "100%",
|
|
171975
|
+
objectFit: "contain",
|
|
171976
|
+
backgroundColor: alpha$1("#000", 0.1)
|
|
171977
|
+
});
|
|
171978
|
+
const StyledVideo = styled$1("video")({
|
|
171979
|
+
height: 140,
|
|
171980
|
+
width: "100%",
|
|
171981
|
+
objectFit: "contain",
|
|
171982
|
+
backgroundColor: alpha$1("#000", 0.1)
|
|
171983
|
+
});
|
|
171984
|
+
const IconBox = styled$1(Box)({
|
|
171985
|
+
height: 140,
|
|
171986
|
+
display: "flex",
|
|
171987
|
+
alignItems: "center",
|
|
171988
|
+
justifyContent: "center"
|
|
171989
|
+
});
|
|
171990
|
+
const FileNameTypography = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
171991
|
+
fontWeight: 400,
|
|
171992
|
+
whiteSpace: "nowrap",
|
|
171993
|
+
overflow: "hidden",
|
|
171994
|
+
textOverflow: "ellipsis",
|
|
171995
|
+
fontSize: "0.7rem",
|
|
171996
|
+
padding: theme2.spacing(0, 0)
|
|
171997
|
+
}));
|
|
171998
|
+
const isImage$2 = (path2) => {
|
|
171999
|
+
const imageExtensions = [
|
|
172000
|
+
".jpg",
|
|
172001
|
+
".jpeg",
|
|
172002
|
+
".png",
|
|
172003
|
+
".gif",
|
|
172004
|
+
".webp",
|
|
172005
|
+
".bmp",
|
|
172006
|
+
".svg",
|
|
172007
|
+
".tiff",
|
|
172008
|
+
".tif",
|
|
172009
|
+
".ico",
|
|
172010
|
+
".heic",
|
|
172011
|
+
".heif",
|
|
172012
|
+
".avif",
|
|
172013
|
+
".jfif",
|
|
172014
|
+
".pjpeg",
|
|
172015
|
+
".pjp"
|
|
172016
|
+
];
|
|
172017
|
+
const lowerPath = path2.toLowerCase();
|
|
172018
|
+
return imageExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
172019
|
+
};
|
|
172020
|
+
const isVideo$2 = (path2) => {
|
|
172021
|
+
const videoExtensions = [
|
|
172022
|
+
".mp4",
|
|
172023
|
+
".webm",
|
|
172024
|
+
".ogg",
|
|
172025
|
+
".mov",
|
|
172026
|
+
".avi",
|
|
172027
|
+
".wmv",
|
|
172028
|
+
".flv",
|
|
172029
|
+
".mkv",
|
|
172030
|
+
".m4v",
|
|
172031
|
+
".3gp",
|
|
172032
|
+
".3g2"
|
|
172033
|
+
];
|
|
172034
|
+
const lowerPath = path2.toLowerCase();
|
|
172035
|
+
return videoExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
172036
|
+
};
|
|
172037
|
+
const getAttachmentUrl$2 = (client, path2) => {
|
|
172038
|
+
if (path2.startsWith("http")) {
|
|
172039
|
+
return path2;
|
|
172040
|
+
}
|
|
172041
|
+
if (path2.startsWith("data:")) {
|
|
172042
|
+
return path2;
|
|
172043
|
+
}
|
|
172044
|
+
const normalizedPath = path2.startsWith("file://") ? path2 : `file://${path2}`;
|
|
172045
|
+
if (isImage$2(path2)) {
|
|
172046
|
+
return client.static.getImageUrl(normalizedPath);
|
|
172047
|
+
}
|
|
172048
|
+
if (isVideo$2(path2)) {
|
|
172049
|
+
return client.static.getVideoUrl(normalizedPath);
|
|
172050
|
+
}
|
|
172051
|
+
return path2;
|
|
172052
|
+
};
|
|
172053
|
+
const getIconForFileType = (type2) => {
|
|
172054
|
+
switch (type2) {
|
|
172055
|
+
case "image":
|
|
172056
|
+
return FileImage;
|
|
172057
|
+
case "video":
|
|
172058
|
+
return FileVideo;
|
|
172059
|
+
case "pdf":
|
|
172060
|
+
return ScrollText;
|
|
172061
|
+
case "markdown":
|
|
172062
|
+
case "text":
|
|
172063
|
+
return FileText;
|
|
172064
|
+
case "html":
|
|
172065
|
+
case "code":
|
|
172066
|
+
return Code;
|
|
172067
|
+
case "archive":
|
|
172068
|
+
return Archive;
|
|
172069
|
+
case "document":
|
|
172070
|
+
return FileText;
|
|
172071
|
+
case "spreadsheet":
|
|
172072
|
+
return FileSpreadsheet;
|
|
172073
|
+
case "presentation":
|
|
172074
|
+
return Presentation;
|
|
172075
|
+
case "audio":
|
|
172076
|
+
return AudioLines;
|
|
172077
|
+
default:
|
|
172078
|
+
return File$1;
|
|
172079
|
+
}
|
|
172080
|
+
};
|
|
172081
|
+
const CanvasFileViewer = ({
|
|
172082
|
+
conversationId,
|
|
172083
|
+
onSwitchToDocumentView
|
|
172084
|
+
}) => {
|
|
172085
|
+
const files = useCanvasStore((state2) => {
|
|
172086
|
+
const conv = state2.conversations[conversationId];
|
|
172087
|
+
return conv?.mentionedFiles ?? defaultFiles;
|
|
172088
|
+
});
|
|
172089
|
+
const setFiles = useCanvasStore((s2) => s2.setFiles);
|
|
172090
|
+
const setOpenTabs = useCanvasStore((s2) => s2.setOpenTabs);
|
|
172091
|
+
const setSelectedTab = useCanvasStore((s2) => s2.setSelectedTab);
|
|
172092
|
+
const memoizedFiles = reactExports.useMemo(() => files, [files]);
|
|
172093
|
+
const client = reactExports.useMemo(() => {
|
|
172094
|
+
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
172095
|
+
}, []);
|
|
172096
|
+
const getUrl2 = reactExports.useCallback(
|
|
172097
|
+
(path2) => getAttachmentUrl$2(client, path2),
|
|
172098
|
+
[client]
|
|
172099
|
+
);
|
|
172100
|
+
const handleFileClick = reactExports.useCallback(
|
|
172101
|
+
async (fileDoc) => {
|
|
172102
|
+
const title = fileDoc.title;
|
|
172103
|
+
const fallbackAction = (err) => {
|
|
172104
|
+
if (err) console.error("Error processing file:", err);
|
|
172105
|
+
try {
|
|
172106
|
+
if (fileDoc.path.startsWith("data:")) {
|
|
172107
|
+
console.warn(
|
|
172108
|
+
"Opening data URI with OS default is not directly supported here.",
|
|
172109
|
+
`${fileDoc.path.substring(0, 50)}...`
|
|
172110
|
+
);
|
|
172111
|
+
} else {
|
|
172112
|
+
window.api.openFile(fileDoc.path);
|
|
172113
|
+
}
|
|
172114
|
+
} catch (error) {
|
|
172115
|
+
console.error("Error opening file natively:", error);
|
|
172116
|
+
}
|
|
172117
|
+
};
|
|
172118
|
+
if (fileDoc.path.startsWith("data:")) {
|
|
172119
|
+
if (isCanvasSupported(title)) {
|
|
172120
|
+
const docId = fileDoc.path;
|
|
172121
|
+
const newDoc = {
|
|
172122
|
+
id: docId,
|
|
172123
|
+
title,
|
|
172124
|
+
path: docId,
|
|
172125
|
+
// Store data URI as path for consistency if needed
|
|
172126
|
+
content: fileDoc.path
|
|
172127
|
+
// The content is the data URI itself
|
|
172128
|
+
};
|
|
172129
|
+
const state2 = useCanvasStore.getState();
|
|
172130
|
+
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
172131
|
+
const filesInState = conversationCanvasState?.files ?? [];
|
|
172132
|
+
const openTabsInState = conversationCanvasState?.openTabs ?? [];
|
|
172133
|
+
const updatedFiles = (() => {
|
|
172134
|
+
const idx = filesInState.findIndex((d2) => d2.id === docId);
|
|
172135
|
+
if (idx !== -1) {
|
|
172136
|
+
return [
|
|
172137
|
+
...filesInState.slice(0, idx),
|
|
172138
|
+
newDoc,
|
|
172139
|
+
...filesInState.slice(idx + 1)
|
|
172140
|
+
];
|
|
172141
|
+
}
|
|
172142
|
+
return [...filesInState, newDoc];
|
|
172143
|
+
})();
|
|
172144
|
+
setFiles(conversationId, updatedFiles);
|
|
172145
|
+
const existsTab = openTabsInState.some((t2) => t2.id === docId);
|
|
172146
|
+
const updatedTabs = existsTab ? openTabsInState : [...openTabsInState, { id: docId, title }];
|
|
172147
|
+
setOpenTabs(conversationId, updatedTabs);
|
|
172148
|
+
setSelectedTab(conversationId, docId);
|
|
172149
|
+
onSwitchToDocumentView(docId);
|
|
172150
|
+
} else {
|
|
172151
|
+
fallbackAction();
|
|
172152
|
+
}
|
|
172153
|
+
} else {
|
|
172154
|
+
const normalizedPath = fileDoc.path.startsWith("file://") ? fileDoc.path.substring(7) : fileDoc.path;
|
|
172155
|
+
try {
|
|
172156
|
+
const result = await window.api.readFile(normalizedPath);
|
|
172157
|
+
if (result.success && isCanvasSupported(title)) {
|
|
172158
|
+
const docId = normalizedPath;
|
|
172159
|
+
const newDoc = {
|
|
172160
|
+
id: docId,
|
|
172161
|
+
title,
|
|
172162
|
+
path: normalizedPath,
|
|
172163
|
+
content: result.data
|
|
172164
|
+
};
|
|
172165
|
+
const state2 = useCanvasStore.getState();
|
|
172166
|
+
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
172167
|
+
const filesInState = conversationCanvasState?.files ?? [];
|
|
172168
|
+
const openTabsInState = conversationCanvasState?.openTabs ?? [];
|
|
172169
|
+
const updatedFiles = (() => {
|
|
172170
|
+
const idx = filesInState.findIndex((d2) => d2.id === docId);
|
|
172171
|
+
if (idx !== -1) {
|
|
172172
|
+
return [
|
|
172173
|
+
...filesInState.slice(0, idx),
|
|
172174
|
+
newDoc,
|
|
172175
|
+
...filesInState.slice(idx + 1)
|
|
172176
|
+
];
|
|
172177
|
+
}
|
|
172178
|
+
return [...filesInState, newDoc];
|
|
172179
|
+
})();
|
|
172180
|
+
setFiles(conversationId, updatedFiles);
|
|
172181
|
+
const existsTab = openTabsInState.some((t2) => t2.id === docId);
|
|
172182
|
+
const updatedTabs = existsTab ? openTabsInState : [...openTabsInState, { id: docId, title }];
|
|
172183
|
+
setOpenTabs(conversationId, updatedTabs);
|
|
172184
|
+
setSelectedTab(conversationId, docId);
|
|
172185
|
+
onSwitchToDocumentView(docId);
|
|
172186
|
+
return;
|
|
172187
|
+
}
|
|
172188
|
+
const errorMessage = !result.success && result.error ? result.error instanceof Error ? result.error.message : String(result.error) : "Unknown error reading file";
|
|
172189
|
+
return fallbackAction(errorMessage);
|
|
172190
|
+
} catch (error) {
|
|
172191
|
+
const message2 = error instanceof Error ? error.message : String(error ?? "Unknown error reading file");
|
|
172192
|
+
return fallbackAction(message2);
|
|
172193
|
+
}
|
|
172194
|
+
}
|
|
172195
|
+
},
|
|
172196
|
+
[
|
|
172197
|
+
conversationId,
|
|
172198
|
+
setFiles,
|
|
172199
|
+
setOpenTabs,
|
|
172200
|
+
setSelectedTab,
|
|
172201
|
+
onSwitchToDocumentView
|
|
172202
|
+
]
|
|
172203
|
+
);
|
|
172204
|
+
if (files.length === 0) {
|
|
172205
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
172206
|
+
Box,
|
|
172207
|
+
{
|
|
172208
|
+
sx: {
|
|
172209
|
+
display: "flex",
|
|
172210
|
+
flexDirection: "column",
|
|
172211
|
+
alignItems: "center",
|
|
172212
|
+
justifyContent: "center",
|
|
172213
|
+
height: "100%",
|
|
172214
|
+
p: 3,
|
|
172215
|
+
textAlign: "center"
|
|
172216
|
+
},
|
|
172217
|
+
children: [
|
|
172218
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", gutterBottom: true, children: "No Files in Conversation" }),
|
|
172219
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", color: "text.secondary", children: "Files attached to messages will appear here." })
|
|
172220
|
+
]
|
|
172221
|
+
}
|
|
172222
|
+
);
|
|
172223
|
+
}
|
|
172224
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { p: 2, height: "100%", overflowY: "auto" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { container: true, spacing: 2, children: memoizedFiles.map((fileDoc) => {
|
|
172225
|
+
const IconComponent = getIconForFileType(fileDoc.type);
|
|
172226
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 6, sm: 4, md: 4, children: /* @__PURE__ */ jsxRuntimeExports.jsx(StyledCard$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
172227
|
+
CardActionArea,
|
|
172228
|
+
{
|
|
172229
|
+
onClick: () => handleFileClick(fileDoc),
|
|
172230
|
+
sx: { display: "flex", flexDirection: "column", flexGrow: 1 },
|
|
172231
|
+
children: [
|
|
172232
|
+
fileDoc.type === "image" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172233
|
+
StyledImage,
|
|
172234
|
+
{
|
|
172235
|
+
src: getUrl2(fileDoc.path),
|
|
172236
|
+
alt: fileDoc.title,
|
|
172237
|
+
title: fileDoc.title
|
|
172238
|
+
}
|
|
172239
|
+
) : fileDoc.type === "video" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172240
|
+
StyledVideo,
|
|
172241
|
+
{
|
|
172242
|
+
src: getUrl2(fileDoc.path),
|
|
172243
|
+
title: fileDoc.title,
|
|
172244
|
+
controls: true,
|
|
172245
|
+
preload: "metadata"
|
|
172246
|
+
}
|
|
172247
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(IconBox, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(IconComponent, { size: 48, strokeWidth: 1 }) }),
|
|
172248
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172249
|
+
CardContent,
|
|
172250
|
+
{
|
|
172251
|
+
sx: { width: "100%", pt: 1, pb: "8px !important" },
|
|
172252
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: fileDoc.title, placement: "bottom", arrow: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FileNameTypography, { variant: "caption", children: getFileName$4(fileDoc.title) }) })
|
|
172253
|
+
}
|
|
172254
|
+
)
|
|
172255
|
+
]
|
|
172256
|
+
}
|
|
172257
|
+
) }) }, fileDoc.id);
|
|
172258
|
+
}) }) });
|
|
172259
|
+
};
|
|
171486
172260
|
const StyledTabs = styled$1(Tabs)(({ theme: theme2 }) => ({
|
|
171487
172261
|
borderBottom: `1px solid ${alpha$1(theme2.palette.divider, 0.05)}`,
|
|
171488
172262
|
maxWidth: "100%",
|
|
@@ -171636,8 +172410,22 @@ const CanvasComponent = ({
|
|
|
171636
172410
|
initialDocuments = [],
|
|
171637
172411
|
onChangeActiveDocument: externalChangeActiveDocument,
|
|
171638
172412
|
onClose,
|
|
171639
|
-
onCloseDocument
|
|
172413
|
+
onCloseDocument,
|
|
172414
|
+
conversationId
|
|
171640
172415
|
}) => {
|
|
172416
|
+
const { setViewMode } = useCanvasStore();
|
|
172417
|
+
const canvasState = useCanvasStore(
|
|
172418
|
+
(state2) => conversationId ? state2.conversations[conversationId] : void 0
|
|
172419
|
+
);
|
|
172420
|
+
const currentView = canvasState?.viewMode ?? "documents";
|
|
172421
|
+
const setCurrentView = reactExports.useCallback(
|
|
172422
|
+
(viewMode) => {
|
|
172423
|
+
if (conversationId) {
|
|
172424
|
+
setViewMode(conversationId, viewMode);
|
|
172425
|
+
}
|
|
172426
|
+
},
|
|
172427
|
+
[conversationId, setViewMode]
|
|
172428
|
+
);
|
|
171641
172429
|
const documents = initialDocuments;
|
|
171642
172430
|
const [internalActiveDocumentId, setInternalActiveDocumentId] = reactExports.useState(documents.length > 0 ? documents[0].id : null);
|
|
171643
172431
|
const activeDocumentId = externalActiveDocumentId ?? internalActiveDocumentId;
|
|
@@ -171652,6 +172440,13 @@ const CanvasComponent = ({
|
|
|
171652
172440
|
},
|
|
171653
172441
|
[externalChangeActiveDocument]
|
|
171654
172442
|
);
|
|
172443
|
+
const handleSwitchToDocumentView = reactExports.useCallback(
|
|
172444
|
+
(documentId) => {
|
|
172445
|
+
setCurrentView("documents");
|
|
172446
|
+
handleChangeActiveDocument(documentId);
|
|
172447
|
+
},
|
|
172448
|
+
[handleChangeActiveDocument, setCurrentView]
|
|
172449
|
+
);
|
|
171655
172450
|
const handleCloseDocument = reactExports.useCallback(
|
|
171656
172451
|
(documentId) => {
|
|
171657
172452
|
onCloseDocument(documentId);
|
|
@@ -171676,29 +172471,103 @@ const CanvasComponent = ({
|
|
|
171676
172471
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CanvasHeader, { children: [
|
|
171677
172472
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(HeaderTitle, { children: [
|
|
171678
172473
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", fontWeight: 600, children: "Canvas" }),
|
|
171679
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.secondary", children: "
|
|
172474
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.secondary", children: "Your visual workspace for files and documents" })
|
|
171680
172475
|
] }),
|
|
171681
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
171682
|
-
|
|
172476
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
|
|
172477
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Documents View", arrow: true, placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172478
|
+
IconButton,
|
|
172479
|
+
{
|
|
172480
|
+
onClick: () => setCurrentView("documents"),
|
|
172481
|
+
size: "large",
|
|
172482
|
+
sx: (theme2) => ({
|
|
172483
|
+
color: currentView === "documents" ? theme2.palette.primary.main : theme2.palette.text.secondary,
|
|
172484
|
+
backgroundColor: currentView === "documents" ? alpha$1(theme2.palette.primary.main, 0.08) : "transparent",
|
|
172485
|
+
"&:hover": {
|
|
172486
|
+
backgroundColor: alpha$1(theme2.palette.primary.main, 0.12)
|
|
172487
|
+
},
|
|
172488
|
+
width: 36,
|
|
172489
|
+
height: 36,
|
|
172490
|
+
padding: 0
|
|
172491
|
+
}),
|
|
172492
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FileText, { size: 16 })
|
|
172493
|
+
}
|
|
172494
|
+
) }),
|
|
172495
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Files View", arrow: true, placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172496
|
+
IconButton,
|
|
172497
|
+
{
|
|
172498
|
+
onClick: () => setCurrentView("files"),
|
|
172499
|
+
size: "large",
|
|
172500
|
+
sx: (theme2) => ({
|
|
172501
|
+
color: currentView === "files" ? theme2.palette.primary.main : theme2.palette.text.secondary,
|
|
172502
|
+
backgroundColor: currentView === "files" ? alpha$1(theme2.palette.primary.main, 0.08) : "transparent",
|
|
172503
|
+
"&:hover": {
|
|
172504
|
+
backgroundColor: alpha$1(theme2.palette.primary.main, 0.12)
|
|
172505
|
+
},
|
|
172506
|
+
width: 36,
|
|
172507
|
+
height: 36,
|
|
172508
|
+
padding: 0
|
|
172509
|
+
}),
|
|
172510
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, { size: 16 })
|
|
172511
|
+
}
|
|
172512
|
+
) }),
|
|
172513
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172514
|
+
Tooltip$1,
|
|
172515
|
+
{
|
|
172516
|
+
title: "Close Canvas",
|
|
172517
|
+
arrow: true,
|
|
172518
|
+
placement: "top",
|
|
172519
|
+
sx: { padding: 0 },
|
|
172520
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172521
|
+
CloseButton,
|
|
172522
|
+
{
|
|
172523
|
+
onClick: onClose,
|
|
172524
|
+
size: "large",
|
|
172525
|
+
"data-tour-tag": "close-canvas-button",
|
|
172526
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X$2, { size: 16 })
|
|
172527
|
+
}
|
|
172528
|
+
)
|
|
172529
|
+
}
|
|
172530
|
+
)
|
|
172531
|
+
] })
|
|
172532
|
+
] }),
|
|
172533
|
+
currentView === "documents" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
172534
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172535
|
+
CanvasTabs,
|
|
171683
172536
|
{
|
|
171684
|
-
|
|
171685
|
-
|
|
171686
|
-
|
|
171687
|
-
|
|
172537
|
+
documents,
|
|
172538
|
+
activeDocumentId,
|
|
172539
|
+
onChangeActiveDocument: handleChangeActiveDocument,
|
|
172540
|
+
onCloseDocument: handleCloseDocument
|
|
171688
172541
|
}
|
|
171689
|
-
)
|
|
172542
|
+
),
|
|
172543
|
+
activeDocument && /* @__PURE__ */ jsxRuntimeExports.jsx(CanvasContent, { document: activeDocument }),
|
|
172544
|
+
!activeDocument && documents.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
172545
|
+
Box,
|
|
172546
|
+
{
|
|
172547
|
+
sx: {
|
|
172548
|
+
display: "flex",
|
|
172549
|
+
flexDirection: "column",
|
|
172550
|
+
alignItems: "center",
|
|
172551
|
+
justifyContent: "center",
|
|
172552
|
+
height: "100%",
|
|
172553
|
+
p: 3,
|
|
172554
|
+
textAlign: "center"
|
|
172555
|
+
},
|
|
172556
|
+
children: [
|
|
172557
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", gutterBottom: true, children: "No Documents Open" }),
|
|
172558
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", color: "text.secondary", children: "Click on a file in chat or use the files view to open a file." })
|
|
172559
|
+
]
|
|
172560
|
+
}
|
|
172561
|
+
)
|
|
171690
172562
|
] }),
|
|
171691
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
171692
|
-
|
|
172563
|
+
currentView === "files" && conversationId && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172564
|
+
CanvasFileViewer,
|
|
171693
172565
|
{
|
|
171694
|
-
|
|
171695
|
-
|
|
171696
|
-
onChangeActiveDocument: handleChangeActiveDocument,
|
|
171697
|
-
onCloseDocument: handleCloseDocument
|
|
172566
|
+
conversationId,
|
|
172567
|
+
onSwitchToDocumentView: handleSwitchToDocumentView
|
|
171698
172568
|
}
|
|
171699
172569
|
),
|
|
171700
|
-
|
|
171701
|
-
!activeDocument && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
172570
|
+
currentView === "files" && !conversationId && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
171702
172571
|
Box,
|
|
171703
172572
|
{
|
|
171704
172573
|
sx: {
|
|
@@ -171711,8 +172580,8 @@ const CanvasComponent = ({
|
|
|
171711
172580
|
textAlign: "center"
|
|
171712
172581
|
},
|
|
171713
172582
|
children: [
|
|
171714
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", gutterBottom: true, children: "
|
|
171715
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", color: "text.secondary", children: "
|
|
172583
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", gutterBottom: true, children: "File Viewer" }),
|
|
172584
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", color: "text.secondary", children: "No active conversation context to display files." })
|
|
171716
172585
|
]
|
|
171717
172586
|
}
|
|
171718
172587
|
)
|
|
@@ -171892,7 +172761,7 @@ const GenerationSettingsSection = ({
|
|
|
171892
172761
|
}) => {
|
|
171893
172762
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
171894
172763
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$6, { variant: "subtitle1", children: [
|
|
171895
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$
|
|
172764
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$3, { icon: faSliders }),
|
|
171896
172765
|
"Generation Settings",
|
|
171897
172766
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
171898
172767
|
Tooltip$1,
|
|
@@ -172253,7 +173122,7 @@ const ModelHostingSection = ({
|
|
|
172253
173122
|
}) => {
|
|
172254
173123
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
172255
173124
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$6, { variant: "subtitle1", children: [
|
|
172256
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$
|
|
173125
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$3, { icon: faServer }),
|
|
172257
173126
|
"Model & Hosting",
|
|
172258
173127
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172259
173128
|
Tooltip$1,
|
|
@@ -173920,6 +174789,47 @@ const LoadingIndicator = reactExports.memo(({ status, currentExecution }) => {
|
|
|
173920
174789
|
] }) }) })
|
|
173921
174790
|
] });
|
|
173922
174791
|
});
|
|
174792
|
+
const getFileTypeFromPath = (filePath) => {
|
|
174793
|
+
if (filePath.startsWith("data:image/")) return "image";
|
|
174794
|
+
if (filePath.startsWith("data:video/")) return "video";
|
|
174795
|
+
if (filePath.startsWith("data:application/pdf")) return "pdf";
|
|
174796
|
+
const extension2 = filePath.split(".").pop()?.toLowerCase();
|
|
174797
|
+
if (!extension2) return "other";
|
|
174798
|
+
if (["png", "jpg", "jpeg", "gif", "bmp", "webp", "svg"].includes(extension2))
|
|
174799
|
+
return "image";
|
|
174800
|
+
if (["mp4", "webm", "ogg", "mov", "avi", "mkv"].includes(extension2))
|
|
174801
|
+
return "video";
|
|
174802
|
+
if (["pdf"].includes(extension2)) return "pdf";
|
|
174803
|
+
if (["md", "markdown"].includes(extension2)) return "markdown";
|
|
174804
|
+
if (["html", "htm"].includes(extension2)) return "html";
|
|
174805
|
+
if (["zip", "tar", "gz", "rar", "7z"].includes(extension2)) return "archive";
|
|
174806
|
+
if (["txt", "log", "csv", "json", "xml", "yaml", "yml"].includes(extension2))
|
|
174807
|
+
return "text";
|
|
174808
|
+
if ([
|
|
174809
|
+
"js",
|
|
174810
|
+
"ts",
|
|
174811
|
+
"jsx",
|
|
174812
|
+
"tsx",
|
|
174813
|
+
"py",
|
|
174814
|
+
"java",
|
|
174815
|
+
"c",
|
|
174816
|
+
"cpp",
|
|
174817
|
+
"cs",
|
|
174818
|
+
"go",
|
|
174819
|
+
"rb",
|
|
174820
|
+
"php",
|
|
174821
|
+
"sh",
|
|
174822
|
+
"css",
|
|
174823
|
+
"scss",
|
|
174824
|
+
"less"
|
|
174825
|
+
].includes(extension2))
|
|
174826
|
+
return "code";
|
|
174827
|
+
if (["doc", "docx", "odt"].includes(extension2)) return "document";
|
|
174828
|
+
if (["xls", "xlsx", "ods"].includes(extension2)) return "spreadsheet";
|
|
174829
|
+
if (["ppt", "pptx", "odp"].includes(extension2)) return "presentation";
|
|
174830
|
+
if (["mp3", "wav", "aac", "flac"].includes(extension2)) return "audio";
|
|
174831
|
+
return "other";
|
|
174832
|
+
};
|
|
173923
174833
|
const FILE_EXTENSION_REGEX = /\.([a-zA-Z0-9]+)$/;
|
|
173924
174834
|
const PATH_SLASH_REGEX = /[\\/]/;
|
|
173925
174835
|
const getLanguageFromExtension = (filename) => {
|
|
@@ -211672,18 +212582,28 @@ const errorSuggestions = {
|
|
|
211672
212582
|
"to update your API key."
|
|
211673
212583
|
] }),
|
|
211674
212584
|
"404 models": /* @__PURE__ */ jsxRuntimeExports.jsxs(InfoText, { children: [
|
|
211675
|
-
"
|
|
212585
|
+
"The model you're trying to use is not available. Please go to the",
|
|
211676
212586
|
" ",
|
|
211677
212587
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Link$1, { component: Link$2, to: "/settings", color: "inherit", children: "settings page" }),
|
|
211678
212588
|
" ",
|
|
211679
212589
|
"to select a different model, or try using Radient to get access to hundreds of models with no rate limits"
|
|
211680
212590
|
] }),
|
|
211681
212591
|
"Call ListModels": /* @__PURE__ */ jsxRuntimeExports.jsxs(InfoText, { children: [
|
|
211682
|
-
"
|
|
212592
|
+
"The model you're trying to use is not available. Please go to the",
|
|
211683
212593
|
" ",
|
|
211684
212594
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Link$1, { component: Link$2, to: "/settings", color: "inherit", children: "settings page" }),
|
|
211685
212595
|
" ",
|
|
211686
212596
|
"to select a different model, or try using Radient to get access to hundreds of models with no rate limits"
|
|
212597
|
+
] }),
|
|
212598
|
+
"Failed to interpret action": /* @__PURE__ */ jsxRuntimeExports.jsxs(InfoText, { children: [
|
|
212599
|
+
"The model tried to perform an action but was unable to express its intent in the required schema. Typically this is because you're trying to use a model that might not be sophisticated enough to follow the complex instructions required for agentic AI.",
|
|
212600
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
212601
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
212602
|
+
"Change your model in the",
|
|
212603
|
+
" ",
|
|
212604
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Link$1, { component: Link$2, to: "/settings", color: "inherit", children: "settings page" }),
|
|
212605
|
+
" ",
|
|
212606
|
+
"to fix this. We recommend using Radient Automatic to have the best combo of cheap and smart picked for you based on your requests (typically cheaper than bringing your own key), or use one of the recommended models with a star icon."
|
|
211687
212607
|
] })
|
|
211688
212608
|
};
|
|
211689
212609
|
const ErrorBlock = ({ error, isUser }) => {
|
|
@@ -211718,14 +212638,6 @@ const ErrorBlock = ({ error, isUser }) => {
|
|
|
211718
212638
|
] })
|
|
211719
212639
|
] });
|
|
211720
212640
|
};
|
|
211721
|
-
const canvasSupportedExtensions = /* @__PURE__ */ new Set([
|
|
211722
|
-
...Object.keys(langs),
|
|
211723
|
-
...Object.keys(languageOverrideMap)
|
|
211724
|
-
]);
|
|
211725
|
-
const isCanvasSupported = (fileName) => {
|
|
211726
|
-
const ext = fileName.toLowerCase().split("/").pop()?.split(".").pop() ?? "";
|
|
211727
|
-
return canvasSupportedExtensions.has(ext);
|
|
211728
|
-
};
|
|
211729
212641
|
const RESOURCE_NAME_REGEX = /name=([^;,]+)/;
|
|
211730
212642
|
const FileAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
211731
212643
|
display: "flex",
|
|
@@ -211799,68 +212711,28 @@ const getFileName$3 = (path2) => {
|
|
|
211799
212711
|
const parts = path2.split(PATH_SEPARATOR_REGEX$3);
|
|
211800
212712
|
return parts[parts.length - 1];
|
|
211801
212713
|
};
|
|
211802
|
-
const FileAttachment = (
|
|
211803
|
-
file,
|
|
211804
|
-
|
|
211805
|
-
|
|
211806
|
-
|
|
211807
|
-
|
|
211808
|
-
|
|
211809
|
-
const setOpenTabs = useCanvasStore((s2) => s2.setOpenTabs);
|
|
211810
|
-
const setSelectedTab = useCanvasStore((s2) => s2.setSelectedTab);
|
|
211811
|
-
const isPastedImage = file.startsWith("data:image/");
|
|
211812
|
-
const handleClick = reactExports.useCallback(async () => {
|
|
211813
|
-
const title = getFileName$3(file);
|
|
211814
|
-
const fallbackAction = (err) => {
|
|
211815
|
-
if (err) console.error("Error processing file:", err);
|
|
211816
|
-
onClick(file);
|
|
211817
|
-
};
|
|
211818
|
-
if (file.startsWith("data:")) {
|
|
211819
|
-
if (isCanvasSupported(title)) {
|
|
211820
|
-
const docId = file;
|
|
211821
|
-
const newDoc = {
|
|
211822
|
-
id: docId,
|
|
211823
|
-
title,
|
|
211824
|
-
path: docId,
|
|
211825
|
-
// Store data URI as path for consistency if needed
|
|
211826
|
-
content: file
|
|
211827
|
-
// The content is the data URI itself
|
|
211828
|
-
};
|
|
211829
|
-
const state2 = useCanvasStore.getState();
|
|
211830
|
-
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
211831
|
-
const filesInState = conversationCanvasState?.files ?? [];
|
|
211832
|
-
const openTabsInState = conversationCanvasState?.openTabs ?? [];
|
|
211833
|
-
const updatedFiles = (() => {
|
|
211834
|
-
const idx = filesInState.findIndex((d2) => d2.id === docId);
|
|
211835
|
-
if (idx !== -1) {
|
|
211836
|
-
return [
|
|
211837
|
-
...filesInState.slice(0, idx),
|
|
211838
|
-
newDoc,
|
|
211839
|
-
...filesInState.slice(idx + 1)
|
|
211840
|
-
];
|
|
211841
|
-
}
|
|
211842
|
-
return [...filesInState, newDoc];
|
|
211843
|
-
})();
|
|
211844
|
-
setFiles(conversationId, updatedFiles);
|
|
211845
|
-
const existsTab = openTabsInState.some((t2) => t2.id === docId);
|
|
211846
|
-
const updatedTabs = existsTab ? openTabsInState : [...openTabsInState, { id: docId, title }];
|
|
211847
|
-
setOpenTabs(conversationId, updatedTabs);
|
|
211848
|
-
setSelectedTab(conversationId, docId);
|
|
211849
|
-
setCanvasOpen(true);
|
|
211850
|
-
} else {
|
|
212714
|
+
const FileAttachment = reactExports.memo(
|
|
212715
|
+
({ file, onClick, conversationId }) => {
|
|
212716
|
+
const setCanvasOpen = useUiPreferencesStore((s2) => s2.setCanvasOpen);
|
|
212717
|
+
const handleClick = reactExports.useCallback(async () => {
|
|
212718
|
+
const title = getFileName$3(file);
|
|
212719
|
+
const fallbackAction = (err) => {
|
|
212720
|
+
if (err) console.error("Error processing file:", err);
|
|
211851
212721
|
onClick(file);
|
|
211852
|
-
}
|
|
211853
|
-
|
|
211854
|
-
|
|
211855
|
-
|
|
211856
|
-
|
|
211857
|
-
if (result.success && isCanvasSupported(title)) {
|
|
211858
|
-
const docId = normalizedPath;
|
|
212722
|
+
};
|
|
212723
|
+
const { setFiles, setOpenTabs, setSelectedTab } = useCanvasStore.getState();
|
|
212724
|
+
if (file.startsWith("data:")) {
|
|
212725
|
+
if (isCanvasSupported(title)) {
|
|
212726
|
+
const docId = file;
|
|
211859
212727
|
const newDoc = {
|
|
211860
212728
|
id: docId,
|
|
211861
212729
|
title,
|
|
211862
|
-
path:
|
|
211863
|
-
|
|
212730
|
+
path: docId,
|
|
212731
|
+
// Store data URI as path for consistency if needed
|
|
212732
|
+
content: file,
|
|
212733
|
+
// The content is the data URI itself
|
|
212734
|
+
type: getFileTypeFromPath(file)
|
|
212735
|
+
// Ensure type is included
|
|
211864
212736
|
};
|
|
211865
212737
|
const state2 = useCanvasStore.getState();
|
|
211866
212738
|
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
@@ -211883,60 +212755,93 @@ const FileAttachment = ({
|
|
|
211883
212755
|
setOpenTabs(conversationId, updatedTabs);
|
|
211884
212756
|
setSelectedTab(conversationId, docId);
|
|
211885
212757
|
setCanvasOpen(true);
|
|
211886
|
-
|
|
212758
|
+
} else {
|
|
212759
|
+
onClick(file);
|
|
211887
212760
|
}
|
|
211888
|
-
|
|
211889
|
-
|
|
211890
|
-
|
|
211891
|
-
|
|
211892
|
-
|
|
211893
|
-
|
|
211894
|
-
|
|
211895
|
-
|
|
211896
|
-
|
|
211897
|
-
|
|
211898
|
-
|
|
211899
|
-
|
|
211900
|
-
|
|
211901
|
-
|
|
211902
|
-
|
|
211903
|
-
|
|
211904
|
-
|
|
211905
|
-
|
|
211906
|
-
|
|
211907
|
-
|
|
211908
|
-
|
|
211909
|
-
|
|
211910
|
-
|
|
211911
|
-
|
|
211912
|
-
|
|
211913
|
-
|
|
211914
|
-
|
|
211915
|
-
|
|
211916
|
-
|
|
211917
|
-
|
|
211918
|
-
|
|
211919
|
-
|
|
211920
|
-
|
|
211921
|
-
|
|
211922
|
-
|
|
211923
|
-
|
|
211924
|
-
display: "block",
|
|
211925
|
-
maxWidth: "100%",
|
|
211926
|
-
maxHeight: "150px",
|
|
211927
|
-
// Max height for the preview in message
|
|
211928
|
-
borderRadius: "8px",
|
|
211929
|
-
// Match container's border radius
|
|
211930
|
-
objectFit: "contain"
|
|
212761
|
+
} else {
|
|
212762
|
+
const normalizedPath = file.startsWith("file://") ? file.substring(7) : file;
|
|
212763
|
+
try {
|
|
212764
|
+
const result = await window.api.readFile(normalizedPath);
|
|
212765
|
+
if (result.success && isCanvasSupported(title)) {
|
|
212766
|
+
const docId = normalizedPath;
|
|
212767
|
+
const newDoc = {
|
|
212768
|
+
id: docId,
|
|
212769
|
+
title,
|
|
212770
|
+
path: normalizedPath,
|
|
212771
|
+
content: result.data,
|
|
212772
|
+
type: getFileTypeFromPath(file)
|
|
212773
|
+
// Ensure type is included
|
|
212774
|
+
};
|
|
212775
|
+
const state2 = useCanvasStore.getState();
|
|
212776
|
+
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
212777
|
+
const filesInState = conversationCanvasState?.files ?? [];
|
|
212778
|
+
const openTabsInState = conversationCanvasState?.openTabs ?? [];
|
|
212779
|
+
const updatedFiles = (() => {
|
|
212780
|
+
const idx = filesInState.findIndex((d2) => d2.id === docId);
|
|
212781
|
+
if (idx !== -1) {
|
|
212782
|
+
return [
|
|
212783
|
+
...filesInState.slice(0, idx),
|
|
212784
|
+
newDoc,
|
|
212785
|
+
...filesInState.slice(idx + 1)
|
|
212786
|
+
];
|
|
212787
|
+
}
|
|
212788
|
+
return [...filesInState, newDoc];
|
|
212789
|
+
})();
|
|
212790
|
+
setFiles(conversationId, updatedFiles);
|
|
212791
|
+
const existsTab = openTabsInState.some((t2) => t2.id === docId);
|
|
212792
|
+
const updatedTabs = existsTab ? openTabsInState : [...openTabsInState, { id: docId, title }];
|
|
212793
|
+
setOpenTabs(conversationId, updatedTabs);
|
|
212794
|
+
setSelectedTab(conversationId, docId);
|
|
212795
|
+
setCanvasOpen(true);
|
|
212796
|
+
return;
|
|
211931
212797
|
}
|
|
212798
|
+
const errorMessage = !result.success && result.error ? result.error instanceof Error ? result.error.message : String(result.error) : "Unknown error reading file";
|
|
212799
|
+
return fallbackAction(errorMessage);
|
|
212800
|
+
} catch (error) {
|
|
212801
|
+
const message2 = error instanceof Error ? error.message : String(error ?? "Unknown error reading file");
|
|
212802
|
+
return fallbackAction(message2);
|
|
211932
212803
|
}
|
|
211933
|
-
|
|
211934
|
-
|
|
211935
|
-
|
|
211936
|
-
|
|
211937
|
-
|
|
211938
|
-
|
|
211939
|
-
|
|
212804
|
+
}
|
|
212805
|
+
}, [file, onClick, setCanvasOpen, conversationId]);
|
|
212806
|
+
const isPastedImage = file.startsWith("data:image/");
|
|
212807
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212808
|
+
FileAttachmentContainer,
|
|
212809
|
+
{
|
|
212810
|
+
onClick: handleClick,
|
|
212811
|
+
title: `Click to open ${getFileName$3(file)}`,
|
|
212812
|
+
sx: {
|
|
212813
|
+
// Adjust padding if it's an image to give it more space, or remove padding
|
|
212814
|
+
padding: isPastedImage ? 0 : "8px 12px",
|
|
212815
|
+
// If it's an image, let it define its own aspect ratio, otherwise fix height for icon/text
|
|
212816
|
+
height: isPastedImage ? "auto" : "auto",
|
|
212817
|
+
// Keep auto or set specific for icon
|
|
212818
|
+
maxWidth: isPastedImage ? "200px" : "100%"
|
|
212819
|
+
// Allow images to be a bit wider if needed
|
|
212820
|
+
},
|
|
212821
|
+
children: isPastedImage ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212822
|
+
"img",
|
|
212823
|
+
{
|
|
212824
|
+
src: file,
|
|
212825
|
+
alt: "Pasted content preview",
|
|
212826
|
+
style: {
|
|
212827
|
+
display: "block",
|
|
212828
|
+
maxWidth: "100%",
|
|
212829
|
+
maxHeight: "150px",
|
|
212830
|
+
// Max height for the preview in message
|
|
212831
|
+
borderRadius: "8px",
|
|
212832
|
+
// Match container's border radius
|
|
212833
|
+
objectFit: "contain"
|
|
212834
|
+
}
|
|
212835
|
+
}
|
|
212836
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
212837
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FileIcon, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faFile, size: "sm" }) }),
|
|
212838
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FileName, { variant: "body2", children: getFileName$3(file) })
|
|
212839
|
+
] })
|
|
212840
|
+
}
|
|
212841
|
+
);
|
|
212842
|
+
}
|
|
212843
|
+
);
|
|
212844
|
+
FileAttachment.displayName = "FileAttachment";
|
|
211940
212845
|
const InvalidAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
211941
212846
|
display: "flex",
|
|
211942
212847
|
alignItems: "center",
|
|
@@ -212002,32 +212907,31 @@ const getFileName$1 = (path2) => {
|
|
|
212002
212907
|
const parts = path2.split(PATH_SEPARATOR_REGEX$1);
|
|
212003
212908
|
return parts[parts.length - 1];
|
|
212004
212909
|
};
|
|
212005
|
-
const ImageAttachment = (
|
|
212006
|
-
file,
|
|
212007
|
-
|
|
212008
|
-
|
|
212009
|
-
|
|
212010
|
-
|
|
212011
|
-
|
|
212012
|
-
|
|
212013
|
-
|
|
212014
|
-
|
|
212015
|
-
|
|
212016
|
-
};
|
|
212017
|
-
if (hasError) {
|
|
212018
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212019
|
-
}
|
|
212020
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212021
|
-
AttachmentImage,
|
|
212022
|
-
{
|
|
212023
|
-
src,
|
|
212024
|
-
alt: getFileName$1(file),
|
|
212025
|
-
onClick: handleClick,
|
|
212026
|
-
onError: handleError2,
|
|
212027
|
-
title: `Click to open ${getFileName$1(file)}`
|
|
212910
|
+
const ImageAttachment = reactExports.memo(
|
|
212911
|
+
({ file, src, onClick }) => {
|
|
212912
|
+
const [hasError, setHasError] = reactExports.useState(false);
|
|
212913
|
+
const handleClick = () => {
|
|
212914
|
+
onClick(file);
|
|
212915
|
+
};
|
|
212916
|
+
const handleError2 = () => {
|
|
212917
|
+
setHasError(true);
|
|
212918
|
+
};
|
|
212919
|
+
if (hasError) {
|
|
212920
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212028
212921
|
}
|
|
212029
|
-
|
|
212030
|
-
|
|
212922
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212923
|
+
AttachmentImage,
|
|
212924
|
+
{
|
|
212925
|
+
src,
|
|
212926
|
+
alt: getFileName$1(file),
|
|
212927
|
+
onClick: handleClick,
|
|
212928
|
+
onError: handleError2,
|
|
212929
|
+
title: `Click to open ${getFileName$1(file)}`
|
|
212930
|
+
}
|
|
212931
|
+
);
|
|
212932
|
+
}
|
|
212933
|
+
);
|
|
212934
|
+
ImageAttachment.displayName = "ImageAttachment";
|
|
212031
212935
|
const CodeContainer$1 = styled$1(Box)({
|
|
212032
212936
|
marginBottom: 16,
|
|
212033
212937
|
width: "100%"
|
|
@@ -212147,33 +213051,32 @@ const getFileName = (path2) => {
|
|
|
212147
213051
|
const parts = path2.split(PATH_SEPARATOR_REGEX);
|
|
212148
213052
|
return parts[parts.length - 1];
|
|
212149
213053
|
};
|
|
212150
|
-
const VideoAttachment = (
|
|
212151
|
-
file,
|
|
212152
|
-
|
|
212153
|
-
|
|
212154
|
-
|
|
212155
|
-
|
|
212156
|
-
|
|
212157
|
-
|
|
212158
|
-
|
|
212159
|
-
|
|
212160
|
-
|
|
212161
|
-
};
|
|
212162
|
-
if (hasError) {
|
|
212163
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212164
|
-
}
|
|
212165
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212166
|
-
AttachmentVideo,
|
|
212167
|
-
{
|
|
212168
|
-
src,
|
|
212169
|
-
controls: true,
|
|
212170
|
-
preload: "metadata",
|
|
212171
|
-
onClick: handleClick,
|
|
212172
|
-
onError: handleError2,
|
|
212173
|
-
title: `Click to open ${getFileName(file)}`
|
|
213054
|
+
const VideoAttachment = reactExports.memo(
|
|
213055
|
+
({ file, src, onClick }) => {
|
|
213056
|
+
const [hasError, setHasError] = reactExports.useState(false);
|
|
213057
|
+
const handleClick = () => {
|
|
213058
|
+
onClick(file);
|
|
213059
|
+
};
|
|
213060
|
+
const handleError2 = () => {
|
|
213061
|
+
setHasError(true);
|
|
213062
|
+
};
|
|
213063
|
+
if (hasError) {
|
|
213064
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212174
213065
|
}
|
|
212175
|
-
|
|
212176
|
-
|
|
213066
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
213067
|
+
AttachmentVideo,
|
|
213068
|
+
{
|
|
213069
|
+
src,
|
|
213070
|
+
controls: true,
|
|
213071
|
+
preload: "metadata",
|
|
213072
|
+
onClick: handleClick,
|
|
213073
|
+
onError: handleError2,
|
|
213074
|
+
title: `Click to open ${getFileName(file)}`
|
|
213075
|
+
}
|
|
213076
|
+
);
|
|
213077
|
+
}
|
|
213078
|
+
);
|
|
213079
|
+
VideoAttachment.displayName = "VideoAttachment";
|
|
212177
213080
|
const isWebUrl$1 = (path2) => {
|
|
212178
213081
|
return path2.startsWith("http://") || path2.startsWith("https://");
|
|
212179
213082
|
};
|
|
@@ -212333,7 +213236,8 @@ const ActionBlock = ({
|
|
|
212333
213236
|
{
|
|
212334
213237
|
file,
|
|
212335
213238
|
src: getUrl2(file),
|
|
212336
|
-
onClick: handleFileClick
|
|
213239
|
+
onClick: handleFileClick,
|
|
213240
|
+
conversationId
|
|
212337
213241
|
},
|
|
212338
213242
|
`${file}`
|
|
212339
213243
|
)) }),
|
|
@@ -212342,7 +213246,8 @@ const ActionBlock = ({
|
|
|
212342
213246
|
{
|
|
212343
213247
|
file,
|
|
212344
213248
|
src: getUrl2(file),
|
|
212345
|
-
onClick: handleFileClick
|
|
213249
|
+
onClick: handleFileClick,
|
|
213250
|
+
conversationId
|
|
212346
213251
|
},
|
|
212347
213252
|
`${file}`
|
|
212348
213253
|
)) }),
|
|
@@ -212439,6 +213344,50 @@ const MessageContent = ({ content: content2 }) => {
|
|
|
212439
213344
|
if (!content2) return null;
|
|
212440
213345
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ContentContainer$2, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(MarkdownRenderer, { content: content2 }) });
|
|
212441
213346
|
};
|
|
213347
|
+
const ThinkingHeader = styled$1(Box)(({ theme: theme2 }) => ({
|
|
213348
|
+
display: "flex",
|
|
213349
|
+
alignItems: "center",
|
|
213350
|
+
cursor: "pointer",
|
|
213351
|
+
padding: theme2.spacing(0.5, 1),
|
|
213352
|
+
borderRadius: theme2.shape.borderRadius,
|
|
213353
|
+
"&:hover": {
|
|
213354
|
+
backgroundColor: theme2.palette.action.hover
|
|
213355
|
+
},
|
|
213356
|
+
marginBottom: theme2.spacing(1)
|
|
213357
|
+
}));
|
|
213358
|
+
const ThinkingTitle = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
213359
|
+
fontWeight: "bold",
|
|
213360
|
+
marginLeft: theme2.spacing(1),
|
|
213361
|
+
color: theme2.palette.text.secondary
|
|
213362
|
+
}));
|
|
213363
|
+
const ExpandableThinkingContent = ({
|
|
213364
|
+
thinking,
|
|
213365
|
+
isExpanded,
|
|
213366
|
+
onExpand,
|
|
213367
|
+
onCollapse
|
|
213368
|
+
}) => {
|
|
213369
|
+
if (!thinking) {
|
|
213370
|
+
return null;
|
|
213371
|
+
}
|
|
213372
|
+
const handleToggle = (e3) => {
|
|
213373
|
+
if (isExpanded) {
|
|
213374
|
+
onCollapse(e3);
|
|
213375
|
+
} else {
|
|
213376
|
+
onExpand();
|
|
213377
|
+
}
|
|
213378
|
+
};
|
|
213379
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { width: "100%" }, children: [
|
|
213380
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(ThinkingHeader, { onClick: handleToggle, children: [
|
|
213381
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(IconButton, { size: "small", onClick: handleToggle, sx: { p: 0.5 }, children: isExpanded ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { size: 18 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { size: 18 }) }),
|
|
213382
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThinkingTitle, { variant: "caption", children: "Thinking" })
|
|
213383
|
+
] }),
|
|
213384
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Collapse, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { pl: 4.5, pb: 1 }, children: [
|
|
213385
|
+
" ",
|
|
213386
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(MarkdownRenderer, { content: thinking })
|
|
213387
|
+
] }) })
|
|
213388
|
+
] });
|
|
213389
|
+
};
|
|
213390
|
+
ExpandableThinkingContent.displayName = "ExpandableThinkingContent";
|
|
212442
213391
|
const ControlsContainer = styled$1(Box, {
|
|
212443
213392
|
shouldForwardProp: (prop) => prop !== "isUser"
|
|
212444
213393
|
})(({ isUser }) => ({
|
|
@@ -212807,11 +213756,17 @@ const StreamingMessage = ({
|
|
|
212807
213756
|
}
|
|
212808
213757
|
);
|
|
212809
213758
|
}, [error]);
|
|
212810
|
-
const [
|
|
212811
|
-
const
|
|
212812
|
-
const
|
|
213759
|
+
const [isActionExpanded, setIsActionExpanded] = reactExports.useState(false);
|
|
213760
|
+
const [isThinkingExpanded, setIsThinkingExpanded] = reactExports.useState(false);
|
|
213761
|
+
const handleActionExpand = () => setIsActionExpanded(true);
|
|
213762
|
+
const handleActionCollapse = (e3) => {
|
|
212813
213763
|
e3.stopPropagation();
|
|
212814
|
-
|
|
213764
|
+
setIsActionExpanded(false);
|
|
213765
|
+
};
|
|
213766
|
+
const handleThinkingExpand = () => setIsThinkingExpanded(true);
|
|
213767
|
+
const handleThinkingCollapse = (e3) => {
|
|
213768
|
+
e3.stopPropagation();
|
|
213769
|
+
setIsThinkingExpanded(false);
|
|
212815
213770
|
};
|
|
212816
213771
|
const hasCollapsibleContent = Boolean(
|
|
212817
213772
|
message2?.execution_type === "action" && message2?.action
|
|
@@ -212827,6 +213782,15 @@ const StreamingMessage = ({
|
|
|
212827
213782
|
statusIndicator,
|
|
212828
213783
|
children2,
|
|
212829
213784
|
loadingIndicator,
|
|
213785
|
+
message2?.thinking && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
213786
|
+
ExpandableThinkingContent,
|
|
213787
|
+
{
|
|
213788
|
+
thinking: message2.thinking,
|
|
213789
|
+
isExpanded: isThinkingExpanded,
|
|
213790
|
+
onExpand: handleThinkingExpand,
|
|
213791
|
+
onCollapse: handleThinkingCollapse
|
|
213792
|
+
}
|
|
213793
|
+
),
|
|
212830
213794
|
messageContent,
|
|
212831
213795
|
streamingLoader,
|
|
212832
213796
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -212835,9 +213799,9 @@ const StreamingMessage = ({
|
|
|
212835
213799
|
executionType: message2?.execution_type || "action",
|
|
212836
213800
|
action: message2?.action,
|
|
212837
213801
|
isUser: false,
|
|
212838
|
-
isExpanded,
|
|
212839
|
-
onExpand:
|
|
212840
|
-
onCollapse:
|
|
213802
|
+
isExpanded: isActionExpanded,
|
|
213803
|
+
onExpand: handleActionExpand,
|
|
213804
|
+
onCollapse: handleActionCollapse,
|
|
212841
213805
|
hasCollapsibleContent,
|
|
212842
213806
|
isLoading: isActivelyStreaming,
|
|
212843
213807
|
children: [
|
|
@@ -213010,10 +213974,42 @@ const MessagePaper = ({
|
|
|
213010
213974
|
}
|
|
213011
213975
|
);
|
|
213012
213976
|
}, [isStreamable, message2, messageStyles, onMessageComplete, isJobRunning]);
|
|
213977
|
+
const [isThinkingExpanded, setIsThinkingExpanded] = reactExports.useState(false);
|
|
213978
|
+
const handleThinkingExpand = reactExports.useCallback(
|
|
213979
|
+
() => setIsThinkingExpanded(true),
|
|
213980
|
+
[]
|
|
213981
|
+
);
|
|
213982
|
+
const handleThinkingCollapse = reactExports.useCallback((e3) => {
|
|
213983
|
+
e3.stopPropagation();
|
|
213984
|
+
setIsThinkingExpanded(false);
|
|
213985
|
+
}, []);
|
|
213013
213986
|
const regularMessageComponents = reactExports.useMemo(() => {
|
|
213014
|
-
if (isStreamable) return null;
|
|
213015
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
213016
|
-
|
|
213987
|
+
if (isStreamable && isJobRunning || !message2) return null;
|
|
213988
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: messageStyles, children: [
|
|
213989
|
+
message2.thinking && !isUser && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
213990
|
+
ExpandableThinkingContent,
|
|
213991
|
+
{
|
|
213992
|
+
thinking: message2.thinking,
|
|
213993
|
+
isExpanded: isThinkingExpanded,
|
|
213994
|
+
onExpand: handleThinkingExpand,
|
|
213995
|
+
onCollapse: handleThinkingCollapse
|
|
213996
|
+
}
|
|
213997
|
+
),
|
|
213998
|
+
filteredChildren
|
|
213999
|
+
] });
|
|
214000
|
+
}, [
|
|
214001
|
+
isStreamable,
|
|
214002
|
+
messageStyles,
|
|
214003
|
+
filteredChildren,
|
|
214004
|
+
message2,
|
|
214005
|
+
isUser,
|
|
214006
|
+
isJobRunning,
|
|
214007
|
+
isThinkingExpanded,
|
|
214008
|
+
handleThinkingExpand,
|
|
214009
|
+
// Added
|
|
214010
|
+
handleThinkingCollapse
|
|
214011
|
+
// Added
|
|
214012
|
+
]);
|
|
213017
214013
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
213018
214014
|
Box,
|
|
213019
214015
|
{
|
|
@@ -213174,7 +214170,34 @@ const MessageItem = reactExports.memo(
|
|
|
213174
214170
|
conversationId,
|
|
213175
214171
|
currentExecution
|
|
213176
214172
|
}) => {
|
|
213177
|
-
const
|
|
214173
|
+
const addMentionedFilesBatch = useCanvasStore(
|
|
214174
|
+
(s2) => s2.addMentionedFilesBatch
|
|
214175
|
+
);
|
|
214176
|
+
reactExports.useEffect(() => {
|
|
214177
|
+
if (message2.files && message2.files.length > 0 && conversationId) {
|
|
214178
|
+
const canvasDocuments = message2.files.map((fileString) => {
|
|
214179
|
+
if (fileString.startsWith("data:")) {
|
|
214180
|
+
return null;
|
|
214181
|
+
}
|
|
214182
|
+
const title = getFileName$4(fileString);
|
|
214183
|
+
const fileType = getFileTypeFromPath(fileString);
|
|
214184
|
+
const normalizedPath = fileString.startsWith("file://") ? fileString.substring(7) : fileString;
|
|
214185
|
+
const id27 = normalizedPath;
|
|
214186
|
+
return {
|
|
214187
|
+
id: id27,
|
|
214188
|
+
title,
|
|
214189
|
+
path: normalizedPath,
|
|
214190
|
+
content: normalizedPath,
|
|
214191
|
+
// Placeholder
|
|
214192
|
+
type: fileType
|
|
214193
|
+
// type is optional in CanvasDocument, but getFileTypeFromPath provides it
|
|
214194
|
+
};
|
|
214195
|
+
}).filter(Boolean);
|
|
214196
|
+
if (canvasDocuments.length > 0) {
|
|
214197
|
+
addMentionedFilesBatch(conversationId, canvasDocuments);
|
|
214198
|
+
}
|
|
214199
|
+
}
|
|
214200
|
+
}, [message2.files, conversationId, addMentionedFilesBatch]);
|
|
213178
214201
|
const client = reactExports.useMemo(() => {
|
|
213179
214202
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
213180
214203
|
}, []);
|
|
@@ -213197,47 +214220,8 @@ const MessageItem = reactExports.memo(
|
|
|
213197
214220
|
);
|
|
213198
214221
|
}
|
|
213199
214222
|
}, []);
|
|
213200
|
-
|
|
213201
|
-
|
|
213202
|
-
const state2 = useCanvasStore.getState();
|
|
213203
|
-
const conv = state2.conversations[conversationId];
|
|
213204
|
-
if (!conv) return;
|
|
213205
|
-
const { openTabs, files } = conv;
|
|
213206
|
-
if (!openTabs || openTabs.length === 0) return;
|
|
213207
|
-
(async () => {
|
|
213208
|
-
let updatedFiles = files;
|
|
213209
|
-
let didUpdate = false;
|
|
213210
|
-
for (const filePath of message2.files ?? []) {
|
|
213211
|
-
const normalizedPath = filePath.startsWith("file://") ? filePath.substring(7) : filePath;
|
|
213212
|
-
const tabIsOpen = openTabs.some((tab2) => tab2.id === normalizedPath);
|
|
213213
|
-
if (!tabIsOpen) continue;
|
|
213214
|
-
const fileIdx = updatedFiles.findIndex(
|
|
213215
|
-
(f2) => f2.id === normalizedPath
|
|
213216
|
-
);
|
|
213217
|
-
if (fileIdx === -1) continue;
|
|
213218
|
-
try {
|
|
213219
|
-
const result = await window.api.readFile(normalizedPath);
|
|
213220
|
-
if (result.success) {
|
|
213221
|
-
const currentDoc = updatedFiles[fileIdx];
|
|
213222
|
-
if (currentDoc.content !== result.data) {
|
|
213223
|
-
const updatedDoc = { ...currentDoc, content: result.data };
|
|
213224
|
-
updatedFiles = [
|
|
213225
|
-
...updatedFiles.slice(0, fileIdx),
|
|
213226
|
-
updatedDoc,
|
|
213227
|
-
...updatedFiles.slice(fileIdx + 1)
|
|
213228
|
-
];
|
|
213229
|
-
didUpdate = true;
|
|
213230
|
-
}
|
|
213231
|
-
}
|
|
213232
|
-
} catch (_2) {
|
|
213233
|
-
}
|
|
213234
|
-
}
|
|
213235
|
-
if (didUpdate) {
|
|
213236
|
-
setFiles(conversationId, updatedFiles);
|
|
213237
|
-
}
|
|
213238
|
-
})();
|
|
213239
|
-
}, [message2.files, conversationId, setFiles]);
|
|
213240
|
-
const shouldHide = (message2.action === "DONE" || message2.action === "ASK") && message2.execution_type === "action" && message2.task_classification === "conversation" || !message2.message && (!message2.files || message2.files.length === 0) && !message2.code && !message2.stdout && !message2.stderr && !message2.logging && message2.is_complete || message2.is_streamable && !message2.is_complete && !currentExecution;
|
|
214223
|
+
const isMessageContentEmpty = !message2.message && (!message2.files || message2.files.length === 0) && !message2.code && !message2.stdout && !message2.stderr && !message2.logging;
|
|
214224
|
+
const shouldHide = (message2.action === "DONE" || message2.action === "ASK") && message2.execution_type === "action" && message2.task_classification === "conversation" || isMessageContentEmpty && message2.is_complete || message2.is_streamable && !message2.is_complete && isMessageContentEmpty && !currentExecution;
|
|
213241
214225
|
if (shouldHide) {
|
|
213242
214226
|
return null;
|
|
213243
214227
|
}
|
|
@@ -213297,7 +214281,8 @@ const MessageItem = reactExports.memo(
|
|
|
213297
214281
|
{
|
|
213298
214282
|
file,
|
|
213299
214283
|
src: getUrl2(file),
|
|
213300
|
-
onClick: handleFileClick
|
|
214284
|
+
onClick: handleFileClick,
|
|
214285
|
+
conversationId
|
|
213301
214286
|
},
|
|
213302
214287
|
`${message2.id}-${file}`
|
|
213303
214288
|
)) }),
|
|
@@ -213306,7 +214291,8 @@ const MessageItem = reactExports.memo(
|
|
|
213306
214291
|
{
|
|
213307
214292
|
file,
|
|
213308
214293
|
src: getUrl2(file),
|
|
213309
|
-
onClick: handleFileClick
|
|
214294
|
+
onClick: handleFileClick,
|
|
214295
|
+
conversationId
|
|
213310
214296
|
},
|
|
213311
214297
|
`${message2.id}-${file}`
|
|
213312
214298
|
)) }),
|
|
@@ -213358,7 +214344,8 @@ const MessageItem = reactExports.memo(
|
|
|
213358
214344
|
{
|
|
213359
214345
|
file,
|
|
213360
214346
|
src: getUrl2(file),
|
|
213361
|
-
onClick: handleFileClick
|
|
214347
|
+
onClick: handleFileClick,
|
|
214348
|
+
conversationId
|
|
213362
214349
|
},
|
|
213363
214350
|
`${message2.id}-${file}`
|
|
213364
214351
|
)) }),
|
|
@@ -213367,7 +214354,8 @@ const MessageItem = reactExports.memo(
|
|
|
213367
214354
|
{
|
|
213368
214355
|
file,
|
|
213369
214356
|
src: getUrl2(file),
|
|
213370
|
-
onClick: handleFileClick
|
|
214357
|
+
onClick: handleFileClick,
|
|
214358
|
+
conversationId
|
|
213371
214359
|
},
|
|
213372
214360
|
`${message2.id}-${file}`
|
|
213373
214361
|
)) }),
|
|
@@ -213796,6 +214784,7 @@ const ChatContent = ({
|
|
|
213796
214784
|
{
|
|
213797
214785
|
activeDocumentId: selectedTabId,
|
|
213798
214786
|
initialDocuments: files,
|
|
214787
|
+
conversationId,
|
|
213799
214788
|
onChangeActiveDocument: (documentId) => setSelectedTab(conversationId, documentId),
|
|
213800
214789
|
onClose: () => useUiPreferencesStore.getState().setCanvasOpen(false),
|
|
213801
214790
|
onCloseDocument: (docId) => {
|
|
@@ -214437,7 +215426,8 @@ const ChatPage = () => {
|
|
|
214437
215426
|
});
|
|
214438
215427
|
const { isFarFromBottom, scrollToBottom } = useScrollToBottom(
|
|
214439
215428
|
50,
|
|
214440
|
-
messagesContainerRef
|
|
215429
|
+
messagesContainerRef,
|
|
215430
|
+
messages.length
|
|
214441
215431
|
);
|
|
214442
215432
|
const messagesEndRef = reactExports.useRef(null);
|
|
214443
215433
|
reactExports.useEffect(() => {
|
|
@@ -214781,12 +215771,12 @@ const OnboardingDialog = ({
|
|
|
214781
215771
|
...dialogProps,
|
|
214782
215772
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ContentContainer$1, { children: [
|
|
214783
215773
|
title && /* @__PURE__ */ jsxRuntimeExports.jsx(StyledDialogTitle, { children: title }),
|
|
214784
|
-
stepIndicators && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { px: 3, pt:
|
|
215774
|
+
stepIndicators && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { px: 3, pt: 1, pb: 0, mb: 0 }, children: stepIndicators }),
|
|
214785
215775
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
214786
215776
|
Box,
|
|
214787
215777
|
{
|
|
214788
215778
|
sx: {
|
|
214789
|
-
padding: theme2.spacing(
|
|
215779
|
+
padding: theme2.spacing(2, 3, 1),
|
|
214790
215780
|
flexGrow: 1,
|
|
214791
215781
|
overflowY: "auto",
|
|
214792
215782
|
"&::-webkit-scrollbar": {
|
|
@@ -216041,7 +217031,7 @@ const CardSubtitle = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
|
216041
217031
|
fontSize: "0.875rem",
|
|
216042
217032
|
// Consistent small text size
|
|
216043
217033
|
color: theme2.palette.text.secondary,
|
|
216044
|
-
marginBottom: theme2.spacing(
|
|
217034
|
+
marginBottom: theme2.spacing(2),
|
|
216045
217035
|
// Consistent margin
|
|
216046
217036
|
lineHeight: 1.5
|
|
216047
217037
|
}));
|
|
@@ -216070,13 +217060,6 @@ const RadientBoldTextSpan$1 = styled$1("span")(() => ({
|
|
|
216070
217060
|
fontWeight: "bold",
|
|
216071
217061
|
color: radientTheme.palette.primary.main
|
|
216072
217062
|
}));
|
|
216073
|
-
const FreeText = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
216074
|
-
fontSize: "1.25rem",
|
|
216075
|
-
fontWeight: 600,
|
|
216076
|
-
color: theme2.palette.text.primary,
|
|
216077
|
-
// Standard text color
|
|
216078
|
-
display: "inline"
|
|
216079
|
-
}));
|
|
216080
217063
|
const ChooseOption = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
216081
217064
|
position: "absolute",
|
|
216082
217065
|
bottom: theme2.spacing(2),
|
|
@@ -216135,6 +217118,14 @@ const RadientChoiceStep = ({
|
|
|
216135
217118
|
" ",
|
|
216136
217119
|
/* @__PURE__ */ jsxRuntimeExports.jsx(RadientPassText, { children: "Radient Pass" })
|
|
216137
217120
|
] }),
|
|
217121
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217122
|
+
CardSubtitle,
|
|
217123
|
+
{
|
|
217124
|
+
variant: "subtitle1",
|
|
217125
|
+
sx: { mb: 1, fontWeight: 600 },
|
|
217126
|
+
children: "Recommended for most users."
|
|
217127
|
+
}
|
|
217128
|
+
),
|
|
216138
217129
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardSubtitle, { variant: "body2", children: [
|
|
216139
217130
|
"Designed for",
|
|
216140
217131
|
" ",
|
|
@@ -216149,7 +217140,7 @@ const RadientChoiceStep = ({
|
|
|
216149
217140
|
", no credit card required."
|
|
216150
217141
|
] })
|
|
216151
217142
|
] }),
|
|
216152
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardIcon, { sx: { width: 150, height: 150, mb:
|
|
217143
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardIcon, { sx: { width: 150, height: 150, mb: 1 }, children: [
|
|
216153
217144
|
" ",
|
|
216154
217145
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216155
217146
|
"img",
|
|
@@ -216196,11 +217187,16 @@ const RadientChoiceStep = ({
|
|
|
216196
217187
|
" ",
|
|
216197
217188
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { flex: 1, pr: 2 }, children: [
|
|
216198
217189
|
" ",
|
|
216199
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
216200
|
-
|
|
216201
|
-
|
|
216202
|
-
|
|
216203
|
-
|
|
217190
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle$1, { variant: "h6", children: "Set up your own keys" }),
|
|
217191
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217192
|
+
CardSubtitle,
|
|
217193
|
+
{
|
|
217194
|
+
variant: "subtitle1",
|
|
217195
|
+
sx: { mb: 1, fontWeight: 600 },
|
|
217196
|
+
children: "For advanced and technical users."
|
|
217197
|
+
}
|
|
217198
|
+
),
|
|
217199
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CardSubtitle, { variant: "body2", sx: { mb: 0 }, children: "Bring your own API keys for providers like OpenRouter, OpenAI, Anthropic, Google, Tavily API, FAL, and manage billing with providers separately. Experiment manually to find the best models and providers for your needs." })
|
|
216204
217200
|
] }),
|
|
216205
217201
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
216206
217202
|
Box,
|
|
@@ -216229,7 +217225,7 @@ const RadientChoiceStep = ({
|
|
|
216229
217225
|
] })
|
|
216230
217226
|
] })
|
|
216231
217227
|
] }) }),
|
|
216232
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionDescription$1, { sx: { mt:
|
|
217228
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionDescription$1, { sx: { mt: 2, textAlign: "center" }, children: [
|
|
216233
217229
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { component: "span", sx: { mr: 0.5 }, children: "💡" }),
|
|
216234
217230
|
"You can always change your setup later in Settings."
|
|
216235
217231
|
] })
|
|
@@ -217063,33 +218059,44 @@ const OnboardingModal = ({ open: open2 }) => {
|
|
|
217063
218059
|
]
|
|
217064
218060
|
}
|
|
217065
218061
|
);
|
|
217066
|
-
const
|
|
217067
|
-
|
|
217068
|
-
|
|
217069
|
-
|
|
217070
|
-
|
|
217071
|
-
|
|
217072
|
-
|
|
217073
|
-
|
|
217074
|
-
|
|
217075
|
-
|
|
217076
|
-
|
|
217077
|
-
|
|
217078
|
-
|
|
217079
|
-
|
|
217080
|
-
|
|
218062
|
+
const stepIndicatorDotElements = reactExports.useMemo(() => {
|
|
218063
|
+
if (!currentStep || steps.length === 0) {
|
|
218064
|
+
return null;
|
|
218065
|
+
}
|
|
218066
|
+
return steps.map((step) => {
|
|
218067
|
+
const isActive = currentStep === step;
|
|
218068
|
+
const isVisited = visitedSteps.has(step);
|
|
218069
|
+
const canNavigate = isVisited && step !== currentStep;
|
|
218070
|
+
const isNonNavigableRadientStep = step === OnboardingStep.RADIENT_CHOICE || step === OnboardingStep.RADIENT_SIGNIN;
|
|
218071
|
+
return (
|
|
218072
|
+
// @ts-ignore - Ignore potential TS issue with Tooltip wrapping custom component
|
|
218073
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: stepTitles[step], arrow: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
218074
|
+
StepDot,
|
|
218075
|
+
{
|
|
218076
|
+
active: isActive,
|
|
218077
|
+
visited: isVisited,
|
|
218078
|
+
onClick: () => {
|
|
218079
|
+
if (canNavigate && !isNonNavigableRadientStep) {
|
|
218080
|
+
setCurrentStep(step);
|
|
218081
|
+
}
|
|
217081
218082
|
}
|
|
217082
218083
|
}
|
|
217083
|
-
}
|
|
217084
|
-
)
|
|
217085
|
-
);
|
|
217086
|
-
}
|
|
218084
|
+
) }, step)
|
|
218085
|
+
);
|
|
218086
|
+
});
|
|
218087
|
+
}, [currentStep, steps, visitedSteps, setCurrentStep]);
|
|
218088
|
+
const finalStepIndicatorsProp = reactExports.useMemo(() => {
|
|
218089
|
+
if (!stepIndicatorDotElements) {
|
|
218090
|
+
return null;
|
|
218091
|
+
}
|
|
218092
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(StepIndicatorContainer, { children: stepIndicatorDotElements });
|
|
218093
|
+
}, [stepIndicatorDotElements]);
|
|
217087
218094
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217088
218095
|
OnboardingDialog,
|
|
217089
218096
|
{
|
|
217090
218097
|
open: open2,
|
|
217091
218098
|
title: dialogTitle,
|
|
217092
|
-
stepIndicators,
|
|
218099
|
+
stepIndicators: finalStepIndicatorsProp,
|
|
217093
218100
|
actions: dialogActions,
|
|
217094
218101
|
dialogProps: {
|
|
217095
218102
|
disableEscapeKeyDown: true
|