local-operator-ui 0.12.3 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/main/index.jsc +0 -0
- package/out/preload/index.jsc +0 -0
- package/out/renderer/assets/{_basePickBy-D_lB49Nw.js → _basePickBy-D-mTy0T7.js} +2 -2
- package/out/renderer/assets/{_baseUniq-DVHyzMWx.js → _baseUniq-CVF81xU9.js} +1 -1
- package/out/renderer/assets/{arc-Cz0FYAxj.js → arc-BcZxubla.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-C4ktN37D.js → architectureDiagram-IEHRJDOE-0JBfW8n9.js} +7 -7
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-CU6r8dcw.js → blockDiagram-JOT3LUYC-DIjqxpHX.js} +5 -5
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-f9fZ76vg.js → c4Diagram-VJAJSXHY-B8ZTZ0n8.js} +2 -2
- package/out/renderer/assets/{channel-DDua3gpf.js → channel-BQBOXiqs.js} +1 -1
- package/out/renderer/assets/chat-input-CU-CA7Se.png +0 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-BImCYdva.js → chunk-4BMEZGHF-BCTXK4C0.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-Duouqy8R.js → chunk-A2AXSNBT-Dt4gXQBd.js} +2 -2
- package/out/renderer/assets/{chunk-AEK57VVT-ug6WkgVp.js → chunk-AEK57VVT-CAAj-J2-.js} +2 -2
- package/out/renderer/assets/{chunk-D6G4REZN-B4s3i2fv.js → chunk-D6G4REZN-_hQRwF7v.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-BtZxEqZj.js → chunk-RZ5BOZE2-Vl3-h4SG.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-mUnOuu-C.js → chunk-XZIHB7SX-C61iNqnQ.js} +1 -1
- package/out/renderer/assets/{classDiagram-GIVACNV2-BSvSEfYr.js → classDiagram-GIVACNV2-CNcNWb-o.js} +3 -3
- package/out/renderer/assets/{classDiagram-v2-COTLJTTW-BSvSEfYr.js → classDiagram-v2-COTLJTTW-CNcNWb-o.js} +3 -3
- package/out/renderer/assets/{clone-DwRww_yE.js → clone-D4Ah0_EU.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-BT5Skj91.js → dagre-OKDRZEBW-DZOFGtWs.js} +6 -6
- package/out/renderer/assets/{diagram-SSKATNLV-CARCGGp8.js → diagram-SSKATNLV-DGVbLzJc.js} +6 -6
- package/out/renderer/assets/{diagram-VNBRO52H-DYNE5bP-.js → diagram-VNBRO52H-DUz0a2Uz.js} +6 -6
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-CbXbwJWU.js → erDiagram-Q7BY3M3F-CfYzgE98.js} +3 -3
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-DCXlt-VL.js → flowDiagram-4HSFHLVR-tRJWBVYd.js} +3 -3
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-ByRCNFDO.js → ganttDiagram-APWFNJXF-BWG5VLyZ.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-05jpnuDv.js → gitGraphDiagram-7IBYFJ6S-Cd11pFbi.js} +7 -7
- package/out/renderer/assets/{graph-D872quDZ.js → graph-P5xyWsnt.js} +2 -2
- package/out/renderer/assets/{index-kCiyjU-8.js → index-B4xrtp2Z.js} +1 -1
- package/out/renderer/assets/{index-gGvrtoJX.js → index-C4NwO8de.js} +248 -249
- package/out/renderer/assets/{index-Bz9i7Cd8.js → index-CtrEBFNz.js} +1 -1
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-BpYJVAYI.js → infoDiagram-PH2N3AL5-KjJg15gx.js} +5 -5
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-CX7f5NLJ.js → journeyDiagram-U35MCT3I-Dp2FVK6h.js} +3 -3
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-b906EDwu.js → kanban-definition-NDS4AKOZ-cttuutf_.js} +1 -1
- package/out/renderer/assets/{layout-e8Y1M0Nl.js → layout-Bep2Ed3s.js} +4 -4
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-BiKEPoOD.js → mindmap-definition-ALO5MXBD-DiLxGufv.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-DaslafX0.js → pieDiagram-IB7DONF6-C7Crt4gw.js} +7 -7
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DSgptiHP.js → quadrantDiagram-7GDLP6J5-BMbHGD_6.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-DDcxEZev.js → radar-MK3ICKWK-BIBBEO8S.js} +4 -4
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-DK6InPeo.js → requirementDiagram-KVF5MWMF-BumPivJk.js} +2 -2
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-DZTaN53O.js → sankeyDiagram-QLVOVGJD-D1LzUzj2.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BDt_f_hQ.js → sequenceDiagram-X6HHIX6F-CwnYTtil.js} +3 -3
- package/out/renderer/assets/{stateDiagram-DGXRK772-vXoCogWI.js → stateDiagram-DGXRK772-4yXBR_vP.js} +7 -7
- package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-OXX9BIpM.js → stateDiagram-v2-YXO3MK2T-6p7BdIAB.js} +3 -3
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-Br6iVGoQ.js → timeline-definition-BDJGKUSR-CCdgMyc-.js} +2 -2
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-BpNk-8_j.js → xychartDiagram-VJFVF3MP-DD0agc1N.js} +1 -1
- package/out/renderer/index.html +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CtrEBFNz.js","./fonts-DqkQ6BY5.js","./fonts-CM-VN_uu.css","./index-B4xrtp2Z.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-DZOFGtWs.js","./graph-P5xyWsnt.js","./_baseUniq-CVF81xU9.js","./layout-Bep2Ed3s.js","./_basePickBy-D-mTy0T7.js","./clone-D4Ah0_EU.js","./c4Diagram-VJAJSXHY-B8ZTZ0n8.js","./chunk-D6G4REZN-_hQRwF7v.js","./flowDiagram-4HSFHLVR-tRJWBVYd.js","./chunk-RZ5BOZE2-Vl3-h4SG.js","./channel-BQBOXiqs.js","./erDiagram-Q7BY3M3F-CfYzgE98.js","./gitGraphDiagram-7IBYFJ6S-Cd11pFbi.js","./chunk-4BMEZGHF-BCTXK4C0.js","./chunk-XZIHB7SX-C61iNqnQ.js","./radar-MK3ICKWK-BIBBEO8S.js","./ganttDiagram-APWFNJXF-BWG5VLyZ.js","./infoDiagram-PH2N3AL5-KjJg15gx.js","./pieDiagram-IB7DONF6-C7Crt4gw.js","./arc-BcZxubla.js","./quadrantDiagram-7GDLP6J5-BMbHGD_6.js","./xychartDiagram-VJFVF3MP-DD0agc1N.js","./requirementDiagram-KVF5MWMF-BumPivJk.js","./sequenceDiagram-X6HHIX6F-CwnYTtil.js","./classDiagram-GIVACNV2-CNcNWb-o.js","./chunk-A2AXSNBT-Dt4gXQBd.js","./classDiagram-v2-COTLJTTW-CNcNWb-o.js","./stateDiagram-DGXRK772-4yXBR_vP.js","./chunk-AEK57VVT-CAAj-J2-.js","./stateDiagram-v2-YXO3MK2T-6p7BdIAB.js","./journeyDiagram-U35MCT3I-Dp2FVK6h.js","./timeline-definition-BDJGKUSR-CCdgMyc-.js","./mindmap-definition-ALO5MXBD-DiLxGufv.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-cttuutf_.js","./sankeyDiagram-QLVOVGJD-D1LzUzj2.js","./diagram-VNBRO52H-DUz0a2Uz.js","./diagram-SSKATNLV-DGVbLzJc.js","./blockDiagram-JOT3LUYC-DIjqxpHX.js","./architectureDiagram-IEHRJDOE-0JBfW8n9.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$1, 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 faHome, aL as faDownload, aM as faFileAlt, aN as faDesktop, aO as faImage, aP as faMusic, aQ as faVideo, aR as faLaptop, aS as faUsers, aT as faDatabase, aU as faBoxOpen, aV as faBook, aW as faHdd, aX as faBox, aY as faArchive, aZ as faNetworkWired, a_ as faFolder, a$ as faFolderOpen, b0 as faFolderTree, b1 as faFile, b2 as faCode, b3 as faSliders, b4 as faTrash, b5 as faArrowDown, b6 as faPaperclip, b7 as faPaperPlane, 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 faMountain, by as faFire, bz as faIcicles, bA as faBolt, bB as faAdjust, bC as faWaveSquare, bD as faUser, bE as faEnvelope, bF as faHistory, bG as faListAlt, bH as faCreditCard, bI as faPlusCircle, bJ as faChartLine, bK as faShield, bL as library$1, bM as icons$1, f as CssBaseline, e as ThemeProvider$1, d as getTheme, R as ReactDOM$1, E as ErrorBoundary } from "./fonts-DqkQ6BY5.js";
|
|
3
3
|
const styled = createStyled();
|
|
4
4
|
function getThemeProps(params) {
|
|
@@ -89889,7 +89889,7 @@ const languages = [
|
|
|
89889
89889
|
name: "Go",
|
|
89890
89890
|
extensions: ["go"],
|
|
89891
89891
|
load() {
|
|
89892
|
-
return __vitePreload(() => import("./index-
|
|
89892
|
+
return __vitePreload(() => import("./index-CtrEBFNz.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
|
|
89893
89893
|
}
|
|
89894
89894
|
}),
|
|
89895
89895
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -90066,7 +90066,7 @@ const languages = [
|
|
|
90066
90066
|
alias: ["yml"],
|
|
90067
90067
|
extensions: ["yaml", "yml"],
|
|
90068
90068
|
load() {
|
|
90069
|
-
return __vitePreload(() => import("./index-
|
|
90069
|
+
return __vitePreload(() => import("./index-B4xrtp2Z.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
|
|
90070
90070
|
}
|
|
90071
90071
|
}),
|
|
90072
90072
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -129102,7 +129102,7 @@ const ReviewHeader = styled$1(Box)(({ theme: theme2 }) => ({
|
|
|
129102
129102
|
justifyContent: "space-between",
|
|
129103
129103
|
padding: theme2.spacing(0.5, 2, 1, 1),
|
|
129104
129104
|
gap: theme2.spacing(1),
|
|
129105
|
-
|
|
129105
|
+
minHeight: "64px"
|
|
129106
129106
|
}));
|
|
129107
129107
|
const ReviewPrompt = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
129108
129108
|
flexGrow: 1,
|
|
@@ -129135,7 +129135,6 @@ const InlineEdit = ({
|
|
|
129135
129135
|
const mediaRecorderRef = reactExports.useRef(null);
|
|
129136
129136
|
const audioChunksRef = reactExports.useRef([]);
|
|
129137
129137
|
const [platform, setPlatform] = reactExports.useState("");
|
|
129138
|
-
const fileInputRef = reactExports.useRef(null);
|
|
129139
129138
|
const textareaRef = reactExports.useRef(null);
|
|
129140
129139
|
const isCancelledRef = reactExports.useRef(false);
|
|
129141
129140
|
const containerRef = reactExports.useRef(null);
|
|
@@ -129343,22 +129342,18 @@ const InlineEdit = ({
|
|
|
129343
129342
|
!isLoading && !isRecording && !isTranscribing && canEnableRecordingFeature
|
|
129344
129343
|
)
|
|
129345
129344
|
);
|
|
129346
|
-
const
|
|
129347
|
-
|
|
129348
|
-
|
|
129349
|
-
|
|
129350
|
-
|
|
129351
|
-
const newAttachments = Array.from(e3.target.files).map((file) => {
|
|
129352
|
-
const filePath2 = file.name;
|
|
129353
|
-
if (filePath2) {
|
|
129354
|
-
return normalizePath(filePath2);
|
|
129355
|
-
}
|
|
129356
|
-
return URL.createObjectURL(file);
|
|
129357
|
-
});
|
|
129358
|
-
setAttachments((prev2) => [...prev2, ...newAttachments]);
|
|
129359
|
-
if (fileInputRef.current) {
|
|
129360
|
-
fileInputRef.current.value = "";
|
|
129345
|
+
const handleAttachFile = async () => {
|
|
129346
|
+
const result = await window.electron.ipcRenderer.invoke(
|
|
129347
|
+
"show-open-dialog",
|
|
129348
|
+
{
|
|
129349
|
+
properties: ["openFile", "multiSelections"]
|
|
129361
129350
|
}
|
|
129351
|
+
);
|
|
129352
|
+
if (!result.canceled && result.filePaths.length > 0) {
|
|
129353
|
+
const newAttachments = result.filePaths.map(
|
|
129354
|
+
(path2) => normalizePath(path2)
|
|
129355
|
+
);
|
|
129356
|
+
setAttachments((prev2) => [...prev2, ...newAttachments]);
|
|
129362
129357
|
}
|
|
129363
129358
|
};
|
|
129364
129359
|
const handleRemoveAttachment = (index2) => {
|
|
@@ -129575,27 +129570,14 @@ const InlineEdit = ({
|
|
|
129575
129570
|
}
|
|
129576
129571
|
),
|
|
129577
129572
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonsRow$1, { children: [
|
|
129578
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
129579
|
-
|
|
129580
|
-
|
|
129581
|
-
|
|
129582
|
-
|
|
129583
|
-
|
|
129584
|
-
|
|
129585
|
-
|
|
129586
|
-
disabled: isLoading || isRecording || isTranscribing,
|
|
129587
|
-
multiple: true
|
|
129588
|
-
}
|
|
129589
|
-
),
|
|
129590
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Add attachments", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
129591
|
-
AttachmentButton$1,
|
|
129592
|
-
{
|
|
129593
|
-
onClick: triggerFileInput,
|
|
129594
|
-
disabled: isLoading || isRecording || isTranscribing || !!reviewState,
|
|
129595
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Paperclip, { size: iconSize })
|
|
129596
|
-
}
|
|
129597
|
-
) })
|
|
129598
|
-
] }),
|
|
129573
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { display: "flex", alignItems: "center", gap: 1, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Add attachments", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
129574
|
+
AttachmentButton$1,
|
|
129575
|
+
{
|
|
129576
|
+
onClick: handleAttachFile,
|
|
129577
|
+
disabled: isLoading || isRecording || isTranscribing || !!reviewState,
|
|
129578
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Paperclip, { size: iconSize })
|
|
129579
|
+
}
|
|
129580
|
+
) }) }),
|
|
129599
129581
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
|
|
129600
129582
|
!isRecording && !isTranscribing && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
129601
129583
|
Tooltip$1,
|
|
@@ -227631,7 +227613,7 @@ const InsertImageDialog = ({
|
|
|
227631
227613
|
onInsert
|
|
227632
227614
|
}) => {
|
|
227633
227615
|
const theme2 = useTheme$2();
|
|
227634
|
-
const [
|
|
227616
|
+
const [path2, setPath] = reactExports.useState("");
|
|
227635
227617
|
const handleFile = reactExports.useCallback(
|
|
227636
227618
|
(file) => {
|
|
227637
227619
|
const reader = new FileReader();
|
|
@@ -227666,18 +227648,18 @@ const InsertImageDialog = ({
|
|
|
227666
227648
|
handleFile(file);
|
|
227667
227649
|
}
|
|
227668
227650
|
};
|
|
227669
|
-
const
|
|
227670
|
-
if (
|
|
227671
|
-
onInsert(
|
|
227651
|
+
const handleInsertFromPath = () => {
|
|
227652
|
+
if (path2) {
|
|
227653
|
+
onInsert(path2);
|
|
227672
227654
|
onClose();
|
|
227673
|
-
|
|
227655
|
+
setPath("");
|
|
227674
227656
|
}
|
|
227675
227657
|
};
|
|
227676
227658
|
const handleKeyDown = (e3) => {
|
|
227677
227659
|
if (e3.key === "Enter") {
|
|
227678
227660
|
e3.preventDefault();
|
|
227679
|
-
if (
|
|
227680
|
-
|
|
227661
|
+
if (path2.trim()) {
|
|
227662
|
+
handleInsertFromPath();
|
|
227681
227663
|
}
|
|
227682
227664
|
}
|
|
227683
227665
|
};
|
|
@@ -227713,7 +227695,7 @@ const InsertImageDialog = ({
|
|
|
227713
227695
|
fullWidth: true,
|
|
227714
227696
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { pt: 2 }, children: [
|
|
227715
227697
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(FieldContainer$1, { children: [
|
|
227716
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel$7, { children: "Image
|
|
227698
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel$7, { children: "Image Path on Device" }),
|
|
227717
227699
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
|
|
227718
227700
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
227719
227701
|
StyledTextField$4,
|
|
@@ -227721,24 +227703,24 @@ const InsertImageDialog = ({
|
|
|
227721
227703
|
autoFocus: true,
|
|
227722
227704
|
fullWidth: true,
|
|
227723
227705
|
variant: "outlined",
|
|
227724
|
-
type: "
|
|
227725
|
-
placeholder: "
|
|
227726
|
-
value:
|
|
227727
|
-
onChange: (e3) =>
|
|
227706
|
+
type: "text",
|
|
227707
|
+
placeholder: "/Users/eren/Documents/image.png",
|
|
227708
|
+
value: path2,
|
|
227709
|
+
onChange: (e3) => setPath(e3.target.value),
|
|
227728
227710
|
onKeyDown: handleKeyDown,
|
|
227729
227711
|
InputProps: {
|
|
227730
|
-
startAdornment: /* @__PURE__ */ jsxRuntimeExports.jsx(InputAdornment, { position: "start", sx: { paddingLeft: 1 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
227712
|
+
startAdornment: /* @__PURE__ */ jsxRuntimeExports.jsx(InputAdornment, { position: "start", sx: { paddingLeft: 1 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(File$1, { size: 16 }) })
|
|
227731
227713
|
}
|
|
227732
227714
|
}
|
|
227733
227715
|
),
|
|
227734
227716
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
227735
227717
|
Button,
|
|
227736
227718
|
{
|
|
227737
|
-
onClick:
|
|
227719
|
+
onClick: handleInsertFromPath,
|
|
227738
227720
|
variant: "contained",
|
|
227739
227721
|
color: "primary",
|
|
227740
227722
|
size: "small",
|
|
227741
|
-
disabled: !
|
|
227723
|
+
disabled: !path2.trim(),
|
|
227742
227724
|
sx: {
|
|
227743
227725
|
textTransform: "none",
|
|
227744
227726
|
fontSize: "0.8125rem",
|
|
@@ -228251,7 +228233,8 @@ const EditorContainer = styled$1(Paper)(({ theme: theme2 }) => ({
|
|
|
228251
228233
|
width: "100%",
|
|
228252
228234
|
overflow: "hidden",
|
|
228253
228235
|
backgroundColor: theme2.palette.background.paper,
|
|
228254
|
-
|
|
228236
|
+
borderRadius: "0px",
|
|
228237
|
+
border: "none"
|
|
228255
228238
|
}));
|
|
228256
228239
|
const EditorToolbar = styled$1(Toolbar)(({ theme: theme2 }) => ({
|
|
228257
228240
|
minHeight: "48px !important",
|
|
@@ -228942,15 +228925,27 @@ const WysiwygMarkdownEditorComponent = ({
|
|
|
228942
228925
|
[executeCommand, handleContentChange]
|
|
228943
228926
|
);
|
|
228944
228927
|
const insertImage = reactExports.useCallback(() => {
|
|
228928
|
+
const selection2 = window.getSelection();
|
|
228929
|
+
if (selection2?.rangeCount) {
|
|
228930
|
+
selectionRef.current = selection2.getRangeAt(0).cloneRange();
|
|
228931
|
+
}
|
|
228945
228932
|
setIsImageDialogOpen(true);
|
|
228946
228933
|
}, []);
|
|
228947
228934
|
const handleInsertImage = reactExports.useCallback(
|
|
228948
228935
|
(url) => {
|
|
228936
|
+
editorRef.current?.focus();
|
|
228937
|
+
const selection2 = window.getSelection();
|
|
228938
|
+
if (!selection2) return;
|
|
228939
|
+
if (selectionRef.current) {
|
|
228940
|
+
selection2.removeAllRanges();
|
|
228941
|
+
selection2.addRange(selectionRef.current);
|
|
228942
|
+
}
|
|
228949
228943
|
if (url) {
|
|
228950
228944
|
executeCommand("insertImage", url);
|
|
228951
228945
|
}
|
|
228946
|
+
handleContentChange();
|
|
228952
228947
|
},
|
|
228953
|
-
[executeCommand]
|
|
228948
|
+
[executeCommand, handleContentChange]
|
|
228954
228949
|
);
|
|
228955
228950
|
const insertTable = reactExports.useCallback((event) => {
|
|
228956
228951
|
const selection2 = window.getSelection();
|
|
@@ -232387,6 +232382,8 @@ const ChatHeader = ({
|
|
|
232387
232382
|
}) => {
|
|
232388
232383
|
const setCanvasOpen = useUiPreferencesStore((s2) => s2.setCanvasOpen);
|
|
232389
232384
|
const isCanvasOpen = useUiPreferencesStore((s2) => s2.isCanvasOpen);
|
|
232385
|
+
const isMac = navigator.platform.toUpperCase().indexOf("MAC") >= 0;
|
|
232386
|
+
const shortcut = isMac ? "⌘+Shift+C" : "Ctrl+Shift+C";
|
|
232390
232387
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
232391
232388
|
Box,
|
|
232392
232389
|
{
|
|
@@ -232445,7 +232442,7 @@ const ChatHeader = ({
|
|
|
232445
232442
|
}
|
|
232446
232443
|
)
|
|
232447
232444
|
] }),
|
|
232448
|
-
onOpenOptions && !isCanvasOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title:
|
|
232445
|
+
onOpenOptions && !isCanvasOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: `Open Canvas (${shortcut})`, arrow: true, placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
232449
232446
|
OptionsButton,
|
|
232450
232447
|
{
|
|
232451
232448
|
onClick: () => setCanvasOpen(true),
|
|
@@ -233445,7 +233442,6 @@ const MessageInput = reactExports.forwardRef(
|
|
|
233445
233442
|
const mediaRecorderRef = reactExports.useRef(null);
|
|
233446
233443
|
const audioChunksRef = reactExports.useRef([]);
|
|
233447
233444
|
const [platform, setPlatform] = reactExports.useState("");
|
|
233448
|
-
const fileInputRef = reactExports.useRef(null);
|
|
233449
233445
|
const { data: credentialsData, isLoading: isLoadingCredentials } = useCredentials();
|
|
233450
233446
|
const isRadientApiKeyConfigured = reactExports.useMemo(
|
|
233451
233447
|
() => credentialsData?.keys?.includes("RADIENT_API_KEY"),
|
|
@@ -233647,32 +233643,28 @@ ${message2}`;
|
|
|
233647
233643
|
if (!newMessage.trim() && attachments.length === 0) return;
|
|
233648
233644
|
submitMessage();
|
|
233649
233645
|
};
|
|
233650
|
-
const handleFileSelect = (e3) => {
|
|
233651
|
-
if (e3.target.files && e3.target.files.length > 0) {
|
|
233652
|
-
const newAttachments = Array.from(e3.target.files).map((file) => {
|
|
233653
|
-
const filePath = file.name;
|
|
233654
|
-
if (filePath) {
|
|
233655
|
-
return normalizePath(filePath);
|
|
233656
|
-
}
|
|
233657
|
-
return URL.createObjectURL(file);
|
|
233658
|
-
});
|
|
233659
|
-
if (conversationId) {
|
|
233660
|
-
for (const path2 of newAttachments) {
|
|
233661
|
-
addAttachment(conversationId, { id: v4(), path: path2 });
|
|
233662
|
-
}
|
|
233663
|
-
}
|
|
233664
|
-
if (fileInputRef.current) {
|
|
233665
|
-
fileInputRef.current.value = "";
|
|
233666
|
-
}
|
|
233667
|
-
}
|
|
233668
|
-
};
|
|
233669
233646
|
const handleRemoveAttachment = (id27) => {
|
|
233670
233647
|
if (conversationId) {
|
|
233671
233648
|
removeAttachment(conversationId, id27);
|
|
233672
233649
|
}
|
|
233673
233650
|
};
|
|
233674
|
-
const
|
|
233675
|
-
|
|
233651
|
+
const handleAttachFile = async () => {
|
|
233652
|
+
const result = await window.electron.ipcRenderer.invoke(
|
|
233653
|
+
"show-open-dialog",
|
|
233654
|
+
{
|
|
233655
|
+
properties: ["openFile", "multiSelections"]
|
|
233656
|
+
}
|
|
233657
|
+
);
|
|
233658
|
+
if (!result.canceled && result.filePaths.length > 0) {
|
|
233659
|
+
if (conversationId) {
|
|
233660
|
+
for (const path2 of result.filePaths) {
|
|
233661
|
+
addAttachment(conversationId, {
|
|
233662
|
+
id: v4(),
|
|
233663
|
+
path: normalizePath(path2)
|
|
233664
|
+
});
|
|
233665
|
+
}
|
|
233666
|
+
}
|
|
233667
|
+
}
|
|
233676
233668
|
};
|
|
233677
233669
|
const handlePaste = (event) => {
|
|
233678
233670
|
const items = event.clipboardData?.items;
|
|
@@ -233720,157 +233712,150 @@ ${message2}`;
|
|
|
233720
233712
|
};
|
|
233721
233713
|
const iconSize = isSmallView ? 16 : 18;
|
|
233722
233714
|
const inputContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, style: { width: "100%" }, children: [
|
|
233723
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
233724
|
-
|
|
233725
|
-
|
|
233726
|
-
|
|
233727
|
-
|
|
233728
|
-
|
|
233729
|
-
|
|
233730
|
-
|
|
233731
|
-
|
|
233732
|
-
),
|
|
233733
|
-
isRecording ? /* @__PURE__ */ jsxRuntimeExports.jsx(AudioRecordingIndicator, { isRecording }) : isTranscribing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(TranscriptionIndicator, { children: [
|
|
233734
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TranscriptionText, { variant: "body2", children: "Processing audio" }),
|
|
233735
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(WaveformAnimation, {})
|
|
233736
|
-
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233737
|
-
StyledTextField$2,
|
|
233738
|
-
{
|
|
233739
|
-
fullWidth: true,
|
|
233740
|
-
placeholder: isInputDisabled ? "Agent is busy" : "Ask me for help",
|
|
233741
|
-
isSmallView,
|
|
233742
|
-
value: newMessage,
|
|
233743
|
-
onChange: (e3) => setNewMessage(e3.target.value),
|
|
233744
|
-
onKeyDown: handleKeyDown,
|
|
233745
|
-
onPaste: handlePaste,
|
|
233746
|
-
multiline: true,
|
|
233747
|
-
maxRows: 4,
|
|
233748
|
-
variant: "outlined",
|
|
233749
|
-
inputRef: textareaRef,
|
|
233750
|
-
disabled: isInputDisabled,
|
|
233751
|
-
inputProps: {
|
|
233752
|
-
"data-tour-tag": "chat-input-textarea"
|
|
233753
|
-
}
|
|
233754
|
-
}
|
|
233755
|
-
),
|
|
233756
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonsRow, { children: [
|
|
233757
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
|
|
233758
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233759
|
-
"input",
|
|
233715
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
233716
|
+
InputInnerContainer,
|
|
233717
|
+
{
|
|
233718
|
+
isSmallView,
|
|
233719
|
+
"data-tour-tag": "chat-input-textarea",
|
|
233720
|
+
children: [
|
|
233721
|
+
replies.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ReplyPreview, { replies, onRemoveReply: handleRemoveReply }),
|
|
233722
|
+
attachments.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233723
|
+
AttachmentsPreview,
|
|
233760
233724
|
{
|
|
233761
|
-
|
|
233762
|
-
|
|
233763
|
-
|
|
233764
|
-
style: { display: "none" },
|
|
233765
|
-
disabled: isInputDisabled || isRecording || isTranscribing,
|
|
233766
|
-
multiple: true
|
|
233725
|
+
attachments: attachments.map((a2) => a2.path),
|
|
233726
|
+
onRemoveAttachment: (index2) => handleRemoveAttachment(attachments[index2].id),
|
|
233727
|
+
disabled: isInputDisabled || isRecording || isTranscribing
|
|
233767
233728
|
}
|
|
233768
233729
|
),
|
|
233769
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233770
|
-
|
|
233730
|
+
isRecording ? /* @__PURE__ */ jsxRuntimeExports.jsx(AudioRecordingIndicator, { isRecording }) : isTranscribing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(TranscriptionIndicator, { children: [
|
|
233731
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TranscriptionText, { variant: "body2", children: "Processing audio" }),
|
|
233732
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(WaveformAnimation, {})
|
|
233733
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233734
|
+
StyledTextField$2,
|
|
233771
233735
|
{
|
|
233772
|
-
|
|
233773
|
-
|
|
233774
|
-
size: "small",
|
|
233775
|
-
"aria-label": "Attach file",
|
|
233776
|
-
"data-tour-tag": "chat-input-attach-file-button",
|
|
233777
|
-
disabled: isInputDisabled || isRecording || isTranscribing,
|
|
233736
|
+
fullWidth: true,
|
|
233737
|
+
placeholder: isInputDisabled ? "Agent is busy" : "Ask me for help",
|
|
233778
233738
|
isSmallView,
|
|
233779
|
-
|
|
233780
|
-
|
|
233781
|
-
|
|
233782
|
-
|
|
233783
|
-
|
|
233784
|
-
|
|
233785
|
-
|
|
233786
|
-
|
|
233739
|
+
value: newMessage,
|
|
233740
|
+
onChange: (e3) => setNewMessage(e3.target.value),
|
|
233741
|
+
onKeyDown: handleKeyDown,
|
|
233742
|
+
onPaste: handlePaste,
|
|
233743
|
+
multiline: true,
|
|
233744
|
+
maxRows: 4,
|
|
233745
|
+
variant: "outlined",
|
|
233746
|
+
inputRef: textareaRef,
|
|
233747
|
+
disabled: isInputDisabled
|
|
233787
233748
|
}
|
|
233788
|
-
)
|
|
233789
|
-
|
|
233790
|
-
|
|
233791
|
-
|
|
233792
|
-
|
|
233793
|
-
{
|
|
233794
|
-
title: !canEnableRecordingFeature ? "Sign in to Radient in the settings page to enable audio recording" : `Start recording (${shortcutText} or hold Space)`,
|
|
233795
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233796
|
-
IconButton,
|
|
233749
|
+
),
|
|
233750
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonsRow, { children: [
|
|
233751
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
|
|
233752
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Attach file", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233753
|
+
AttachmentButton,
|
|
233797
233754
|
{
|
|
233798
|
-
onClick:
|
|
233755
|
+
onClick: handleAttachFile,
|
|
233799
233756
|
color: "primary",
|
|
233800
233757
|
size: "small",
|
|
233801
|
-
"aria-label": "
|
|
233802
|
-
|
|
233803
|
-
|
|
233804
|
-
|
|
233758
|
+
"aria-label": "Attach file",
|
|
233759
|
+
"data-tour-tag": "chat-input-attach-file-button",
|
|
233760
|
+
disabled: isInputDisabled || isRecording || isTranscribing,
|
|
233761
|
+
isSmallView,
|
|
233762
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperclip, fontSize: iconSize })
|
|
233763
|
+
}
|
|
233764
|
+
) }) }),
|
|
233765
|
+
conversationId && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233766
|
+
DirectoryIndicator,
|
|
233767
|
+
{
|
|
233768
|
+
agentId: conversationId,
|
|
233769
|
+
currentWorkingDirectory: agentData?.current_working_directory
|
|
233770
|
+
}
|
|
233771
|
+
)
|
|
233772
|
+
] }),
|
|
233773
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
|
|
233774
|
+
!isRecording && !isTranscribing && !(isLoading && currentJobId) && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233775
|
+
Tooltip$1,
|
|
233776
|
+
{
|
|
233777
|
+
title: !canEnableRecordingFeature ? "Sign in to Radient in the settings page to enable audio recording" : `Start recording (${shortcutText} or hold Space)`,
|
|
233778
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233779
|
+
IconButton,
|
|
233805
233780
|
{
|
|
233806
|
-
|
|
233807
|
-
|
|
233808
|
-
|
|
233809
|
-
|
|
233810
|
-
|
|
233811
|
-
|
|
233781
|
+
onClick: handleStartRecording,
|
|
233782
|
+
color: "primary",
|
|
233783
|
+
size: "small",
|
|
233784
|
+
"aria-label": "Start recording",
|
|
233785
|
+
disabled: isLoading || !canEnableRecordingFeature,
|
|
233786
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233787
|
+
Mic,
|
|
233788
|
+
{
|
|
233789
|
+
size: iconSize * 1.1,
|
|
233790
|
+
style: {
|
|
233791
|
+
width: iconSize * 1.4,
|
|
233792
|
+
height: iconSize * 1.4,
|
|
233793
|
+
padding: "2px"
|
|
233794
|
+
}
|
|
233795
|
+
}
|
|
233796
|
+
)
|
|
233812
233797
|
}
|
|
233813
|
-
)
|
|
233798
|
+
) })
|
|
233814
233799
|
}
|
|
233815
|
-
)
|
|
233816
|
-
|
|
233817
|
-
|
|
233818
|
-
|
|
233819
|
-
|
|
233820
|
-
|
|
233821
|
-
|
|
233822
|
-
|
|
233823
|
-
|
|
233824
|
-
|
|
233825
|
-
|
|
233826
|
-
|
|
233827
|
-
|
|
233828
|
-
|
|
233829
|
-
|
|
233830
|
-
|
|
233831
|
-
|
|
233832
|
-
|
|
233833
|
-
|
|
233834
|
-
|
|
233835
|
-
|
|
233836
|
-
|
|
233837
|
-
|
|
233838
|
-
|
|
233839
|
-
}
|
|
233840
|
-
|
|
233841
|
-
|
|
233842
|
-
isLoading && currentJobId ? /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233843
|
-
SendButton,
|
|
233844
|
-
{
|
|
233845
|
-
type: "button",
|
|
233846
|
-
variant: "contained",
|
|
233847
|
-
color: "error",
|
|
233848
|
-
onClick: () => onCancelJob?.(currentJobId),
|
|
233849
|
-
"aria-label": "Stop agent",
|
|
233850
|
-
isSmallView,
|
|
233851
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Square, { size: iconSize })
|
|
233852
|
-
}
|
|
233853
|
-
) }) }) : !isRecording && !isTranscribing && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233854
|
-
SendButton,
|
|
233855
|
-
{
|
|
233856
|
-
type: "submit",
|
|
233857
|
-
variant: "contained",
|
|
233858
|
-
color: "primary",
|
|
233859
|
-
disabled: isLoading || !newMessage.trim() && attachments.length === 0,
|
|
233860
|
-
"aria-label": "Send message",
|
|
233861
|
-
isSmallView,
|
|
233862
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233863
|
-
FontAwesomeIcon,
|
|
233800
|
+
),
|
|
233801
|
+
isRecording && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
233802
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Confirm recording (Enter)", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233803
|
+
IconButton,
|
|
233804
|
+
{
|
|
233805
|
+
onClick: handleConfirmRecording,
|
|
233806
|
+
color: "success",
|
|
233807
|
+
size: "small",
|
|
233808
|
+
"aria-label": "Confirm recording",
|
|
233809
|
+
disabled: isLoading,
|
|
233810
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { size: iconSize })
|
|
233811
|
+
}
|
|
233812
|
+
) }) }),
|
|
233813
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Cancel recording (Esc)", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233814
|
+
IconButton,
|
|
233815
|
+
{
|
|
233816
|
+
onClick: handleCancelRecording,
|
|
233817
|
+
color: "error",
|
|
233818
|
+
size: "small",
|
|
233819
|
+
"aria-label": "Cancel recording",
|
|
233820
|
+
disabled: isLoading,
|
|
233821
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X$2, { size: iconSize })
|
|
233822
|
+
}
|
|
233823
|
+
) }) })
|
|
233824
|
+
] }),
|
|
233825
|
+
isLoading && currentJobId ? /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233826
|
+
SendButton,
|
|
233864
233827
|
{
|
|
233865
|
-
|
|
233866
|
-
|
|
233828
|
+
type: "button",
|
|
233829
|
+
variant: "contained",
|
|
233830
|
+
color: "error",
|
|
233831
|
+
onClick: () => onCancelJob?.(currentJobId),
|
|
233832
|
+
"aria-label": "Stop agent",
|
|
233833
|
+
isSmallView,
|
|
233834
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Square, { size: iconSize })
|
|
233867
233835
|
}
|
|
233868
|
-
)
|
|
233869
|
-
|
|
233870
|
-
|
|
233871
|
-
|
|
233872
|
-
|
|
233873
|
-
|
|
233836
|
+
) }) }) : !isRecording && !isTranscribing && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233837
|
+
SendButton,
|
|
233838
|
+
{
|
|
233839
|
+
type: "submit",
|
|
233840
|
+
variant: "contained",
|
|
233841
|
+
color: "primary",
|
|
233842
|
+
disabled: isLoading || !newMessage.trim() && attachments.length === 0,
|
|
233843
|
+
"aria-label": "Send message",
|
|
233844
|
+
isSmallView,
|
|
233845
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233846
|
+
FontAwesomeIcon,
|
|
233847
|
+
{
|
|
233848
|
+
icon: faPaperPlane,
|
|
233849
|
+
fontSize: iconSize * 0.8
|
|
233850
|
+
}
|
|
233851
|
+
)
|
|
233852
|
+
}
|
|
233853
|
+
) }) })
|
|
233854
|
+
] })
|
|
233855
|
+
] })
|
|
233856
|
+
]
|
|
233857
|
+
}
|
|
233858
|
+
),
|
|
233874
233859
|
messages.length === 0 && !isSmallView && /* @__PURE__ */ jsxRuntimeExports.jsx(SuggestionsContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233875
233860
|
Box,
|
|
233876
233861
|
{
|
|
@@ -273876,7 +273861,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
273876
273861
|
registerLayoutLoaders([
|
|
273877
273862
|
{
|
|
273878
273863
|
name: "dagre",
|
|
273879
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-
|
|
273864
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-DZOFGtWs.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
|
|
273880
273865
|
}
|
|
273881
273866
|
]);
|
|
273882
273867
|
}, "registerDefaultLayoutLoaders");
|
|
@@ -274466,7 +274451,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
274466
274451
|
}, "detector");
|
|
274467
274452
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
274468
274453
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274469
|
-
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-
|
|
274454
|
+
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-B8ZTZ0n8.js");
|
|
274470
274455
|
return { diagram: diagram22 };
|
|
274471
274456
|
}, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
|
|
274472
274457
|
return { id, diagram: diagram2 };
|
|
@@ -274486,7 +274471,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274486
274471
|
}, "detector");
|
|
274487
274472
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
274488
274473
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274489
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
274474
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-tRJWBVYd.js");
|
|
274490
274475
|
return { diagram: diagram22 };
|
|
274491
274476
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
274492
274477
|
return { id: id2, diagram: diagram2 };
|
|
@@ -274512,7 +274497,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274512
274497
|
}, "detector");
|
|
274513
274498
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
274514
274499
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274515
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
274500
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-tRJWBVYd.js");
|
|
274516
274501
|
return { diagram: diagram22 };
|
|
274517
274502
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
274518
274503
|
return { id: id3, diagram: diagram2 };
|
|
@@ -274529,7 +274514,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
274529
274514
|
}, "detector");
|
|
274530
274515
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
274531
274516
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274532
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-
|
|
274517
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-CfYzgE98.js");
|
|
274533
274518
|
return { diagram: diagram22 };
|
|
274534
274519
|
}, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
|
|
274535
274520
|
return { id: id4, diagram: diagram2 };
|
|
@@ -274546,7 +274531,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
274546
274531
|
}, "detector");
|
|
274547
274532
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
274548
274533
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274549
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-
|
|
274534
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-Cd11pFbi.js");
|
|
274550
274535
|
return { diagram: diagram22 };
|
|
274551
274536
|
}, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
274552
274537
|
return { id: id5, diagram: diagram2 };
|
|
@@ -274563,7 +274548,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
274563
274548
|
}, "detector");
|
|
274564
274549
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
274565
274550
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274566
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-
|
|
274551
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-BWG5VLyZ.js");
|
|
274567
274552
|
return { diagram: diagram22 };
|
|
274568
274553
|
}, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
|
|
274569
274554
|
return { id: id6, diagram: diagram2 };
|
|
@@ -274580,7 +274565,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
274580
274565
|
}, "detector");
|
|
274581
274566
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
274582
274567
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274583
|
-
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-
|
|
274568
|
+
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-KjJg15gx.js");
|
|
274584
274569
|
return { diagram: diagram22 };
|
|
274585
274570
|
}, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
274586
274571
|
return { id: id7, diagram: diagram2 };
|
|
@@ -274596,7 +274581,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
274596
274581
|
}, "detector");
|
|
274597
274582
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
274598
274583
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274599
|
-
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-
|
|
274584
|
+
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-C7Crt4gw.js");
|
|
274600
274585
|
return { diagram: diagram22 };
|
|
274601
274586
|
}, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
|
|
274602
274587
|
return { id: id8, diagram: diagram2 };
|
|
@@ -274612,7 +274597,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
274612
274597
|
}, "detector");
|
|
274613
274598
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
274614
274599
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274615
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-
|
|
274600
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-BMbHGD_6.js");
|
|
274616
274601
|
return { diagram: diagram22 };
|
|
274617
274602
|
}, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
|
|
274618
274603
|
return { id: id9, diagram: diagram2 };
|
|
@@ -274629,7 +274614,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
274629
274614
|
}, "detector");
|
|
274630
274615
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
274631
274616
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274632
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-
|
|
274617
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-DD0agc1N.js");
|
|
274633
274618
|
return { diagram: diagram22 };
|
|
274634
274619
|
}, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
|
|
274635
274620
|
return { id: id10, diagram: diagram2 };
|
|
@@ -274646,7 +274631,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
274646
274631
|
}, "detector");
|
|
274647
274632
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
274648
274633
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274649
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-
|
|
274634
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-BumPivJk.js");
|
|
274650
274635
|
return { diagram: diagram22 };
|
|
274651
274636
|
}, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
|
|
274652
274637
|
return { id: id11, diagram: diagram2 };
|
|
@@ -274663,7 +274648,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
274663
274648
|
}, "detector");
|
|
274664
274649
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
274665
274650
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274666
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-
|
|
274651
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-CwnYTtil.js");
|
|
274667
274652
|
return { diagram: diagram22 };
|
|
274668
274653
|
}, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
|
|
274669
274654
|
return { id: id12, diagram: diagram2 };
|
|
@@ -274683,7 +274668,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274683
274668
|
}, "detector");
|
|
274684
274669
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
274685
274670
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274686
|
-
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-
|
|
274671
|
+
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-CNcNWb-o.js");
|
|
274687
274672
|
return { diagram: diagram22 };
|
|
274688
274673
|
}, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
|
|
274689
274674
|
return { id: id13, diagram: diagram2 };
|
|
@@ -274703,7 +274688,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274703
274688
|
}, "detector");
|
|
274704
274689
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
274705
274690
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274706
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-
|
|
274691
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-CNcNWb-o.js");
|
|
274707
274692
|
return { diagram: diagram22 };
|
|
274708
274693
|
}, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
|
|
274709
274694
|
return { id: id14, diagram: diagram2 };
|
|
@@ -274723,7 +274708,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274723
274708
|
}, "detector");
|
|
274724
274709
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
274725
274710
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274726
|
-
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-
|
|
274711
|
+
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-4yXBR_vP.js");
|
|
274727
274712
|
return { diagram: diagram22 };
|
|
274728
274713
|
}, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
|
|
274729
274714
|
return { id: id15, diagram: diagram2 };
|
|
@@ -274746,7 +274731,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
274746
274731
|
}, "detector");
|
|
274747
274732
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
274748
274733
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274749
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-
|
|
274734
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-6p7BdIAB.js");
|
|
274750
274735
|
return { diagram: diagram22 };
|
|
274751
274736
|
}, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
|
|
274752
274737
|
return { id: id16, diagram: diagram2 };
|
|
@@ -274763,7 +274748,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
274763
274748
|
}, "detector");
|
|
274764
274749
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
274765
274750
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274766
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-
|
|
274751
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-Dp2FVK6h.js");
|
|
274767
274752
|
return { diagram: diagram22 };
|
|
274768
274753
|
}, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
|
|
274769
274754
|
return { id: id17, diagram: diagram2 };
|
|
@@ -274833,7 +274818,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
274833
274818
|
}, "detector");
|
|
274834
274819
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
274835
274820
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274836
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
274821
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-tRJWBVYd.js");
|
|
274837
274822
|
return { diagram: diagram22 };
|
|
274838
274823
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
274839
274824
|
return { id: id18, diagram: diagram2 };
|
|
@@ -274850,7 +274835,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
274850
274835
|
}, "detector");
|
|
274851
274836
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
274852
274837
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274853
|
-
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-
|
|
274838
|
+
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-CCdgMyc-.js");
|
|
274854
274839
|
return { diagram: diagram22 };
|
|
274855
274840
|
}, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
|
|
274856
274841
|
return { id: id19, diagram: diagram2 };
|
|
@@ -274867,7 +274852,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
274867
274852
|
}, "detector");
|
|
274868
274853
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
274869
274854
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274870
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-
|
|
274855
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-DiLxGufv.js");
|
|
274871
274856
|
return { diagram: diagram22 };
|
|
274872
274857
|
}, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
|
|
274873
274858
|
return { id: id20, diagram: diagram2 };
|
|
@@ -274884,7 +274869,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
274884
274869
|
}, "detector");
|
|
274885
274870
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
274886
274871
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274887
|
-
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-
|
|
274872
|
+
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-cttuutf_.js");
|
|
274888
274873
|
return { diagram: diagram22 };
|
|
274889
274874
|
}, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
|
|
274890
274875
|
return { id: id21, diagram: diagram2 };
|
|
@@ -274901,7 +274886,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
274901
274886
|
}, "detector");
|
|
274902
274887
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
274903
274888
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274904
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-
|
|
274889
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-D1LzUzj2.js");
|
|
274905
274890
|
return { diagram: diagram22 };
|
|
274906
274891
|
}, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
|
|
274907
274892
|
return { id: id22, diagram: diagram2 };
|
|
@@ -274918,7 +274903,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
274918
274903
|
}, "detector");
|
|
274919
274904
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
274920
274905
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274921
|
-
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-
|
|
274906
|
+
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-DUz0a2Uz.js");
|
|
274922
274907
|
return { diagram: diagram22 };
|
|
274923
274908
|
}, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
274924
274909
|
return { id: id23, diagram: diagram2 };
|
|
@@ -274934,7 +274919,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
274934
274919
|
}, "detector");
|
|
274935
274920
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
274936
274921
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274937
|
-
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-
|
|
274922
|
+
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-DGVbLzJc.js");
|
|
274938
274923
|
return { diagram: diagram22 };
|
|
274939
274924
|
}, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
274940
274925
|
return { id: id24, diagram: diagram2 };
|
|
@@ -274950,7 +274935,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
274950
274935
|
}, "detector");
|
|
274951
274936
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
274952
274937
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274953
|
-
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-
|
|
274938
|
+
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-DIjqxpHX.js");
|
|
274954
274939
|
return { diagram: diagram22 };
|
|
274955
274940
|
}, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
|
|
274956
274941
|
return { id: id25, diagram: diagram2 };
|
|
@@ -274967,7 +274952,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
274967
274952
|
}, "detector");
|
|
274968
274953
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
274969
274954
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
274970
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-
|
|
274955
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-0JBfW8n9.js");
|
|
274971
274956
|
return { diagram: diagram22 };
|
|
274972
274957
|
}, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
|
|
274973
274958
|
return { id: id26, diagram: diagram2 };
|
|
@@ -317557,6 +317542,19 @@ const ChatPage = () => {
|
|
|
317557
317542
|
const { agentId, navigateToAgent } = useAgentRouteParam();
|
|
317558
317543
|
const navigate = useNavigate();
|
|
317559
317544
|
const queryClient2 = useQueryClient();
|
|
317545
|
+
const { isCanvasOpen, setCanvasOpen } = useUiPreferencesStore();
|
|
317546
|
+
reactExports.useEffect(() => {
|
|
317547
|
+
const handleKeyDown = (event) => {
|
|
317548
|
+
if (event.key === "c" && (event.metaKey || event.ctrlKey) && event.shiftKey) {
|
|
317549
|
+
event.preventDefault();
|
|
317550
|
+
setCanvasOpen(!isCanvasOpen);
|
|
317551
|
+
}
|
|
317552
|
+
};
|
|
317553
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
317554
|
+
return () => {
|
|
317555
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
317556
|
+
};
|
|
317557
|
+
}, [isCanvasOpen, setCanvasOpen]);
|
|
317560
317558
|
const { setLastChatAgentId, getLastAgentId } = useAgentSelectionStore();
|
|
317561
317559
|
const effectiveAgentId = agentId || getLastAgentId("chat");
|
|
317562
317560
|
const conversationId = effectiveAgentId || void 0;
|
|
@@ -324311,6 +324309,7 @@ const tourCanvasOverviewImage = "" + new URL("canvas-overview-CruGEIRC.png", imp
|
|
|
324311
324309
|
const tourCanvasVariablesImage = "" + new URL("canvas-variables-view-DrA20zqs.png", import.meta.url).href;
|
|
324312
324310
|
const tourChatAttachmentsImage = "" + new URL("chat-attachments-_3cRrONU.png", import.meta.url).href;
|
|
324313
324311
|
const tourChatFullViewImage = "" + new URL("chat-full-view-e-eJPzrw.png", import.meta.url).href;
|
|
324312
|
+
const tourChatInputImage = "" + new URL("chat-input-CU-CA7Se.png", import.meta.url).href;
|
|
324314
324313
|
const tourInlineEditCanvasImage = "" + new URL("inline-edit-canvas-O9conTkE.png", import.meta.url).href;
|
|
324315
324314
|
const tourSteps = [
|
|
324316
324315
|
{
|
|
@@ -324331,7 +324330,7 @@ const tourSteps = [
|
|
|
324331
324330
|
id: "agent-list",
|
|
324332
324331
|
attachTo: { element: '[data-tour-tag="agent-list-panel"]', on: "right" },
|
|
324333
324332
|
title: "Your Agents",
|
|
324334
|
-
text: "On the left, you'll see a list of your available AI agents. You can select an agent to start a conversation or manage its settings. Think of this as your
|
|
324333
|
+
text: "On the left, you'll see a list of your available AI agents. You can select an agent to start a conversation or manage its settings. Think of this as your messenger contacts list, but for AI agents! There are no limits to how many agents you can have, so create as many as you need to handle all your daily tasks.<br/><br/>Use the create agents button at the top of the toolbar to create a new agent at any time. You can also import agents from the Agent Hub, which we will cover later in this tour.",
|
|
324335
324334
|
buttons: [
|
|
324336
324335
|
{
|
|
324337
324336
|
text: "Back",
|
|
@@ -324386,11 +324385,11 @@ const tourSteps = [
|
|
|
324386
324385
|
{
|
|
324387
324386
|
id: "chat-input",
|
|
324388
324387
|
attachTo: {
|
|
324389
|
-
element: '
|
|
324388
|
+
element: '[data-tour-tag="chat-input-textarea"]',
|
|
324390
324389
|
on: "top"
|
|
324391
324390
|
},
|
|
324392
324391
|
title: "Ask Your Agent Anything",
|
|
324393
|
-
text: `Type your request here. Agents can answer questions, perform tasks, search the web, and much more. When you create a new agent, you'll see suggested prompts for ideas!<br /><br />Some powerful requests that you can try:<br /><br /><ul><li>"Create a spreadsheet in my Documents folder with all the major cities in Canada."</li><li>"Search the web for the latest news on AI and make a thorough report."</li><li>Select an attachment and then "translate this document to French."</li></ul
|
|
324392
|
+
text: `Type your request here. Agents can answer questions, perform tasks, search the web, and much more. When you create a new agent, you'll see suggested prompts for ideas!<br /><br />Some powerful requests that you can try:<br /><br /><ul><li>"Create a spreadsheet in my Documents folder with all the major cities in Canada."</li><li>"Search the web for the latest news on AI and make a thorough report."</li><li>Select an attachment and then "translate this document to French."</li></ul><br /><img src="${tourChatInputImage}" alt="Chat Input" style="width: 100%; height: 200px; object-fit: contain; border-radius: 8px;"/><br />You can also attach files to your message by clicking the paperclip button, which we will cover in the next step.`,
|
|
324394
324393
|
buttons: [
|
|
324395
324394
|
{
|
|
324396
324395
|
text: "Back",
|
|
@@ -324574,7 +324573,7 @@ const tourSteps = [
|
|
|
324574
324573
|
on: "top"
|
|
324575
324574
|
},
|
|
324576
324575
|
title: "Documents View",
|
|
324577
|
-
text: `The Documents view shows all your open
|
|
324576
|
+
text: `The Documents view shows all your open notes, blog articles, code, and visualizations as tabs. You can switch between documents to edit them and see dynamic visualizations in HTML created by your agents. Use this view to work with your notes, reports, and agent-generated content.<br /><br />This is where you can get more precise around your agents' work.<br/><img src="${tourInlineEditCanvasImage}" alt="Inline Edit Canvas" style="width: 100%; height: 200px; object-fit: contain; border-radius: 8px;"/><br />In your documents, highlight any text that you want your agent to improve and press Cmd/Ctrl+K to bring up the inline AI editor.
|
|
324578
324577
|
<br /><img src="${tourCanvasCodeInlineEditImage}" alt="Canvas Code Inline Edit" style="width: 100%; height: 200px; object-fit: cover; object-position: top; border-radius: 8px;"/><br />You can be as precise as you want and the agent will edit the document for you in place, using its memories and context so you don't have to re-explain things!`,
|
|
324579
324578
|
buttons: [
|
|
324580
324579
|
{
|