local-operator-ui 0.10.5 → 0.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/out/main/index.jsc +0 -0
  2. package/out/preload/index.jsc +0 -0
  3. package/out/renderer/assets/{_basePickBy-J6QOPIw6.js → _basePickBy-B_HGm0DH.js} +2 -2
  4. package/out/renderer/assets/{_baseUniq-CjrpCuGP.js → _baseUniq-PaYGIuJk.js} +1 -1
  5. package/out/renderer/assets/{arc-B9dHmVa3.js → arc-CeUjicTC.js} +1 -1
  6. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-iZe3FGai.js → architectureDiagram-IEHRJDOE-DpgUpIap.js} +7 -7
  7. package/out/renderer/assets/{blockDiagram-JOT3LUYC-Ct7Hjgdp.js → blockDiagram-JOT3LUYC-CKZMfayd.js} +5 -5
  8. package/out/renderer/assets/{c4Diagram-VJAJSXHY-DPAI5Oul.js → c4Diagram-VJAJSXHY-B9Sos203.js} +2 -2
  9. package/out/renderer/assets/{channel-kBkjl2tX.js → channel-CkAgcdhG.js} +1 -1
  10. package/out/renderer/assets/{chunk-4BMEZGHF-BbIA2hPK.js → chunk-4BMEZGHF-CLm5JdxF.js} +1 -1
  11. package/out/renderer/assets/{chunk-A2AXSNBT-ChTSPi_g.js → chunk-A2AXSNBT-DzmR84aE.js} +2 -2
  12. package/out/renderer/assets/{chunk-AEK57VVT-CbZX12yb.js → chunk-AEK57VVT-CXIKseYz.js} +2 -2
  13. package/out/renderer/assets/{chunk-D6G4REZN-hnXFWy0U.js → chunk-D6G4REZN-DaPkIkgK.js} +1 -1
  14. package/out/renderer/assets/{chunk-RZ5BOZE2-DJGZKKsw.js → chunk-RZ5BOZE2-DVrUSJ_C.js} +1 -1
  15. package/out/renderer/assets/{chunk-XZIHB7SX-Ui8w9_LJ.js → chunk-XZIHB7SX-BwrmL4cP.js} +1 -1
  16. package/out/renderer/assets/{classDiagram-GIVACNV2-B-m9p15O.js → classDiagram-GIVACNV2-BG9YVWo9.js} +3 -3
  17. package/out/renderer/assets/{classDiagram-v2-COTLJTTW-B-m9p15O.js → classDiagram-v2-COTLJTTW-BG9YVWo9.js} +3 -3
  18. package/out/renderer/assets/{clone-D3nlta8f.js → clone-X6EGrpuy.js} +1 -1
  19. package/out/renderer/assets/{dagre-OKDRZEBW-CuBbVbAE.js → dagre-OKDRZEBW-CUqy_fyO.js} +6 -6
  20. package/out/renderer/assets/{diagram-SSKATNLV-Ddt-5-58.js → diagram-SSKATNLV-BhN3X8_Q.js} +6 -6
  21. package/out/renderer/assets/{diagram-VNBRO52H-CptIzsnS.js → diagram-VNBRO52H-BU04y9Fr.js} +6 -6
  22. package/out/renderer/assets/{erDiagram-Q7BY3M3F-hAtjkKRt.js → erDiagram-Q7BY3M3F-B6IODaEY.js} +3 -3
  23. package/out/renderer/assets/{flowDiagram-4HSFHLVR-COKwAFv7.js → flowDiagram-4HSFHLVR-Dl3mQO2q.js} +3 -3
  24. package/out/renderer/assets/{ganttDiagram-APWFNJXF-DzqtejzU.js → ganttDiagram-APWFNJXF-FX9v3sXK.js} +1 -1
  25. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-CCkiOue7.js → gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js} +7 -7
  26. package/out/renderer/assets/{graph-D_O_nUCU.js → graph-fl-ETjwU.js} +2 -2
  27. package/out/renderer/assets/{index-DyCWQ6pn.js → index-CPnY6jn3.js} +1 -1
  28. package/out/renderer/assets/{index-BkfYRfhG.js → index-DT4YjQYg.js} +1 -1
  29. package/out/renderer/assets/{index-C0xVwDO6.js → index-SqVDMQTn.js} +1291 -605
  30. package/out/renderer/assets/{infoDiagram-PH2N3AL5-D2pi_Avu.js → infoDiagram-PH2N3AL5-C04KBzB9.js} +5 -5
  31. package/out/renderer/assets/{journeyDiagram-U35MCT3I-CYV7gt8_.js → journeyDiagram-U35MCT3I-XjyRPfYe.js} +3 -3
  32. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-z_jHtS3N.js → kanban-definition-NDS4AKOZ-DVuFQlbH.js} +1 -1
  33. package/out/renderer/assets/{layout-DgQHyz0Y.js → layout-BqVTWur6.js} +4 -4
  34. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-ByeOpUXU.js → mindmap-definition-ALO5MXBD-Dc8z1BYF.js} +1 -1
  35. package/out/renderer/assets/{pieDiagram-IB7DONF6-CzpV9GLV.js → pieDiagram-IB7DONF6-DNtHn0jA.js} +7 -7
  36. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-TRIu05Kz.js → quadrantDiagram-7GDLP6J5-DddxYL3U.js} +1 -1
  37. package/out/renderer/assets/{radar-MK3ICKWK-DNJgoIIb.js → radar-MK3ICKWK-C_NFwoLX.js} +4 -4
  38. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-DtZxlcxe.js → requirementDiagram-KVF5MWMF-Cfo6ZHQh.js} +2 -2
  39. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-CsDA2pgF.js → sankeyDiagram-QLVOVGJD-B86QqVNt.js} +1 -1
  40. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-DXZSfjCv.js → sequenceDiagram-X6HHIX6F-DKn__Lqs.js} +3 -3
  41. package/out/renderer/assets/{stateDiagram-DGXRK772-gJvvYfHT.js → stateDiagram-DGXRK772-BVSJzT2-.js} +7 -7
  42. package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-DUjC-b8t.js → stateDiagram-v2-YXO3MK2T-CypfddVy.js} +3 -3
  43. package/out/renderer/assets/{timeline-definition-BDJGKUSR-DpFxQaCe.js → timeline-definition-BDJGKUSR-DBxUODzY.js} +2 -2
  44. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-BWFbhKHp.js → xychartDiagram-VJFVF3MP-qhS6hrxS.js} +1 -1
  45. package/out/renderer/index.html +1 -1
  46. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DyCWQ6pn.js","./fonts-Bb3Axuvj.js","./fonts-B9KBGB-g.css","./index-BkfYRfhG.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-CuBbVbAE.js","./graph-D_O_nUCU.js","./_baseUniq-CjrpCuGP.js","./layout-DgQHyz0Y.js","./_basePickBy-J6QOPIw6.js","./clone-D3nlta8f.js","./c4Diagram-VJAJSXHY-DPAI5Oul.js","./chunk-D6G4REZN-hnXFWy0U.js","./flowDiagram-4HSFHLVR-COKwAFv7.js","./chunk-RZ5BOZE2-DJGZKKsw.js","./channel-kBkjl2tX.js","./erDiagram-Q7BY3M3F-hAtjkKRt.js","./gitGraphDiagram-7IBYFJ6S-CCkiOue7.js","./chunk-4BMEZGHF-BbIA2hPK.js","./chunk-XZIHB7SX-Ui8w9_LJ.js","./radar-MK3ICKWK-DNJgoIIb.js","./ganttDiagram-APWFNJXF-DzqtejzU.js","./infoDiagram-PH2N3AL5-D2pi_Avu.js","./pieDiagram-IB7DONF6-CzpV9GLV.js","./arc-B9dHmVa3.js","./quadrantDiagram-7GDLP6J5-TRIu05Kz.js","./xychartDiagram-VJFVF3MP-BWFbhKHp.js","./requirementDiagram-KVF5MWMF-DtZxlcxe.js","./sequenceDiagram-X6HHIX6F-DXZSfjCv.js","./classDiagram-GIVACNV2-B-m9p15O.js","./chunk-A2AXSNBT-ChTSPi_g.js","./classDiagram-v2-COTLJTTW-B-m9p15O.js","./stateDiagram-DGXRK772-gJvvYfHT.js","./chunk-AEK57VVT-CbZX12yb.js","./stateDiagram-v2-YXO3MK2T-DUjC-b8t.js","./journeyDiagram-U35MCT3I-CYV7gt8_.js","./timeline-definition-BDJGKUSR-DpFxQaCe.js","./mindmap-definition-ALO5MXBD-ByeOpUXU.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-z_jHtS3N.js","./sankeyDiagram-QLVOVGJD-CsDA2pgF.js","./diagram-VNBRO52H-CptIzsnS.js","./diagram-SSKATNLV-Ddt-5-58.js","./blockDiagram-JOT3LUYC-Ct7Hjgdp.js","./architectureDiagram-IEHRJDOE-iZe3FGai.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CPnY6jn3.js","./fonts-Bb3Axuvj.js","./fonts-B9KBGB-g.css","./index-DT4YjQYg.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-CUqy_fyO.js","./graph-fl-ETjwU.js","./_baseUniq-PaYGIuJk.js","./layout-BqVTWur6.js","./_basePickBy-B_HGm0DH.js","./clone-X6EGrpuy.js","./c4Diagram-VJAJSXHY-B9Sos203.js","./chunk-D6G4REZN-DaPkIkgK.js","./flowDiagram-4HSFHLVR-Dl3mQO2q.js","./chunk-RZ5BOZE2-DVrUSJ_C.js","./channel-CkAgcdhG.js","./erDiagram-Q7BY3M3F-B6IODaEY.js","./gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js","./chunk-4BMEZGHF-CLm5JdxF.js","./chunk-XZIHB7SX-BwrmL4cP.js","./radar-MK3ICKWK-C_NFwoLX.js","./ganttDiagram-APWFNJXF-FX9v3sXK.js","./infoDiagram-PH2N3AL5-C04KBzB9.js","./pieDiagram-IB7DONF6-DNtHn0jA.js","./arc-CeUjicTC.js","./quadrantDiagram-7GDLP6J5-DddxYL3U.js","./xychartDiagram-VJFVF3MP-qhS6hrxS.js","./requirementDiagram-KVF5MWMF-Cfo6ZHQh.js","./sequenceDiagram-X6HHIX6F-DKn__Lqs.js","./classDiagram-GIVACNV2-BG9YVWo9.js","./chunk-A2AXSNBT-DzmR84aE.js","./classDiagram-v2-COTLJTTW-BG9YVWo9.js","./stateDiagram-DGXRK772-BVSJzT2-.js","./chunk-AEK57VVT-CXIKseYz.js","./stateDiagram-v2-YXO3MK2T-CypfddVy.js","./journeyDiagram-U35MCT3I-XjyRPfYe.js","./timeline-definition-BDJGKUSR-DBxUODzY.js","./mindmap-definition-ALO5MXBD-Dc8z1BYF.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-DVuFQlbH.js","./sankeyDiagram-QLVOVGJD-B86QqVNt.js","./diagram-VNBRO52H-BU04y9Fr.js","./diagram-SSKATNLV-BhN3X8_Q.js","./blockDiagram-JOT3LUYC-CKZMfayd.js","./architectureDiagram-IEHRJDOE-DpgUpIap.js"])))=>i.map(i=>d[i]);
2
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) {
@@ -35956,30 +35956,30 @@ const useAgentSelectionStore = create$3()(
35956
35956
  * This source code is licensed under the ISC license.
35957
35957
  * See the LICENSE file in the root directory of this source tree.
35958
35958
  */
35959
- const __iconNode$1l = [
35959
+ const __iconNode$1o = [
35960
35960
  ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
35961
35961
  ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
35962
35962
  ["path", { d: "M10 12h4", key: "a56b0p" }]
35963
35963
  ];
35964
- const Archive = createLucideIcon("archive", __iconNode$1l);
35964
+ const Archive = createLucideIcon("archive", __iconNode$1o);
35965
35965
  /**
35966
35966
  * @license lucide-react v0.507.0 - ISC
35967
35967
  *
35968
35968
  * This source code is licensed under the ISC license.
35969
35969
  * See the LICENSE file in the root directory of this source tree.
35970
35970
  */
35971
- const __iconNode$1k = [
35971
+ const __iconNode$1n = [
35972
35972
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
35973
35973
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
35974
35974
  ];
35975
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1k);
35975
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1n);
35976
35976
  /**
35977
35977
  * @license lucide-react v0.507.0 - ISC
35978
35978
  *
35979
35979
  * This source code is licensed under the ISC license.
35980
35980
  * See the LICENSE file in the root directory of this source tree.
35981
35981
  */
35982
- const __iconNode$1j = [
35982
+ const __iconNode$1m = [
35983
35983
  ["path", { d: "M2 10v3", key: "1fnikh" }],
35984
35984
  ["path", { d: "M6 6v11", key: "11sgs0" }],
35985
35985
  ["path", { d: "M10 3v18", key: "yhl04a" }],
@@ -35987,14 +35987,14 @@ const __iconNode$1j = [
35987
35987
  ["path", { d: "M18 5v13", key: "123xd1" }],
35988
35988
  ["path", { d: "M22 10v3", key: "154ddg" }]
35989
35989
  ];
35990
- const AudioLines = createLucideIcon("audio-lines", __iconNode$1j);
35990
+ const AudioLines = createLucideIcon("audio-lines", __iconNode$1m);
35991
35991
  /**
35992
35992
  * @license lucide-react v0.507.0 - ISC
35993
35993
  *
35994
35994
  * This source code is licensed under the ISC license.
35995
35995
  * See the LICENSE file in the root directory of this source tree.
35996
35996
  */
35997
- const __iconNode$1i = [
35997
+ const __iconNode$1l = [
35998
35998
  [
35999
35999
  "path",
36000
36000
  {
@@ -36003,14 +36003,14 @@ const __iconNode$1i = [
36003
36003
  }
36004
36004
  ]
36005
36005
  ];
36006
- const Book = createLucideIcon("book", __iconNode$1i);
36006
+ const Book = createLucideIcon("book", __iconNode$1l);
36007
36007
  /**
36008
36008
  * @license lucide-react v0.507.0 - ISC
36009
36009
  *
36010
36010
  * This source code is licensed under the ISC license.
36011
36011
  * See the LICENSE file in the root directory of this source tree.
36012
36012
  */
36013
- const __iconNode$1h = [
36013
+ const __iconNode$1k = [
36014
36014
  ["path", { d: "M12 8V4H8", key: "hb8ula" }],
36015
36015
  ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
36016
36016
  ["path", { d: "M2 14h2", key: "vft8re" }],
@@ -36018,25 +36018,25 @@ const __iconNode$1h = [
36018
36018
  ["path", { d: "M15 13v2", key: "1xurst" }],
36019
36019
  ["path", { d: "M9 13v2", key: "rq6x2g" }]
36020
36020
  ];
36021
- const Bot = createLucideIcon("bot", __iconNode$1h);
36021
+ const Bot = createLucideIcon("bot", __iconNode$1k);
36022
36022
  /**
36023
36023
  * @license lucide-react v0.507.0 - ISC
36024
36024
  *
36025
36025
  * This source code is licensed under the ISC license.
36026
36026
  * See the LICENSE file in the root directory of this source tree.
36027
36027
  */
36028
- const __iconNode$1g = [
36028
+ const __iconNode$1j = [
36029
36029
  ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
36030
36030
  ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
36031
36031
  ];
36032
- const Briefcase = createLucideIcon("briefcase", __iconNode$1g);
36032
+ const Briefcase = createLucideIcon("briefcase", __iconNode$1j);
36033
36033
  /**
36034
36034
  * @license lucide-react v0.507.0 - ISC
36035
36035
  *
36036
36036
  * This source code is licensed under the ISC license.
36037
36037
  * See the LICENSE file in the root directory of this source tree.
36038
36038
  */
36039
- const __iconNode$1f = [
36039
+ const __iconNode$1i = [
36040
36040
  ["path", { d: "M8 2v4", key: "1cmpym" }],
36041
36041
  ["path", { d: "M16 2v4", key: "4m81vk" }],
36042
36042
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
@@ -36048,136 +36048,149 @@ const __iconNode$1f = [
36048
36048
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
36049
36049
  ["path", { d: "M16 18h.01", key: "kzsmim" }]
36050
36050
  ];
36051
- const CalendarDays = createLucideIcon("calendar-days", __iconNode$1f);
36051
+ const CalendarDays = createLucideIcon("calendar-days", __iconNode$1i);
36052
36052
  /**
36053
36053
  * @license lucide-react v0.507.0 - ISC
36054
36054
  *
36055
36055
  * This source code is licensed under the ISC license.
36056
36056
  * See the LICENSE file in the root directory of this source tree.
36057
36057
  */
36058
- const __iconNode$1e = [
36058
+ const __iconNode$1h = [
36059
+ ["path", { d: "M8 2v4", key: "1cmpym" }],
36060
+ ["path", { d: "M16 2v4", key: "4m81vk" }],
36061
+ ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
36062
+ ["path", { d: "M3 10h18", key: "8toen8" }]
36063
+ ];
36064
+ const Calendar = createLucideIcon("calendar", __iconNode$1h);
36065
+ /**
36066
+ * @license lucide-react v0.507.0 - ISC
36067
+ *
36068
+ * This source code is licensed under the ISC license.
36069
+ * See the LICENSE file in the root directory of this source tree.
36070
+ */
36071
+ const __iconNode$1g = [
36059
36072
  ["line", { x1: "18", x2: "18", y1: "20", y2: "10", key: "1xfpm4" }],
36060
36073
  ["line", { x1: "12", x2: "12", y1: "20", y2: "4", key: "be30l9" }],
36061
36074
  ["line", { x1: "6", x2: "6", y1: "20", y2: "14", key: "1r4le6" }]
36062
36075
  ];
36063
- const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$1e);
36076
+ const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$1g);
36064
36077
  /**
36065
36078
  * @license lucide-react v0.507.0 - ISC
36066
36079
  *
36067
36080
  * This source code is licensed under the ISC license.
36068
36081
  * See the LICENSE file in the root directory of this source tree.
36069
36082
  */
36070
- const __iconNode$1d = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
36071
- const Check = createLucideIcon("check", __iconNode$1d);
36083
+ const __iconNode$1f = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
36084
+ const Check = createLucideIcon("check", __iconNode$1f);
36072
36085
  /**
36073
36086
  * @license lucide-react v0.507.0 - ISC
36074
36087
  *
36075
36088
  * This source code is licensed under the ISC license.
36076
36089
  * See the LICENSE file in the root directory of this source tree.
36077
36090
  */
36078
- const __iconNode$1c = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
36079
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$1c);
36091
+ const __iconNode$1e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
36092
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1e);
36080
36093
  /**
36081
36094
  * @license lucide-react v0.507.0 - ISC
36082
36095
  *
36083
36096
  * This source code is licensed under the ISC license.
36084
36097
  * See the LICENSE file in the root directory of this source tree.
36085
36098
  */
36086
- const __iconNode$1b = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
36087
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1b);
36099
+ const __iconNode$1d = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
36100
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1d);
36088
36101
  /**
36089
36102
  * @license lucide-react v0.507.0 - ISC
36090
36103
  *
36091
36104
  * This source code is licensed under the ISC license.
36092
36105
  * See the LICENSE file in the root directory of this source tree.
36093
36106
  */
36094
- const __iconNode$1a = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
36095
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$1a);
36107
+ const __iconNode$1c = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
36108
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1c);
36096
36109
  /**
36097
36110
  * @license lucide-react v0.507.0 - ISC
36098
36111
  *
36099
36112
  * This source code is licensed under the ISC license.
36100
36113
  * See the LICENSE file in the root directory of this source tree.
36101
36114
  */
36102
- const __iconNode$19 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
36103
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$19);
36115
+ const __iconNode$1b = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
36116
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1b);
36104
36117
  /**
36105
36118
  * @license lucide-react v0.507.0 - ISC
36106
36119
  *
36107
36120
  * This source code is licensed under the ISC license.
36108
36121
  * See the LICENSE file in the root directory of this source tree.
36109
36122
  */
36110
- const __iconNode$18 = [
36123
+ const __iconNode$1a = [
36111
36124
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
36112
36125
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
36113
36126
  ];
36114
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$18);
36127
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1a);
36115
36128
  /**
36116
36129
  * @license lucide-react v0.507.0 - ISC
36117
36130
  *
36118
36131
  * This source code is licensed under the ISC license.
36119
36132
  * See the LICENSE file in the root directory of this source tree.
36120
36133
  */
36121
- const __iconNode$17 = [
36134
+ const __iconNode$19 = [
36122
36135
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36123
36136
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
36124
36137
  ];
36125
- const CircleCheck = createLucideIcon("circle-check", __iconNode$17);
36138
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$19);
36126
36139
  /**
36127
36140
  * @license lucide-react v0.507.0 - ISC
36128
36141
  *
36129
36142
  * This source code is licensed under the ISC license.
36130
36143
  * See the LICENSE file in the root directory of this source tree.
36131
36144
  */
36132
- const __iconNode$16 = [
36145
+ const __iconNode$18 = [
36133
36146
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36134
36147
  ["path", { d: "M17 12h.01", key: "1m0b6t" }],
36135
36148
  ["path", { d: "M12 12h.01", key: "1mp3jc" }],
36136
36149
  ["path", { d: "M7 12h.01", key: "eqddd0" }]
36137
36150
  ];
36138
- const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$16);
36151
+ const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$18);
36139
36152
  /**
36140
36153
  * @license lucide-react v0.507.0 - ISC
36141
36154
  *
36142
36155
  * This source code is licensed under the ISC license.
36143
36156
  * See the LICENSE file in the root directory of this source tree.
36144
36157
  */
36145
- const __iconNode$15 = [
36158
+ const __iconNode$17 = [
36146
36159
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36147
36160
  ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
36148
36161
  ["path", { d: "M12 17h.01", key: "p32p05" }]
36149
36162
  ];
36150
- const CircleHelp = createLucideIcon("circle-help", __iconNode$15);
36163
+ const CircleHelp = createLucideIcon("circle-help", __iconNode$17);
36151
36164
  /**
36152
36165
  * @license lucide-react v0.507.0 - ISC
36153
36166
  *
36154
36167
  * This source code is licensed under the ISC license.
36155
36168
  * See the LICENSE file in the root directory of this source tree.
36156
36169
  */
36157
- const __iconNode$14 = [
36170
+ const __iconNode$16 = [
36158
36171
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36159
36172
  ["polygon", { points: "10 8 16 12 10 16 10 8", key: "1cimsy" }]
36160
36173
  ];
36161
- const CirclePlay = createLucideIcon("circle-play", __iconNode$14);
36174
+ const CirclePlay = createLucideIcon("circle-play", __iconNode$16);
36162
36175
  /**
36163
36176
  * @license lucide-react v0.507.0 - ISC
36164
36177
  *
36165
36178
  * This source code is licensed under the ISC license.
36166
36179
  * See the LICENSE file in the root directory of this source tree.
36167
36180
  */
36168
- const __iconNode$13 = [
36181
+ const __iconNode$15 = [
36169
36182
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36170
36183
  ["path", { d: "M8 12h8", key: "1wcyev" }],
36171
36184
  ["path", { d: "M12 8v8", key: "napkw2" }]
36172
36185
  ];
36173
- const CirclePlus = createLucideIcon("circle-plus", __iconNode$13);
36186
+ const CirclePlus = createLucideIcon("circle-plus", __iconNode$15);
36174
36187
  /**
36175
36188
  * @license lucide-react v0.507.0 - ISC
36176
36189
  *
36177
36190
  * This source code is licensed under the ISC license.
36178
36191
  * See the LICENSE file in the root directory of this source tree.
36179
36192
  */
36180
- const __iconNode$12 = [
36193
+ const __iconNode$14 = [
36181
36194
  ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
36182
36195
  [
36183
36196
  "path",
@@ -36191,72 +36204,72 @@ const __iconNode$12 = [
36191
36204
  ["path", { d: "M8 11h.01", key: "1dfujw" }],
36192
36205
  ["path", { d: "M8 16h.01", key: "18s6g9" }]
36193
36206
  ];
36194
- const ClipboardList = createLucideIcon("clipboard-list", __iconNode$12);
36207
+ const ClipboardList = createLucideIcon("clipboard-list", __iconNode$14);
36195
36208
  /**
36196
36209
  * @license lucide-react v0.507.0 - ISC
36197
36210
  *
36198
36211
  * This source code is licensed under the ISC license.
36199
36212
  * See the LICENSE file in the root directory of this source tree.
36200
36213
  */
36201
- const __iconNode$11 = [
36214
+ const __iconNode$13 = [
36202
36215
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36203
36216
  ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
36204
36217
  ];
36205
- const Clock$1 = createLucideIcon("clock", __iconNode$11);
36218
+ const Clock$1 = createLucideIcon("clock", __iconNode$13);
36206
36219
  /**
36207
36220
  * @license lucide-react v0.507.0 - ISC
36208
36221
  *
36209
36222
  * This source code is licensed under the ISC license.
36210
36223
  * See the LICENSE file in the root directory of this source tree.
36211
36224
  */
36212
- const __iconNode$10 = [
36225
+ const __iconNode$12 = [
36213
36226
  ["path", { d: "M12 13v8", key: "1l5pq0" }],
36214
36227
  ["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" }],
36215
36228
  ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
36216
36229
  ];
36217
- const CloudUpload = createLucideIcon("cloud-upload", __iconNode$10);
36230
+ const CloudUpload = createLucideIcon("cloud-upload", __iconNode$12);
36218
36231
  /**
36219
36232
  * @license lucide-react v0.507.0 - ISC
36220
36233
  *
36221
36234
  * This source code is licensed under the ISC license.
36222
36235
  * See the LICENSE file in the root directory of this source tree.
36223
36236
  */
36224
- const __iconNode$$ = [
36237
+ const __iconNode$11 = [
36225
36238
  ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
36226
36239
  ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
36227
36240
  ["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
36228
36241
  ];
36229
- const CodeXml = createLucideIcon("code-xml", __iconNode$$);
36242
+ const CodeXml = createLucideIcon("code-xml", __iconNode$11);
36230
36243
  /**
36231
36244
  * @license lucide-react v0.507.0 - ISC
36232
36245
  *
36233
36246
  * This source code is licensed under the ISC license.
36234
36247
  * See the LICENSE file in the root directory of this source tree.
36235
36248
  */
36236
- const __iconNode$_ = [
36249
+ const __iconNode$10 = [
36237
36250
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
36238
36251
  ["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" }]
36239
36252
  ];
36240
- const Copy = createLucideIcon("copy", __iconNode$_);
36253
+ const Copy = createLucideIcon("copy", __iconNode$10);
36241
36254
  /**
36242
36255
  * @license lucide-react v0.507.0 - ISC
36243
36256
  *
36244
36257
  * This source code is licensed under the ISC license.
36245
36258
  * See the LICENSE file in the root directory of this source tree.
36246
36259
  */
36247
- const __iconNode$Z = [
36260
+ const __iconNode$$ = [
36248
36261
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
36249
36262
  ["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }],
36250
36263
  ["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }]
36251
36264
  ];
36252
- const Download = createLucideIcon("download", __iconNode$Z);
36265
+ const Download = createLucideIcon("download", __iconNode$$);
36253
36266
  /**
36254
36267
  * @license lucide-react v0.507.0 - ISC
36255
36268
  *
36256
36269
  * This source code is licensed under the ISC license.
36257
36270
  * See the LICENSE file in the root directory of this source tree.
36258
36271
  */
36259
- const __iconNode$Y = [
36272
+ const __iconNode$_ = [
36260
36273
  ["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }],
36261
36274
  [
36262
36275
  "path",
@@ -36268,38 +36281,38 @@ const __iconNode$Y = [
36268
36281
  ["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" }],
36269
36282
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
36270
36283
  ];
36271
- const Earth = createLucideIcon("earth", __iconNode$Y);
36284
+ const Earth = createLucideIcon("earth", __iconNode$_);
36272
36285
  /**
36273
36286
  * @license lucide-react v0.507.0 - ISC
36274
36287
  *
36275
36288
  * This source code is licensed under the ISC license.
36276
36289
  * See the LICENSE file in the root directory of this source tree.
36277
36290
  */
36278
- const __iconNode$X = [
36291
+ const __iconNode$Z = [
36279
36292
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
36280
36293
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
36281
36294
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
36282
36295
  ];
36283
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$X);
36296
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Z);
36284
36297
  /**
36285
36298
  * @license lucide-react v0.507.0 - ISC
36286
36299
  *
36287
36300
  * This source code is licensed under the ISC license.
36288
36301
  * See the LICENSE file in the root directory of this source tree.
36289
36302
  */
36290
- const __iconNode$W = [
36303
+ const __iconNode$Y = [
36291
36304
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
36292
36305
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
36293
36306
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
36294
36307
  ];
36295
- const Ellipsis = createLucideIcon("ellipsis", __iconNode$W);
36308
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$Y);
36296
36309
  /**
36297
36310
  * @license lucide-react v0.507.0 - ISC
36298
36311
  *
36299
36312
  * This source code is licensed under the ISC license.
36300
36313
  * See the LICENSE file in the root directory of this source tree.
36301
36314
  */
36302
- const __iconNode$V = [
36315
+ const __iconNode$X = [
36303
36316
  [
36304
36317
  "path",
36305
36318
  {
@@ -36310,65 +36323,65 @@ const __iconNode$V = [
36310
36323
  ["path", { d: "M22 21H7", key: "t4ddhn" }],
36311
36324
  ["path", { d: "m5 11 9 9", key: "1mo9qw" }]
36312
36325
  ];
36313
- const Eraser = createLucideIcon("eraser", __iconNode$V);
36326
+ const Eraser = createLucideIcon("eraser", __iconNode$X);
36314
36327
  /**
36315
36328
  * @license lucide-react v0.507.0 - ISC
36316
36329
  *
36317
36330
  * This source code is licensed under the ISC license.
36318
36331
  * See the LICENSE file in the root directory of this source tree.
36319
36332
  */
36320
- const __iconNode$U = [
36333
+ const __iconNode$W = [
36321
36334
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
36322
36335
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
36323
36336
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
36324
36337
  ];
36325
- const ExternalLink = createLucideIcon("external-link", __iconNode$U);
36338
+ const ExternalLink = createLucideIcon("external-link", __iconNode$W);
36326
36339
  /**
36327
36340
  * @license lucide-react v0.507.0 - ISC
36328
36341
  *
36329
36342
  * This source code is licensed under the ISC license.
36330
36343
  * See the LICENSE file in the root directory of this source tree.
36331
36344
  */
36332
- const __iconNode$T = [
36345
+ const __iconNode$V = [
36333
36346
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36334
36347
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36335
36348
  ["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
36336
36349
  ["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
36337
36350
  ];
36338
- const FileImage = createLucideIcon("file-image", __iconNode$T);
36351
+ const FileImage = createLucideIcon("file-image", __iconNode$V);
36339
36352
  /**
36340
36353
  * @license lucide-react v0.507.0 - ISC
36341
36354
  *
36342
36355
  * This source code is licensed under the ISC license.
36343
36356
  * See the LICENSE file in the root directory of this source tree.
36344
36357
  */
36345
- const __iconNode$S = [
36358
+ const __iconNode$U = [
36346
36359
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36347
36360
  ["path", { d: "M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2", key: "1vk7w2" }],
36348
36361
  ["path", { d: "M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6", key: "1jink5" }],
36349
36362
  ["path", { d: "m5 11-3 3", key: "1dgrs4" }],
36350
36363
  ["path", { d: "m5 17-3-3h10", key: "1mvvaf" }]
36351
36364
  ];
36352
- const FileOutput = createLucideIcon("file-output", __iconNode$S);
36365
+ const FileOutput = createLucideIcon("file-output", __iconNode$U);
36353
36366
  /**
36354
36367
  * @license lucide-react v0.507.0 - ISC
36355
36368
  *
36356
36369
  * This source code is licensed under the ISC license.
36357
36370
  * See the LICENSE file in the root directory of this source tree.
36358
36371
  */
36359
- const __iconNode$R = [
36372
+ const __iconNode$T = [
36360
36373
  ["path", { d: "M12 17h.01", key: "p32p05" }],
36361
36374
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
36362
36375
  ["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }]
36363
36376
  ];
36364
- const FileQuestion = createLucideIcon("file-question", __iconNode$R);
36377
+ const FileQuestion = createLucideIcon("file-question", __iconNode$T);
36365
36378
  /**
36366
36379
  * @license lucide-react v0.507.0 - ISC
36367
36380
  *
36368
36381
  * This source code is licensed under the ISC license.
36369
36382
  * See the LICENSE file in the root directory of this source tree.
36370
36383
  */
36371
- const __iconNode$Q = [
36384
+ const __iconNode$S = [
36372
36385
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36373
36386
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36374
36387
  ["path", { d: "M8 13h2", key: "yr2amv" }],
@@ -36376,64 +36389,64 @@ const __iconNode$Q = [
36376
36389
  ["path", { d: "M8 17h2", key: "2yhykz" }],
36377
36390
  ["path", { d: "M14 17h2", key: "10kma7" }]
36378
36391
  ];
36379
- const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$Q);
36392
+ const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$S);
36380
36393
  /**
36381
36394
  * @license lucide-react v0.507.0 - ISC
36382
36395
  *
36383
36396
  * This source code is licensed under the ISC license.
36384
36397
  * See the LICENSE file in the root directory of this source tree.
36385
36398
  */
36386
- const __iconNode$P = [
36399
+ const __iconNode$R = [
36387
36400
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36388
36401
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36389
36402
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
36390
36403
  ["path", { d: "M16 13H8", key: "t4e002" }],
36391
36404
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
36392
36405
  ];
36393
- const FileText = createLucideIcon("file-text", __iconNode$P);
36406
+ const FileText = createLucideIcon("file-text", __iconNode$R);
36394
36407
  /**
36395
36408
  * @license lucide-react v0.507.0 - ISC
36396
36409
  *
36397
36410
  * This source code is licensed under the ISC license.
36398
36411
  * See the LICENSE file in the root directory of this source tree.
36399
36412
  */
36400
- const __iconNode$O = [
36413
+ const __iconNode$Q = [
36401
36414
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36402
36415
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36403
36416
  ["path", { d: "M12 12v6", key: "3ahymv" }],
36404
36417
  ["path", { d: "m15 15-3-3-3 3", key: "15xj92" }]
36405
36418
  ];
36406
- const FileUp = createLucideIcon("file-up", __iconNode$O);
36419
+ const FileUp = createLucideIcon("file-up", __iconNode$Q);
36407
36420
  /**
36408
36421
  * @license lucide-react v0.507.0 - ISC
36409
36422
  *
36410
36423
  * This source code is licensed under the ISC license.
36411
36424
  * See the LICENSE file in the root directory of this source tree.
36412
36425
  */
36413
- const __iconNode$N = [
36426
+ const __iconNode$P = [
36414
36427
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36415
36428
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36416
36429
  ["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
36417
36430
  ];
36418
- const FileVideo = createLucideIcon("file-video", __iconNode$N);
36431
+ const FileVideo = createLucideIcon("file-video", __iconNode$P);
36419
36432
  /**
36420
36433
  * @license lucide-react v0.507.0 - ISC
36421
36434
  *
36422
36435
  * This source code is licensed under the ISC license.
36423
36436
  * See the LICENSE file in the root directory of this source tree.
36424
36437
  */
36425
- const __iconNode$M = [
36438
+ const __iconNode$O = [
36426
36439
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36427
36440
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
36428
36441
  ];
36429
- const File$1 = createLucideIcon("file", __iconNode$M);
36442
+ const File$1 = createLucideIcon("file", __iconNode$O);
36430
36443
  /**
36431
36444
  * @license lucide-react v0.507.0 - ISC
36432
36445
  *
36433
36446
  * This source code is licensed under the ISC license.
36434
36447
  * See the LICENSE file in the root directory of this source tree.
36435
36448
  */
36436
- const __iconNode$L = [
36449
+ const __iconNode$N = [
36437
36450
  [
36438
36451
  "path",
36439
36452
  {
@@ -36444,14 +36457,14 @@ const __iconNode$L = [
36444
36457
  ["path", { d: "M6.453 15h11.094", key: "3shlmq" }],
36445
36458
  ["path", { d: "M8.5 2h7", key: "csnxdl" }]
36446
36459
  ];
36447
- const FlaskConical = createLucideIcon("flask-conical", __iconNode$L);
36460
+ const FlaskConical = createLucideIcon("flask-conical", __iconNode$N);
36448
36461
  /**
36449
36462
  * @license lucide-react v0.507.0 - ISC
36450
36463
  *
36451
36464
  * This source code is licensed under the ISC license.
36452
36465
  * See the LICENSE file in the root directory of this source tree.
36453
36466
  */
36454
- const __iconNode$K = [
36467
+ const __iconNode$M = [
36455
36468
  [
36456
36469
  "path",
36457
36470
  {
@@ -36460,14 +36473,14 @@ const __iconNode$K = [
36460
36473
  }
36461
36474
  ]
36462
36475
  ];
36463
- const FolderOpen = createLucideIcon("folder-open", __iconNode$K);
36476
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$M);
36464
36477
  /**
36465
36478
  * @license lucide-react v0.507.0 - ISC
36466
36479
  *
36467
36480
  * This source code is licensed under the ISC license.
36468
36481
  * See the LICENSE file in the root directory of this source tree.
36469
36482
  */
36470
- const __iconNode$J = [
36483
+ const __iconNode$L = [
36471
36484
  [
36472
36485
  "path",
36473
36486
  {
@@ -36478,14 +36491,14 @@ const __iconNode$J = [
36478
36491
  ["path", { d: "M22 10v6", key: "1lu8f3" }],
36479
36492
  ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
36480
36493
  ];
36481
- const GraduationCap = createLucideIcon("graduation-cap", __iconNode$J);
36494
+ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$L);
36482
36495
  /**
36483
36496
  * @license lucide-react v0.507.0 - ISC
36484
36497
  *
36485
36498
  * This source code is licensed under the ISC license.
36486
36499
  * See the LICENSE file in the root directory of this source tree.
36487
36500
  */
36488
- const __iconNode$I = [
36501
+ const __iconNode$K = [
36489
36502
  [
36490
36503
  "path",
36491
36504
  {
@@ -36495,14 +36508,14 @@ const __iconNode$I = [
36495
36508
  ],
36496
36509
  ["path", { d: "M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27", key: "1uw2ng" }]
36497
36510
  ];
36498
- const HeartPulse = createLucideIcon("heart-pulse", __iconNode$I);
36511
+ const HeartPulse = createLucideIcon("heart-pulse", __iconNode$K);
36499
36512
  /**
36500
36513
  * @license lucide-react v0.507.0 - ISC
36501
36514
  *
36502
36515
  * This source code is licensed under the ISC license.
36503
36516
  * See the LICENSE file in the root directory of this source tree.
36504
36517
  */
36505
- const __iconNode$H = [
36518
+ const __iconNode$J = [
36506
36519
  [
36507
36520
  "path",
36508
36521
  {
@@ -36511,26 +36524,26 @@ const __iconNode$H = [
36511
36524
  }
36512
36525
  ]
36513
36526
  ];
36514
- const Heart = createLucideIcon("heart", __iconNode$H);
36527
+ const Heart = createLucideIcon("heart", __iconNode$J);
36515
36528
  /**
36516
36529
  * @license lucide-react v0.507.0 - ISC
36517
36530
  *
36518
36531
  * This source code is licensed under the ISC license.
36519
36532
  * See the LICENSE file in the root directory of this source tree.
36520
36533
  */
36521
- const __iconNode$G = [
36534
+ const __iconNode$I = [
36522
36535
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
36523
36536
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
36524
36537
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
36525
36538
  ];
36526
- const History = createLucideIcon("history", __iconNode$G);
36539
+ const History = createLucideIcon("history", __iconNode$I);
36527
36540
  /**
36528
36541
  * @license lucide-react v0.507.0 - ISC
36529
36542
  *
36530
36543
  * This source code is licensed under the ISC license.
36531
36544
  * See the LICENSE file in the root directory of this source tree.
36532
36545
  */
36533
- const __iconNode$F = [
36546
+ const __iconNode$H = [
36534
36547
  ["path", { d: "M12 3v12", key: "1x0j5s" }],
36535
36548
  ["path", { d: "m8 11 4 4 4-4", key: "1dohi6" }],
36536
36549
  [
@@ -36541,38 +36554,38 @@ const __iconNode$F = [
36541
36554
  }
36542
36555
  ]
36543
36556
  ];
36544
- const Import = createLucideIcon("import", __iconNode$F);
36557
+ const Import = createLucideIcon("import", __iconNode$H);
36545
36558
  /**
36546
36559
  * @license lucide-react v0.507.0 - ISC
36547
36560
  *
36548
36561
  * This source code is licensed under the ISC license.
36549
36562
  * See the LICENSE file in the root directory of this source tree.
36550
36563
  */
36551
- const __iconNode$E = [
36564
+ const __iconNode$G = [
36552
36565
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36553
36566
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
36554
36567
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
36555
36568
  ];
36556
- const Info$1 = createLucideIcon("info", __iconNode$E);
36569
+ const Info$1 = createLucideIcon("info", __iconNode$G);
36557
36570
  /**
36558
36571
  * @license lucide-react v0.507.0 - ISC
36559
36572
  *
36560
36573
  * This source code is licensed under the ISC license.
36561
36574
  * See the LICENSE file in the root directory of this source tree.
36562
36575
  */
36563
- const __iconNode$D = [
36576
+ const __iconNode$F = [
36564
36577
  ["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" }],
36565
36578
  ["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
36566
36579
  ["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
36567
36580
  ];
36568
- const Key = createLucideIcon("key", __iconNode$D);
36581
+ const Key = createLucideIcon("key", __iconNode$F);
36569
36582
  /**
36570
36583
  * @license lucide-react v0.507.0 - ISC
36571
36584
  *
36572
36585
  * This source code is licensed under the ISC license.
36573
36586
  * See the LICENSE file in the root directory of this source tree.
36574
36587
  */
36575
- const __iconNode$C = [
36588
+ const __iconNode$E = [
36576
36589
  [
36577
36590
  "path",
36578
36591
  {
@@ -36595,27 +36608,27 @@ const __iconNode$C = [
36595
36608
  }
36596
36609
  ]
36597
36610
  ];
36598
- const Layers = createLucideIcon("layers", __iconNode$C);
36611
+ const Layers = createLucideIcon("layers", __iconNode$E);
36599
36612
  /**
36600
36613
  * @license lucide-react v0.507.0 - ISC
36601
36614
  *
36602
36615
  * This source code is licensed under the ISC license.
36603
36616
  * See the LICENSE file in the root directory of this source tree.
36604
36617
  */
36605
- const __iconNode$B = [
36618
+ const __iconNode$D = [
36606
36619
  ["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }],
36607
36620
  ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }],
36608
36621
  ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }],
36609
36622
  ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }]
36610
36623
  ];
36611
- const LayoutGrid = createLucideIcon("layout-grid", __iconNode$B);
36624
+ const LayoutGrid = createLucideIcon("layout-grid", __iconNode$D);
36612
36625
  /**
36613
36626
  * @license lucide-react v0.507.0 - ISC
36614
36627
  *
36615
36628
  * This source code is licensed under the ISC license.
36616
36629
  * See the LICENSE file in the root directory of this source tree.
36617
36630
  */
36618
- const __iconNode$A = [
36631
+ const __iconNode$C = [
36619
36632
  [
36620
36633
  "path",
36621
36634
  {
@@ -36626,102 +36639,102 @@ const __iconNode$A = [
36626
36639
  ["path", { d: "M9 18h6", key: "x1upvd" }],
36627
36640
  ["path", { d: "M10 22h4", key: "ceow96" }]
36628
36641
  ];
36629
- const Lightbulb = createLucideIcon("lightbulb", __iconNode$A);
36642
+ const Lightbulb = createLucideIcon("lightbulb", __iconNode$C);
36630
36643
  /**
36631
36644
  * @license lucide-react v0.507.0 - ISC
36632
36645
  *
36633
36646
  * This source code is licensed under the ISC license.
36634
36647
  * See the LICENSE file in the root directory of this source tree.
36635
36648
  */
36636
- const __iconNode$z = [
36649
+ const __iconNode$B = [
36637
36650
  ["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" }],
36638
36651
  ["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" }]
36639
36652
  ];
36640
- const Link = createLucideIcon("link", __iconNode$z);
36653
+ const Link = createLucideIcon("link", __iconNode$B);
36641
36654
  /**
36642
36655
  * @license lucide-react v0.507.0 - ISC
36643
36656
  *
36644
36657
  * This source code is licensed under the ISC license.
36645
36658
  * See the LICENSE file in the root directory of this source tree.
36646
36659
  */
36647
- const __iconNode$y = [
36660
+ const __iconNode$A = [
36648
36661
  ["path", { d: "M21 12h-8", key: "1bmf0i" }],
36649
36662
  ["path", { d: "M21 6H8", key: "1pqkrb" }],
36650
36663
  ["path", { d: "M21 18h-8", key: "1tm79t" }],
36651
36664
  ["path", { d: "M3 6v4c0 1.1.9 2 2 2h3", key: "1ywdgy" }],
36652
36665
  ["path", { d: "M3 10v6c0 1.1.9 2 2 2h3", key: "2wc746" }]
36653
36666
  ];
36654
- const ListTree = createLucideIcon("list-tree", __iconNode$y);
36667
+ const ListTree = createLucideIcon("list-tree", __iconNode$A);
36655
36668
  /**
36656
36669
  * @license lucide-react v0.507.0 - ISC
36657
36670
  *
36658
36671
  * This source code is licensed under the ISC license.
36659
36672
  * See the LICENSE file in the root directory of this source tree.
36660
36673
  */
36661
- const __iconNode$x = [
36674
+ const __iconNode$z = [
36662
36675
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
36663
36676
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
36664
36677
  ];
36665
- const Mail = createLucideIcon("mail", __iconNode$x);
36678
+ const Mail = createLucideIcon("mail", __iconNode$z);
36666
36679
  /**
36667
36680
  * @license lucide-react v0.507.0 - ISC
36668
36681
  *
36669
36682
  * This source code is licensed under the ISC license.
36670
36683
  * See the LICENSE file in the root directory of this source tree.
36671
36684
  */
36672
- const __iconNode$w = [
36685
+ const __iconNode$y = [
36673
36686
  ["polyline", { points: "15 3 21 3 21 9", key: "mznyad" }],
36674
36687
  ["polyline", { points: "9 21 3 21 3 15", key: "1avn1i" }],
36675
36688
  ["line", { x1: "21", x2: "14", y1: "3", y2: "10", key: "ota7mn" }],
36676
36689
  ["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }]
36677
36690
  ];
36678
- const Maximize2 = createLucideIcon("maximize-2", __iconNode$w);
36691
+ const Maximize2 = createLucideIcon("maximize-2", __iconNode$y);
36679
36692
  /**
36680
36693
  * @license lucide-react v0.507.0 - ISC
36681
36694
  *
36682
36695
  * This source code is licensed under the ISC license.
36683
36696
  * See the LICENSE file in the root directory of this source tree.
36684
36697
  */
36685
- const __iconNode$v = [
36698
+ const __iconNode$x = [
36686
36699
  ["path", { d: "m3 11 18-5v12L3 14v-3z", key: "n962bs" }],
36687
36700
  ["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }]
36688
36701
  ];
36689
- const Megaphone = createLucideIcon("megaphone", __iconNode$v);
36702
+ const Megaphone = createLucideIcon("megaphone", __iconNode$x);
36690
36703
  /**
36691
36704
  * @license lucide-react v0.507.0 - ISC
36692
36705
  *
36693
36706
  * This source code is licensed under the ISC license.
36694
36707
  * See the LICENSE file in the root directory of this source tree.
36695
36708
  */
36696
- const __iconNode$u = [
36709
+ const __iconNode$w = [
36697
36710
  ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]
36698
36711
  ];
36699
- const MessageCircle = createLucideIcon("message-circle", __iconNode$u);
36712
+ const MessageCircle = createLucideIcon("message-circle", __iconNode$w);
36700
36713
  /**
36701
36714
  * @license lucide-react v0.507.0 - ISC
36702
36715
  *
36703
36716
  * This source code is licensed under the ISC license.
36704
36717
  * See the LICENSE file in the root directory of this source tree.
36705
36718
  */
36706
- const __iconNode$t = [
36719
+ const __iconNode$v = [
36707
36720
  ["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" }]
36708
36721
  ];
36709
- const MessageSquare = createLucideIcon("message-square", __iconNode$t);
36722
+ const MessageSquare = createLucideIcon("message-square", __iconNode$v);
36710
36723
  /**
36711
36724
  * @license lucide-react v0.507.0 - ISC
36712
36725
  *
36713
36726
  * This source code is licensed under the ISC license.
36714
36727
  * See the LICENSE file in the root directory of this source tree.
36715
36728
  */
36716
- const __iconNode$s = [["path", { d: "M5 12h14", key: "1ays0h" }]];
36717
- const Minus$1 = createLucideIcon("minus", __iconNode$s);
36729
+ const __iconNode$u = [["path", { d: "M5 12h14", key: "1ays0h" }]];
36730
+ const Minus$1 = createLucideIcon("minus", __iconNode$u);
36718
36731
  /**
36719
36732
  * @license lucide-react v0.507.0 - ISC
36720
36733
  *
36721
36734
  * This source code is licensed under the ISC license.
36722
36735
  * See the LICENSE file in the root directory of this source tree.
36723
36736
  */
36724
- const __iconNode$r = [
36737
+ const __iconNode$t = [
36725
36738
  ["path", { d: "M12 2v20", key: "t6zp3m" }],
36726
36739
  ["path", { d: "m15 19-3 3-3-3", key: "11eu04" }],
36727
36740
  ["path", { d: "m19 9 3 3-3 3", key: "1mg7y2" }],
@@ -36729,14 +36742,14 @@ const __iconNode$r = [
36729
36742
  ["path", { d: "m5 9-3 3 3 3", key: "j64kie" }],
36730
36743
  ["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }]
36731
36744
  ];
36732
- const Move = createLucideIcon("move", __iconNode$r);
36745
+ const Move = createLucideIcon("move", __iconNode$t);
36733
36746
  /**
36734
36747
  * @license lucide-react v0.507.0 - ISC
36735
36748
  *
36736
36749
  * This source code is licensed under the ISC license.
36737
36750
  * See the LICENSE file in the root directory of this source tree.
36738
36751
  */
36739
- const __iconNode$q = [
36752
+ const __iconNode$s = [
36740
36753
  ["path", { d: "m14.622 17.897-10.68-2.913", key: "vj2p1u" }],
36741
36754
  [
36742
36755
  "path",
@@ -36753,7 +36766,31 @@ const __iconNode$q = [
36753
36766
  }
36754
36767
  ]
36755
36768
  ];
36756
- const Paintbrush = createLucideIcon("paintbrush", __iconNode$q);
36769
+ const Paintbrush = createLucideIcon("paintbrush", __iconNode$s);
36770
+ /**
36771
+ * @license lucide-react v0.507.0 - ISC
36772
+ *
36773
+ * This source code is licensed under the ISC license.
36774
+ * See the LICENSE file in the root directory of this source tree.
36775
+ */
36776
+ const __iconNode$r = [
36777
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
36778
+ ["path", { d: "M15 3v18", key: "14nvp0" }],
36779
+ ["path", { d: "m8 9 3 3-3 3", key: "12hl5m" }]
36780
+ ];
36781
+ const PanelRightClose = createLucideIcon("panel-right-close", __iconNode$r);
36782
+ /**
36783
+ * @license lucide-react v0.507.0 - ISC
36784
+ *
36785
+ * This source code is licensed under the ISC license.
36786
+ * See the LICENSE file in the root directory of this source tree.
36787
+ */
36788
+ const __iconNode$q = [
36789
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
36790
+ ["path", { d: "M15 3v18", key: "14nvp0" }],
36791
+ ["path", { d: "m10 15-3-3 3-3", key: "1pgupc" }]
36792
+ ];
36793
+ const PanelRightOpen = createLucideIcon("panel-right-open", __iconNode$q);
36757
36794
  /**
36758
36795
  * @license lucide-react v0.507.0 - ISC
36759
36796
  *
@@ -37138,7 +37175,7 @@ const __iconNode = [
37138
37175
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
37139
37176
  ];
37140
37177
  const ZoomOut = createLucideIcon("zoom-out", __iconNode);
37141
- const StyledDialog$1 = styled$1(Dialog)(({ theme: theme2 }) => ({
37178
+ const StyledDialog$2 = styled$1(Dialog)(({ theme: theme2 }) => ({
37142
37179
  "& .MuiBackdrop-root": {
37143
37180
  backdropFilter: "blur(8px)",
37144
37181
  backgroundColor: alpha$1(theme2.palette.background.default, 0.7)
@@ -37214,7 +37251,7 @@ const BaseDialog = ({
37214
37251
  dataTourTag
37215
37252
  }) => {
37216
37253
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
37217
- StyledDialog$1,
37254
+ StyledDialog$2,
37218
37255
  {
37219
37256
  open: open2,
37220
37257
  onClose,
@@ -37636,11 +37673,36 @@ const DEFAULT_CHAT_SIDEBAR_WIDTH = 320;
37636
37673
  const useUiPreferencesStore = create$3()(
37637
37674
  persist(
37638
37675
  (set2) => ({
37676
+ isCommandPaletteOpen: false,
37677
+ commandPaletteQuery: "",
37639
37678
  isSidebarCollapsed: false,
37640
37679
  themeName: DEFAULT_THEME,
37641
37680
  canvasWidth: DEFAULT_CANVAS_WIDTH,
37642
37681
  chatSidebarWidth: DEFAULT_CHAT_SIDEBAR_WIDTH,
37643
37682
  isCanvasOpen: false,
37683
+ isCreateAgentDialogOpen: false,
37684
+ openCreateAgentDialog: () => {
37685
+ set2({ isCreateAgentDialogOpen: true });
37686
+ },
37687
+ closeCreateAgentDialog: () => {
37688
+ set2({ isCreateAgentDialogOpen: false });
37689
+ },
37690
+ openCommandPalette: () => {
37691
+ set2({ isCommandPaletteOpen: true });
37692
+ },
37693
+ closeCommandPalette: () => {
37694
+ set2({ isCommandPaletteOpen: false, commandPaletteQuery: "" });
37695
+ },
37696
+ toggleCommandPalette: () => {
37697
+ set2((state2) => ({
37698
+ isCommandPaletteOpen: !state2.isCommandPaletteOpen,
37699
+ commandPaletteQuery: !state2.isCommandPaletteOpen ? "" : state2.commandPaletteQuery
37700
+ // Clear query if opening, retain if closing (though it's cleared by closeCommandPalette)
37701
+ }));
37702
+ },
37703
+ setCommandPaletteQuery: (query) => {
37704
+ set2({ commandPaletteQuery: query });
37705
+ },
37644
37706
  toggleSidebar: () => {
37645
37707
  set2((state2) => ({
37646
37708
  isSidebarCollapsed: !state2.isSidebarCollapsed
@@ -67813,7 +67875,7 @@ const AgentsSidebar = ({
67813
67875
  }) => {
67814
67876
  const navigate = useNavigate();
67815
67877
  const [searchQuery, setSearchQuery2] = reactExports.useState("");
67816
- const [isCreateDialogOpen, setIsCreateDialogOpen] = reactExports.useState(false);
67878
+ const { openCreateAgentDialog } = useUiPreferencesStore();
67817
67879
  const [isImportDialogOpen, setIsImportDialogOpen] = reactExports.useState(false);
67818
67880
  const perPage = 50;
67819
67881
  const [isUploadDialogOpen, setIsUploadDialogOpen] = reactExports.useState(false);
@@ -67856,12 +67918,6 @@ const AgentsSidebar = ({
67856
67918
  },
67857
67919
  [onSelectAgent]
67858
67920
  );
67859
- const handleOpenCreateDialog = reactExports.useCallback(() => {
67860
- setIsCreateDialogOpen(true);
67861
- }, []);
67862
- const handleCloseCreateDialog = reactExports.useCallback(() => {
67863
- setIsCreateDialogOpen(false);
67864
- }, []);
67865
67921
  const handleOpenImportDialog = reactExports.useCallback(() => {
67866
67922
  setIsImportDialogOpen(true);
67867
67923
  }, []);
@@ -67985,7 +68041,7 @@ const AgentsSidebar = ({
67985
68041
  title: "Agents",
67986
68042
  searchQuery,
67987
68043
  onSearchChange: (query) => setSearchQuery2(query),
67988
- onNewAgentClick: handleOpenCreateDialog,
68044
+ onNewAgentClick: openCreateAgentDialog,
67989
68045
  onImportAgentClick: handleOpenImportDialog,
67990
68046
  importAgentTooltip: "Import an agent from a ZIP file"
67991
68047
  }
@@ -68023,14 +68079,6 @@ const AgentsSidebar = ({
68023
68079
  },
68024
68080
  agent.id
68025
68081
  )) }),
68026
- /* @__PURE__ */ jsxRuntimeExports.jsx(
68027
- CreateAgentDialog,
68028
- {
68029
- open: isCreateDialogOpen,
68030
- onClose: handleCloseCreateDialog,
68031
- onAgentCreated: handleAgentCreated
68032
- }
68033
- ),
68034
68082
  /* @__PURE__ */ jsxRuntimeExports.jsx(
68035
68083
  ImportAgentDialog,
68036
68084
  {
@@ -86932,7 +86980,7 @@ const languages = [
86932
86980
  name: "Go",
86933
86981
  extensions: ["go"],
86934
86982
  load() {
86935
- return __vitePreload(() => import("./index-DyCWQ6pn.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
86983
+ return __vitePreload(() => import("./index-CPnY6jn3.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
86936
86984
  }
86937
86985
  }),
86938
86986
  /* @__PURE__ */ LanguageDescription.of({
@@ -87109,7 +87157,7 @@ const languages = [
87109
87157
  alias: ["yml"],
87110
87158
  extensions: ["yaml", "yml"],
87111
87159
  load() {
87112
- return __vitePreload(() => import("./index-BkfYRfhG.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
87160
+ return __vitePreload(() => import("./index-DT4YjQYg.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
87113
87161
  }
87114
87162
  }),
87115
87163
  // Legacy modes ported from CodeMirror 5
@@ -169548,7 +169596,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
169548
169596
  registerLayoutLoaders([
169549
169597
  {
169550
169598
  name: "dagre",
169551
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-CuBbVbAE.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
169599
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-CUqy_fyO.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
169552
169600
  }
169553
169601
  ]);
169554
169602
  }, "registerDefaultLayoutLoaders");
@@ -170138,7 +170186,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
170138
170186
  }, "detector");
170139
170187
  var loader = /* @__PURE__ */ __name(async () => {
170140
170188
  const { diagram: diagram2 } = await __vitePreload(async () => {
170141
- const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-DPAI5Oul.js");
170189
+ const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-B9Sos203.js");
170142
170190
  return { diagram: diagram22 };
170143
170191
  }, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
170144
170192
  return { id, diagram: diagram2 };
@@ -170158,7 +170206,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
170158
170206
  }, "detector");
170159
170207
  var loader2 = /* @__PURE__ */ __name(async () => {
170160
170208
  const { diagram: diagram2 } = await __vitePreload(async () => {
170161
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-COKwAFv7.js");
170209
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170162
170210
  return { diagram: diagram22 };
170163
170211
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170164
170212
  return { id: id2, diagram: diagram2 };
@@ -170184,7 +170232,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
170184
170232
  }, "detector");
170185
170233
  var loader3 = /* @__PURE__ */ __name(async () => {
170186
170234
  const { diagram: diagram2 } = await __vitePreload(async () => {
170187
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-COKwAFv7.js");
170235
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170188
170236
  return { diagram: diagram22 };
170189
170237
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170190
170238
  return { id: id3, diagram: diagram2 };
@@ -170201,7 +170249,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
170201
170249
  }, "detector");
170202
170250
  var loader4 = /* @__PURE__ */ __name(async () => {
170203
170251
  const { diagram: diagram2 } = await __vitePreload(async () => {
170204
- const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-hAtjkKRt.js");
170252
+ const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-B6IODaEY.js");
170205
170253
  return { diagram: diagram22 };
170206
170254
  }, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
170207
170255
  return { id: id4, diagram: diagram2 };
@@ -170218,7 +170266,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
170218
170266
  }, "detector");
170219
170267
  var loader5 = /* @__PURE__ */ __name(async () => {
170220
170268
  const { diagram: diagram2 } = await __vitePreload(async () => {
170221
- const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-CCkiOue7.js");
170269
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js");
170222
170270
  return { diagram: diagram22 };
170223
170271
  }, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
170224
170272
  return { id: id5, diagram: diagram2 };
@@ -170235,7 +170283,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
170235
170283
  }, "detector");
170236
170284
  var loader6 = /* @__PURE__ */ __name(async () => {
170237
170285
  const { diagram: diagram2 } = await __vitePreload(async () => {
170238
- const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-DzqtejzU.js");
170286
+ const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-FX9v3sXK.js");
170239
170287
  return { diagram: diagram22 };
170240
170288
  }, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
170241
170289
  return { id: id6, diagram: diagram2 };
@@ -170252,7 +170300,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
170252
170300
  }, "detector");
170253
170301
  var loader7 = /* @__PURE__ */ __name(async () => {
170254
170302
  const { diagram: diagram2 } = await __vitePreload(async () => {
170255
- const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-D2pi_Avu.js");
170303
+ const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-C04KBzB9.js");
170256
170304
  return { diagram: diagram22 };
170257
170305
  }, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
170258
170306
  return { id: id7, diagram: diagram2 };
@@ -170268,7 +170316,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
170268
170316
  }, "detector");
170269
170317
  var loader8 = /* @__PURE__ */ __name(async () => {
170270
170318
  const { diagram: diagram2 } = await __vitePreload(async () => {
170271
- const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-CzpV9GLV.js");
170319
+ const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-DNtHn0jA.js");
170272
170320
  return { diagram: diagram22 };
170273
170321
  }, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
170274
170322
  return { id: id8, diagram: diagram2 };
@@ -170284,7 +170332,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
170284
170332
  }, "detector");
170285
170333
  var loader9 = /* @__PURE__ */ __name(async () => {
170286
170334
  const { diagram: diagram2 } = await __vitePreload(async () => {
170287
- const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-TRIu05Kz.js");
170335
+ const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-DddxYL3U.js");
170288
170336
  return { diagram: diagram22 };
170289
170337
  }, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
170290
170338
  return { id: id9, diagram: diagram2 };
@@ -170301,7 +170349,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
170301
170349
  }, "detector");
170302
170350
  var loader10 = /* @__PURE__ */ __name(async () => {
170303
170351
  const { diagram: diagram2 } = await __vitePreload(async () => {
170304
- const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-BWFbhKHp.js");
170352
+ const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-qhS6hrxS.js");
170305
170353
  return { diagram: diagram22 };
170306
170354
  }, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
170307
170355
  return { id: id10, diagram: diagram2 };
@@ -170318,7 +170366,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
170318
170366
  }, "detector");
170319
170367
  var loader11 = /* @__PURE__ */ __name(async () => {
170320
170368
  const { diagram: diagram2 } = await __vitePreload(async () => {
170321
- const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-DtZxlcxe.js");
170369
+ const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-Cfo6ZHQh.js");
170322
170370
  return { diagram: diagram22 };
170323
170371
  }, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
170324
170372
  return { id: id11, diagram: diagram2 };
@@ -170335,7 +170383,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
170335
170383
  }, "detector");
170336
170384
  var loader12 = /* @__PURE__ */ __name(async () => {
170337
170385
  const { diagram: diagram2 } = await __vitePreload(async () => {
170338
- const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-DXZSfjCv.js");
170386
+ const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-DKn__Lqs.js");
170339
170387
  return { diagram: diagram22 };
170340
170388
  }, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
170341
170389
  return { id: id12, diagram: diagram2 };
@@ -170355,7 +170403,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
170355
170403
  }, "detector");
170356
170404
  var loader13 = /* @__PURE__ */ __name(async () => {
170357
170405
  const { diagram: diagram2 } = await __vitePreload(async () => {
170358
- const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-B-m9p15O.js");
170406
+ const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-BG9YVWo9.js");
170359
170407
  return { diagram: diagram22 };
170360
170408
  }, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
170361
170409
  return { id: id13, diagram: diagram2 };
@@ -170375,7 +170423,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
170375
170423
  }, "detector");
170376
170424
  var loader14 = /* @__PURE__ */ __name(async () => {
170377
170425
  const { diagram: diagram2 } = await __vitePreload(async () => {
170378
- const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-B-m9p15O.js");
170426
+ const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-BG9YVWo9.js");
170379
170427
  return { diagram: diagram22 };
170380
170428
  }, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
170381
170429
  return { id: id14, diagram: diagram2 };
@@ -170395,7 +170443,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
170395
170443
  }, "detector");
170396
170444
  var loader15 = /* @__PURE__ */ __name(async () => {
170397
170445
  const { diagram: diagram2 } = await __vitePreload(async () => {
170398
- const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-gJvvYfHT.js");
170446
+ const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-BVSJzT2-.js");
170399
170447
  return { diagram: diagram22 };
170400
170448
  }, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
170401
170449
  return { id: id15, diagram: diagram2 };
@@ -170418,7 +170466,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
170418
170466
  }, "detector");
170419
170467
  var loader16 = /* @__PURE__ */ __name(async () => {
170420
170468
  const { diagram: diagram2 } = await __vitePreload(async () => {
170421
- const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-DUjC-b8t.js");
170469
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-CypfddVy.js");
170422
170470
  return { diagram: diagram22 };
170423
170471
  }, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
170424
170472
  return { id: id16, diagram: diagram2 };
@@ -170435,7 +170483,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
170435
170483
  }, "detector");
170436
170484
  var loader17 = /* @__PURE__ */ __name(async () => {
170437
170485
  const { diagram: diagram2 } = await __vitePreload(async () => {
170438
- const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-CYV7gt8_.js");
170486
+ const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-XjyRPfYe.js");
170439
170487
  return { diagram: diagram22 };
170440
170488
  }, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
170441
170489
  return { id: id17, diagram: diagram2 };
@@ -170505,7 +170553,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
170505
170553
  }, "detector");
170506
170554
  var loader18 = /* @__PURE__ */ __name(async () => {
170507
170555
  const { diagram: diagram2 } = await __vitePreload(async () => {
170508
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-COKwAFv7.js");
170556
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170509
170557
  return { diagram: diagram22 };
170510
170558
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170511
170559
  return { id: id18, diagram: diagram2 };
@@ -170522,7 +170570,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
170522
170570
  }, "detector");
170523
170571
  var loader19 = /* @__PURE__ */ __name(async () => {
170524
170572
  const { diagram: diagram2 } = await __vitePreload(async () => {
170525
- const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-DpFxQaCe.js");
170573
+ const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-DBxUODzY.js");
170526
170574
  return { diagram: diagram22 };
170527
170575
  }, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
170528
170576
  return { id: id19, diagram: diagram2 };
@@ -170539,7 +170587,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
170539
170587
  }, "detector");
170540
170588
  var loader20 = /* @__PURE__ */ __name(async () => {
170541
170589
  const { diagram: diagram2 } = await __vitePreload(async () => {
170542
- const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-ByeOpUXU.js");
170590
+ const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-Dc8z1BYF.js");
170543
170591
  return { diagram: diagram22 };
170544
170592
  }, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
170545
170593
  return { id: id20, diagram: diagram2 };
@@ -170556,7 +170604,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
170556
170604
  }, "detector");
170557
170605
  var loader21 = /* @__PURE__ */ __name(async () => {
170558
170606
  const { diagram: diagram2 } = await __vitePreload(async () => {
170559
- const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-z_jHtS3N.js");
170607
+ const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-DVuFQlbH.js");
170560
170608
  return { diagram: diagram22 };
170561
170609
  }, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
170562
170610
  return { id: id21, diagram: diagram2 };
@@ -170573,7 +170621,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
170573
170621
  }, "detector");
170574
170622
  var loader22 = /* @__PURE__ */ __name(async () => {
170575
170623
  const { diagram: diagram2 } = await __vitePreload(async () => {
170576
- const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-CsDA2pgF.js");
170624
+ const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-B86QqVNt.js");
170577
170625
  return { diagram: diagram22 };
170578
170626
  }, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
170579
170627
  return { id: id22, diagram: diagram2 };
@@ -170590,7 +170638,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
170590
170638
  }, "detector");
170591
170639
  var loader23 = /* @__PURE__ */ __name(async () => {
170592
170640
  const { diagram: diagram2 } = await __vitePreload(async () => {
170593
- const { diagram: diagram22 } = await import("./diagram-VNBRO52H-CptIzsnS.js");
170641
+ const { diagram: diagram22 } = await import("./diagram-VNBRO52H-BU04y9Fr.js");
170594
170642
  return { diagram: diagram22 };
170595
170643
  }, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
170596
170644
  return { id: id23, diagram: diagram2 };
@@ -170606,7 +170654,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
170606
170654
  }, "detector");
170607
170655
  var loader24 = /* @__PURE__ */ __name(async () => {
170608
170656
  const { diagram: diagram2 } = await __vitePreload(async () => {
170609
- const { diagram: diagram22 } = await import("./diagram-SSKATNLV-Ddt-5-58.js");
170657
+ const { diagram: diagram22 } = await import("./diagram-SSKATNLV-BhN3X8_Q.js");
170610
170658
  return { diagram: diagram22 };
170611
170659
  }, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
170612
170660
  return { id: id24, diagram: diagram2 };
@@ -170622,7 +170670,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
170622
170670
  }, "detector");
170623
170671
  var loader25 = /* @__PURE__ */ __name(async () => {
170624
170672
  const { diagram: diagram2 } = await __vitePreload(async () => {
170625
- const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-Ct7Hjgdp.js");
170673
+ const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-CKZMfayd.js");
170626
170674
  return { diagram: diagram22 };
170627
170675
  }, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
170628
170676
  return { id: id25, diagram: diagram2 };
@@ -170639,7 +170687,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
170639
170687
  }, "detector");
170640
170688
  var loader26 = /* @__PURE__ */ __name(async () => {
170641
170689
  const { diagram: diagram2 } = await __vitePreload(async () => {
170642
- const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-iZe3FGai.js");
170690
+ const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-DpgUpIap.js");
170643
170691
  return { diagram: diagram22 };
170644
170692
  }, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
170645
170693
  return { id: id26, diagram: diagram2 };
@@ -175550,238 +175598,258 @@ const EmptyStateTitle = styled$1(Typography)(({ theme: theme2 }) => ({
175550
175598
  marginBottom: theme2.spacing(2)
175551
175599
  }
175552
175600
  }));
175553
- const MessageInput = ({
175554
- onSendMessage,
175555
- isLoading,
175556
- conversationId,
175557
- messages,
175558
- currentJobId,
175559
- onCancelJob,
175560
- isFarFromBottom = false,
175561
- scrollToBottom = () => {
175562
- },
175563
- initialSuggestions,
175564
- agentData
175565
- }) => {
175566
- const [attachments, setAttachments] = reactExports.useState([]);
175567
- const fileInputRef = reactExports.useRef(null);
175568
- const MAX_SUGGESTIONS = 7;
175569
- const suggestions = reactExports.useMemo(() => {
175570
- if (!initialSuggestions || initialSuggestions.length === 0) return [];
175571
- if (initialSuggestions.length <= MAX_SUGGESTIONS) {
175572
- return initialSuggestions;
175573
- }
175574
- const shuffled = [...initialSuggestions].sort(() => Math.random() - 0.5);
175575
- return shuffled.slice(0, MAX_SUGGESTIONS);
175576
- }, [initialSuggestions]);
175577
- const onSubmit = reactExports.useMemo(
175578
- () => (message2) => {
175579
- onSendMessage(message2, attachments);
175580
- setAttachments([]);
175581
- },
175582
- // attachments is a dependency, but this is safe because attachments is local state
175583
- // and onSendMessage is a prop (assumed stable)
175584
- [onSendMessage, attachments]
175585
- );
175586
- const {
175587
- inputValue: newMessage,
175588
- setInputValue: setNewMessage,
175589
- handleKeyDown,
175590
- handleSubmit: submitMessage,
175591
- textareaRef
175592
- } = useMessageInput({
175601
+ const MessageInput = reactExports.forwardRef(
175602
+ ({
175603
+ onSendMessage,
175604
+ isLoading,
175593
175605
  conversationId,
175594
- onSubmit,
175595
- scrollToBottom
175596
- });
175597
- const handleSubmit = (e3) => {
175598
- e3.preventDefault();
175599
- if (!newMessage.trim() && attachments.length === 0) return;
175600
- submitMessage();
175601
- };
175602
- const handleFileSelect = (e3) => {
175603
- if (e3.target.files && e3.target.files.length > 0) {
175604
- const newAttachments = Array.from(e3.target.files).map((file) => {
175605
- const filePath = file.path;
175606
- if (filePath) {
175607
- return normalizePath(filePath);
175608
- }
175609
- return URL.createObjectURL(file);
175610
- });
175611
- setAttachments((prev2) => [...prev2, ...newAttachments]);
175612
- if (fileInputRef.current) {
175613
- fileInputRef.current.value = "";
175606
+ messages,
175607
+ currentJobId,
175608
+ onCancelJob,
175609
+ isFarFromBottom = false,
175610
+ scrollToBottom = () => {
175611
+ },
175612
+ initialSuggestions,
175613
+ agentData
175614
+ }, ref) => {
175615
+ const [attachments, setAttachments] = reactExports.useState([]);
175616
+ const fileInputRef = reactExports.useRef(null);
175617
+ const MAX_SUGGESTIONS2 = 7;
175618
+ const suggestions = reactExports.useMemo(() => {
175619
+ if (!initialSuggestions || initialSuggestions.length === 0) return [];
175620
+ if (initialSuggestions.length <= MAX_SUGGESTIONS2) {
175621
+ return initialSuggestions;
175622
+ }
175623
+ const shuffled = [...initialSuggestions].sort(() => Math.random() - 0.5);
175624
+ return shuffled.slice(0, MAX_SUGGESTIONS2);
175625
+ }, [initialSuggestions]);
175626
+ const onSubmit = reactExports.useMemo(
175627
+ () => (message2) => {
175628
+ onSendMessage(message2, attachments);
175629
+ setAttachments([]);
175630
+ },
175631
+ // attachments is a dependency, but this is safe because attachments is local state
175632
+ // and onSendMessage is a prop (assumed stable)
175633
+ [onSendMessage, attachments]
175634
+ );
175635
+ const {
175636
+ inputValue: newMessage,
175637
+ setInputValue: setNewMessage,
175638
+ handleKeyDown,
175639
+ handleSubmit: submitMessage,
175640
+ textareaRef
175641
+ } = useMessageInput({
175642
+ conversationId,
175643
+ onSubmit,
175644
+ scrollToBottom
175645
+ });
175646
+ reactExports.useImperativeHandle(ref, () => ({
175647
+ focusInput: () => {
175648
+ textareaRef.current?.focus();
175614
175649
  }
175615
- }
175616
- };
175617
- const handleRemoveAttachment = (index2) => {
175618
- setAttachments((prev2) => {
175619
- const newAttachments = [...prev2];
175620
- if (newAttachments[index2].startsWith("blob:")) {
175621
- URL.revokeObjectURL(newAttachments[index2]);
175650
+ }));
175651
+ const isInputDisabled = Boolean(isLoading && currentJobId);
175652
+ reactExports.useEffect(() => {
175653
+ if (!isInputDisabled) {
175654
+ const activeElement = document.activeElement;
175655
+ const isInputFocused = activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA");
175656
+ if (!isInputFocused) {
175657
+ textareaRef.current?.focus();
175658
+ }
175622
175659
  }
175623
- newAttachments.splice(index2, 1);
175624
- return newAttachments;
175625
- });
175626
- };
175627
- const triggerFileInput = () => {
175628
- fileInputRef.current?.click();
175629
- };
175630
- const handlePaste = (event) => {
175631
- const items = event.clipboardData?.items;
175632
- if (items) {
175633
- for (let i2 = 0; i2 < items.length; i2++) {
175634
- if (items[i2].type.indexOf("image") !== -1 || items[i2].kind === "file") {
175635
- const file = items[i2].getAsFile();
175636
- if (file) {
175637
- const reader = new FileReader();
175638
- reader.onload = (e3) => {
175639
- if (e3.target?.result) {
175640
- setAttachments((prev2) => [...prev2, e3.target?.result]);
175641
- }
175642
- };
175643
- reader.readAsDataURL(file);
175660
+ }, [isInputDisabled, textareaRef.current]);
175661
+ const handleSubmit = (e3) => {
175662
+ e3.preventDefault();
175663
+ if (!newMessage.trim() && attachments.length === 0) return;
175664
+ submitMessage();
175665
+ };
175666
+ const handleFileSelect = (e3) => {
175667
+ if (e3.target.files && e3.target.files.length > 0) {
175668
+ const newAttachments = Array.from(e3.target.files).map((file) => {
175669
+ const filePath = file.path;
175670
+ if (filePath) {
175671
+ return normalizePath(filePath);
175644
175672
  }
175673
+ return URL.createObjectURL(file);
175674
+ });
175675
+ setAttachments((prev2) => [...prev2, ...newAttachments]);
175676
+ if (fileInputRef.current) {
175677
+ fileInputRef.current.value = "";
175645
175678
  }
175646
175679
  }
175647
- }
175648
- };
175649
- const isInputDisabled = Boolean(isLoading && currentJobId);
175650
- const handleSuggestionClick = (suggestion) => {
175651
- if (isInputDisabled) return;
175652
- onSendMessage(suggestion, attachments);
175653
- setAttachments([]);
175654
- setNewMessage("");
175655
- };
175656
- const inputContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, style: { width: "100%" }, children: [
175657
- /* @__PURE__ */ jsxRuntimeExports.jsxs(InputInnerContainer, { children: [
175658
- attachments.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
175659
- AttachmentsPreview,
175660
- {
175661
- attachments,
175662
- onRemoveAttachment: handleRemoveAttachment,
175663
- disabled: isInputDisabled
175680
+ };
175681
+ const handleRemoveAttachment = (index2) => {
175682
+ setAttachments((prev2) => {
175683
+ const newAttachments = [...prev2];
175684
+ if (newAttachments[index2].startsWith("blob:")) {
175685
+ URL.revokeObjectURL(newAttachments[index2]);
175664
175686
  }
175665
- ),
175666
- /* @__PURE__ */ jsxRuntimeExports.jsx(
175667
- StyledTextField$2,
175668
- {
175669
- fullWidth: true,
175670
- placeholder: isInputDisabled ? "Agent is busy" : "Ask me for help",
175671
- value: newMessage,
175672
- onChange: (e3) => setNewMessage(e3.target.value),
175673
- onKeyDown: handleKeyDown,
175674
- onPaste: handlePaste,
175675
- multiline: true,
175676
- maxRows: 4,
175677
- variant: "outlined",
175678
- inputRef: textareaRef,
175679
- disabled: isInputDisabled,
175680
- inputProps: {
175681
- "data-tour-tag": "chat-input-textarea"
175687
+ newAttachments.splice(index2, 1);
175688
+ return newAttachments;
175689
+ });
175690
+ };
175691
+ const triggerFileInput = () => {
175692
+ fileInputRef.current?.click();
175693
+ };
175694
+ const handlePaste = (event) => {
175695
+ const items = event.clipboardData?.items;
175696
+ if (items) {
175697
+ for (let i2 = 0; i2 < items.length; i2++) {
175698
+ if (items[i2].type.indexOf("image") !== -1 || items[i2].kind === "file") {
175699
+ const file = items[i2].getAsFile();
175700
+ if (file) {
175701
+ const reader = new FileReader();
175702
+ reader.onload = (e3) => {
175703
+ if (e3.target?.result) {
175704
+ setAttachments((prev2) => [
175705
+ ...prev2,
175706
+ e3.target?.result
175707
+ ]);
175708
+ }
175709
+ };
175710
+ reader.readAsDataURL(file);
175711
+ }
175682
175712
  }
175683
175713
  }
175684
- ),
175685
- /* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonsRow, { children: [
175686
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
175687
- /* @__PURE__ */ jsxRuntimeExports.jsx(
175688
- "input",
175689
- {
175690
- type: "file",
175691
- ref: fileInputRef,
175692
- onChange: handleFileSelect,
175693
- style: { display: "none" },
175694
- disabled: isInputDisabled,
175695
- multiple: true
175696
- }
175697
- ),
175698
- /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Attach file", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175699
- AttachmentButton,
175700
- {
175701
- onClick: triggerFileInput,
175702
- color: "primary",
175703
- size: "small",
175704
- "aria-label": "Attach file",
175705
- "data-tour-tag": "chat-input-attach-file-button",
175706
- disabled: isInputDisabled,
175707
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperclip })
175708
- }
175709
- ) }) }),
175710
- conversationId && /* @__PURE__ */ jsxRuntimeExports.jsx(
175711
- DirectoryIndicator,
175712
- {
175713
- agentId: conversationId,
175714
- currentWorkingDirectory: agentData?.current_working_directory
175715
- }
175716
- )
175717
- ] }),
175718
- /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { display: "flex", alignItems: "center", gap: 1, children: isLoading && currentJobId ? (
175719
- // @ts-ignore Tooltip type issue
175720
- /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175721
- SendButton,
175722
- {
175723
- type: "button",
175724
- variant: "contained",
175725
- color: "error",
175726
- onClick: () => onCancelJob?.(currentJobId),
175727
- "aria-label": "Stop agent",
175728
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faStop })
175729
- }
175730
- ) }) })
175731
- ) : (
175732
- // @ts-ignore Tooltip type issue
175733
- /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175734
- SendButton,
175735
- {
175736
- type: "submit",
175737
- variant: "contained",
175738
- color: "primary",
175739
- disabled: isLoading || !newMessage.trim() && attachments.length === 0,
175740
- "aria-label": "Send message",
175741
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperPlane })
175742
- }
175743
- ) }) })
175744
- ) })
175745
- ] })
175746
- ] }),
175747
- messages.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SuggestionsContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175748
- Box,
175749
- {
175750
- sx: {
175751
- display: "flex",
175752
- flexWrap: "wrap",
175753
- gap: 1,
175754
- marginTop: 1.5,
175755
- justifyContent: "center"
175756
- },
175757
- children: suggestions.map((suggestion) => /* @__PURE__ */ jsxRuntimeExports.jsx(
175758
- SuggestionChip,
175714
+ }
175715
+ };
175716
+ const handleSuggestionClick = (suggestion) => {
175717
+ if (isInputDisabled) return;
175718
+ onSendMessage(suggestion, attachments);
175719
+ setAttachments([]);
175720
+ setNewMessage("");
175721
+ };
175722
+ const inputContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, style: { width: "100%" }, children: [
175723
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(InputInnerContainer, { children: [
175724
+ attachments.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
175725
+ AttachmentsPreview,
175726
+ {
175727
+ attachments,
175728
+ onRemoveAttachment: handleRemoveAttachment,
175729
+ disabled: isInputDisabled
175730
+ }
175731
+ ),
175732
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
175733
+ StyledTextField$2,
175759
175734
  {
175735
+ fullWidth: true,
175736
+ placeholder: isInputDisabled ? "Agent is busy" : "Ask me for help",
175737
+ value: newMessage,
175738
+ onChange: (e3) => setNewMessage(e3.target.value),
175739
+ onKeyDown: handleKeyDown,
175740
+ onPaste: handlePaste,
175741
+ multiline: true,
175742
+ maxRows: 4,
175760
175743
  variant: "outlined",
175761
- size: "small",
175762
- onClick: () => handleSuggestionClick(suggestion),
175744
+ inputRef: textareaRef,
175763
175745
  disabled: isInputDisabled,
175764
- children: suggestion
175746
+ inputProps: {
175747
+ "data-tour-tag": "chat-input-textarea"
175748
+ }
175749
+ }
175750
+ ),
175751
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonsRow, { children: [
175752
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
175753
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
175754
+ "input",
175755
+ {
175756
+ type: "file",
175757
+ ref: fileInputRef,
175758
+ onChange: handleFileSelect,
175759
+ style: { display: "none" },
175760
+ disabled: isInputDisabled,
175761
+ multiple: true
175762
+ }
175763
+ ),
175764
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Attach file", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175765
+ AttachmentButton,
175766
+ {
175767
+ onClick: triggerFileInput,
175768
+ color: "primary",
175769
+ size: "small",
175770
+ "aria-label": "Attach file",
175771
+ "data-tour-tag": "chat-input-attach-file-button",
175772
+ disabled: isInputDisabled,
175773
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperclip })
175774
+ }
175775
+ ) }) }),
175776
+ conversationId && /* @__PURE__ */ jsxRuntimeExports.jsx(
175777
+ DirectoryIndicator,
175778
+ {
175779
+ agentId: conversationId,
175780
+ currentWorkingDirectory: agentData?.current_working_directory
175781
+ }
175782
+ )
175783
+ ] }),
175784
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { display: "flex", alignItems: "center", gap: 1, children: isLoading && currentJobId ? (
175785
+ // @ts-ignore Tooltip type issue
175786
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175787
+ SendButton,
175788
+ {
175789
+ type: "button",
175790
+ variant: "contained",
175791
+ color: "error",
175792
+ onClick: () => onCancelJob?.(currentJobId),
175793
+ "aria-label": "Stop agent",
175794
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faStop })
175795
+ }
175796
+ ) }) })
175797
+ ) : (
175798
+ // @ts-ignore Tooltip type issue
175799
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175800
+ SendButton,
175801
+ {
175802
+ type: "submit",
175803
+ variant: "contained",
175804
+ color: "primary",
175805
+ disabled: isLoading || !newMessage.trim() && attachments.length === 0,
175806
+ "aria-label": "Send message",
175807
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperPlane })
175808
+ }
175809
+ ) }) })
175810
+ ) })
175811
+ ] })
175812
+ ] }),
175813
+ messages.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SuggestionsContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175814
+ Box,
175815
+ {
175816
+ sx: {
175817
+ display: "flex",
175818
+ flexWrap: "wrap",
175819
+ gap: 1,
175820
+ marginTop: 1.5,
175821
+ justifyContent: "center"
175765
175822
  },
175766
- suggestion
175767
- ))
175768
- }
175769
- ) })
175770
- ] });
175771
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(InputOuterContainer, { children: [
175772
- messages.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs(EmptyStateContainer$2, { children: [
175773
- /* @__PURE__ */ jsxRuntimeExports.jsx(EmptyStateTitle, { variant: "h6", children: "What can I help you with today?" }),
175774
- inputContent
175775
- ] }) : inputContent,
175776
- /* @__PURE__ */ jsxRuntimeExports.jsx(
175777
- ScrollToBottomButton,
175778
- {
175779
- visible: isFarFromBottom,
175780
- onClick: scrollToBottom
175781
- }
175782
- )
175783
- ] });
175784
- };
175823
+ children: suggestions.map((suggestion) => /* @__PURE__ */ jsxRuntimeExports.jsx(
175824
+ SuggestionChip,
175825
+ {
175826
+ variant: "outlined",
175827
+ size: "small",
175828
+ onClick: () => handleSuggestionClick(suggestion),
175829
+ disabled: isInputDisabled,
175830
+ children: suggestion
175831
+ },
175832
+ suggestion
175833
+ ))
175834
+ }
175835
+ ) })
175836
+ ] });
175837
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(InputOuterContainer, { children: [
175838
+ messages.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs(EmptyStateContainer$2, { children: [
175839
+ /* @__PURE__ */ jsxRuntimeExports.jsx(EmptyStateTitle, { variant: "h6", children: "What can I help you with today?" }),
175840
+ inputContent
175841
+ ] }) : inputContent,
175842
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
175843
+ ScrollToBottomButton,
175844
+ {
175845
+ visible: isFarFromBottom,
175846
+ onClick: scrollToBottom
175847
+ }
175848
+ )
175849
+ ] });
175850
+ }
175851
+ );
175852
+ MessageInput.displayName = "MessageInput";
175785
175853
  const RingLoadingIndicator = ({
175786
175854
  size = 30
175787
175855
  }) => {
@@ -216216,7 +216284,8 @@ const ChatContent = ({
216216
216284
  currentJobId,
216217
216285
  onCancelJob,
216218
216286
  agentData,
216219
- refetch
216287
+ refetch,
216288
+ messageInputRef
216220
216289
  }) => {
216221
216290
  const canvasContainerRef = reactExports.useRef(null);
216222
216291
  const canvasPanelWidth = useUiPreferencesStore((s2) => s2.canvasWidth);
@@ -216288,6 +216357,7 @@ const ChatContent = ({
216288
216357
  !(isLoadingMessages && messages.length === 0) && /* @__PURE__ */ jsxRuntimeExports.jsx(
216289
216358
  MessageInput,
216290
216359
  {
216360
+ ref: messageInputRef,
216291
216361
  onSendMessage,
216292
216362
  initialSuggestions: DEFAULT_MESSAGE_SUGGESTIONS,
216293
216363
  isLoading,
@@ -216612,7 +216682,7 @@ const ChatSidebar = ({
216612
216682
  onNavigateToAgentSettings
216613
216683
  }) => {
216614
216684
  const [searchQuery, setSearchQuery2] = reactExports.useState("");
216615
- const [isCreateDialogOpen, setIsCreateDialogOpen] = reactExports.useState(false);
216685
+ const { openCreateAgentDialog } = useUiPreferencesStore();
216616
216686
  const [isImportDialogOpen, setIsImportDialogOpen] = reactExports.useState(false);
216617
216687
  const perPage = 50;
216618
216688
  const [isUploadDialogOpen, setIsUploadDialogOpen] = reactExports.useState(false);
@@ -216662,12 +216732,6 @@ const ChatSidebar = ({
216662
216732
  },
216663
216733
  [onSelectConversation]
216664
216734
  );
216665
- const handleOpenCreateDialog = reactExports.useCallback(() => {
216666
- setIsCreateDialogOpen(true);
216667
- }, []);
216668
- const handleCloseCreateDialog = reactExports.useCallback(() => {
216669
- setIsCreateDialogOpen(false);
216670
- }, []);
216671
216735
  const handleOpenImportDialog = reactExports.useCallback(() => {
216672
216736
  setIsImportDialogOpen(true);
216673
216737
  }, []);
@@ -216782,7 +216846,7 @@ const ChatSidebar = ({
216782
216846
  title: "Agents",
216783
216847
  searchQuery,
216784
216848
  onSearchChange: (query) => setSearchQuery2(query),
216785
- onNewAgentClick: handleOpenCreateDialog,
216849
+ onNewAgentClick: openCreateAgentDialog,
216786
216850
  onImportAgentClick: handleOpenImportDialog,
216787
216851
  importAgentTooltip: "Import an agent from a ZIP file"
216788
216852
  }
@@ -216824,14 +216888,6 @@ const ChatSidebar = ({
216824
216888
  },
216825
216889
  agent.id
216826
216890
  )) }),
216827
- /* @__PURE__ */ jsxRuntimeExports.jsx(
216828
- CreateAgentDialog,
216829
- {
216830
- open: isCreateDialogOpen,
216831
- onClose: handleCloseCreateDialog,
216832
- onAgentCreated: handleAgentCreated
216833
- }
216834
- ),
216835
216891
  /* @__PURE__ */ jsxRuntimeExports.jsx(
216836
216892
  ImportAgentDialog,
216837
216893
  {
@@ -216929,6 +216985,7 @@ const PlaceholderView = ({
216929
216985
  };
216930
216986
  const ChatPage = () => {
216931
216987
  const didAutoScrollRef = React$1.useRef(false);
216988
+ const messageInputRef = reactExports.useRef(null);
216932
216989
  const { agentId, navigateToAgent } = useAgentRouteParam();
216933
216990
  const navigate = useNavigate();
216934
216991
  const queryClient2 = useQueryClient();
@@ -216981,6 +217038,7 @@ const ChatPage = () => {
216981
217038
  const messagesEndRef = reactExports.useRef(null);
216982
217039
  reactExports.useEffect(() => {
216983
217040
  if (agentId) {
217041
+ const previousAgentId = previousConversationIdRef.current;
216984
217042
  setLastChatAgentId(agentId);
216985
217043
  if (!isLoadingMessages && messages.length > 0) {
216986
217044
  const prevMessages = getMessages(agentId);
@@ -216988,6 +217046,11 @@ const ChatPage = () => {
216988
217046
  scrollToBottom();
216989
217047
  }
216990
217048
  }
217049
+ if (previousAgentId && previousAgentId !== agentId) {
217050
+ Promise.resolve().then(() => {
217051
+ messageInputRef.current?.focusInput();
217052
+ });
217053
+ }
216991
217054
  }
216992
217055
  }, [
216993
217056
  agentId,
@@ -217008,10 +217071,13 @@ const ChatPage = () => {
217008
217071
  if (!didAutoScrollRef.current && agentId && !isLoadingMessages && messages.length > 0) {
217009
217072
  if (messagesContainerRef.current) {
217010
217073
  messagesContainerRef.current.scrollTop = 0;
217011
- didAutoScrollRef.current = true;
217012
217074
  }
217075
+ Promise.resolve().then(() => {
217076
+ messageInputRef.current?.focusInput();
217077
+ });
217078
+ didAutoScrollRef.current = true;
217013
217079
  }
217014
- }, [agentId, isLoadingMessages, messages.length]);
217080
+ }, [agentId, isLoadingMessages, messages.length, scrollToBottom]);
217015
217081
  const previousConversationIdRef = reactExports.useRef(void 0);
217016
217082
  reactExports.useEffect(() => {
217017
217083
  if (conversationId) {
@@ -217220,7 +217286,8 @@ Store messages: ${JSON.stringify(getMessages(conversationId || ""), null, 2)}`;
217220
217286
  currentJobId,
217221
217287
  onCancelJob: handleCancelJob,
217222
217288
  agentData,
217223
- refetch
217289
+ refetch,
217290
+ messageInputRef
217224
217291
  }
217225
217292
  );
217226
217293
  };
@@ -217239,6 +217306,689 @@ Store messages: ${JSON.stringify(getMessages(conversationId || ""), null, 2)}`;
217239
217306
  }
217240
217307
  );
217241
217308
  };
217309
+ const getIconElement = (section) => {
217310
+ if (section.isImage && typeof section.icon === "string") {
217311
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
217312
+ "img",
217313
+ {
217314
+ src: section.icon,
217315
+ alt: section.label,
217316
+ style: { width: 20, height: 20, objectFit: "contain" }
217317
+ }
217318
+ );
217319
+ }
217320
+ if (section.isFontAwesome) {
217321
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
217322
+ FontAwesomeIcon,
217323
+ {
217324
+ icon: section.icon,
217325
+ size: "lg",
217326
+ style: { width: 16, height: 16 }
217327
+ }
217328
+ );
217329
+ }
217330
+ const IconComponent = section.icon;
217331
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(IconComponent, { size: 16 });
217332
+ };
217333
+ const RadientIcon = "" + new URL("radient-icon-1024x1024-D_JJedvo.png", import.meta.url).href;
217334
+ const SidebarContainer$1 = styled$1(Paper)(({ theme: theme2 }) => ({
217335
+ width: "100%",
217336
+ height: "100%",
217337
+ borderRadius: 0,
217338
+ backgroundColor: theme2.palette.sidebar.secondaryBackground,
217339
+ boxShadow: "none",
217340
+ display: "flex",
217341
+ flexDirection: "column",
217342
+ overflow: "hidden",
217343
+ borderRight: `1px solid ${theme2.palette.sidebar.border}`
217344
+ }));
217345
+ const SidebarHeader = styled$1(Box)(({ theme: theme2 }) => ({
217346
+ padding: theme2.spacing(3),
217347
+ borderBottom: `1px solid ${theme2.palette.sidebar.border}`
217348
+ }));
217349
+ const SidebarTitle = styled$1(Typography)(({ theme: theme2 }) => ({
217350
+ fontWeight: 600,
217351
+ fontSize: "1rem",
217352
+ color: theme2.palette.text.primary
217353
+ }));
217354
+ const SidebarList = styled$1(List$1)(({ theme: theme2 }) => ({
217355
+ padding: theme2.spacing(2),
217356
+ flexGrow: 1
217357
+ }));
217358
+ const SidebarItemButton = styled$1(ListItemButton, {
217359
+ shouldForwardProp: (prop) => prop !== "isActive"
217360
+ })(({ theme: theme2, isActive }) => ({
217361
+ borderRadius: 8,
217362
+ marginBottom: 4,
217363
+ paddingTop: 10,
217364
+ paddingBottom: 10,
217365
+ color: isActive ? theme2.palette.sidebar.itemActiveText : theme2.palette.sidebar.itemText,
217366
+ backgroundColor: isActive ? theme2.palette.sidebar.itemActive : "transparent",
217367
+ transition: "all 0.2s ease-out",
217368
+ position: "relative",
217369
+ overflow: "hidden",
217370
+ "&:hover": {
217371
+ backgroundColor: isActive ? theme2.palette.sidebar.itemActiveHover : theme2.palette.sidebar.itemHover,
217372
+ transform: "translateX(4px)"
217373
+ },
217374
+ ...isActive && {
217375
+ "&::before": {
217376
+ content: '""',
217377
+ position: "absolute",
217378
+ left: 0,
217379
+ top: "50%",
217380
+ transform: "translateY(-50%)",
217381
+ width: 4,
217382
+ height: "60%",
217383
+ backgroundColor: theme2.palette.sidebar.itemActiveText,
217384
+ borderRadius: "0 4px 4px 0"
217385
+ }
217386
+ }
217387
+ }));
217388
+ const SidebarItemIcon = styled$1(ListItemIcon, {
217389
+ shouldForwardProp: (prop) => prop !== "isActive"
217390
+ })(({ theme: theme2, isActive }) => ({
217391
+ minWidth: 40,
217392
+ color: isActive ? theme2.palette.sidebar.itemActiveText : theme2.palette.icon.text,
217393
+ transition: "transform 0.2s ease, color 0.2s ease",
217394
+ ...isActive && {
217395
+ transform: "scale(1.1)"
217396
+ }
217397
+ }));
217398
+ const IconImage$2 = styled$1("img")(() => ({
217399
+ width: 30,
217400
+ height: 30,
217401
+ marginLeft: -4,
217402
+ objectFit: "contain"
217403
+ }));
217404
+ const SettingsSidebar = ({
217405
+ activeSection,
217406
+ onSelectSection,
217407
+ sections
217408
+ }) => {
217409
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SidebarContainer$1, { elevation: 0, children: [
217410
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarTitle, { variant: "subtitle1", children: "Settings Navigation" }) }),
217411
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarList, { children: sections.map((section) => {
217412
+ let tourTag;
217413
+ switch (section.id) {
217414
+ case "general":
217415
+ tourTag = "settings-sidebar-general";
217416
+ break;
217417
+ case "radient":
217418
+ tourTag = "settings-sidebar-radient-account";
217419
+ break;
217420
+ case "integrations":
217421
+ tourTag = "settings-sidebar-integrations";
217422
+ break;
217423
+ case "appearance":
217424
+ tourTag = "settings-sidebar-appearance";
217425
+ break;
217426
+ case "credentials":
217427
+ tourTag = "settings-sidebar-api-credentials";
217428
+ break;
217429
+ case "updates":
217430
+ tourTag = "settings-sidebar-application-updates";
217431
+ break;
217432
+ default:
217433
+ tourTag = void 0;
217434
+ }
217435
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
217436
+ SidebarItemButton,
217437
+ {
217438
+ isActive: activeSection === section.id,
217439
+ onClick: () => onSelectSection(section.id),
217440
+ "data-tour-tag": tourTag,
217441
+ children: [
217442
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarItemIcon, { isActive: activeSection === section.id, children: section.isImage ? /* @__PURE__ */ jsxRuntimeExports.jsx(IconImage$2, { src: section.icon, alt: section.label }) : section.isFontAwesome ? /* @__PURE__ */ jsxRuntimeExports.jsx(
217443
+ FontAwesomeIcon,
217444
+ {
217445
+ icon: section.icon,
217446
+ style: { fontSize: 20 }
217447
+ }
217448
+ ) : (() => {
217449
+ const IconComponent = section.icon;
217450
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(IconComponent, { size: 22, strokeWidth: 2.1 });
217451
+ })() }),
217452
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217453
+ ListItemText,
217454
+ {
217455
+ primary: section.label,
217456
+ primaryTypographyProps: {
217457
+ fontWeight: activeSection === section.id ? 600 : 500,
217458
+ fontSize: "0.95rem"
217459
+ }
217460
+ }
217461
+ )
217462
+ ]
217463
+ },
217464
+ section.id
217465
+ );
217466
+ }) })
217467
+ ] });
217468
+ };
217469
+ const DEFAULT_SETTINGS_SECTIONS = [
217470
+ {
217471
+ id: "general",
217472
+ label: "General Settings",
217473
+ icon: Settings$1
217474
+ },
217475
+ {
217476
+ id: "radient",
217477
+ label: "Radient Account",
217478
+ icon: RadientIcon,
217479
+ isImage: true
217480
+ },
217481
+ {
217482
+ id: "integrations",
217483
+ label: "Integrations",
217484
+ icon: Puzzle
217485
+ },
217486
+ {
217487
+ id: "appearance",
217488
+ label: "Appearance",
217489
+ icon: Paintbrush
217490
+ },
217491
+ {
217492
+ id: "credentials",
217493
+ label: "API Credentials",
217494
+ icon: Key
217495
+ },
217496
+ {
217497
+ id: "updates",
217498
+ label: "Application Updates",
217499
+ icon: Download
217500
+ }
217501
+ ];
217502
+ function useDebounce(value, delay) {
217503
+ const [debouncedValue, setDebouncedValue] = reactExports.useState(value);
217504
+ reactExports.useEffect(() => {
217505
+ const handler = setTimeout(() => {
217506
+ setDebouncedValue(value);
217507
+ }, delay);
217508
+ return () => {
217509
+ clearTimeout(handler);
217510
+ };
217511
+ }, [value, delay]);
217512
+ return debouncedValue;
217513
+ }
217514
+ const StyledDialog$1 = styled$1(Dialog)(({ theme: theme2 }) => ({
217515
+ "& .MuiDialog-paper": {
217516
+ width: "600px",
217517
+ maxWidth: "90vw",
217518
+ borderRadius: theme2.shape.borderRadius * 2,
217519
+ backgroundColor: theme2.palette.background.default,
217520
+ backgroundImage: "none",
217521
+ boxShadow: theme2.shadows[8],
217522
+ border: `1px solid ${theme2.palette.divider}`
217523
+ }
217524
+ }));
217525
+ const SearchInputContainer = styled$1("div")(({ theme: theme2 }) => ({
217526
+ padding: theme2.spacing(2, 3),
217527
+ borderBottom: `1px solid ${theme2.palette.divider}`
217528
+ }));
217529
+ const ResultsListContainer = styled$1(List$1)(({ theme: theme2 }) => ({
217530
+ maxHeight: "400px",
217531
+ overflowY: "auto",
217532
+ padding: 0,
217533
+ // Custom scrollbar styles
217534
+ "&::-webkit-scrollbar": {
217535
+ width: "8px"
217536
+ },
217537
+ "&::-webkit-scrollbar-track": {
217538
+ background: "transparent"
217539
+ },
217540
+ "&::-webkit-scrollbar-thumb": {
217541
+ background: theme2.palette.mode === "dark" ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 0, 0, 0.2)",
217542
+ borderRadius: "4px",
217543
+ "&:hover": {
217544
+ background: theme2.palette.mode === "dark" ? "rgba(255, 255, 255, 0.3)" : "rgba(0, 0, 0, 0.3)"
217545
+ }
217546
+ },
217547
+ // Firefox scrollbar styles
217548
+ scrollbarWidth: "thin",
217549
+ scrollbarColor: theme2.palette.mode === "dark" ? "rgba(255, 255, 255, 0.2) transparent" : "rgba(0, 0, 0, 0.2) transparent"
217550
+ }));
217551
+ const ResultItemStyled = styled$1(ListItemButton)(({ theme: theme2 }) => ({
217552
+ padding: theme2.spacing(0.5, 2),
217553
+ borderRadius: 8,
217554
+ "&:hover": {
217555
+ backgroundColor: theme2.palette.action.hover
217556
+ }
217557
+ }));
217558
+ const ActionChip = styled$1(Chip)(() => ({
217559
+ fontSize: "0.7rem",
217560
+ height: "20px",
217561
+ marginLeft: "auto"
217562
+ }));
217563
+ const PAGE_DEFINITIONS = [
217564
+ {
217565
+ name: "Chat",
217566
+ path: "/chat",
217567
+ category: "Navigation",
217568
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(MessageSquare, { size: 16 })
217569
+ },
217570
+ {
217571
+ name: "My Agents",
217572
+ path: "/agents",
217573
+ category: "Navigation",
217574
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Users, { size: 16 })
217575
+ },
217576
+ {
217577
+ name: "Agent Hub",
217578
+ path: "/agent-hub",
217579
+ category: "Navigation",
217580
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Store, { size: 16 })
217581
+ },
217582
+ {
217583
+ name: "Schedules",
217584
+ path: "/schedules",
217585
+ category: "Navigation",
217586
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Calendar, { size: 16 })
217587
+ },
217588
+ {
217589
+ name: "Settings",
217590
+ path: "/settings",
217591
+ category: "Navigation",
217592
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Settings$1, { size: 16 })
217593
+ }
217594
+ ];
217595
+ const MAX_SUGGESTIONS = 15;
217596
+ const getActionLabel = (type2) => {
217597
+ switch (type2) {
217598
+ case "page":
217599
+ return "Navigate";
217600
+ case "agent-chat":
217601
+ return "Chat";
217602
+ case "agent-settings":
217603
+ return "Configure";
217604
+ case "settings-section":
217605
+ return "Configure";
217606
+ case "create-agent":
217607
+ return "Create";
217608
+ case "clear-conversation":
217609
+ return "Clear";
217610
+ case "toggle-canvas":
217611
+ return "Toggle";
217612
+ default:
217613
+ return "Open";
217614
+ }
217615
+ };
217616
+ const getActionColor = (type2) => {
217617
+ switch (type2) {
217618
+ case "page":
217619
+ return "primary";
217620
+ case "agent-chat":
217621
+ return "success";
217622
+ case "agent-settings":
217623
+ return "warning";
217624
+ case "settings-section":
217625
+ return "info";
217626
+ case "create-agent":
217627
+ return "success";
217628
+ case "clear-conversation":
217629
+ return "error";
217630
+ case "toggle-canvas":
217631
+ return "secondary";
217632
+ default:
217633
+ return "default";
217634
+ }
217635
+ };
217636
+ const CommandPalette = () => {
217637
+ const navigate = useNavigate();
217638
+ const location2 = useLocation();
217639
+ const {
217640
+ isCommandPaletteOpen,
217641
+ closeCommandPalette,
217642
+ commandPaletteQuery,
217643
+ setCommandPaletteQuery,
217644
+ isCanvasOpen,
217645
+ setCanvasOpen,
217646
+ isCreateAgentDialogOpen,
217647
+ // Use global state
217648
+ openCreateAgentDialog,
217649
+ // Use global action
217650
+ closeCreateAgentDialog
217651
+ // Use global action
217652
+ } = useUiPreferencesStore();
217653
+ const { agentId: currentAgentIdFromRoute } = useAgentRouteParam();
217654
+ const { getLastAgentId } = useAgentSelectionStore();
217655
+ const { data: agentsData } = useAgents(1, 20);
217656
+ const theme2 = useTheme$2();
217657
+ const clearConversationMutation = useClearAgentConversation();
217658
+ const [selectedIndex, setSelectedIndex] = reactExports.useState(0);
217659
+ const [localQuery, setLocalQuery] = reactExports.useState(commandPaletteQuery);
217660
+ const debouncedLocalQuery = useDebounce(localQuery, 200);
217661
+ const [isClearConfirmationOpen, setIsClearConfirmationOpen] = reactExports.useState(false);
217662
+ const effectiveAgentId = currentAgentIdFromRoute || getLastAgentId("chat");
217663
+ const isOnChatPage = location2.pathname.startsWith("/chat");
217664
+ reactExports.useEffect(() => {
217665
+ setCommandPaletteQuery(debouncedLocalQuery);
217666
+ }, [debouncedLocalQuery, setCommandPaletteQuery]);
217667
+ reactExports.useEffect(() => {
217668
+ if (isCommandPaletteOpen) {
217669
+ setLocalQuery(commandPaletteQuery);
217670
+ }
217671
+ }, [isCommandPaletteOpen, commandPaletteQuery]);
217672
+ const handleQueryChange = reactExports.useCallback(
217673
+ (event) => {
217674
+ setLocalQuery(event.target.value);
217675
+ },
217676
+ []
217677
+ );
217678
+ const handleClearSearch = reactExports.useCallback(() => {
217679
+ setLocalQuery("");
217680
+ }, []);
217681
+ const inputPropsStyle = reactExports.useMemo(() => ({ fontSize: "1rem" }), []);
217682
+ const startAdornment = reactExports.useMemo(
217683
+ () => /* @__PURE__ */ jsxRuntimeExports.jsx(InputAdornment, { position: "start", sx: { width: "28px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Search, { size: 16, color: theme2.palette.action.active }) }),
217684
+ [theme2.palette.action.active]
217685
+ );
217686
+ const endAdornment = reactExports.useMemo(
217687
+ () => localQuery ? /* @__PURE__ */ jsxRuntimeExports.jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
217688
+ IconButton,
217689
+ {
217690
+ "aria-label": "clear search",
217691
+ onClick: handleClearSearch,
217692
+ edge: "end",
217693
+ size: "small",
217694
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(X$2, { size: 16 })
217695
+ }
217696
+ ) }) : null,
217697
+ [localQuery, handleClearSearch]
217698
+ );
217699
+ const textFieldInputProps = reactExports.useMemo(
217700
+ () => ({
217701
+ startAdornment,
217702
+ endAdornment,
217703
+ disableUnderline: true,
217704
+ style: inputPropsStyle
217705
+ }),
217706
+ [startAdornment, endAdornment, inputPropsStyle]
217707
+ );
217708
+ const pages = reactExports.useMemo(() => {
217709
+ return PAGE_DEFINITIONS.map((p2, i2) => ({
217710
+ ...p2,
217711
+ id: `page-${i2}`,
217712
+ type: "page"
217713
+ }));
217714
+ }, []);
217715
+ const settingsSectionItems = reactExports.useMemo(() => {
217716
+ return DEFAULT_SETTINGS_SECTIONS.map((section) => ({
217717
+ id: `settings-section-${section.id}`,
217718
+ type: "settings-section",
217719
+ name: section.label,
217720
+ category: "Settings Section",
217721
+ path: `/settings?section=${section.id}`,
217722
+ icon: getIconElement(section)
217723
+ }));
217724
+ }, []);
217725
+ const handleCreateAgent = reactExports.useCallback(() => {
217726
+ closeCommandPalette();
217727
+ openCreateAgentDialog();
217728
+ }, [closeCommandPalette, openCreateAgentDialog]);
217729
+ const handleClearConversation = reactExports.useCallback(() => {
217730
+ if (effectiveAgentId) {
217731
+ setIsClearConfirmationOpen(true);
217732
+ }
217733
+ }, [effectiveAgentId]);
217734
+ const confirmActualClearConversation = reactExports.useCallback(() => {
217735
+ if (effectiveAgentId) {
217736
+ clearConversationMutation.mutate({ agentId: effectiveAgentId });
217737
+ }
217738
+ setIsClearConfirmationOpen(false);
217739
+ closeCommandPalette();
217740
+ }, [effectiveAgentId, clearConversationMutation, closeCommandPalette]);
217741
+ const cancelClearConversation = reactExports.useCallback(() => {
217742
+ setIsClearConfirmationOpen(false);
217743
+ }, []);
217744
+ const handleToggleCanvas = reactExports.useCallback(() => {
217745
+ setCanvasOpen(!isCanvasOpen);
217746
+ closeCommandPalette();
217747
+ }, [isCanvasOpen, setCanvasOpen, closeCommandPalette]);
217748
+ const handleAgentCreated = reactExports.useCallback(
217749
+ (agentId) => {
217750
+ navigate(`/chat/${agentId}`);
217751
+ closeCreateAgentDialog();
217752
+ },
217753
+ [navigate, closeCreateAgentDialog]
217754
+ );
217755
+ const actionItems = reactExports.useMemo(() => {
217756
+ const items = [];
217757
+ items.push({
217758
+ id: "create-agent",
217759
+ type: "create-agent",
217760
+ name: "Create Agent",
217761
+ category: "Actions",
217762
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus$1, { size: 16 }),
217763
+ action: handleCreateAgent
217764
+ });
217765
+ if (isOnChatPage && effectiveAgentId) {
217766
+ items.push({
217767
+ id: "clear-conversation",
217768
+ type: "clear-conversation",
217769
+ name: "Clear Conversation",
217770
+ category: "Actions",
217771
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { size: 16 }),
217772
+ action: handleClearConversation
217773
+ });
217774
+ }
217775
+ if (isOnChatPage) {
217776
+ items.push({
217777
+ id: "toggle-canvas",
217778
+ type: "toggle-canvas",
217779
+ name: isCanvasOpen ? "Close Canvas" : "Open Canvas",
217780
+ category: "Actions",
217781
+ icon: isCanvasOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(PanelRightClose, { size: 16 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(PanelRightOpen, { size: 16 }),
217782
+ action: handleToggleCanvas
217783
+ });
217784
+ }
217785
+ return items;
217786
+ }, [
217787
+ isOnChatPage,
217788
+ effectiveAgentId,
217789
+ isCanvasOpen,
217790
+ handleCreateAgent,
217791
+ handleClearConversation,
217792
+ handleToggleCanvas
217793
+ ]);
217794
+ const handleItemClick = reactExports.useCallback(
217795
+ (item) => {
217796
+ if (item.action) {
217797
+ item.action();
217798
+ } else if (item.path) {
217799
+ navigate(item.path);
217800
+ closeCommandPalette();
217801
+ }
217802
+ },
217803
+ [navigate, closeCommandPalette]
217804
+ );
217805
+ const allItems = reactExports.useMemo(() => {
217806
+ const agentItems = [];
217807
+ if (agentsData?.agents) {
217808
+ for (const agent of agentsData.agents) {
217809
+ agentItems.push({
217810
+ id: `agent-chat-${agent.id}`,
217811
+ type: "agent-chat",
217812
+ name: agent.name,
217813
+ category: "Agent",
217814
+ path: `/chat/${agent.id}`,
217815
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(MessageSquare, { size: 16 })
217816
+ });
217817
+ agentItems.push({
217818
+ id: `agent-settings-${agent.id}`,
217819
+ type: "agent-settings",
217820
+ name: agent.name,
217821
+ category: "Agent",
217822
+ path: `/agents/${agent.id}`,
217823
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Settings$1, { size: 16 })
217824
+ });
217825
+ }
217826
+ }
217827
+ return [...actionItems, ...pages, ...settingsSectionItems, ...agentItems];
217828
+ }, [agentsData, pages, settingsSectionItems, actionItems]);
217829
+ const filteredItems = reactExports.useMemo(() => {
217830
+ if (!debouncedLocalQuery) {
217831
+ return allItems.slice(0, MAX_SUGGESTIONS);
217832
+ }
217833
+ const lowerCaseQuery = debouncedLocalQuery.toLowerCase();
217834
+ const filtered = allItems.filter(
217835
+ (item) => item.name.toLowerCase().includes(lowerCaseQuery) || item.category.toLowerCase().includes(lowerCaseQuery)
217836
+ );
217837
+ return filtered.slice(0, MAX_SUGGESTIONS);
217838
+ }, [allItems, debouncedLocalQuery]);
217839
+ reactExports.useEffect(() => {
217840
+ setSelectedIndex(0);
217841
+ }, [filteredItems, isCommandPaletteOpen]);
217842
+ reactExports.useEffect(() => {
217843
+ const handleKeyDown = (event) => {
217844
+ if (!isCommandPaletteOpen) return;
217845
+ if (event.key === "ArrowDown") {
217846
+ event.preventDefault();
217847
+ setSelectedIndex((prev2) => (prev2 + 1) % filteredItems.length);
217848
+ } else if (event.key === "ArrowUp") {
217849
+ event.preventDefault();
217850
+ setSelectedIndex(
217851
+ (prev2) => (prev2 - 1 + filteredItems.length) % filteredItems.length
217852
+ );
217853
+ } else if (event.key === "Enter") {
217854
+ event.preventDefault();
217855
+ if (filteredItems[selectedIndex]) {
217856
+ handleItemClick(filteredItems[selectedIndex]);
217857
+ }
217858
+ } else if (event.key === "Escape") {
217859
+ closeCommandPalette();
217860
+ }
217861
+ };
217862
+ window.addEventListener("keydown", handleKeyDown);
217863
+ return () => {
217864
+ window.removeEventListener("keydown", handleKeyDown);
217865
+ };
217866
+ }, [
217867
+ isCommandPaletteOpen,
217868
+ filteredItems,
217869
+ selectedIndex,
217870
+ closeCommandPalette,
217871
+ handleItemClick
217872
+ ]);
217873
+ if (!isCommandPaletteOpen) {
217874
+ return null;
217875
+ }
217876
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
217877
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
217878
+ StyledDialog$1,
217879
+ {
217880
+ "data-tour-tag": "command-palette-dialog",
217881
+ open: isCommandPaletteOpen,
217882
+ onClose: closeCommandPalette,
217883
+ "aria-labelledby": "command-palette-dialog-title",
217884
+ fullWidth: true,
217885
+ disableRestoreFocus: true,
217886
+ children: [
217887
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SearchInputContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
217888
+ TextField,
217889
+ {
217890
+ autoFocus: true,
217891
+ fullWidth: true,
217892
+ variant: "standard",
217893
+ placeholder: "Search actions, agents, and pages",
217894
+ value: localQuery,
217895
+ onChange: handleQueryChange,
217896
+ InputProps: textFieldInputProps,
217897
+ autoComplete: "off"
217898
+ }
217899
+ ) }),
217900
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { sx: { padding: 0 }, children: [
217901
+ filteredItems.length === 0 && debouncedLocalQuery && /* @__PURE__ */ jsxRuntimeExports.jsx(
217902
+ Typography,
217903
+ {
217904
+ sx: { p: 3, textAlign: "center", color: "text.secondary" },
217905
+ children: "No results found."
217906
+ }
217907
+ ),
217908
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ResultsListContainer, { sx: { padding: 0.5 }, children: filteredItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
217909
+ ListItem,
217910
+ {
217911
+ disablePadding: true,
217912
+ dense: true,
217913
+ sx: { padding: 0.5 },
217914
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
217915
+ ResultItemStyled,
217916
+ {
217917
+ selected: selectedIndex === index2,
217918
+ onClick: () => handleItemClick(item),
217919
+ onMouseMove: () => setSelectedIndex(index2),
217920
+ children: [
217921
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217922
+ ListItemIcon,
217923
+ {
217924
+ sx: {
217925
+ minWidth: "20px",
217926
+ display: "flex",
217927
+ alignItems: "center",
217928
+ justifyContent: "center",
217929
+ mr: 1.5,
217930
+ color: "text.secondary"
217931
+ },
217932
+ children: item.icon || /* @__PURE__ */ jsxRuntimeExports.jsx(FileText, { size: 16 })
217933
+ }
217934
+ ),
217935
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217936
+ ListItemText,
217937
+ {
217938
+ primary: /* @__PURE__ */ jsxRuntimeExports.jsxs(
217939
+ Box,
217940
+ {
217941
+ sx: { display: "flex", alignItems: "center", gap: 1 },
217942
+ children: [
217943
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", children: item.name }),
217944
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "caption", color: "text.secondary", children: item.category })
217945
+ ]
217946
+ }
217947
+ )
217948
+ }
217949
+ ),
217950
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217951
+ ActionChip,
217952
+ {
217953
+ label: getActionLabel(item.type),
217954
+ size: "small",
217955
+ color: getActionColor(item.type),
217956
+ variant: "outlined"
217957
+ }
217958
+ )
217959
+ ]
217960
+ }
217961
+ )
217962
+ },
217963
+ item.id
217964
+ )) })
217965
+ ] })
217966
+ ]
217967
+ }
217968
+ ),
217969
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217970
+ CreateAgentDialog,
217971
+ {
217972
+ open: isCreateAgentDialogOpen,
217973
+ onClose: closeCreateAgentDialog,
217974
+ onAgentCreated: handleAgentCreated
217975
+ }
217976
+ ),
217977
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
217978
+ ConfirmationModal,
217979
+ {
217980
+ open: isClearConfirmationOpen,
217981
+ title: "Clear Conversation",
217982
+ message: "Are you sure you want to clear this conversation? This action cannot be undone and all messages will be permanently deleted.",
217983
+ confirmText: "Clear",
217984
+ cancelText: "Cancel",
217985
+ isDangerous: true,
217986
+ onConfirm: confirmActualClearConversation,
217987
+ onCancel: cancelClearConversation
217988
+ }
217989
+ )
217990
+ ] });
217991
+ };
217242
217992
  const StyledDialog = styled$1(Dialog)(({ theme: theme2 }) => ({
217243
217993
  "& .MuiBackdrop-root": {
217244
217994
  background: "linear-gradient(135deg, rgba(40,40,40,1), rgba(15,15,15,0.95), rgba(5,5,5,1), rgba(56,201,106,0.15))",
@@ -218507,7 +219257,6 @@ const ModelCredentialStep = () => {
218507
219257
  ] })
218508
219258
  ] });
218509
219259
  };
218510
- const RadientIcon = "" + new URL("radient-icon-1024x1024-D_JJedvo.png", import.meta.url).href;
218511
219260
  const ChoiceCard = styled$1(Box)(({ theme: theme2 }) => ({
218512
219261
  display: "flex",
218513
219262
  flexDirection: "column",
@@ -223140,7 +223889,44 @@ const tourSteps = [
223140
223889
  text: "Next",
223141
223890
  classes: "shepherd-button-primary",
223142
223891
  action: function() {
223143
- this.next();
223892
+ const { openCommandPalette } = useUiPreferencesStore.getState();
223893
+ openCommandPalette();
223894
+ setTimeout(() => {
223895
+ this.next();
223896
+ }, 500);
223897
+ }
223898
+ }
223899
+ ]
223900
+ },
223901
+ {
223902
+ id: "pre-command-palette-open-canvas",
223903
+ title: "Command Palette",
223904
+ attachTo: {
223905
+ element: '[data-tour-tag="command-palette-dialog"]',
223906
+ on: "right"
223907
+ },
223908
+ text: "Let's quickly look at another powerful feature: the Command Palette. You can open it anywhere in the app by pressing <code>Cmd+K</code> on Mac and <code>Ctrl+K</code> on Windows or Linux. This is a helpful window that you can open from anywhere in the app to be able to access agents, settings, pages, and much more using your keyboard. It can often be faster to access sections in the app this way instead of clicking through menus. You can type an agent's name to find the chat for that agent, and then hit Enter to open it.",
223909
+ buttons: [
223910
+ {
223911
+ text: "Back",
223912
+ classes: "shepherd-button-secondary",
223913
+ action: function() {
223914
+ const { closeCommandPalette } = useUiPreferencesStore.getState();
223915
+ closeCommandPalette();
223916
+ setTimeout(() => {
223917
+ this.back();
223918
+ }, 500);
223919
+ }
223920
+ },
223921
+ {
223922
+ text: "Next",
223923
+ classes: "shepherd-button-primary",
223924
+ action: function() {
223925
+ const { closeCommandPalette } = useUiPreferencesStore.getState();
223926
+ closeCommandPalette();
223927
+ setTimeout(() => {
223928
+ this.next();
223929
+ }, 500);
223144
223930
  }
223145
223931
  }
223146
223932
  ]
@@ -223158,7 +223944,11 @@ const tourSteps = [
223158
223944
  text: "Back",
223159
223945
  classes: "shepherd-button-secondary",
223160
223946
  action: function() {
223161
- this.back();
223947
+ const { openCommandPalette } = useUiPreferencesStore.getState();
223948
+ openCommandPalette();
223949
+ setTimeout(() => {
223950
+ this.back();
223951
+ }, 500);
223162
223952
  }
223163
223953
  },
223164
223954
  {
@@ -224255,6 +225045,9 @@ const useOnboardingTour = () => {
224255
225045
  ...defaultStepOptions
224256
225046
  };
224257
225047
  tourInstance.options.useModalOverlay = useModalOverlay;
225048
+ if (options?.firstAgentId) {
225049
+ tourInstance.options.firstAgentId = options.firstAgentId;
225050
+ }
224258
225051
  tourInstance.off("complete", completeTourOnboarding);
224259
225052
  tourInstance.on("complete", completeTourOnboarding);
224260
225053
  tourInstance.off("cancel", completeTourOnboarding);
@@ -224288,15 +225081,23 @@ const TourInitiator = () => {
224288
225081
  const { isModalComplete, isTourComplete } = useOnboardingStore();
224289
225082
  const { startTour: initiateTourFromHook } = useOnboardingTour();
224290
225083
  const shepherdContext = React$1.useContext(Jt);
225084
+ const { data: agentsData } = useAgents(1, 1);
224291
225085
  reactExports.useEffect(() => {
224292
225086
  if (isModalComplete && !isTourComplete && shepherdContext) {
224293
225087
  const timer2 = setTimeout(() => {
224294
- initiateTourFromHook();
225088
+ const firstAgentId = agentsData?.agents?.[0]?.id;
225089
+ initiateTourFromHook({ firstAgentId });
224295
225090
  }, 500);
224296
225091
  return () => clearTimeout(timer2);
224297
225092
  }
224298
225093
  return void 0;
224299
- }, [isModalComplete, isTourComplete, shepherdContext, initiateTourFromHook]);
225094
+ }, [
225095
+ isModalComplete,
225096
+ isTourComplete,
225097
+ shepherdContext,
225098
+ initiateTourFromHook,
225099
+ agentsData
225100
+ ]);
224300
225101
  return null;
224301
225102
  };
224302
225103
  const OnboardingProvider = ({
@@ -260031,174 +260832,6 @@ const RadientAccountSection = ({
260031
260832
  )
260032
260833
  ] });
260033
260834
  };
260034
- const SidebarContainer$1 = styled$1(Paper)(({ theme: theme2 }) => ({
260035
- width: "100%",
260036
- height: "100%",
260037
- borderRadius: 0,
260038
- backgroundColor: theme2.palette.sidebar.secondaryBackground,
260039
- boxShadow: "none",
260040
- display: "flex",
260041
- flexDirection: "column",
260042
- overflow: "hidden",
260043
- borderRight: `1px solid ${theme2.palette.sidebar.border}`
260044
- }));
260045
- const SidebarHeader = styled$1(Box)(({ theme: theme2 }) => ({
260046
- padding: theme2.spacing(3),
260047
- borderBottom: `1px solid ${theme2.palette.sidebar.border}`
260048
- }));
260049
- const SidebarTitle = styled$1(Typography)(({ theme: theme2 }) => ({
260050
- fontWeight: 600,
260051
- fontSize: "1rem",
260052
- color: theme2.palette.text.primary
260053
- }));
260054
- const SidebarList = styled$1(List$1)(({ theme: theme2 }) => ({
260055
- padding: theme2.spacing(2),
260056
- flexGrow: 1
260057
- }));
260058
- const SidebarItemButton = styled$1(ListItemButton, {
260059
- shouldForwardProp: (prop) => prop !== "isActive"
260060
- })(({ theme: theme2, isActive }) => ({
260061
- borderRadius: 8,
260062
- marginBottom: 4,
260063
- paddingTop: 10,
260064
- paddingBottom: 10,
260065
- color: isActive ? theme2.palette.sidebar.itemActiveText : theme2.palette.sidebar.itemText,
260066
- backgroundColor: isActive ? theme2.palette.sidebar.itemActive : "transparent",
260067
- transition: "all 0.2s ease-out",
260068
- position: "relative",
260069
- overflow: "hidden",
260070
- "&:hover": {
260071
- backgroundColor: isActive ? theme2.palette.sidebar.itemActiveHover : theme2.palette.sidebar.itemHover,
260072
- transform: "translateX(4px)"
260073
- },
260074
- ...isActive && {
260075
- "&::before": {
260076
- content: '""',
260077
- position: "absolute",
260078
- left: 0,
260079
- top: "50%",
260080
- transform: "translateY(-50%)",
260081
- width: 4,
260082
- height: "60%",
260083
- backgroundColor: theme2.palette.sidebar.itemActiveText,
260084
- borderRadius: "0 4px 4px 0"
260085
- }
260086
- }
260087
- }));
260088
- const SidebarItemIcon = styled$1(ListItemIcon, {
260089
- shouldForwardProp: (prop) => prop !== "isActive"
260090
- })(({ theme: theme2, isActive }) => ({
260091
- minWidth: 40,
260092
- color: isActive ? theme2.palette.sidebar.itemActiveText : theme2.palette.icon.text,
260093
- transition: "transform 0.2s ease, color 0.2s ease",
260094
- ...isActive && {
260095
- transform: "scale(1.1)"
260096
- }
260097
- }));
260098
- const IconImage$2 = styled$1("img")(() => ({
260099
- width: 30,
260100
- height: 30,
260101
- marginLeft: -4,
260102
- objectFit: "contain"
260103
- }));
260104
- const SettingsSidebar = ({
260105
- activeSection,
260106
- onSelectSection,
260107
- sections
260108
- }) => {
260109
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(SidebarContainer$1, { elevation: 0, children: [
260110
- /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarTitle, { variant: "subtitle1", children: "Settings Navigation" }) }),
260111
- /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarList, { children: sections.map((section) => {
260112
- let tourTag;
260113
- switch (section.id) {
260114
- case "general":
260115
- tourTag = "settings-sidebar-general";
260116
- break;
260117
- case "radient":
260118
- tourTag = "settings-sidebar-radient-account";
260119
- break;
260120
- case "integrations":
260121
- tourTag = "settings-sidebar-integrations";
260122
- break;
260123
- case "appearance":
260124
- tourTag = "settings-sidebar-appearance";
260125
- break;
260126
- case "credentials":
260127
- tourTag = "settings-sidebar-api-credentials";
260128
- break;
260129
- case "updates":
260130
- tourTag = "settings-sidebar-application-updates";
260131
- break;
260132
- default:
260133
- tourTag = void 0;
260134
- }
260135
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
260136
- SidebarItemButton,
260137
- {
260138
- isActive: activeSection === section.id,
260139
- onClick: () => onSelectSection(section.id),
260140
- "data-tour-tag": tourTag,
260141
- children: [
260142
- /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarItemIcon, { isActive: activeSection === section.id, children: section.isImage ? /* @__PURE__ */ jsxRuntimeExports.jsx(IconImage$2, { src: section.icon, alt: section.label }) : section.isFontAwesome ? /* @__PURE__ */ jsxRuntimeExports.jsx(
260143
- FontAwesomeIcon,
260144
- {
260145
- icon: section.icon,
260146
- style: { fontSize: 20 }
260147
- }
260148
- ) : (() => {
260149
- const IconComponent = section.icon;
260150
- return /* @__PURE__ */ jsxRuntimeExports.jsx(IconComponent, { size: 22, strokeWidth: 2.1 });
260151
- })() }),
260152
- /* @__PURE__ */ jsxRuntimeExports.jsx(
260153
- ListItemText,
260154
- {
260155
- primary: section.label,
260156
- primaryTypographyProps: {
260157
- fontWeight: activeSection === section.id ? 600 : 500,
260158
- fontSize: "0.95rem"
260159
- }
260160
- }
260161
- )
260162
- ]
260163
- },
260164
- section.id
260165
- );
260166
- }) })
260167
- ] });
260168
- };
260169
- const DEFAULT_SETTINGS_SECTIONS = [
260170
- {
260171
- id: "general",
260172
- label: "General Settings",
260173
- icon: Settings$1
260174
- },
260175
- {
260176
- id: "radient",
260177
- label: "Radient Account",
260178
- icon: RadientIcon,
260179
- isImage: true
260180
- },
260181
- {
260182
- id: "integrations",
260183
- label: "Integrations",
260184
- icon: Puzzle
260185
- },
260186
- {
260187
- id: "appearance",
260188
- label: "Appearance",
260189
- icon: Paintbrush
260190
- },
260191
- {
260192
- id: "credentials",
260193
- label: "API Credentials",
260194
- icon: Key
260195
- },
260196
- {
260197
- id: "updates",
260198
- label: "Application Updates",
260199
- icon: Download
260200
- }
260201
- ];
260202
260835
  const StyledTextField = styled$1(TextField)(({ theme: theme2 }) => ({
260203
260836
  width: "100%",
260204
260837
  "& .MuiInputBase-root": {
@@ -261547,6 +262180,7 @@ const SettingsPage = () => {
261547
262180
  const [isScrolling, setIsScrolling] = reactExports.useState(false);
261548
262181
  const scrollTimeoutRef = reactExports.useRef(null);
261549
262182
  const { startTour: startOnboardingTour } = useOnboardingTour();
262183
+ const location2 = useLocation();
261550
262184
  const theme2 = useTheme$2();
261551
262185
  const { data: credentialsData, refetch: refetchCredentials } = useCredentials();
261552
262186
  const { refreshModels } = useModels();
@@ -261579,31 +262213,36 @@ const SettingsPage = () => {
261579
262213
  credentials: reactExports.useRef(null),
261580
262214
  updates: reactExports.useRef(null)
261581
262215
  }).current;
261582
- const handleSelectSection = (sectionId) => {
261583
- setActiveSection(sectionId);
261584
- setIsScrolling(true);
261585
- const ref = sectionRefs[sectionId];
261586
- const contentContainer = document.querySelector("[data-settings-content]");
261587
- if (ref?.current && contentContainer) {
261588
- const containerRect = contentContainer.getBoundingClientRect();
261589
- const elementRect = ref.current.getBoundingClientRect();
261590
- const scrollTop = elementRect.top - containerRect.top + contentContainer.scrollTop;
261591
- contentContainer.scrollTo({
261592
- top: scrollTop - 80,
261593
- // Adjust offset as needed (e.g., header height + padding)
261594
- behavior: "smooth"
261595
- });
261596
- if (scrollTimeoutRef.current) {
261597
- clearTimeout(scrollTimeoutRef.current);
261598
- }
261599
- scrollTimeoutRef.current = setTimeout(() => {
262216
+ const handleSelectSection = reactExports.useCallback(
262217
+ (sectionId) => {
262218
+ setActiveSection(sectionId);
262219
+ setIsScrolling(true);
262220
+ const ref = sectionRefs[sectionId];
262221
+ const contentContainer = document.querySelector(
262222
+ "[data-settings-content]"
262223
+ );
262224
+ if (ref?.current && contentContainer) {
262225
+ const containerRect = contentContainer.getBoundingClientRect();
262226
+ const elementRect = ref.current.getBoundingClientRect();
262227
+ const scrollTop = elementRect.top - containerRect.top + contentContainer.scrollTop;
262228
+ contentContainer.scrollTo({
262229
+ top: scrollTop - 80,
262230
+ // Adjust offset as needed (e.g., header height + padding)
262231
+ behavior: "smooth"
262232
+ });
262233
+ if (scrollTimeoutRef.current) {
262234
+ clearTimeout(scrollTimeoutRef.current);
262235
+ }
262236
+ scrollTimeoutRef.current = setTimeout(() => {
262237
+ setIsScrolling(false);
262238
+ scrollTimeoutRef.current = null;
262239
+ }, 600);
262240
+ } else {
261600
262241
  setIsScrolling(false);
261601
- scrollTimeoutRef.current = null;
261602
- }, 600);
261603
- } else {
261604
- setIsScrolling(false);
261605
- }
261606
- };
262242
+ }
262243
+ },
262244
+ [sectionRefs]
262245
+ );
261607
262246
  reactExports.useEffect(() => {
261608
262247
  const contentContainer = document.querySelector("[data-settings-content]");
261609
262248
  if (!contentContainer) return void 0;
@@ -261634,6 +262273,17 @@ const SettingsPage = () => {
261634
262273
  }
261635
262274
  };
261636
262275
  }, [sectionRefs, activeSection, isScrolling]);
262276
+ reactExports.useEffect(() => {
262277
+ const queryParams = new URLSearchParams(location2.search);
262278
+ const sectionFromQuery = queryParams.get("section");
262279
+ if (sectionFromQuery && sectionRefs[sectionFromQuery]) {
262280
+ const timer2 = setTimeout(() => {
262281
+ handleSelectSection(sectionFromQuery);
262282
+ }, 100);
262283
+ return () => clearTimeout(timer2);
262284
+ }
262285
+ return void 0;
262286
+ }, [location2.search, sectionRefs, handleSelectSection]);
261637
262287
  const handleUpdateField = async (field, value) => {
261638
262288
  setSavingField(field);
261639
262289
  try {
@@ -262538,7 +263188,7 @@ const SidebarNavigation = () => {
262538
263188
  const expanded = !isSidebarCollapsed;
262539
263189
  const navItems = [
262540
263190
  {
262541
- icon: MessageCircle,
263191
+ icon: MessageSquare,
262542
263192
  label: "Chat",
262543
263193
  path: "/chat",
262544
263194
  isActive: currentView === "chat",
@@ -262759,10 +263409,38 @@ const App = () => {
262759
263409
  openRadientConsole,
262760
263410
  onLowCreditsDialogClose
262761
263411
  } = useLowCreditsDialog();
263412
+ const {
263413
+ toggleCommandPalette,
263414
+ isCommandPaletteOpen,
263415
+ isCreateAgentDialogOpen,
263416
+ // Get dialog state from store
263417
+ closeCreateAgentDialog
263418
+ // Get close action from store
263419
+ } = useUiPreferencesStore();
263420
+ const navigate = useNavigate();
263421
+ const handleAgentCreated = (agentId) => {
263422
+ navigate(`/chat/${agentId}`);
263423
+ closeCreateAgentDialog();
263424
+ };
263425
+ reactExports.useEffect(() => {
263426
+ const handleToggleCommandPalette = () => {
263427
+ toggleCommandPalette();
263428
+ };
263429
+ const unsubscribe = window.electron.ipcRenderer.on(
263430
+ "toggle-command-palette",
263431
+ handleToggleCommandPalette
263432
+ );
263433
+ return () => {
263434
+ if (unsubscribe) {
263435
+ unsubscribe();
263436
+ }
263437
+ };
263438
+ }, [toggleCommandPalette]);
262762
263439
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(OnboardingProvider, { children: [
262763
263440
  /* @__PURE__ */ jsxRuntimeExports.jsx(OnboardingTourGlobalStyles, {}),
262764
263441
  /* @__PURE__ */ jsxRuntimeExports.jsxs(AppContainer, { children: [
262765
263442
  /* @__PURE__ */ jsxRuntimeExports.jsx(CssBaseline, {}),
263443
+ isCommandPaletteOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(CommandPalette, {}),
262766
263444
  /* @__PURE__ */ jsxRuntimeExports.jsx(ModelsInitializer, {}),
262767
263445
  /* @__PURE__ */ jsxRuntimeExports.jsx(OnboardingModal, { open: isOnboardingActive }),
262768
263446
  /* @__PURE__ */ jsxRuntimeExports.jsx(ConnectivityBanner, {}),
@@ -262775,6 +263453,14 @@ const App = () => {
262775
263453
  onGoToConsole: openRadientConsole
262776
263454
  }
262777
263455
  ),
263456
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
263457
+ CreateAgentDialog,
263458
+ {
263459
+ open: isCreateAgentDialogOpen,
263460
+ onClose: closeCreateAgentDialog,
263461
+ onAgentCreated: handleAgentCreated
263462
+ }
263463
+ ),
262778
263464
  /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarNavigation, {}),
262779
263465
  /* @__PURE__ */ jsxRuntimeExports.jsx(MainContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Routes, { children: [
262780
263466
  /* @__PURE__ */ jsxRuntimeExports.jsx(Route, { path: "/", element: /* @__PURE__ */ jsxRuntimeExports.jsx(Navigate, { to: "/chat", replace: true }) }),