local-operator-ui 0.12.7 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/main/index.jsc +0 -0
- package/out/preload/index.jsc +0 -0
- package/out/renderer/assets/_basePickBy-Dt8NA_1A.js +1 -0
- package/out/renderer/assets/_baseUniq-Dfn2rCfr.js +1 -0
- package/out/renderer/assets/agent-details-page-CJJgDqdX.js +6 -0
- package/out/renderer/assets/agent-hub-page-CznUZD2f.js +11 -0
- package/out/renderer/assets/agents-page-COdPTFYp.js +18 -0
- package/out/renderer/assets/arc-C1_J1TYO.js +1 -0
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-p5UIRlv1.js +36 -0
- package/out/renderer/assets/asn1-EdZsLKOL.js +1 -0
- package/out/renderer/assets/band-CquvqAHh.js +1 -0
- package/out/renderer/assets/blockDiagram-JOT3LUYC-Dk6LFvtm.js +121 -0
- package/out/renderer/assets/c4Diagram-VJAJSXHY-C0Hp8OKf.js +10 -0
- package/out/renderer/assets/channel-BqUr4Qsu.js +1 -0
- package/out/renderer/assets/chunk-4BMEZGHF-CV1FNkGZ.js +1 -0
- package/out/renderer/assets/chunk-A2AXSNBT-Co_5OkmZ.js +164 -0
- package/out/renderer/assets/chunk-AEK57VVT-Bu3wjBen.js +220 -0
- package/out/renderer/assets/chunk-D6G4REZN-BvFphnUv.js +1 -0
- package/out/renderer/assets/chunk-RZ5BOZE2-DBIcRvVx.js +1 -0
- package/out/renderer/assets/chunk-XZIHB7SX-DjSBj758.js +1 -0
- package/out/renderer/assets/classDiagram-GIVACNV2-DyZfTBa4.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-DyZfTBa4.js +1 -0
- package/out/renderer/assets/clojure-BMjYHr_A.js +1 -0
- package/out/renderer/assets/clone-hR8g0-gq.js +1 -0
- package/out/renderer/assets/css-BnMrqG3P.js +1 -0
- package/out/renderer/assets/cytoscape.esm-DHvQc-Lm.js +331 -0
- package/out/renderer/assets/dagre-OKDRZEBW-DbOc711m.js +4 -0
- package/out/renderer/assets/diagram-SSKATNLV-YLnBMg9L.js +43 -0
- package/out/renderer/assets/diagram-VNBRO52H-DHzPX2Ws.js +24 -0
- package/out/renderer/assets/erDiagram-Q7BY3M3F-CxFuapOs.js +60 -0
- package/out/renderer/assets/flowDiagram-4HSFHLVR-D5vc3yns.js +161 -0
- package/out/renderer/assets/ganttDiagram-APWFNJXF-ejBZIm6I.js +257 -0
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-6m7tU_G2.js +65 -0
- package/out/renderer/assets/graph-DIHt6FPP.js +1 -0
- package/out/renderer/assets/icon-CTN1YQYZ.js +195 -0
- package/out/renderer/assets/icon-nCvgDdVX.css +1 -0
- package/out/renderer/assets/index-BpRBp6-j.js +7 -0
- package/out/renderer/assets/index-BweSWC55.js +1 -0
- package/out/renderer/assets/index-CLHdxmCS.js +1272 -0
- package/out/renderer/assets/index-DikLkf3S.css +1 -0
- package/out/renderer/assets/infoDiagram-PH2N3AL5-D1KBOewb.js +2 -0
- package/out/renderer/assets/init-Dmth1JHB.js +1 -0
- package/out/renderer/assets/installer-T4sGv29U.js +16 -0
- package/out/renderer/assets/javascript-qCveANmP.js +1 -0
- package/out/renderer/assets/journeyDiagram-U35MCT3I-DsqwRdF3.js +138 -0
- package/out/renderer/assets/kanban-definition-NDS4AKOZ-BQvBdP_9.js +88 -0
- package/out/renderer/assets/katex-BCx1q_2Y.css +1 -0
- package/out/renderer/assets/layout-C7qoUpVb.js +1 -0
- package/out/renderer/assets/linear-BfLTrHPc.js +1 -0
- package/out/renderer/assets/mermaid.core-CyfNZ-Rl.js +213 -0
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-CTSdCgh1.js +95 -0
- package/out/renderer/assets/mllike-CXdrOF99.js +1 -0
- package/out/renderer/assets/ordinal-DILIJJjt.js +1 -0
- package/out/renderer/assets/page-header-CNXeqkJB.js +1 -0
- package/out/renderer/assets/parseISO-CyJpeshf.js +6 -0
- package/out/renderer/assets/pieDiagram-IB7DONF6-CeYuFnxD.js +30 -0
- package/out/renderer/assets/pug-DukmZTjD.js +1 -0
- package/out/renderer/assets/python-BuPzkPfP.js +1 -0
- package/out/renderer/assets/quadrantDiagram-7GDLP6J5-urCUNLvr.js +7 -0
- package/out/renderer/assets/radar-MK3ICKWK-D0m91kg2.js +128 -0
- package/out/renderer/assets/requirementDiagram-KVF5MWMF-7WDiFe7C.js +64 -0
- package/out/renderer/assets/rpm-CTu-6PCP.js +1 -0
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-BvCTETAk.js +10 -0
- package/out/renderer/assets/schedules-page-B2sb5H0L.js +115 -0
- package/out/renderer/assets/sequenceDiagram-X6HHIX6F-DGlKyLMu.js +122 -0
- package/out/renderer/assets/settings-page-DnOXVx9n.js +154 -0
- package/out/renderer/assets/settings-section-CBkMzMRA.js +6 -0
- package/out/renderer/assets/sql-D0XecflT.js +1 -0
- package/out/renderer/assets/square-pen-C9ah35lX.js +6 -0
- package/out/renderer/assets/stateDiagram-DGXRK772-BY_eMRWs.js +1 -0
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DecHc3j6.js +1 -0
- package/out/renderer/assets/step-DMJAOHzS.js +1 -0
- package/out/renderer/assets/time-BOTM2Tp0.js +1 -0
- package/out/renderer/assets/timeline-definition-BDJGKUSR-9Ezq9kKH.js +61 -0
- package/out/renderer/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/out/renderer/assets/use-agent-like-mutation-BYo-fu7V.js +1 -0
- package/out/renderer/assets/xychartDiagram-VJFVF3MP-O2pD61nn.js +7 -0
- package/out/renderer/index.html +4 -4
- package/out/renderer/installer.html +3 -3
- package/package.json +50 -22
- package/out/renderer/assets/GeistMonoNerdFontMono-Black-CPyfXpD2.otf +0 -0
- package/out/renderer/assets/GeistMonoNerdFontMono-Light-CRgGhpeL.otf +0 -0
- package/out/renderer/assets/GeistMonoNerdFontMono-Medium-Dui3XGJy.otf +0 -0
- package/out/renderer/assets/GeistMonoNerdFontMono-Thin-D5jufbuH.otf +0 -0
- package/out/renderer/assets/GeistMonoNerdFontMono-UltraBlack-CChzVbOW.otf +0 -0
- package/out/renderer/assets/_basePickBy-Xni00Dlk.js +0 -195
- package/out/renderer/assets/_baseUniq-JxZZknyU.js +0 -835
- package/out/renderer/assets/arc-BPRFPuHz.js +0 -131
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-iKnn0iSS.js +0 -8653
- package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
- package/out/renderer/assets/blockDiagram-JOT3LUYC-BW-Yo0Fe.js +0 -3585
- package/out/renderer/assets/c4Diagram-VJAJSXHY-cTGz3ymz.js +0 -2487
- package/out/renderer/assets/channel-CsQk5gsI.js +0 -7
- package/out/renderer/assets/chunk-4BMEZGHF-DjpLWrPj.js +0 -16
- package/out/renderer/assets/chunk-A2AXSNBT-Blza621e.js +0 -1827
- package/out/renderer/assets/chunk-AEK57VVT-ZmlsDCZe.js +0 -1953
- package/out/renderer/assets/chunk-D6G4REZN-C7msyVje.js +0 -108
- package/out/renderer/assets/chunk-RZ5BOZE2-CWvJQJJl.js +0 -34
- package/out/renderer/assets/chunk-XZIHB7SX-C-gdVJBt.js +0 -19
- package/out/renderer/assets/classDiagram-GIVACNV2-BcRnaMRd.js +0 -21
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-BcRnaMRd.js +0 -21
- package/out/renderer/assets/clear-icon-with-text-Cu96UxOE.png +0 -0
- package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
- package/out/renderer/assets/clone-3XFGex6Y.js +0 -8
- package/out/renderer/assets/css-c-jst79C.js +0 -1783
- package/out/renderer/assets/cytoscape.esm-C0AOj4uS.js +0 -30062
- package/out/renderer/assets/dagre-OKDRZEBW-BMuSMCUF.js +0 -695
- package/out/renderer/assets/diagram-SSKATNLV-BCxxN7T6.js +0 -304
- package/out/renderer/assets/diagram-VNBRO52H-q41sVUvc.js +0 -193
- package/out/renderer/assets/erDiagram-Q7BY3M3F-BFd2rLsa.js +0 -1160
- package/out/renderer/assets/flowDiagram-4HSFHLVR-_Arrrk_3.js +0 -2324
- package/out/renderer/assets/fonts-CM-VN_uu.css +0 -64
- package/out/renderer/assets/fonts-DqkQ6BY5.js +0 -31168
- package/out/renderer/assets/ganttDiagram-APWFNJXF-Dzw68AV_.js +0 -2500
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-BlkO8Bzg.js +0 -1204
- package/out/renderer/assets/graph-DL-34vhw.js +0 -424
- package/out/renderer/assets/index-BDLsFoJv.js +0 -312
- package/out/renderer/assets/index-CiPFa_9B.css +0 -10
- package/out/renderer/assets/index-MaDq9HTX.js +0 -365078
- package/out/renderer/assets/index-vAasWWpO.js +0 -406
- package/out/renderer/assets/infoDiagram-PH2N3AL5-DO4pqvW_.js +0 -33
- package/out/renderer/assets/installer-Ct30gPA9.js +0 -511
- package/out/renderer/assets/javascript-C3MnDRiU.js +0 -994
- package/out/renderer/assets/journeyDiagram-U35MCT3I-BJQ-FRal.js +0 -1199
- package/out/renderer/assets/kanban-definition-NDS4AKOZ-B1zGbozL.js +0 -1046
- package/out/renderer/assets/layout-BrQGvDtH.js +0 -2060
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-B5SNv6RZ.js +0 -5836
- package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
- package/out/renderer/assets/pieDiagram-IB7DONF6-DKT0Bk2S.js +0 -239
- package/out/renderer/assets/pug-By0kVCfm.js +0 -405
- package/out/renderer/assets/python-CvWbmiX4.js +0 -427
- package/out/renderer/assets/quadrantDiagram-7GDLP6J5-CFMDiFFE.js +0 -1340
- package/out/renderer/assets/radar-MK3ICKWK-DwsnroMG.js +0 -16935
- package/out/renderer/assets/requirementDiagram-KVF5MWMF-DPTaldQZ.js +0 -1163
- package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-DIFNjSQ_.js +0 -1201
- package/out/renderer/assets/sequenceDiagram-X6HHIX6F-Chi1Y6mU.js +0 -3415
- package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
- package/out/renderer/assets/stateDiagram-DGXRK772-DcmhTUVK.js +0 -467
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Dy-oRm-T.js +0 -21
- package/out/renderer/assets/timeline-definition-BDJGKUSR-0y2wZWef.js +0 -1223
- package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
- package/out/renderer/assets/xychartDiagram-VJFVF3MP-Bbr5uqsp.js +0 -1800
|
@@ -1,511 +0,0 @@
|
|
|
1
|
-
import { c as createLucideIcon, s as styled, B as Box, k as keyframes, T as Typography, r as reactExports, C as Code, H as HardDrive, j as jsxRuntimeExports, u as useTheme, a as Button, b as alpha, d as getTheme, D as DEFAULT_THEME, e as ThemeProvider, f as CssBaseline, R as ReactDOM, h as React, E as ErrorBoundary } from "./fonts-DqkQ6BY5.js";
|
|
2
|
-
/**
|
|
3
|
-
* @license lucide-react v0.507.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
const __iconNode$3 = [
|
|
9
|
-
["path", { d: "m11 17 2 2a1 1 0 1 0 3-3", key: "efffak" }],
|
|
10
|
-
[
|
|
11
|
-
"path",
|
|
12
|
-
{
|
|
13
|
-
d: "m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",
|
|
14
|
-
key: "9pr0kb"
|
|
15
|
-
}
|
|
16
|
-
],
|
|
17
|
-
["path", { d: "m21 3 1 11h-2", key: "1tisrp" }],
|
|
18
|
-
["path", { d: "M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3", key: "1uvwmv" }],
|
|
19
|
-
["path", { d: "M3 4h8", key: "1ep09j" }]
|
|
20
|
-
];
|
|
21
|
-
const Handshake = createLucideIcon("handshake", __iconNode$3);
|
|
22
|
-
/**
|
|
23
|
-
* @license lucide-react v0.507.0 - ISC
|
|
24
|
-
*
|
|
25
|
-
* This source code is licensed under the ISC license.
|
|
26
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
-
*/
|
|
28
|
-
const __iconNode$2 = [
|
|
29
|
-
[
|
|
30
|
-
"path",
|
|
31
|
-
{
|
|
32
|
-
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
33
|
-
key: "oel41y"
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
37
|
-
];
|
|
38
|
-
const ShieldCheck = createLucideIcon("shield-check", __iconNode$2);
|
|
39
|
-
/**
|
|
40
|
-
* @license lucide-react v0.507.0 - ISC
|
|
41
|
-
*
|
|
42
|
-
* This source code is licensed under the ISC license.
|
|
43
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
44
|
-
*/
|
|
45
|
-
const __iconNode$1 = [
|
|
46
|
-
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
47
|
-
["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }],
|
|
48
|
-
["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }]
|
|
49
|
-
];
|
|
50
|
-
const Target = createLucideIcon("target", __iconNode$1);
|
|
51
|
-
/**
|
|
52
|
-
* @license lucide-react v0.507.0 - ISC
|
|
53
|
-
*
|
|
54
|
-
* This source code is licensed under the ISC license.
|
|
55
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
56
|
-
*/
|
|
57
|
-
const __iconNode = [
|
|
58
|
-
[
|
|
59
|
-
"path",
|
|
60
|
-
{
|
|
61
|
-
d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",
|
|
62
|
-
key: "cbrjhi"
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
];
|
|
66
|
-
const Wrench = createLucideIcon("wrench", __iconNode);
|
|
67
|
-
const AppContainer = styled(Box)(({ theme }) => ({
|
|
68
|
-
display: "flex",
|
|
69
|
-
height: "100vh",
|
|
70
|
-
width: "100vw",
|
|
71
|
-
overflow: "hidden",
|
|
72
|
-
backgroundColor: theme.palette.background.default
|
|
73
|
-
// Use theme variable
|
|
74
|
-
}));
|
|
75
|
-
const InstallerLayout = styled(Box)(() => ({
|
|
76
|
-
display: "flex",
|
|
77
|
-
width: "100%",
|
|
78
|
-
height: "100%",
|
|
79
|
-
"@media (max-width: 900px)": {
|
|
80
|
-
flexDirection: "column"
|
|
81
|
-
}
|
|
82
|
-
}));
|
|
83
|
-
const FeatureSection = styled(Box)(({ theme }) => ({
|
|
84
|
-
flex: "1 1 50%",
|
|
85
|
-
display: "flex",
|
|
86
|
-
flexDirection: "column",
|
|
87
|
-
justifyContent: "center",
|
|
88
|
-
alignItems: "center",
|
|
89
|
-
padding: theme.spacing(6),
|
|
90
|
-
// Use theme spacing
|
|
91
|
-
backgroundColor: theme.palette.background.paper,
|
|
92
|
-
// Solid, slightly lighter background
|
|
93
|
-
position: "relative",
|
|
94
|
-
overflow: "hidden",
|
|
95
|
-
"&::after": {
|
|
96
|
-
content: '""',
|
|
97
|
-
position: "absolute",
|
|
98
|
-
top: 0,
|
|
99
|
-
right: 0,
|
|
100
|
-
bottom: 0,
|
|
101
|
-
width: "1px",
|
|
102
|
-
backgroundColor: theme.palette.divider
|
|
103
|
-
// Softer divider
|
|
104
|
-
},
|
|
105
|
-
"@media (max-width: 900px)": {
|
|
106
|
-
flex: "1 1 auto",
|
|
107
|
-
padding: theme.spacing(4, 3),
|
|
108
|
-
"&::after": {
|
|
109
|
-
width: "100%",
|
|
110
|
-
height: "1px",
|
|
111
|
-
bottom: 0,
|
|
112
|
-
right: "auto"
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}));
|
|
116
|
-
const ProgressSection = styled(Box)(({ theme }) => ({
|
|
117
|
-
flex: "1 1 50%",
|
|
118
|
-
display: "flex",
|
|
119
|
-
flexDirection: "column",
|
|
120
|
-
justifyContent: "center",
|
|
121
|
-
alignItems: "center",
|
|
122
|
-
padding: theme.spacing(6),
|
|
123
|
-
// Use theme spacing
|
|
124
|
-
backgroundColor: theme.palette.background.default,
|
|
125
|
-
// Main background for contrast
|
|
126
|
-
"@media (max-width: 900px)": {
|
|
127
|
-
flex: "1 1 auto",
|
|
128
|
-
padding: theme.spacing(4, 3)
|
|
129
|
-
}
|
|
130
|
-
}));
|
|
131
|
-
const SpinnerContainer = styled(Box)(() => ({
|
|
132
|
-
display: "flex",
|
|
133
|
-
justifyContent: "center",
|
|
134
|
-
margin: "16px 0"
|
|
135
|
-
}));
|
|
136
|
-
const Spinner = styled(Box)(({ theme }) => ({
|
|
137
|
-
width: "40px",
|
|
138
|
-
// Slightly smaller
|
|
139
|
-
height: "40px",
|
|
140
|
-
border: `4px solid ${theme.palette.action.disabledBackground}`,
|
|
141
|
-
// Muted track
|
|
142
|
-
borderRadius: "50%",
|
|
143
|
-
borderTopColor: theme.palette.primary.main,
|
|
144
|
-
// Accent color for spinner part
|
|
145
|
-
animation: "spin 0.8s linear infinite",
|
|
146
|
-
// Smoother, faster animation
|
|
147
|
-
"@keyframes spin": {
|
|
148
|
-
to: { transform: "rotate(360deg)" }
|
|
149
|
-
}
|
|
150
|
-
}));
|
|
151
|
-
const LogoContainer = styled(Box)(() => ({
|
|
152
|
-
marginBottom: "24px",
|
|
153
|
-
display: "flex",
|
|
154
|
-
justifyContent: "center",
|
|
155
|
-
alignItems: "center",
|
|
156
|
-
height: "120px"
|
|
157
|
-
}));
|
|
158
|
-
const FeatureIconContainer = styled(Box)(({ theme }) => ({
|
|
159
|
-
width: "64px",
|
|
160
|
-
// Smaller icon container
|
|
161
|
-
height: "64px",
|
|
162
|
-
borderRadius: theme.shape.borderRadius * 2,
|
|
163
|
-
// Rounded square like shadcn cards
|
|
164
|
-
display: "flex",
|
|
165
|
-
justifyContent: "center",
|
|
166
|
-
alignItems: "center",
|
|
167
|
-
marginBottom: theme.spacing(3),
|
|
168
|
-
backgroundColor: theme.palette.action.hover,
|
|
169
|
-
// Muted background
|
|
170
|
-
// border: `1px solid ${theme.palette.divider}`, // Subtle border
|
|
171
|
-
color: theme.palette.primary.main,
|
|
172
|
-
// Icon color
|
|
173
|
-
fontSize: "2rem"
|
|
174
|
-
// Adjusted icon size
|
|
175
|
-
}));
|
|
176
|
-
const fadeIn = keyframes`
|
|
177
|
-
from {
|
|
178
|
-
opacity: 0;
|
|
179
|
-
transform: translateY(10px);
|
|
180
|
-
}
|
|
181
|
-
to {
|
|
182
|
-
opacity: 1;
|
|
183
|
-
transform: translateY(0);
|
|
184
|
-
}
|
|
185
|
-
`;
|
|
186
|
-
const fadeOut = keyframes`
|
|
187
|
-
from {
|
|
188
|
-
opacity: 1;
|
|
189
|
-
transform: translateY(0);
|
|
190
|
-
}
|
|
191
|
-
to {
|
|
192
|
-
opacity: 0;
|
|
193
|
-
transform: translateY(-10px);
|
|
194
|
-
}
|
|
195
|
-
`;
|
|
196
|
-
const FeatureContent = styled(Box)(
|
|
197
|
-
({ isActive }) => ({
|
|
198
|
-
display: "flex",
|
|
199
|
-
flexDirection: "column",
|
|
200
|
-
alignItems: "center",
|
|
201
|
-
textAlign: "center",
|
|
202
|
-
maxWidth: "480px",
|
|
203
|
-
animation: isActive ? `${fadeIn} 0.5s ease-out forwards` : `${fadeOut} 0.5s ease-out forwards`,
|
|
204
|
-
position: "absolute"
|
|
205
|
-
})
|
|
206
|
-
);
|
|
207
|
-
const FeatureTitle = styled(Typography)(({ theme }) => ({
|
|
208
|
-
fontSize: "1.5rem",
|
|
209
|
-
// Adjusted size
|
|
210
|
-
fontWeight: 600,
|
|
211
|
-
marginBottom: theme.spacing(1.5),
|
|
212
|
-
color: theme.palette.text.primary
|
|
213
|
-
// Solid color
|
|
214
|
-
}));
|
|
215
|
-
const FeatureDescription = styled(Typography)(({ theme }) => ({
|
|
216
|
-
fontSize: "0.9rem",
|
|
217
|
-
// Slightly smaller for balance
|
|
218
|
-
lineHeight: 1.7,
|
|
219
|
-
// Increased line height for readability
|
|
220
|
-
color: theme.palette.text.secondary,
|
|
221
|
-
maxWidth: "400px"
|
|
222
|
-
// Limit width for better readability
|
|
223
|
-
}));
|
|
224
|
-
const ProgressDots = styled(Box)(() => ({
|
|
225
|
-
display: "flex",
|
|
226
|
-
justifyContent: "center",
|
|
227
|
-
gap: "8px",
|
|
228
|
-
marginTop: "0",
|
|
229
|
-
position: "relative",
|
|
230
|
-
bottom: "0"
|
|
231
|
-
}));
|
|
232
|
-
const ProgressDot = styled(Box)(
|
|
233
|
-
({ active, theme }) => ({
|
|
234
|
-
width: "10px",
|
|
235
|
-
// Slightly larger dots
|
|
236
|
-
height: "10px",
|
|
237
|
-
borderRadius: "50%",
|
|
238
|
-
backgroundColor: active ? theme.palette.primary.main : theme.palette.action.disabledBackground,
|
|
239
|
-
// Muted inactive color
|
|
240
|
-
transition: "background-color 0.3s ease, transform 0.3s ease",
|
|
241
|
-
cursor: "pointer",
|
|
242
|
-
"&:hover": {
|
|
243
|
-
transform: "scale(1.2)"
|
|
244
|
-
}
|
|
245
|
-
})
|
|
246
|
-
);
|
|
247
|
-
const BackgroundPattern = styled(Box)(() => ({
|
|
248
|
-
position: "absolute",
|
|
249
|
-
top: 0,
|
|
250
|
-
left: 0,
|
|
251
|
-
right: 0,
|
|
252
|
-
bottom: 0,
|
|
253
|
-
opacity: 0.03,
|
|
254
|
-
// Even more subtle
|
|
255
|
-
backgroundImage: "radial-gradient(rgba(255, 255, 255, 0.05) 0.5px, transparent 0.5px)",
|
|
256
|
-
// Smaller dots
|
|
257
|
-
backgroundSize: "20px 20px",
|
|
258
|
-
// Smaller grid
|
|
259
|
-
pointerEvents: "none"
|
|
260
|
-
}));
|
|
261
|
-
const features = [
|
|
262
|
-
{
|
|
263
|
-
icon: Target,
|
|
264
|
-
title: "Plans & Executes",
|
|
265
|
-
description: "Breaks down complex goals into manageable steps and executes them with precision."
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
icon: ShieldCheck,
|
|
269
|
-
title: "Prioritizes Security",
|
|
270
|
-
description: "Built-in safety checks by independent AI review and user confirmations keep your system protected."
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
icon: Wrench,
|
|
274
|
-
title: "Agentic Problem Solving",
|
|
275
|
-
description: "Agents can intelligently handle errors and roadblocks by adapting approaches and finding alternative solutions."
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
icon: Code,
|
|
279
|
-
title: "Universal Problem Solvers",
|
|
280
|
-
description: "Local Operator agents use code as a universal tool to make their own integrations on the fly and creatively solve problems."
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
icon: Handshake,
|
|
284
|
-
title: "Agent-to-Agent Communication",
|
|
285
|
-
description: "Agents can delegate tasks and communicate with each other to solve more complex problems."
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
icon: HardDrive,
|
|
289
|
-
title: "On-Device Work",
|
|
290
|
-
description: "Agents can work on your device, reducing the back and forth between your files and the cloud, and improving privacy."
|
|
291
|
-
}
|
|
292
|
-
];
|
|
293
|
-
const FeatureCarousel = () => {
|
|
294
|
-
const [activeFeature, setActiveFeature] = reactExports.useState(0);
|
|
295
|
-
reactExports.useEffect(() => {
|
|
296
|
-
const interval = setInterval(() => {
|
|
297
|
-
setActiveFeature((prev) => (prev + 1) % features.length);
|
|
298
|
-
}, 5e3);
|
|
299
|
-
return () => clearInterval(interval);
|
|
300
|
-
}, []);
|
|
301
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
302
|
-
Box,
|
|
303
|
-
{
|
|
304
|
-
sx: {
|
|
305
|
-
position: "relative",
|
|
306
|
-
height: "300px",
|
|
307
|
-
width: "100%",
|
|
308
|
-
display: "flex",
|
|
309
|
-
flexDirection: "column",
|
|
310
|
-
justifyContent: "center",
|
|
311
|
-
alignItems: "center"
|
|
312
|
-
},
|
|
313
|
-
children: [
|
|
314
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
315
|
-
Box,
|
|
316
|
-
{
|
|
317
|
-
sx: {
|
|
318
|
-
position: "relative",
|
|
319
|
-
height: "240px",
|
|
320
|
-
width: "100%",
|
|
321
|
-
display: "flex",
|
|
322
|
-
justifyContent: "center",
|
|
323
|
-
alignItems: "center",
|
|
324
|
-
mb: 4
|
|
325
|
-
},
|
|
326
|
-
children: features.map((feature, index) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
327
|
-
FeatureContent,
|
|
328
|
-
{
|
|
329
|
-
isActive: index === activeFeature,
|
|
330
|
-
sx: {
|
|
331
|
-
opacity: index === activeFeature ? 1 : 0,
|
|
332
|
-
pointerEvents: index === activeFeature ? "auto" : "none"
|
|
333
|
-
},
|
|
334
|
-
children: [
|
|
335
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureIconContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(feature.icon, { size: 32, strokeWidth: 1 }) }),
|
|
336
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureTitle, { variant: "h4", children: feature.title }),
|
|
337
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureDescription, { children: feature.description })
|
|
338
|
-
]
|
|
339
|
-
},
|
|
340
|
-
feature.title
|
|
341
|
-
))
|
|
342
|
-
}
|
|
343
|
-
),
|
|
344
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ProgressDots, { children: features.map((feature, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
345
|
-
ProgressDot,
|
|
346
|
-
{
|
|
347
|
-
active: index === activeFeature,
|
|
348
|
-
onClick: () => setActiveFeature(index),
|
|
349
|
-
sx: { cursor: "pointer" }
|
|
350
|
-
},
|
|
351
|
-
`dot-${feature.title}`
|
|
352
|
-
)) })
|
|
353
|
-
]
|
|
354
|
-
}
|
|
355
|
-
);
|
|
356
|
-
};
|
|
357
|
-
const InstallationProgress = () => {
|
|
358
|
-
const theme = useTheme();
|
|
359
|
-
const handleCancel = () => {
|
|
360
|
-
window.api.ipcRenderer.send("cancel-installation");
|
|
361
|
-
};
|
|
362
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
363
|
-
Box,
|
|
364
|
-
{
|
|
365
|
-
sx: {
|
|
366
|
-
display: "flex",
|
|
367
|
-
flexDirection: "column",
|
|
368
|
-
gap: 4,
|
|
369
|
-
width: "100%",
|
|
370
|
-
maxWidth: "520px"
|
|
371
|
-
},
|
|
372
|
-
children: [
|
|
373
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { textAlign: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "gradientTitle", children: "Setting Up Your Environment" }) }),
|
|
374
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { width: "100%" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
375
|
-
Typography,
|
|
376
|
-
{
|
|
377
|
-
variant: "body1",
|
|
378
|
-
color: "text.secondary",
|
|
379
|
-
sx: { textAlign: "center", mb: 3, fontSize: "1rem" },
|
|
380
|
-
children: "We're preparing the magic behind the scenes! This one-time setup ensures you'll have the best experience with Local Operator."
|
|
381
|
-
}
|
|
382
|
-
) }),
|
|
383
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(SpinnerContainer, { sx: { my: 2 }, children: [
|
|
384
|
-
" ",
|
|
385
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, {})
|
|
386
|
-
] }),
|
|
387
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
388
|
-
Typography,
|
|
389
|
-
{
|
|
390
|
-
variant: "body1",
|
|
391
|
-
sx: { textAlign: "center", color: "text.secondary", fontSize: "1rem" },
|
|
392
|
-
children: "Installing Python and other AI dependencies for Local Operator assistants on your device..."
|
|
393
|
-
}
|
|
394
|
-
),
|
|
395
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
396
|
-
Typography,
|
|
397
|
-
{
|
|
398
|
-
variant: "body1",
|
|
399
|
-
sx: {
|
|
400
|
-
textAlign: "center",
|
|
401
|
-
color: "text.secondary",
|
|
402
|
-
fontSize: "0.875rem"
|
|
403
|
-
},
|
|
404
|
-
children: "This will take a few minutes. You can minimize this window and continue using your computer in the meantime, you will get a notification when it's done."
|
|
405
|
-
}
|
|
406
|
-
),
|
|
407
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
408
|
-
Button,
|
|
409
|
-
{
|
|
410
|
-
variant: "outlined",
|
|
411
|
-
color: "error",
|
|
412
|
-
onClick: handleCancel,
|
|
413
|
-
sx: {
|
|
414
|
-
alignSelf: "center",
|
|
415
|
-
px: 3,
|
|
416
|
-
py: 1,
|
|
417
|
-
borderRadius: theme.shape.borderRadius,
|
|
418
|
-
borderColor: theme.palette.error.main,
|
|
419
|
-
"&:hover": {
|
|
420
|
-
backgroundColor: alpha(theme.palette.error.main, 0.08),
|
|
421
|
-
borderColor: theme.palette.error.dark
|
|
422
|
-
}
|
|
423
|
-
},
|
|
424
|
-
children: "Cancel Setup"
|
|
425
|
-
}
|
|
426
|
-
)
|
|
427
|
-
]
|
|
428
|
-
}
|
|
429
|
-
);
|
|
430
|
-
};
|
|
431
|
-
const logo = "" + new URL("clear-icon-with-text-Cu96UxOE.png", import.meta.url).href;
|
|
432
|
-
const LogoSection = () => {
|
|
433
|
-
const theme = useTheme();
|
|
434
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
435
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(LogoContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
436
|
-
Box,
|
|
437
|
-
{
|
|
438
|
-
component: "img",
|
|
439
|
-
src: logo,
|
|
440
|
-
alt: "Local Operator Logo",
|
|
441
|
-
sx: {
|
|
442
|
-
width: "auto",
|
|
443
|
-
height: 120,
|
|
444
|
-
objectFit: "contain",
|
|
445
|
-
display: "block"
|
|
446
|
-
},
|
|
447
|
-
onError: (e) => {
|
|
448
|
-
e.currentTarget.src = "../assets/icon.png";
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
) }),
|
|
452
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
453
|
-
Typography,
|
|
454
|
-
{
|
|
455
|
-
variant: "h3",
|
|
456
|
-
sx: {
|
|
457
|
-
textAlign: "center",
|
|
458
|
-
mb: 2,
|
|
459
|
-
fontWeight: 700,
|
|
460
|
-
color: theme.palette.text.primary
|
|
461
|
-
},
|
|
462
|
-
children: "Local Operator"
|
|
463
|
-
}
|
|
464
|
-
),
|
|
465
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
466
|
-
Typography,
|
|
467
|
-
{
|
|
468
|
-
variant: "h6",
|
|
469
|
-
sx: {
|
|
470
|
-
textAlign: "center",
|
|
471
|
-
mb: 4,
|
|
472
|
-
color: theme.palette.text.secondary,
|
|
473
|
-
maxWidth: "500px",
|
|
474
|
-
fontWeight: 400
|
|
475
|
-
},
|
|
476
|
-
children: "Personal AI Assistants that Turn Ideas into Action"
|
|
477
|
-
}
|
|
478
|
-
)
|
|
479
|
-
] });
|
|
480
|
-
};
|
|
481
|
-
const InstallerContent = () => {
|
|
482
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(InstallerLayout, { children: [
|
|
483
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(FeatureSection, { children: [
|
|
484
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(BackgroundPattern, {}),
|
|
485
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(LogoSection, {}),
|
|
486
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureCarousel, {})
|
|
487
|
-
] }),
|
|
488
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ProgressSection, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(InstallationProgress, {}) })
|
|
489
|
-
] });
|
|
490
|
-
};
|
|
491
|
-
const defaultThemeOption = getTheme(DEFAULT_THEME);
|
|
492
|
-
const defaultMuiTheme$1 = defaultThemeOption.theme;
|
|
493
|
-
const InstallerApp = () => {
|
|
494
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(ThemeProvider, { theme: defaultMuiTheme$1, children: [
|
|
495
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CssBaseline, {}),
|
|
496
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(AppContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(InstallerContent, {}) })
|
|
497
|
-
] });
|
|
498
|
-
};
|
|
499
|
-
const defaultTheme = getTheme(DEFAULT_THEME);
|
|
500
|
-
const defaultMuiTheme = defaultTheme.theme;
|
|
501
|
-
document.addEventListener("DOMContentLoaded", () => {
|
|
502
|
-
const root = ReactDOM.createRoot(
|
|
503
|
-
document.getElementById("app")
|
|
504
|
-
);
|
|
505
|
-
root.render(
|
|
506
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(React.StrictMode, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ThemeProvider, { theme: defaultMuiTheme, children: [
|
|
507
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CssBaseline, {}),
|
|
508
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(InstallerApp, {}) })
|
|
509
|
-
] }) })
|
|
510
|
-
);
|
|
511
|
-
});
|