local-operator-ui 0.10.3 → 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-EzHHlzQ2.js → _basePickBy-HBztaYeO.js} +2 -2
- package/out/renderer/assets/{_baseUniq-gsrujidQ.js → _baseUniq-Dz-_QJw-.js} +1 -1
- package/out/renderer/assets/{arc-BCv8Fw_K.js → arc-BbFClCF-.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-Blezk2Ti.js → architectureDiagram-IEHRJDOE-DzXvnk9f.js} +8 -8
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-C4WZB7AT.js → blockDiagram-JOT3LUYC-boa_T8E1.js} +6 -6
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-BbjP-YS8.js → c4Diagram-VJAJSXHY-CUWQVTBw.js} +3 -3
- package/out/renderer/assets/{channel-D6yjNcJf.js → channel-BnLrRohu.js} +1 -1
- package/out/renderer/assets/{chunk-4BMEZGHF-CAYxbhII.js → chunk-4BMEZGHF-C5nHFO1H.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-CGDu1QLK.js → chunk-A2AXSNBT-YCzWQkj3.js} +2 -2
- package/out/renderer/assets/{chunk-AEK57VVT-BwLprdGO.js → chunk-AEK57VVT-RSKL44QH.js} +2 -2
- package/out/renderer/assets/{chunk-D6G4REZN-yKTyo2sO.js → chunk-D6G4REZN-y_oEq-tO.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-CHk9wGn8.js → chunk-RZ5BOZE2-Bh5Vf1hk.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-myvP7KMy.js → chunk-XZIHB7SX-BEC6jdKb.js} +1 -1
- package/out/renderer/assets/{classDiagram-GIVACNV2-DI2nEo8v.js → classDiagram-GIVACNV2-D_MSeJ_6.js} +4 -4
- package/out/renderer/assets/{classDiagram-v2-COTLJTTW-DI2nEo8v.js → classDiagram-v2-COTLJTTW-D_MSeJ_6.js} +4 -4
- package/out/renderer/assets/{clone-NHzLXKtr.js → clone-DTo9NJBP.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-CvnmDUr0.js → dagre-OKDRZEBW-BRmuP5ne.js} +7 -7
- package/out/renderer/assets/{diagram-SSKATNLV-O49-awgq.js → diagram-SSKATNLV-lmqZ5zjv.js} +7 -7
- package/out/renderer/assets/{diagram-VNBRO52H-DeKLJIGp.js → diagram-VNBRO52H-Bxh5b-em.js} +7 -7
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-DzP1awnz.js → erDiagram-Q7BY3M3F-B_3VyDfP.js} +4 -4
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-CPmNwaPw.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-Dp3PblQc.js → ganttDiagram-APWFNJXF-BK37zBtS.js} +2 -2
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-C1xsOObr.js → gitGraphDiagram-7IBYFJ6S-Jz6QBGPa.js} +8 -8
- package/out/renderer/assets/{graph-DD2O2F0I.js → graph-DzxdEvr-.js} +2 -2
- package/out/renderer/assets/{index-d3kL-g6p.js → index-9ll8evaS.js} +2 -2
- package/out/renderer/assets/{index-BENHuC7d.js → index-BcAunMPD.js} +2 -2
- package/out/renderer/assets/{index-B81dnBsp.js → index-DSUSTpnZ.js} +1902 -985
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-BsZjZuz9.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-CIbQJUBG.js → journeyDiagram-U35MCT3I-cp-7j6JH.js} +4 -4
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-Cy2XBRai.js → kanban-definition-NDS4AKOZ-DT0Ds4_6.js} +2 -2
- package/out/renderer/assets/{layout-C6pZQ3GW.js → layout-RVhCHjA1.js} +4 -4
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-BDcXZ7s9.js → mindmap-definition-ALO5MXBD-B8ntf-YJ.js} +2 -2
- package/out/renderer/assets/{pieDiagram-IB7DONF6-BLIypjx1.js → pieDiagram-IB7DONF6-D_aSId8t.js} +8 -8
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-Bhg4pj46.js → quadrantDiagram-7GDLP6J5-VtpoaDCW.js} +2 -2
- package/out/renderer/assets/{radar-MK3ICKWK-Bu7OdI64.js → radar-MK3ICKWK-Bvvn6bXt.js} +4 -4
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-GsFjX0JT.js → requirementDiagram-KVF5MWMF-DmQX7SmX.js} +3 -3
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-BbAeFKsA.js → sankeyDiagram-QLVOVGJD-DH2kTl35.js} +2 -2
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-B3KEUS4U.js → sequenceDiagram-X6HHIX6F-Cy6jqgLY.js} +4 -4
- package/out/renderer/assets/{stateDiagram-DGXRK772-C1L3HV7N.js → stateDiagram-DGXRK772-B5sjzMc3.js} +8 -8
- package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-ADxTzXk9.js → stateDiagram-v2-YXO3MK2T-CCntK586.js} +4 -4
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-CTEAWzHG.js → timeline-definition-BDJGKUSR-B24Z4NA2.js} +3 -3
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-Uznmu3l-.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
|
*
|
|
@@ -40511,6 +40718,7 @@ const useUpdateConfig = () => {
|
|
|
40511
40718
|
}
|
|
40512
40719
|
});
|
|
40513
40720
|
};
|
|
40721
|
+
let isAnyBackendAuthInProgress = false;
|
|
40514
40722
|
const radientClient = createRadientClient(
|
|
40515
40723
|
apiConfig.radientBaseUrl,
|
|
40516
40724
|
apiConfig.radientClientId
|
|
@@ -40531,6 +40739,13 @@ const useOidcAuth = (options) => {
|
|
|
40531
40739
|
const { mutateAsync: updateConfig } = useUpdateConfig();
|
|
40532
40740
|
const handleBackendAuth = reactExports.useCallback(
|
|
40533
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;
|
|
40534
40749
|
setError(null);
|
|
40535
40750
|
try {
|
|
40536
40751
|
if (provider === "google") {
|
|
@@ -40648,6 +40863,8 @@ const useOidcAuth = (options) => {
|
|
|
40648
40863
|
console.error("Error during backend authentication:", err);
|
|
40649
40864
|
setError(msg || "Authentication failed during backend processing.");
|
|
40650
40865
|
showErrorToast(msg || "Authentication failed");
|
|
40866
|
+
} finally {
|
|
40867
|
+
isAnyBackendAuthInProgress = false;
|
|
40651
40868
|
}
|
|
40652
40869
|
},
|
|
40653
40870
|
[queryClient2, updateConfig, onSuccess, onAfterCredentialUpdate]
|
|
@@ -45604,38 +45821,66 @@ var libExports = requireLib();
|
|
|
45604
45821
|
const HTMLReactParser = /* @__PURE__ */ getDefaultExportFromCjs(libExports);
|
|
45605
45822
|
const parse$7 = HTMLReactParser.default || HTMLReactParser;
|
|
45606
45823
|
const UpdateContainer = styled$1("div")(({ theme: theme2 }) => ({
|
|
45607
|
-
padding:
|
|
45824
|
+
padding: theme2.spacing(2.5),
|
|
45608
45825
|
borderRadius: 8,
|
|
45609
45826
|
backgroundColor: theme2.palette.background.paper,
|
|
45610
|
-
|
|
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)",
|
|
45611
45829
|
position: "fixed",
|
|
45612
|
-
top:
|
|
45613
|
-
right:
|
|
45830
|
+
top: theme2.spacing(2.5),
|
|
45831
|
+
right: theme2.spacing(2.5),
|
|
45614
45832
|
zIndex: 1300,
|
|
45615
|
-
|
|
45616
|
-
|
|
45617
|
-
|
|
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
|
+
},
|
|
45618
45854
|
"& a": {
|
|
45619
45855
|
color: theme2.palette.primary.main,
|
|
45620
45856
|
textDecoration: "none",
|
|
45857
|
+
fontWeight: 500,
|
|
45621
45858
|
"&:hover": {
|
|
45622
45859
|
textDecoration: "underline"
|
|
45623
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)
|
|
45624
45868
|
}
|
|
45625
45869
|
}));
|
|
45626
|
-
const UpdateActions = styled$1("div")({
|
|
45870
|
+
const UpdateActions = styled$1("div")(({ theme: theme2 }) => ({
|
|
45627
45871
|
display: "flex",
|
|
45628
45872
|
justifyContent: "flex-end",
|
|
45629
|
-
gap:
|
|
45630
|
-
marginTop:
|
|
45631
|
-
});
|
|
45632
|
-
const ProgressContainer = styled$1("div")({
|
|
45633
|
-
marginTop:
|
|
45634
|
-
marginBottom:
|
|
45635
|
-
});
|
|
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
|
+
}));
|
|
45636
45880
|
const UpdateNotification = ({
|
|
45637
45881
|
autoCheck = true
|
|
45638
45882
|
}) => {
|
|
45883
|
+
const theme2 = useTheme$2();
|
|
45639
45884
|
const [checking, setChecking] = reactExports.useState(false);
|
|
45640
45885
|
const [updatingBackend, setUpdatingBackend] = reactExports.useState(false);
|
|
45641
45886
|
const [updateAvailable, setUpdateAvailable] = reactExports.useState(false);
|
|
@@ -45815,10 +46060,25 @@ const UpdateNotification = ({
|
|
|
45815
46060
|
const handleSnackbarClose = () => {
|
|
45816
46061
|
setSnackbarOpen(false);
|
|
45817
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
|
+
};
|
|
45818
46078
|
if (checking) {
|
|
45819
46079
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45820
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45821
|
-
/* @__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..." }),
|
|
45822
46082
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ProgressContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(LinearProgress, {}) })
|
|
45823
46083
|
] });
|
|
45824
46084
|
}
|
|
@@ -45837,15 +46097,15 @@ const UpdateNotification = ({
|
|
|
45837
46097
|
if (updateAvailable && !updateDownloaded && updateInfo) {
|
|
45838
46098
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45839
46099
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45840
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45841
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46100
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-title", children: "Update Available" }),
|
|
46101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-description", children: [
|
|
45842
46102
|
"Version ",
|
|
45843
46103
|
updateInfo.version,
|
|
45844
46104
|
" is available. You are currently using version ",
|
|
45845
46105
|
appVersion,
|
|
45846
46106
|
"."
|
|
45847
46107
|
] }),
|
|
45848
|
-
updateInfo.releaseNotes && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, {
|
|
46108
|
+
updateInfo.releaseNotes && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { className: "update-notes", sx: { mt: 1 }, children: [
|
|
45849
46109
|
"Release Notes:",
|
|
45850
46110
|
" ",
|
|
45851
46111
|
typeof updateInfo.releaseNotes === "string" ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
@@ -45871,7 +46131,7 @@ const UpdateNotification = ({
|
|
|
45871
46131
|
)
|
|
45872
46132
|
] }),
|
|
45873
46133
|
downloading && downloadProgress && /* @__PURE__ */ jsxRuntimeExports.jsxs(ProgressContainer, { children: [
|
|
45874
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { variant: "body2", children: [
|
|
46134
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { variant: "body2", sx: { fontSize: "0.8125rem" }, children: [
|
|
45875
46135
|
"Downloading: ",
|
|
45876
46136
|
Math.round(downloadProgress.percent),
|
|
45877
46137
|
"%"
|
|
@@ -45884,22 +46144,30 @@ const UpdateNotification = ({
|
|
|
45884
46144
|
sx: { mt: 1 }
|
|
45885
46145
|
}
|
|
45886
46146
|
),
|
|
45887
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
45888
|
-
|
|
45889
|
-
|
|
45890
|
-
|
|
45891
|
-
|
|
45892
|
-
|
|
45893
|
-
|
|
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
|
+
)
|
|
45894
46161
|
] }),
|
|
45895
46162
|
/* @__PURE__ */ jsxRuntimeExports.jsx(UpdateActions, { children: !downloading && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45896
46163
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45897
46164
|
Button,
|
|
45898
46165
|
{
|
|
45899
46166
|
variant: "contained",
|
|
45900
|
-
|
|
46167
|
+
size: "small",
|
|
45901
46168
|
onClick: downloadUpdate,
|
|
45902
46169
|
disabled: downloading,
|
|
46170
|
+
sx: buttonSx,
|
|
45903
46171
|
children: "Download Update"
|
|
45904
46172
|
}
|
|
45905
46173
|
),
|
|
@@ -45907,8 +46175,10 @@ const UpdateNotification = ({
|
|
|
45907
46175
|
Button,
|
|
45908
46176
|
{
|
|
45909
46177
|
variant: "outlined",
|
|
46178
|
+
size: "small",
|
|
45910
46179
|
onClick: handleDeferUpdate,
|
|
45911
46180
|
disabled: downloading,
|
|
46181
|
+
sx: secondaryButtonSx,
|
|
45912
46182
|
children: "Update Later"
|
|
45913
46183
|
}
|
|
45914
46184
|
)
|
|
@@ -45932,18 +46202,36 @@ const UpdateNotification = ({
|
|
|
45932
46202
|
if (updateDownloaded && updateInfo) {
|
|
45933
46203
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45934
46204
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45935
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45936
|
-
/* @__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: [
|
|
45937
46207
|
"Version ",
|
|
45938
46208
|
updateInfo.version,
|
|
45939
46209
|
" is available. You are currently using version ",
|
|
45940
46210
|
appVersion,
|
|
45941
46211
|
"."
|
|
45942
46212
|
] }),
|
|
45943
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
46213
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { className: "update-notes", sx: { mt: 1 }, children: "The application will restart to apply the update." }),
|
|
45944
46214
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateActions, { children: [
|
|
45945
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45946
|
-
|
|
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
|
+
)
|
|
45947
46235
|
] })
|
|
45948
46236
|
] }),
|
|
45949
46237
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -45961,23 +46249,24 @@ const UpdateNotification = ({
|
|
|
45961
46249
|
if (backendUpdateAvailable && backendUpdateInfo) {
|
|
45962
46250
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45963
46251
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateContainer, { children: [
|
|
45964
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, {
|
|
45965
|
-
/* @__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: [
|
|
45966
46254
|
"Server version ",
|
|
45967
46255
|
backendUpdateInfo.latestVersion,
|
|
45968
46256
|
" is available. You are currently using version ",
|
|
45969
46257
|
backendUpdateInfo.currentVersion,
|
|
45970
46258
|
"."
|
|
45971
46259
|
] }),
|
|
45972
|
-
/* @__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." }),
|
|
45973
46261
|
backendUpdateInfo.canManageUpdate ? /* @__PURE__ */ jsxRuntimeExports.jsxs(UpdateActions, { children: [
|
|
45974
46262
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45975
46263
|
Button,
|
|
45976
46264
|
{
|
|
45977
46265
|
variant: "contained",
|
|
45978
|
-
|
|
46266
|
+
size: "small",
|
|
45979
46267
|
onClick: updateBackend,
|
|
45980
46268
|
disabled: checking,
|
|
46269
|
+
sx: buttonSx,
|
|
45981
46270
|
children: checking ? "Updating..." : "Update Server"
|
|
45982
46271
|
}
|
|
45983
46272
|
),
|
|
@@ -45985,13 +46274,22 @@ const UpdateNotification = ({
|
|
|
45985
46274
|
Button,
|
|
45986
46275
|
{
|
|
45987
46276
|
variant: "outlined",
|
|
46277
|
+
size: "small",
|
|
45988
46278
|
onClick: handleDeferBackendUpdate,
|
|
45989
46279
|
disabled: checking,
|
|
46280
|
+
sx: secondaryButtonSx,
|
|
45990
46281
|
children: "Update Later"
|
|
45991
46282
|
}
|
|
45992
46283
|
)
|
|
45993
46284
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
45994
|
-
/* @__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
|
+
),
|
|
45995
46293
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45996
46294
|
Typography,
|
|
45997
46295
|
{
|
|
@@ -46001,7 +46299,8 @@ const UpdateNotification = ({
|
|
|
46001
46299
|
p: 1,
|
|
46002
46300
|
backgroundColor: "background.default",
|
|
46003
46301
|
borderRadius: 1,
|
|
46004
|
-
fontFamily: "monospace"
|
|
46302
|
+
fontFamily: "monospace",
|
|
46303
|
+
fontSize: "0.8125rem"
|
|
46005
46304
|
},
|
|
46006
46305
|
children: backendUpdateInfo.updateCommand
|
|
46007
46306
|
}
|
|
@@ -46010,8 +46309,10 @@ const UpdateNotification = ({
|
|
|
46010
46309
|
Button,
|
|
46011
46310
|
{
|
|
46012
46311
|
variant: "outlined",
|
|
46312
|
+
size: "small",
|
|
46013
46313
|
onClick: handleDeferBackendUpdate,
|
|
46014
46314
|
disabled: checking,
|
|
46315
|
+
sx: secondaryButtonSx,
|
|
46015
46316
|
children: "Dismiss"
|
|
46016
46317
|
}
|
|
46017
46318
|
) })
|
|
@@ -46047,7 +46348,7 @@ const UpdateNotification = ({
|
|
|
46047
46348
|
severity: "warning",
|
|
46048
46349
|
sx: { width: "100%" },
|
|
46049
46350
|
children: [
|
|
46050
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", children: manualUpdateInfo.message }),
|
|
46351
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", sx: { fontSize: "0.8125rem" }, children: manualUpdateInfo.message }),
|
|
46051
46352
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46052
46353
|
Typography,
|
|
46053
46354
|
{
|
|
@@ -46057,7 +46358,8 @@ const UpdateNotification = ({
|
|
|
46057
46358
|
p: 1,
|
|
46058
46359
|
backgroundColor: "background.default",
|
|
46059
46360
|
borderRadius: 1,
|
|
46060
|
-
fontFamily: "monospace"
|
|
46361
|
+
fontFamily: "monospace",
|
|
46362
|
+
fontSize: "0.8125rem"
|
|
46061
46363
|
},
|
|
46062
46364
|
children: manualUpdateInfo.command
|
|
46063
46365
|
}
|
|
@@ -54097,7 +54399,7 @@ const CountDisplay = styled$1("span")(({ theme: theme2 }) => ({
|
|
|
54097
54399
|
minWidth: "20px",
|
|
54098
54400
|
height: "1em"
|
|
54099
54401
|
}));
|
|
54100
|
-
const StyledCard$
|
|
54402
|
+
const StyledCard$2 = styled$1(Card)(({ theme: theme2 }) => ({
|
|
54101
54403
|
display: "flex",
|
|
54102
54404
|
flexDirection: "column",
|
|
54103
54405
|
height: 410,
|
|
@@ -54231,7 +54533,7 @@ const AgentCard = ({
|
|
|
54231
54533
|
const likeTooltip = isAuthenticated ? isLiked ? "Unlike agent" : "Like agent" : "Log in to Radient to like agents";
|
|
54232
54534
|
const favouriteTooltip = isAuthenticated ? isFavourited ? "Unfavourite agent" : "Favourite agent" : "Log in to Radient to favourite agents";
|
|
54233
54535
|
const downloadTooltip = "Download agent to your computer";
|
|
54234
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledCard$
|
|
54536
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledCard$2, { onClick: handleCardClick, children: [
|
|
54235
54537
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
54236
54538
|
Box,
|
|
54237
54539
|
{
|
|
@@ -54788,7 +55090,7 @@ const SectionTitle$6 = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
|
54788
55090
|
alignItems: "center",
|
|
54789
55091
|
color: theme2.palette.text.primary
|
|
54790
55092
|
}));
|
|
54791
|
-
const TitleIcon$
|
|
55093
|
+
const TitleIcon$3 = styled$1(FontAwesomeIcon)(({ theme: theme2 }) => ({
|
|
54792
55094
|
marginRight: 10,
|
|
54793
55095
|
color: theme2.palette.primary.main,
|
|
54794
55096
|
padding: theme2.spacing(0.5),
|
|
@@ -54912,25 +55214,30 @@ const UnsetSliderSetting = ({
|
|
|
54912
55214
|
};
|
|
54913
55215
|
const SectionTitle$5 = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
54914
55216
|
fontWeight: 600,
|
|
54915
|
-
marginBottom
|
|
55217
|
+
// Adjusted marginBottom for better spacing with collapsible content
|
|
55218
|
+
marginBottom: theme2.spacing(1),
|
|
54916
55219
|
display: "flex",
|
|
54917
55220
|
alignItems: "center",
|
|
54918
|
-
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
|
|
54919
55224
|
}));
|
|
54920
|
-
const
|
|
54921
|
-
marginRight:
|
|
54922
|
-
|
|
54923
|
-
|
|
54924
|
-
|
|
54925
|
-
|
|
54926
|
-
|
|
54927
|
-
|
|
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
|
|
54928
55233
|
}));
|
|
54929
55234
|
const InfoButton$2 = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
54930
55235
|
marginLeft: theme2.spacing(1),
|
|
54931
|
-
color: theme2.palette.
|
|
55236
|
+
color: theme2.palette.text.secondary,
|
|
55237
|
+
// Adjusted for a more subtle look
|
|
54932
55238
|
"&:hover": {
|
|
54933
|
-
backgroundColor: alpha$1(theme2.palette.
|
|
55239
|
+
backgroundColor: alpha$1(theme2.palette.action.hover, 0.08)
|
|
55240
|
+
// Consistent hover
|
|
54934
55241
|
}
|
|
54935
55242
|
}));
|
|
54936
55243
|
const StyledButton$1 = styled$1(Button)(({ theme: theme2 }) => ({
|
|
@@ -54964,501 +55271,532 @@ const ChatSettings = ({
|
|
|
54964
55271
|
reactExports.useEffect(() => {
|
|
54965
55272
|
setLocalAgent(selectedAgent);
|
|
54966
55273
|
}, [selectedAgent]);
|
|
55274
|
+
const [isExpanded, setIsExpanded] = reactExports.useState(false);
|
|
54967
55275
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { mt: 2, mb: 1 }, children: [
|
|
54968
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
54969
|
-
|
|
54970
|
-
"Chat Settings",
|
|
54971
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54972
|
-
Tooltip$1,
|
|
54973
|
-
{
|
|
54974
|
-
title: "Settings that control how the agent generates responses",
|
|
54975
|
-
arrow: true,
|
|
54976
|
-
placement: "top",
|
|
54977
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton$2, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
54978
|
-
}
|
|
54979
|
-
)
|
|
54980
|
-
] }),
|
|
54981
|
-
/* @__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." }) }),
|
|
54982
|
-
localAgent.temperature === null ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54983
|
-
UnsetSliderSetting,
|
|
54984
|
-
{
|
|
54985
|
-
label: "Temperature",
|
|
54986
|
-
description: "Controls randomness in responses (0.0-1.0). Higher values make output more random.",
|
|
54987
|
-
defaultValue: 0.2,
|
|
54988
|
-
onSetValue: async (value) => {
|
|
54989
|
-
setSavingField("temperature");
|
|
54990
|
-
try {
|
|
54991
|
-
const update = { temperature: value };
|
|
54992
|
-
await updateAgentMutation.mutateAsync({
|
|
54993
|
-
agentId: selectedAgent.id,
|
|
54994
|
-
update
|
|
54995
|
-
});
|
|
54996
|
-
setLocalAgent((prev2) => ({
|
|
54997
|
-
...prev2,
|
|
54998
|
-
temperature: value
|
|
54999
|
-
}));
|
|
55000
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55001
|
-
await refetchAgent();
|
|
55002
|
-
}
|
|
55003
|
-
} catch (_error) {
|
|
55004
|
-
} finally {
|
|
55005
|
-
setSavingField(null);
|
|
55006
|
-
}
|
|
55007
|
-
}
|
|
55008
|
-
}
|
|
55009
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55010
|
-
SliderSetting,
|
|
55276
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55277
|
+
SectionTitle$5,
|
|
55011
55278
|
{
|
|
55012
|
-
|
|
55013
|
-
|
|
55014
|
-
|
|
55015
|
-
|
|
55016
|
-
|
|
55017
|
-
|
|
55018
|
-
|
|
55019
|
-
|
|
55020
|
-
|
|
55021
|
-
|
|
55022
|
-
|
|
55023
|
-
|
|
55024
|
-
|
|
55025
|
-
update
|
|
55026
|
-
});
|
|
55027
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55028
|
-
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" }) })
|
|
55029
55292
|
}
|
|
55030
|
-
|
|
55031
|
-
|
|
55032
|
-
setSavingField(null);
|
|
55033
|
-
}
|
|
55034
|
-
}
|
|
55293
|
+
)
|
|
55294
|
+
]
|
|
55035
55295
|
}
|
|
55036
55296
|
),
|
|
55037
|
-
|
|
55038
|
-
|
|
55297
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Collapse, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55298
|
+
Box,
|
|
55039
55299
|
{
|
|
55040
|
-
|
|
55041
|
-
|
|
55042
|
-
|
|
55043
|
-
|
|
55044
|
-
|
|
55045
|
-
|
|
55046
|
-
|
|
55047
|
-
|
|
55048
|
-
|
|
55049
|
-
|
|
55050
|
-
|
|
55051
|
-
|
|
55052
|
-
|
|
55053
|
-
|
|
55054
|
-
|
|
55055
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55056
|
-
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."
|
|
55057
55315
|
}
|
|
55058
|
-
|
|
55059
|
-
|
|
55060
|
-
|
|
55061
|
-
|
|
55062
|
-
|
|
55063
|
-
|
|
55064
|
-
|
|
55065
|
-
|
|
55066
|
-
|
|
55067
|
-
|
|
55068
|
-
|
|
55069
|
-
|
|
55070
|
-
|
|
55071
|
-
|
|
55072
|
-
|
|
55073
|
-
|
|
55074
|
-
|
|
55075
|
-
|
|
55076
|
-
|
|
55077
|
-
|
|
55078
|
-
|
|
55079
|
-
|
|
55080
|
-
|
|
55081
|
-
|
|
55082
|
-
|
|
55083
|
-
|
|
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
|
+
}
|
|
55084
55343
|
}
|
|
55085
|
-
|
|
55086
|
-
|
|
55087
|
-
|
|
55088
|
-
|
|
55089
|
-
|
|
55090
|
-
|
|
55091
|
-
|
|
55092
|
-
|
|
55093
|
-
|
|
55094
|
-
|
|
55095
|
-
|
|
55096
|
-
|
|
55097
|
-
|
|
55098
|
-
|
|
55099
|
-
|
|
55100
|
-
|
|
55101
|
-
|
|
55102
|
-
|
|
55103
|
-
|
|
55104
|
-
|
|
55105
|
-
|
|
55106
|
-
|
|
55107
|
-
|
|
55108
|
-
|
|
55109
|
-
|
|
55110
|
-
|
|
55111
|
-
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
|
+
}
|
|
55112
55370
|
}
|
|
55113
|
-
|
|
55114
|
-
|
|
55115
|
-
|
|
55116
|
-
|
|
55117
|
-
|
|
55118
|
-
|
|
55119
|
-
|
|
55120
|
-
|
|
55121
|
-
|
|
55122
|
-
|
|
55123
|
-
|
|
55124
|
-
|
|
55125
|
-
|
|
55126
|
-
|
|
55127
|
-
|
|
55128
|
-
|
|
55129
|
-
|
|
55130
|
-
|
|
55131
|
-
|
|
55132
|
-
|
|
55133
|
-
|
|
55134
|
-
|
|
55135
|
-
|
|
55136
|
-
|
|
55137
|
-
|
|
55138
|
-
|
|
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
|
+
}
|
|
55139
55398
|
}
|
|
55140
|
-
|
|
55141
|
-
|
|
55142
|
-
|
|
55143
|
-
|
|
55144
|
-
|
|
55145
|
-
|
|
55146
|
-
|
|
55147
|
-
|
|
55148
|
-
|
|
55149
|
-
|
|
55150
|
-
|
|
55151
|
-
|
|
55152
|
-
|
|
55153
|
-
|
|
55154
|
-
|
|
55155
|
-
|
|
55156
|
-
|
|
55157
|
-
|
|
55158
|
-
|
|
55159
|
-
|
|
55160
|
-
|
|
55161
|
-
|
|
55162
|
-
|
|
55163
|
-
|
|
55164
|
-
|
|
55165
|
-
|
|
55166
|
-
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
|
+
}
|
|
55167
55425
|
}
|
|
55168
|
-
|
|
55169
|
-
|
|
55170
|
-
|
|
55171
|
-
|
|
55172
|
-
|
|
55173
|
-
|
|
55174
|
-
|
|
55175
|
-
|
|
55176
|
-
|
|
55177
|
-
|
|
55178
|
-
|
|
55179
|
-
|
|
55180
|
-
|
|
55181
|
-
|
|
55182
|
-
|
|
55183
|
-
|
|
55184
|
-
|
|
55185
|
-
|
|
55186
|
-
|
|
55187
|
-
|
|
55188
|
-
|
|
55189
|
-
|
|
55190
|
-
|
|
55191
|
-
|
|
55192
|
-
|
|
55193
|
-
|
|
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
|
+
}
|
|
55194
55453
|
}
|
|
55195
|
-
|
|
55196
|
-
|
|
55197
|
-
|
|
55198
|
-
|
|
55199
|
-
|
|
55200
|
-
|
|
55201
|
-
|
|
55202
|
-
|
|
55203
|
-
|
|
55204
|
-
|
|
55205
|
-
|
|
55206
|
-
|
|
55207
|
-
|
|
55208
|
-
|
|
55209
|
-
|
|
55210
|
-
|
|
55211
|
-
|
|
55212
|
-
|
|
55213
|
-
|
|
55214
|
-
|
|
55215
|
-
|
|
55216
|
-
|
|
55217
|
-
|
|
55218
|
-
|
|
55219
|
-
|
|
55220
|
-
|
|
55221
|
-
|
|
55222
|
-
|
|
55223
|
-
|
|
55224
|
-
|
|
55225
|
-
|
|
55226
|
-
|
|
55227
|
-
|
|
55228
|
-
|
|
55229
|
-
|
|
55230
|
-
|
|
55231
|
-
|
|
55232
|
-
|
|
55233
|
-
|
|
55234
|
-
|
|
55235
|
-
|
|
55236
|
-
}
|
|
55237
|
-
|
|
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();
|
|
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();
|
|
55238
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"
|
|
55239
55549
|
},
|
|
55240
|
-
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
|
+
]
|
|
55241
55579
|
}
|
|
55242
55580
|
)
|
|
55243
|
-
]
|
|
55244
|
-
|
|
55245
|
-
|
|
55246
|
-
|
|
55247
|
-
|
|
55248
|
-
|
|
55249
|
-
|
|
55250
|
-
|
|
55251
|
-
|
|
55252
|
-
|
|
55253
|
-
|
|
55254
|
-
|
|
55255
|
-
|
|
55256
|
-
|
|
55257
|
-
|
|
55258
|
-
|
|
55259
|
-
|
|
55260
|
-
|
|
55261
|
-
|
|
55262
|
-
|
|
55263
|
-
|
|
55264
|
-
|
|
55265
|
-
|
|
55266
|
-
|
|
55267
|
-
|
|
55268
|
-
|
|
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
|
+
}
|
|
55269
55610
|
}
|
|
55270
|
-
|
|
55271
|
-
|
|
55272
|
-
|
|
55273
|
-
|
|
55274
|
-
|
|
55275
|
-
|
|
55276
|
-
|
|
55277
|
-
|
|
55278
|
-
|
|
55279
|
-
|
|
55280
|
-
|
|
55281
|
-
|
|
55282
|
-
|
|
55283
|
-
|
|
55284
|
-
|
|
55285
|
-
|
|
55286
|
-
|
|
55287
|
-
|
|
55288
|
-
|
|
55289
|
-
|
|
55290
|
-
|
|
55291
|
-
|
|
55292
|
-
|
|
55293
|
-
|
|
55294
|
-
|
|
55295
|
-
|
|
55296
|
-
|
|
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
|
+
}
|
|
55297
55638
|
}
|
|
55298
|
-
|
|
55299
|
-
|
|
55300
|
-
|
|
55301
|
-
|
|
55302
|
-
|
|
55303
|
-
|
|
55304
|
-
|
|
55305
|
-
|
|
55306
|
-
|
|
55307
|
-
|
|
55308
|
-
|
|
55309
|
-
|
|
55310
|
-
|
|
55311
|
-
|
|
55312
|
-
|
|
55313
|
-
|
|
55314
|
-
|
|
55315
|
-
|
|
55316
|
-
|
|
55317
|
-
|
|
55318
|
-
|
|
55319
|
-
|
|
55320
|
-
|
|
55321
|
-
|
|
55322
|
-
|
|
55323
|
-
|
|
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
|
+
}
|
|
55324
55665
|
}
|
|
55325
|
-
|
|
55326
|
-
|
|
55327
|
-
|
|
55328
|
-
|
|
55329
|
-
|
|
55330
|
-
|
|
55331
|
-
|
|
55332
|
-
|
|
55333
|
-
|
|
55334
|
-
|
|
55335
|
-
|
|
55336
|
-
|
|
55337
|
-
|
|
55338
|
-
|
|
55339
|
-
|
|
55340
|
-
|
|
55341
|
-
|
|
55342
|
-
|
|
55343
|
-
|
|
55344
|
-
|
|
55345
|
-
|
|
55346
|
-
|
|
55347
|
-
|
|
55348
|
-
|
|
55349
|
-
|
|
55350
|
-
|
|
55351
|
-
|
|
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
|
+
}
|
|
55352
55693
|
}
|
|
55353
|
-
|
|
55354
|
-
|
|
55355
|
-
|
|
55356
|
-
|
|
55357
|
-
|
|
55358
|
-
|
|
55359
|
-
|
|
55360
|
-
|
|
55361
|
-
|
|
55362
|
-
|
|
55363
|
-
|
|
55364
|
-
|
|
55365
|
-
|
|
55366
|
-
|
|
55367
|
-
|
|
55368
|
-
|
|
55369
|
-
|
|
55370
|
-
|
|
55371
|
-
|
|
55372
|
-
|
|
55373
|
-
|
|
55374
|
-
|
|
55375
|
-
|
|
55376
|
-
|
|
55377
|
-
|
|
55378
|
-
|
|
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
|
+
}
|
|
55379
55720
|
}
|
|
55380
|
-
|
|
55381
|
-
|
|
55382
|
-
|
|
55383
|
-
|
|
55384
|
-
|
|
55385
|
-
|
|
55386
|
-
|
|
55387
|
-
|
|
55388
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(LabelWrapper, { children: [
|
|
55389
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelText, { variant: "subtitle2", children: "Seed" }),
|
|
55390
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DescriptionText$1, { variant: "body2", color: "text.secondary", children: "Random number seed for deterministic generation." })
|
|
55391
|
-
] }),
|
|
55392
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
55393
|
-
Box,
|
|
55394
|
-
{
|
|
55395
|
-
sx: {
|
|
55396
|
-
display: "flex",
|
|
55397
|
-
alignItems: "center",
|
|
55398
|
-
justifyContent: "space-between"
|
|
55399
|
-
},
|
|
55400
|
-
children: [
|
|
55401
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.disabled", children: "Not set yet" }),
|
|
55402
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55403
|
-
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,
|
|
55404
55729
|
{
|
|
55405
|
-
|
|
55406
|
-
|
|
55407
|
-
|
|
55408
|
-
|
|
55409
|
-
await updateAgentMutation.mutateAsync({
|
|
55410
|
-
agentId: selectedAgent.id,
|
|
55411
|
-
update
|
|
55412
|
-
});
|
|
55413
|
-
setLocalAgent((prev2) => ({
|
|
55414
|
-
...prev2,
|
|
55415
|
-
seed: 42
|
|
55416
|
-
}));
|
|
55417
|
-
if (selectedAgent.id === initialSelectedAgentId && refetchAgent) {
|
|
55418
|
-
await refetchAgent();
|
|
55419
|
-
}
|
|
55420
|
-
} catch (_error) {
|
|
55421
|
-
} finally {
|
|
55422
|
-
setSavingField(null);
|
|
55423
|
-
}
|
|
55730
|
+
sx: {
|
|
55731
|
+
display: "flex",
|
|
55732
|
+
alignItems: "center",
|
|
55733
|
+
justifyContent: "space-between"
|
|
55424
55734
|
},
|
|
55425
|
-
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
|
+
]
|
|
55426
55764
|
}
|
|
55427
55765
|
)
|
|
55428
|
-
]
|
|
55429
|
-
|
|
55430
|
-
|
|
55431
|
-
|
|
55432
|
-
|
|
55433
|
-
|
|
55434
|
-
|
|
55435
|
-
|
|
55436
|
-
|
|
55437
|
-
|
|
55438
|
-
|
|
55439
|
-
|
|
55440
|
-
|
|
55441
|
-
|
|
55442
|
-
|
|
55443
|
-
|
|
55444
|
-
|
|
55445
|
-
|
|
55446
|
-
|
|
55447
|
-
|
|
55448
|
-
|
|
55449
|
-
|
|
55450
|
-
|
|
55451
|
-
|
|
55452
|
-
|
|
55453
|
-
|
|
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
|
+
}
|
|
55454
55795
|
}
|
|
55455
|
-
|
|
55456
|
-
|
|
55457
|
-
setSavingField(null);
|
|
55458
|
-
}
|
|
55459
|
-
}
|
|
55796
|
+
)
|
|
55797
|
+
]
|
|
55460
55798
|
}
|
|
55461
|
-
)
|
|
55799
|
+
) })
|
|
55462
55800
|
] });
|
|
55463
55801
|
};
|
|
55464
55802
|
const ALLOWED_AGENT_CATEGORIES = [
|
|
@@ -66241,9 +66579,15 @@ const GeneralSettings = ({
|
|
|
66241
66579
|
refetchAgent,
|
|
66242
66580
|
initialSelectedAgentId
|
|
66243
66581
|
}) => {
|
|
66244
|
-
const
|
|
66245
|
-
|
|
66246
|
-
)
|
|
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]);
|
|
66247
66591
|
const [tagsSaving, setTagsSaving] = reactExports.useState(false);
|
|
66248
66592
|
const [categoriesSaving, setCategoriesSaving] = reactExports.useState(false);
|
|
66249
66593
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
@@ -66290,7 +66634,7 @@ const GeneralSettings = ({
|
|
|
66290
66634
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66291
66635
|
HostingSelect,
|
|
66292
66636
|
{
|
|
66293
|
-
value: selectedAgent.hosting || "",
|
|
66637
|
+
value: selectedAgent.hosting || (config2?.values.hosting ?? ""),
|
|
66294
66638
|
isSaving: savingField === "hosting",
|
|
66295
66639
|
onSave: async (value) => {
|
|
66296
66640
|
setSavingField("hosting");
|
|
@@ -66317,14 +66661,14 @@ const GeneralSettings = ({
|
|
|
66317
66661
|
filterByCredentials: true,
|
|
66318
66662
|
allowDefault: true
|
|
66319
66663
|
},
|
|
66320
|
-
`hosting-select-${selectedAgent.hosting || ""}`
|
|
66664
|
+
`hosting-select-${selectedAgent.id}-${selectedAgent.hosting || (config2?.values.hosting ?? "default")}`
|
|
66321
66665
|
)
|
|
66322
66666
|
}
|
|
66323
66667
|
),
|
|
66324
66668
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, md: 6, "data-tour-tag": "agent-settings-model-select", children: currentHosting ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66325
66669
|
ModelSelect,
|
|
66326
66670
|
{
|
|
66327
|
-
value: selectedAgent.model || "",
|
|
66671
|
+
value: selectedAgent.hosting ? selectedAgent.model || "" : selectedAgent.model || (config2?.values.model_name ?? ""),
|
|
66328
66672
|
hostingId: currentHosting,
|
|
66329
66673
|
isSaving: savingField === "model",
|
|
66330
66674
|
allowDefault: true,
|
|
@@ -66345,7 +66689,7 @@ const GeneralSettings = ({
|
|
|
66345
66689
|
}
|
|
66346
66690
|
}
|
|
66347
66691
|
},
|
|
66348
|
-
`model-select-${currentHosting}`
|
|
66692
|
+
`model-select-${selectedAgent.id}-${currentHosting}-${selectedAgent.model || (!selectedAgent.hosting && config2?.values.model_name ? config2.values.model_name : "default")}`
|
|
66349
66693
|
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(FieldContainer, { children: [
|
|
66350
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: [
|
|
66351
66695
|
/* @__PURE__ */ jsxRuntimeExports.jsx(LabelIcon$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faRobot }) }),
|
|
@@ -66508,26 +66852,35 @@ const SecuritySettings = ({
|
|
|
66508
66852
|
refetchAgent,
|
|
66509
66853
|
initialSelectedAgentId
|
|
66510
66854
|
}) => {
|
|
66511
|
-
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: [
|
|
66512
66856
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$3, { variant: "subtitle1", children: [
|
|
66513
66857
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$1, { icon: faShieldAlt }),
|
|
66514
|
-
"Security
|
|
66858
|
+
"Security Instructions",
|
|
66515
66859
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66516
66860
|
Tooltip$1,
|
|
66517
66861
|
{
|
|
66518
|
-
title:
|
|
66862
|
+
title: `Security instructions that guide the agent's behavior and limitations. This is the "system prompt" for the security agent.`,
|
|
66519
66863
|
arrow: true,
|
|
66520
66864
|
placement: "top",
|
|
66521
66865
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton$1, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
66522
66866
|
}
|
|
66523
66867
|
)
|
|
66524
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
|
+
),
|
|
66525
66878
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66526
66879
|
EditableField,
|
|
66527
66880
|
{
|
|
66528
66881
|
value: selectedAgent.security_prompt || "",
|
|
66529
66882
|
label: "",
|
|
66530
|
-
placeholder: "Enter security
|
|
66883
|
+
placeholder: "Enter instructions for the security agent...",
|
|
66531
66884
|
multiline: true,
|
|
66532
66885
|
rows: 6,
|
|
66533
66886
|
isSaving: savingField === "security_prompt",
|
|
@@ -66591,26 +66944,35 @@ const SystemPromptSettings = ({
|
|
|
66591
66944
|
setLocalSystemPrompt(systemPrompt);
|
|
66592
66945
|
}
|
|
66593
66946
|
}, [systemPrompt]);
|
|
66594
|
-
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: [
|
|
66595
66948
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$2, { variant: "subtitle1", children: [
|
|
66596
66949
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon, { icon: faRobot }),
|
|
66597
|
-
"
|
|
66950
|
+
"Agent Instructions",
|
|
66598
66951
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66599
66952
|
Tooltip$1,
|
|
66600
66953
|
{
|
|
66601
|
-
title:
|
|
66954
|
+
title: `System instructions that define the agent's behavior and capabilities. This is the agent's "system prompt"`,
|
|
66602
66955
|
arrow: true,
|
|
66603
66956
|
placement: "top",
|
|
66604
66957
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(InfoButton, { size: "small", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faInfoCircle, size: "xs" }) })
|
|
66605
66958
|
}
|
|
66606
66959
|
)
|
|
66607
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
|
+
),
|
|
66608
66970
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66609
66971
|
EditableField,
|
|
66610
66972
|
{
|
|
66611
66973
|
value: localSystemPrompt,
|
|
66612
66974
|
label: "",
|
|
66613
|
-
placeholder: isLoading ? "Loading system prompt..." : "Enter
|
|
66975
|
+
placeholder: isLoading ? "Loading system prompt..." : "Enter instructions for the agent...",
|
|
66614
66976
|
multiline: true,
|
|
66615
66977
|
rows: 6,
|
|
66616
66978
|
isSaving: savingField === "system_prompt",
|
|
@@ -66702,22 +67064,22 @@ const AgentSettings = ({
|
|
|
66702
67064
|
}
|
|
66703
67065
|
),
|
|
66704
67066
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66705
|
-
|
|
67067
|
+
SystemPromptSettings,
|
|
66706
67068
|
{
|
|
66707
67069
|
selectedAgent,
|
|
66708
67070
|
savingField,
|
|
66709
67071
|
setSavingField,
|
|
66710
|
-
updateAgentMutation,
|
|
66711
67072
|
refetchAgent,
|
|
66712
67073
|
initialSelectedAgentId
|
|
66713
67074
|
}
|
|
66714
67075
|
),
|
|
66715
67076
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66716
|
-
|
|
67077
|
+
SecuritySettings,
|
|
66717
67078
|
{
|
|
66718
67079
|
selectedAgent,
|
|
66719
67080
|
savingField,
|
|
66720
67081
|
setSavingField,
|
|
67082
|
+
updateAgentMutation,
|
|
66721
67083
|
refetchAgent,
|
|
66722
67084
|
initialSelectedAgentId
|
|
66723
67085
|
}
|
|
@@ -67742,9 +68104,14 @@ const defaultConversationCanvasState = {
|
|
|
67742
68104
|
isOpen: false,
|
|
67743
68105
|
openTabs: [],
|
|
67744
68106
|
selectedTabId: null,
|
|
67745
|
-
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 };
|
|
67746
68114
|
};
|
|
67747
|
-
const getConversationState = (conversations, conversationId) => conversations[conversationId] ?? { ...defaultConversationCanvasState };
|
|
67748
68115
|
const useCanvasStore = create$3()(
|
|
67749
68116
|
persist(
|
|
67750
68117
|
(set2, _2) => ({
|
|
@@ -67801,6 +68168,71 @@ const useCanvasStore = create$3()(
|
|
|
67801
68168
|
};
|
|
67802
68169
|
return { conversations: newConversations };
|
|
67803
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
|
+
}));
|
|
67804
68236
|
}
|
|
67805
68237
|
}),
|
|
67806
68238
|
{
|
|
@@ -86302,7 +86734,7 @@ const languages = [
|
|
|
86302
86734
|
name: "Go",
|
|
86303
86735
|
extensions: ["go"],
|
|
86304
86736
|
load() {
|
|
86305
|
-
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());
|
|
86306
86738
|
}
|
|
86307
86739
|
}),
|
|
86308
86740
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -86479,7 +86911,7 @@ const languages = [
|
|
|
86479
86911
|
alias: ["yml"],
|
|
86480
86912
|
extensions: ["yaml", "yml"],
|
|
86481
86913
|
load() {
|
|
86482
|
-
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());
|
|
86483
86915
|
}
|
|
86484
86916
|
}),
|
|
86485
86917
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -168918,7 +169350,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
168918
169350
|
registerLayoutLoaders([
|
|
168919
169351
|
{
|
|
168920
169352
|
name: "dagre",
|
|
168921
|
-
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")
|
|
168922
169354
|
}
|
|
168923
169355
|
]);
|
|
168924
169356
|
}, "registerDefaultLayoutLoaders");
|
|
@@ -169508,7 +169940,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
169508
169940
|
}, "detector");
|
|
169509
169941
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
169510
169942
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169511
|
-
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-
|
|
169943
|
+
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-CUWQVTBw.js");
|
|
169512
169944
|
return { diagram: diagram22 };
|
|
169513
169945
|
}, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
|
|
169514
169946
|
return { id, diagram: diagram2 };
|
|
@@ -169528,7 +169960,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169528
169960
|
}, "detector");
|
|
169529
169961
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
169530
169962
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169531
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
169963
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169532
169964
|
return { diagram: diagram22 };
|
|
169533
169965
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169534
169966
|
return { id: id2, diagram: diagram2 };
|
|
@@ -169554,7 +169986,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169554
169986
|
}, "detector");
|
|
169555
169987
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
169556
169988
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169557
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
169989
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169558
169990
|
return { diagram: diagram22 };
|
|
169559
169991
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169560
169992
|
return { id: id3, diagram: diagram2 };
|
|
@@ -169571,7 +170003,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
169571
170003
|
}, "detector");
|
|
169572
170004
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
169573
170005
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169574
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-
|
|
170006
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-B_3VyDfP.js");
|
|
169575
170007
|
return { diagram: diagram22 };
|
|
169576
170008
|
}, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
|
|
169577
170009
|
return { id: id4, diagram: diagram2 };
|
|
@@ -169588,7 +170020,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
169588
170020
|
}, "detector");
|
|
169589
170021
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
169590
170022
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169591
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-
|
|
170023
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-Jz6QBGPa.js");
|
|
169592
170024
|
return { diagram: diagram22 };
|
|
169593
170025
|
}, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169594
170026
|
return { id: id5, diagram: diagram2 };
|
|
@@ -169605,7 +170037,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
169605
170037
|
}, "detector");
|
|
169606
170038
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
169607
170039
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169608
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-
|
|
170040
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-BK37zBtS.js");
|
|
169609
170041
|
return { diagram: diagram22 };
|
|
169610
170042
|
}, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
|
|
169611
170043
|
return { id: id6, diagram: diagram2 };
|
|
@@ -169622,7 +170054,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
169622
170054
|
}, "detector");
|
|
169623
170055
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
169624
170056
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169625
|
-
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-
|
|
170057
|
+
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-BrTEa3Dg.js");
|
|
169626
170058
|
return { diagram: diagram22 };
|
|
169627
170059
|
}, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169628
170060
|
return { id: id7, diagram: diagram2 };
|
|
@@ -169638,7 +170070,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
169638
170070
|
}, "detector");
|
|
169639
170071
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
169640
170072
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169641
|
-
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-
|
|
170073
|
+
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-D_aSId8t.js");
|
|
169642
170074
|
return { diagram: diagram22 };
|
|
169643
170075
|
}, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
|
|
169644
170076
|
return { id: id8, diagram: diagram2 };
|
|
@@ -169654,7 +170086,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
169654
170086
|
}, "detector");
|
|
169655
170087
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
169656
170088
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169657
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-
|
|
170089
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-VtpoaDCW.js");
|
|
169658
170090
|
return { diagram: diagram22 };
|
|
169659
170091
|
}, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
|
|
169660
170092
|
return { id: id9, diagram: diagram2 };
|
|
@@ -169671,7 +170103,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
169671
170103
|
}, "detector");
|
|
169672
170104
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
169673
170105
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169674
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-
|
|
170106
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-gjn-8kXQ.js");
|
|
169675
170107
|
return { diagram: diagram22 };
|
|
169676
170108
|
}, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
|
|
169677
170109
|
return { id: id10, diagram: diagram2 };
|
|
@@ -169688,7 +170120,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
169688
170120
|
}, "detector");
|
|
169689
170121
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
169690
170122
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169691
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-
|
|
170123
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-DmQX7SmX.js");
|
|
169692
170124
|
return { diagram: diagram22 };
|
|
169693
170125
|
}, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
|
|
169694
170126
|
return { id: id11, diagram: diagram2 };
|
|
@@ -169705,7 +170137,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
169705
170137
|
}, "detector");
|
|
169706
170138
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
169707
170139
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169708
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-
|
|
170140
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-Cy6jqgLY.js");
|
|
169709
170141
|
return { diagram: diagram22 };
|
|
169710
170142
|
}, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
|
|
169711
170143
|
return { id: id12, diagram: diagram2 };
|
|
@@ -169725,7 +170157,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169725
170157
|
}, "detector");
|
|
169726
170158
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
169727
170159
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169728
|
-
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-
|
|
170160
|
+
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-D_MSeJ_6.js");
|
|
169729
170161
|
return { diagram: diagram22 };
|
|
169730
170162
|
}, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
|
|
169731
170163
|
return { id: id13, diagram: diagram2 };
|
|
@@ -169745,7 +170177,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169745
170177
|
}, "detector");
|
|
169746
170178
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
169747
170179
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169748
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-
|
|
170180
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-D_MSeJ_6.js");
|
|
169749
170181
|
return { diagram: diagram22 };
|
|
169750
170182
|
}, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
|
|
169751
170183
|
return { id: id14, diagram: diagram2 };
|
|
@@ -169765,7 +170197,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169765
170197
|
}, "detector");
|
|
169766
170198
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
169767
170199
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169768
|
-
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-
|
|
170200
|
+
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-B5sjzMc3.js");
|
|
169769
170201
|
return { diagram: diagram22 };
|
|
169770
170202
|
}, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
|
|
169771
170203
|
return { id: id15, diagram: diagram2 };
|
|
@@ -169788,7 +170220,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
169788
170220
|
}, "detector");
|
|
169789
170221
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
169790
170222
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169791
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-
|
|
170223
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-CCntK586.js");
|
|
169792
170224
|
return { diagram: diagram22 };
|
|
169793
170225
|
}, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
|
|
169794
170226
|
return { id: id16, diagram: diagram2 };
|
|
@@ -169805,7 +170237,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
169805
170237
|
}, "detector");
|
|
169806
170238
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
169807
170239
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169808
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-
|
|
170240
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-cp-7j6JH.js");
|
|
169809
170241
|
return { diagram: diagram22 };
|
|
169810
170242
|
}, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
|
|
169811
170243
|
return { id: id17, diagram: diagram2 };
|
|
@@ -169875,7 +170307,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
169875
170307
|
}, "detector");
|
|
169876
170308
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
169877
170309
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169878
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
170310
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DO9xIDx0.js");
|
|
169879
170311
|
return { diagram: diagram22 };
|
|
169880
170312
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
169881
170313
|
return { id: id18, diagram: diagram2 };
|
|
@@ -169892,7 +170324,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
169892
170324
|
}, "detector");
|
|
169893
170325
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
169894
170326
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169895
|
-
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-
|
|
170327
|
+
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-B24Z4NA2.js");
|
|
169896
170328
|
return { diagram: diagram22 };
|
|
169897
170329
|
}, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
|
|
169898
170330
|
return { id: id19, diagram: diagram2 };
|
|
@@ -169909,7 +170341,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
169909
170341
|
}, "detector");
|
|
169910
170342
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
169911
170343
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169912
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-
|
|
170344
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-B8ntf-YJ.js");
|
|
169913
170345
|
return { diagram: diagram22 };
|
|
169914
170346
|
}, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
|
|
169915
170347
|
return { id: id20, diagram: diagram2 };
|
|
@@ -169926,7 +170358,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
169926
170358
|
}, "detector");
|
|
169927
170359
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
169928
170360
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169929
|
-
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-
|
|
170361
|
+
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-DT0Ds4_6.js");
|
|
169930
170362
|
return { diagram: diagram22 };
|
|
169931
170363
|
}, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
|
|
169932
170364
|
return { id: id21, diagram: diagram2 };
|
|
@@ -169943,7 +170375,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
169943
170375
|
}, "detector");
|
|
169944
170376
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
169945
170377
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169946
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-
|
|
170378
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-DH2kTl35.js");
|
|
169947
170379
|
return { diagram: diagram22 };
|
|
169948
170380
|
}, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
|
|
169949
170381
|
return { id: id22, diagram: diagram2 };
|
|
@@ -169960,7 +170392,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
169960
170392
|
}, "detector");
|
|
169961
170393
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
169962
170394
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169963
|
-
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-
|
|
170395
|
+
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-Bxh5b-em.js");
|
|
169964
170396
|
return { diagram: diagram22 };
|
|
169965
170397
|
}, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169966
170398
|
return { id: id23, diagram: diagram2 };
|
|
@@ -169976,7 +170408,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
169976
170408
|
}, "detector");
|
|
169977
170409
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
169978
170410
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169979
|
-
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-
|
|
170411
|
+
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-lmqZ5zjv.js");
|
|
169980
170412
|
return { diagram: diagram22 };
|
|
169981
170413
|
}, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
169982
170414
|
return { id: id24, diagram: diagram2 };
|
|
@@ -169992,7 +170424,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
169992
170424
|
}, "detector");
|
|
169993
170425
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
169994
170426
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
169995
|
-
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-
|
|
170427
|
+
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-boa_T8E1.js");
|
|
169996
170428
|
return { diagram: diagram22 };
|
|
169997
170429
|
}, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
|
|
169998
170430
|
return { id: id25, diagram: diagram2 };
|
|
@@ -170009,7 +170441,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
170009
170441
|
}, "detector");
|
|
170010
170442
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
170011
170443
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170012
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-
|
|
170444
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-DzXvnk9f.js");
|
|
170013
170445
|
return { diagram: diagram22 };
|
|
170014
170446
|
}, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
|
|
170015
170447
|
return { id: id26, diagram: diagram2 };
|
|
@@ -171480,6 +171912,351 @@ const CanvasContentComponent = ({ document: document2 }) => {
|
|
|
171480
171912
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(CodeEditor, { document: document2 });
|
|
171481
171913
|
};
|
|
171482
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
|
+
};
|
|
171483
172260
|
const StyledTabs = styled$1(Tabs)(({ theme: theme2 }) => ({
|
|
171484
172261
|
borderBottom: `1px solid ${alpha$1(theme2.palette.divider, 0.05)}`,
|
|
171485
172262
|
maxWidth: "100%",
|
|
@@ -171633,8 +172410,22 @@ const CanvasComponent = ({
|
|
|
171633
172410
|
initialDocuments = [],
|
|
171634
172411
|
onChangeActiveDocument: externalChangeActiveDocument,
|
|
171635
172412
|
onClose,
|
|
171636
|
-
onCloseDocument
|
|
172413
|
+
onCloseDocument,
|
|
172414
|
+
conversationId
|
|
171637
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
|
+
);
|
|
171638
172429
|
const documents = initialDocuments;
|
|
171639
172430
|
const [internalActiveDocumentId, setInternalActiveDocumentId] = reactExports.useState(documents.length > 0 ? documents[0].id : null);
|
|
171640
172431
|
const activeDocumentId = externalActiveDocumentId ?? internalActiveDocumentId;
|
|
@@ -171649,6 +172440,13 @@ const CanvasComponent = ({
|
|
|
171649
172440
|
},
|
|
171650
172441
|
[externalChangeActiveDocument]
|
|
171651
172442
|
);
|
|
172443
|
+
const handleSwitchToDocumentView = reactExports.useCallback(
|
|
172444
|
+
(documentId) => {
|
|
172445
|
+
setCurrentView("documents");
|
|
172446
|
+
handleChangeActiveDocument(documentId);
|
|
172447
|
+
},
|
|
172448
|
+
[handleChangeActiveDocument, setCurrentView]
|
|
172449
|
+
);
|
|
171652
172450
|
const handleCloseDocument = reactExports.useCallback(
|
|
171653
172451
|
(documentId) => {
|
|
171654
172452
|
onCloseDocument(documentId);
|
|
@@ -171673,29 +172471,103 @@ const CanvasComponent = ({
|
|
|
171673
172471
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CanvasHeader, { children: [
|
|
171674
172472
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(HeaderTitle, { children: [
|
|
171675
172473
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", fontWeight: 600, children: "Canvas" }),
|
|
171676
|
-
/* @__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" })
|
|
171677
172475
|
] }),
|
|
171678
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
171679
|
-
|
|
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,
|
|
171680
172536
|
{
|
|
171681
|
-
|
|
171682
|
-
|
|
171683
|
-
|
|
171684
|
-
|
|
172537
|
+
documents,
|
|
172538
|
+
activeDocumentId,
|
|
172539
|
+
onChangeActiveDocument: handleChangeActiveDocument,
|
|
172540
|
+
onCloseDocument: handleCloseDocument
|
|
171685
172541
|
}
|
|
171686
|
-
)
|
|
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
|
+
)
|
|
171687
172562
|
] }),
|
|
171688
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
171689
|
-
|
|
172563
|
+
currentView === "files" && conversationId && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172564
|
+
CanvasFileViewer,
|
|
171690
172565
|
{
|
|
171691
|
-
|
|
171692
|
-
|
|
171693
|
-
onChangeActiveDocument: handleChangeActiveDocument,
|
|
171694
|
-
onCloseDocument: handleCloseDocument
|
|
172566
|
+
conversationId,
|
|
172567
|
+
onSwitchToDocumentView: handleSwitchToDocumentView
|
|
171695
172568
|
}
|
|
171696
172569
|
),
|
|
171697
|
-
|
|
171698
|
-
!activeDocument && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
172570
|
+
currentView === "files" && !conversationId && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
171699
172571
|
Box,
|
|
171700
172572
|
{
|
|
171701
172573
|
sx: {
|
|
@@ -171708,8 +172580,8 @@ const CanvasComponent = ({
|
|
|
171708
172580
|
textAlign: "center"
|
|
171709
172581
|
},
|
|
171710
172582
|
children: [
|
|
171711
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", gutterBottom: true, children: "
|
|
171712
|
-
/* @__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." })
|
|
171713
172585
|
]
|
|
171714
172586
|
}
|
|
171715
172587
|
)
|
|
@@ -171889,7 +172761,7 @@ const GenerationSettingsSection = ({
|
|
|
171889
172761
|
}) => {
|
|
171890
172762
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
171891
172763
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$6, { variant: "subtitle1", children: [
|
|
171892
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$
|
|
172764
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$3, { icon: faSliders }),
|
|
171893
172765
|
"Generation Settings",
|
|
171894
172766
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
171895
172767
|
Tooltip$1,
|
|
@@ -172250,7 +173122,7 @@ const ModelHostingSection = ({
|
|
|
172250
173122
|
}) => {
|
|
172251
173123
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
172252
173124
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionTitle$6, { variant: "subtitle1", children: [
|
|
172253
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$
|
|
173125
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TitleIcon$3, { icon: faServer }),
|
|
172254
173126
|
"Model & Hosting",
|
|
172255
173127
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
172256
173128
|
Tooltip$1,
|
|
@@ -173917,6 +174789,47 @@ const LoadingIndicator = reactExports.memo(({ status, currentExecution }) => {
|
|
|
173917
174789
|
] }) }) })
|
|
173918
174790
|
] });
|
|
173919
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
|
+
};
|
|
173920
174833
|
const FILE_EXTENSION_REGEX = /\.([a-zA-Z0-9]+)$/;
|
|
173921
174834
|
const PATH_SLASH_REGEX = /[\\/]/;
|
|
173922
174835
|
const getLanguageFromExtension = (filename) => {
|
|
@@ -211681,6 +212594,16 @@ const errorSuggestions = {
|
|
|
211681
212594
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Link$1, { component: Link$2, to: "/settings", color: "inherit", children: "settings page" }),
|
|
211682
212595
|
" ",
|
|
211683
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."
|
|
211684
212607
|
] })
|
|
211685
212608
|
};
|
|
211686
212609
|
const ErrorBlock = ({ error, isUser }) => {
|
|
@@ -211715,14 +212638,6 @@ const ErrorBlock = ({ error, isUser }) => {
|
|
|
211715
212638
|
] })
|
|
211716
212639
|
] });
|
|
211717
212640
|
};
|
|
211718
|
-
const canvasSupportedExtensions = /* @__PURE__ */ new Set([
|
|
211719
|
-
...Object.keys(langs),
|
|
211720
|
-
...Object.keys(languageOverrideMap)
|
|
211721
|
-
]);
|
|
211722
|
-
const isCanvasSupported = (fileName) => {
|
|
211723
|
-
const ext = fileName.toLowerCase().split("/").pop()?.split(".").pop() ?? "";
|
|
211724
|
-
return canvasSupportedExtensions.has(ext);
|
|
211725
|
-
};
|
|
211726
212641
|
const RESOURCE_NAME_REGEX = /name=([^;,]+)/;
|
|
211727
212642
|
const FileAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
211728
212643
|
display: "flex",
|
|
@@ -211796,68 +212711,28 @@ const getFileName$3 = (path2) => {
|
|
|
211796
212711
|
const parts = path2.split(PATH_SEPARATOR_REGEX$3);
|
|
211797
212712
|
return parts[parts.length - 1];
|
|
211798
212713
|
};
|
|
211799
|
-
const FileAttachment = (
|
|
211800
|
-
file,
|
|
211801
|
-
|
|
211802
|
-
|
|
211803
|
-
|
|
211804
|
-
|
|
211805
|
-
|
|
211806
|
-
const setOpenTabs = useCanvasStore((s2) => s2.setOpenTabs);
|
|
211807
|
-
const setSelectedTab = useCanvasStore((s2) => s2.setSelectedTab);
|
|
211808
|
-
const isPastedImage = file.startsWith("data:image/");
|
|
211809
|
-
const handleClick = reactExports.useCallback(async () => {
|
|
211810
|
-
const title = getFileName$3(file);
|
|
211811
|
-
const fallbackAction = (err) => {
|
|
211812
|
-
if (err) console.error("Error processing file:", err);
|
|
211813
|
-
onClick(file);
|
|
211814
|
-
};
|
|
211815
|
-
if (file.startsWith("data:")) {
|
|
211816
|
-
if (isCanvasSupported(title)) {
|
|
211817
|
-
const docId = file;
|
|
211818
|
-
const newDoc = {
|
|
211819
|
-
id: docId,
|
|
211820
|
-
title,
|
|
211821
|
-
path: docId,
|
|
211822
|
-
// Store data URI as path for consistency if needed
|
|
211823
|
-
content: file
|
|
211824
|
-
// The content is the data URI itself
|
|
211825
|
-
};
|
|
211826
|
-
const state2 = useCanvasStore.getState();
|
|
211827
|
-
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
211828
|
-
const filesInState = conversationCanvasState?.files ?? [];
|
|
211829
|
-
const openTabsInState = conversationCanvasState?.openTabs ?? [];
|
|
211830
|
-
const updatedFiles = (() => {
|
|
211831
|
-
const idx = filesInState.findIndex((d2) => d2.id === docId);
|
|
211832
|
-
if (idx !== -1) {
|
|
211833
|
-
return [
|
|
211834
|
-
...filesInState.slice(0, idx),
|
|
211835
|
-
newDoc,
|
|
211836
|
-
...filesInState.slice(idx + 1)
|
|
211837
|
-
];
|
|
211838
|
-
}
|
|
211839
|
-
return [...filesInState, newDoc];
|
|
211840
|
-
})();
|
|
211841
|
-
setFiles(conversationId, updatedFiles);
|
|
211842
|
-
const existsTab = openTabsInState.some((t2) => t2.id === docId);
|
|
211843
|
-
const updatedTabs = existsTab ? openTabsInState : [...openTabsInState, { id: docId, title }];
|
|
211844
|
-
setOpenTabs(conversationId, updatedTabs);
|
|
211845
|
-
setSelectedTab(conversationId, docId);
|
|
211846
|
-
setCanvasOpen(true);
|
|
211847
|
-
} 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);
|
|
211848
212721
|
onClick(file);
|
|
211849
|
-
}
|
|
211850
|
-
|
|
211851
|
-
|
|
211852
|
-
|
|
211853
|
-
|
|
211854
|
-
if (result.success && isCanvasSupported(title)) {
|
|
211855
|
-
const docId = normalizedPath;
|
|
212722
|
+
};
|
|
212723
|
+
const { setFiles, setOpenTabs, setSelectedTab } = useCanvasStore.getState();
|
|
212724
|
+
if (file.startsWith("data:")) {
|
|
212725
|
+
if (isCanvasSupported(title)) {
|
|
212726
|
+
const docId = file;
|
|
211856
212727
|
const newDoc = {
|
|
211857
212728
|
id: docId,
|
|
211858
212729
|
title,
|
|
211859
|
-
path:
|
|
211860
|
-
|
|
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
|
|
211861
212736
|
};
|
|
211862
212737
|
const state2 = useCanvasStore.getState();
|
|
211863
212738
|
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
@@ -211880,60 +212755,93 @@ const FileAttachment = ({
|
|
|
211880
212755
|
setOpenTabs(conversationId, updatedTabs);
|
|
211881
212756
|
setSelectedTab(conversationId, docId);
|
|
211882
212757
|
setCanvasOpen(true);
|
|
211883
|
-
|
|
212758
|
+
} else {
|
|
212759
|
+
onClick(file);
|
|
211884
212760
|
}
|
|
211885
|
-
|
|
211886
|
-
|
|
211887
|
-
|
|
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
|
-
display: "block",
|
|
211922
|
-
maxWidth: "100%",
|
|
211923
|
-
maxHeight: "150px",
|
|
211924
|
-
// Max height for the preview in message
|
|
211925
|
-
borderRadius: "8px",
|
|
211926
|
-
// Match container's border radius
|
|
211927
|
-
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;
|
|
211928
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);
|
|
211929
212803
|
}
|
|
211930
|
-
|
|
211931
|
-
|
|
211932
|
-
|
|
211933
|
-
|
|
211934
|
-
|
|
211935
|
-
|
|
211936
|
-
|
|
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";
|
|
211937
212845
|
const InvalidAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
211938
212846
|
display: "flex",
|
|
211939
212847
|
alignItems: "center",
|
|
@@ -211999,32 +212907,31 @@ const getFileName$1 = (path2) => {
|
|
|
211999
212907
|
const parts = path2.split(PATH_SEPARATOR_REGEX$1);
|
|
212000
212908
|
return parts[parts.length - 1];
|
|
212001
212909
|
};
|
|
212002
|
-
const ImageAttachment = (
|
|
212003
|
-
file,
|
|
212004
|
-
|
|
212005
|
-
|
|
212006
|
-
|
|
212007
|
-
|
|
212008
|
-
|
|
212009
|
-
|
|
212010
|
-
|
|
212011
|
-
|
|
212012
|
-
|
|
212013
|
-
};
|
|
212014
|
-
if (hasError) {
|
|
212015
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212016
|
-
}
|
|
212017
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212018
|
-
AttachmentImage,
|
|
212019
|
-
{
|
|
212020
|
-
src,
|
|
212021
|
-
alt: getFileName$1(file),
|
|
212022
|
-
onClick: handleClick,
|
|
212023
|
-
onError: handleError2,
|
|
212024
|
-
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 });
|
|
212025
212921
|
}
|
|
212026
|
-
|
|
212027
|
-
|
|
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";
|
|
212028
212935
|
const CodeContainer$1 = styled$1(Box)({
|
|
212029
212936
|
marginBottom: 16,
|
|
212030
212937
|
width: "100%"
|
|
@@ -212144,33 +213051,32 @@ const getFileName = (path2) => {
|
|
|
212144
213051
|
const parts = path2.split(PATH_SEPARATOR_REGEX);
|
|
212145
213052
|
return parts[parts.length - 1];
|
|
212146
213053
|
};
|
|
212147
|
-
const VideoAttachment = (
|
|
212148
|
-
file,
|
|
212149
|
-
|
|
212150
|
-
|
|
212151
|
-
|
|
212152
|
-
|
|
212153
|
-
|
|
212154
|
-
|
|
212155
|
-
|
|
212156
|
-
|
|
212157
|
-
|
|
212158
|
-
};
|
|
212159
|
-
if (hasError) {
|
|
212160
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file });
|
|
212161
|
-
}
|
|
212162
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
212163
|
-
AttachmentVideo,
|
|
212164
|
-
{
|
|
212165
|
-
src,
|
|
212166
|
-
controls: true,
|
|
212167
|
-
preload: "metadata",
|
|
212168
|
-
onClick: handleClick,
|
|
212169
|
-
onError: handleError2,
|
|
212170
|
-
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 });
|
|
212171
213065
|
}
|
|
212172
|
-
|
|
212173
|
-
|
|
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";
|
|
212174
213080
|
const isWebUrl$1 = (path2) => {
|
|
212175
213081
|
return path2.startsWith("http://") || path2.startsWith("https://");
|
|
212176
213082
|
};
|
|
@@ -212330,7 +213236,8 @@ const ActionBlock = ({
|
|
|
212330
213236
|
{
|
|
212331
213237
|
file,
|
|
212332
213238
|
src: getUrl2(file),
|
|
212333
|
-
onClick: handleFileClick
|
|
213239
|
+
onClick: handleFileClick,
|
|
213240
|
+
conversationId
|
|
212334
213241
|
},
|
|
212335
213242
|
`${file}`
|
|
212336
213243
|
)) }),
|
|
@@ -212339,7 +213246,8 @@ const ActionBlock = ({
|
|
|
212339
213246
|
{
|
|
212340
213247
|
file,
|
|
212341
213248
|
src: getUrl2(file),
|
|
212342
|
-
onClick: handleFileClick
|
|
213249
|
+
onClick: handleFileClick,
|
|
213250
|
+
conversationId
|
|
212343
213251
|
},
|
|
212344
213252
|
`${file}`
|
|
212345
213253
|
)) }),
|
|
@@ -213262,7 +214170,34 @@ const MessageItem = reactExports.memo(
|
|
|
213262
214170
|
conversationId,
|
|
213263
214171
|
currentExecution
|
|
213264
214172
|
}) => {
|
|
213265
|
-
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]);
|
|
213266
214201
|
const client = reactExports.useMemo(() => {
|
|
213267
214202
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
213268
214203
|
}, []);
|
|
@@ -213285,46 +214220,6 @@ const MessageItem = reactExports.memo(
|
|
|
213285
214220
|
);
|
|
213286
214221
|
}
|
|
213287
214222
|
}, []);
|
|
213288
|
-
reactExports.useEffect(() => {
|
|
213289
|
-
if (!message2.files || message2.files.length === 0) return;
|
|
213290
|
-
const state2 = useCanvasStore.getState();
|
|
213291
|
-
const conv = state2.conversations[conversationId];
|
|
213292
|
-
if (!conv) return;
|
|
213293
|
-
const { openTabs, files } = conv;
|
|
213294
|
-
if (!openTabs || openTabs.length === 0) return;
|
|
213295
|
-
(async () => {
|
|
213296
|
-
let updatedFiles = files;
|
|
213297
|
-
let didUpdate = false;
|
|
213298
|
-
for (const filePath of message2.files ?? []) {
|
|
213299
|
-
const normalizedPath = filePath.startsWith("file://") ? filePath.substring(7) : filePath;
|
|
213300
|
-
const tabIsOpen = openTabs.some((tab2) => tab2.id === normalizedPath);
|
|
213301
|
-
if (!tabIsOpen) continue;
|
|
213302
|
-
const fileIdx = updatedFiles.findIndex(
|
|
213303
|
-
(f2) => f2.id === normalizedPath
|
|
213304
|
-
);
|
|
213305
|
-
if (fileIdx === -1) continue;
|
|
213306
|
-
try {
|
|
213307
|
-
const result = await window.api.readFile(normalizedPath);
|
|
213308
|
-
if (result.success) {
|
|
213309
|
-
const currentDoc = updatedFiles[fileIdx];
|
|
213310
|
-
if (currentDoc.content !== result.data) {
|
|
213311
|
-
const updatedDoc = { ...currentDoc, content: result.data };
|
|
213312
|
-
updatedFiles = [
|
|
213313
|
-
...updatedFiles.slice(0, fileIdx),
|
|
213314
|
-
updatedDoc,
|
|
213315
|
-
...updatedFiles.slice(fileIdx + 1)
|
|
213316
|
-
];
|
|
213317
|
-
didUpdate = true;
|
|
213318
|
-
}
|
|
213319
|
-
}
|
|
213320
|
-
} catch (_2) {
|
|
213321
|
-
}
|
|
213322
|
-
}
|
|
213323
|
-
if (didUpdate) {
|
|
213324
|
-
setFiles(conversationId, updatedFiles);
|
|
213325
|
-
}
|
|
213326
|
-
})();
|
|
213327
|
-
}, [message2.files, conversationId, setFiles]);
|
|
213328
214223
|
const isMessageContentEmpty = !message2.message && (!message2.files || message2.files.length === 0) && !message2.code && !message2.stdout && !message2.stderr && !message2.logging;
|
|
213329
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;
|
|
213330
214225
|
if (shouldHide) {
|
|
@@ -213386,7 +214281,8 @@ const MessageItem = reactExports.memo(
|
|
|
213386
214281
|
{
|
|
213387
214282
|
file,
|
|
213388
214283
|
src: getUrl2(file),
|
|
213389
|
-
onClick: handleFileClick
|
|
214284
|
+
onClick: handleFileClick,
|
|
214285
|
+
conversationId
|
|
213390
214286
|
},
|
|
213391
214287
|
`${message2.id}-${file}`
|
|
213392
214288
|
)) }),
|
|
@@ -213395,7 +214291,8 @@ const MessageItem = reactExports.memo(
|
|
|
213395
214291
|
{
|
|
213396
214292
|
file,
|
|
213397
214293
|
src: getUrl2(file),
|
|
213398
|
-
onClick: handleFileClick
|
|
214294
|
+
onClick: handleFileClick,
|
|
214295
|
+
conversationId
|
|
213399
214296
|
},
|
|
213400
214297
|
`${message2.id}-${file}`
|
|
213401
214298
|
)) }),
|
|
@@ -213447,7 +214344,8 @@ const MessageItem = reactExports.memo(
|
|
|
213447
214344
|
{
|
|
213448
214345
|
file,
|
|
213449
214346
|
src: getUrl2(file),
|
|
213450
|
-
onClick: handleFileClick
|
|
214347
|
+
onClick: handleFileClick,
|
|
214348
|
+
conversationId
|
|
213451
214349
|
},
|
|
213452
214350
|
`${message2.id}-${file}`
|
|
213453
214351
|
)) }),
|
|
@@ -213456,7 +214354,8 @@ const MessageItem = reactExports.memo(
|
|
|
213456
214354
|
{
|
|
213457
214355
|
file,
|
|
213458
214356
|
src: getUrl2(file),
|
|
213459
|
-
onClick: handleFileClick
|
|
214357
|
+
onClick: handleFileClick,
|
|
214358
|
+
conversationId
|
|
213460
214359
|
},
|
|
213461
214360
|
`${message2.id}-${file}`
|
|
213462
214361
|
)) }),
|
|
@@ -213885,6 +214784,7 @@ const ChatContent = ({
|
|
|
213885
214784
|
{
|
|
213886
214785
|
activeDocumentId: selectedTabId,
|
|
213887
214786
|
initialDocuments: files,
|
|
214787
|
+
conversationId,
|
|
213888
214788
|
onChangeActiveDocument: (documentId) => setSelectedTab(conversationId, documentId),
|
|
213889
214789
|
onClose: () => useUiPreferencesStore.getState().setCanvasOpen(false),
|
|
213890
214790
|
onCloseDocument: (docId) => {
|
|
@@ -214871,12 +215771,12 @@ const OnboardingDialog = ({
|
|
|
214871
215771
|
...dialogProps,
|
|
214872
215772
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ContentContainer$1, { children: [
|
|
214873
215773
|
title && /* @__PURE__ */ jsxRuntimeExports.jsx(StyledDialogTitle, { children: title }),
|
|
214874
|
-
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 }),
|
|
214875
215775
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
214876
215776
|
Box,
|
|
214877
215777
|
{
|
|
214878
215778
|
sx: {
|
|
214879
|
-
padding: theme2.spacing(
|
|
215779
|
+
padding: theme2.spacing(2, 3, 1),
|
|
214880
215780
|
flexGrow: 1,
|
|
214881
215781
|
overflowY: "auto",
|
|
214882
215782
|
"&::-webkit-scrollbar": {
|
|
@@ -216131,7 +217031,7 @@ const CardSubtitle = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
|
216131
217031
|
fontSize: "0.875rem",
|
|
216132
217032
|
// Consistent small text size
|
|
216133
217033
|
color: theme2.palette.text.secondary,
|
|
216134
|
-
marginBottom: theme2.spacing(
|
|
217034
|
+
marginBottom: theme2.spacing(2),
|
|
216135
217035
|
// Consistent margin
|
|
216136
217036
|
lineHeight: 1.5
|
|
216137
217037
|
}));
|
|
@@ -216160,13 +217060,6 @@ const RadientBoldTextSpan$1 = styled$1("span")(() => ({
|
|
|
216160
217060
|
fontWeight: "bold",
|
|
216161
217061
|
color: radientTheme.palette.primary.main
|
|
216162
217062
|
}));
|
|
216163
|
-
const FreeText = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
216164
|
-
fontSize: "1.25rem",
|
|
216165
|
-
fontWeight: 600,
|
|
216166
|
-
color: theme2.palette.text.primary,
|
|
216167
|
-
// Standard text color
|
|
216168
|
-
display: "inline"
|
|
216169
|
-
}));
|
|
216170
217063
|
const ChooseOption = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
216171
217064
|
position: "absolute",
|
|
216172
217065
|
bottom: theme2.spacing(2),
|
|
@@ -216225,6 +217118,14 @@ const RadientChoiceStep = ({
|
|
|
216225
217118
|
" ",
|
|
216226
217119
|
/* @__PURE__ */ jsxRuntimeExports.jsx(RadientPassText, { children: "Radient Pass" })
|
|
216227
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
|
+
),
|
|
216228
217129
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardSubtitle, { variant: "body2", children: [
|
|
216229
217130
|
"Designed for",
|
|
216230
217131
|
" ",
|
|
@@ -216239,7 +217140,7 @@ const RadientChoiceStep = ({
|
|
|
216239
217140
|
", no credit card required."
|
|
216240
217141
|
] })
|
|
216241
217142
|
] }),
|
|
216242
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardIcon, { sx: { width: 150, height: 150, mb:
|
|
217143
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardIcon, { sx: { width: 150, height: 150, mb: 1 }, children: [
|
|
216243
217144
|
" ",
|
|
216244
217145
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216245
217146
|
"img",
|
|
@@ -216286,11 +217187,16 @@ const RadientChoiceStep = ({
|
|
|
216286
217187
|
" ",
|
|
216287
217188
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { flex: 1, pr: 2 }, children: [
|
|
216288
217189
|
" ",
|
|
216289
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
216290
|
-
|
|
216291
|
-
|
|
216292
|
-
|
|
216293
|
-
|
|
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." })
|
|
216294
217200
|
] }),
|
|
216295
217201
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
216296
217202
|
Box,
|
|
@@ -216319,7 +217225,7 @@ const RadientChoiceStep = ({
|
|
|
216319
217225
|
] })
|
|
216320
217226
|
] })
|
|
216321
217227
|
] }) }),
|
|
216322
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionDescription$1, { sx: { mt:
|
|
217228
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SectionDescription$1, { sx: { mt: 2, textAlign: "center" }, children: [
|
|
216323
217229
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { component: "span", sx: { mr: 0.5 }, children: "💡" }),
|
|
216324
217230
|
"You can always change your setup later in Settings."
|
|
216325
217231
|
] })
|
|
@@ -217153,33 +218059,44 @@ const OnboardingModal = ({ open: open2 }) => {
|
|
|
217153
218059
|
]
|
|
217154
218060
|
}
|
|
217155
218061
|
);
|
|
217156
|
-
const
|
|
217157
|
-
|
|
217158
|
-
|
|
217159
|
-
|
|
217160
|
-
|
|
217161
|
-
|
|
217162
|
-
|
|
217163
|
-
|
|
217164
|
-
|
|
217165
|
-
|
|
217166
|
-
|
|
217167
|
-
|
|
217168
|
-
|
|
217169
|
-
|
|
217170
|
-
|
|
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
|
+
}
|
|
217171
218082
|
}
|
|
217172
218083
|
}
|
|
217173
|
-
}
|
|
217174
|
-
)
|
|
217175
|
-
);
|
|
217176
|
-
}
|
|
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]);
|
|
217177
218094
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217178
218095
|
OnboardingDialog,
|
|
217179
218096
|
{
|
|
217180
218097
|
open: open2,
|
|
217181
218098
|
title: dialogTitle,
|
|
217182
|
-
stepIndicators,
|
|
218099
|
+
stepIndicators: finalStepIndicatorsProp,
|
|
217183
218100
|
actions: dialogActions,
|
|
217184
218101
|
dialogProps: {
|
|
217185
218102
|
disableEscapeKeyDown: true
|