local-operator-ui 0.7.4 → 0.8.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/clear-icon-with-text-Cu96UxOE.png +0 -0
- package/out/renderer/assets/{fonts-BAmz1ETd.js → fonts-DnoCbbVd.js} +127 -414
- package/out/renderer/assets/icon-tV2fhamD.png +0 -0
- package/out/renderer/assets/{index-CXyUnv28.js → index-Cu1qwMQ_.js} +1854 -282
- package/out/renderer/assets/{index-BpktHwp9.js → index-cc_xe9_G.js} +2 -2
- package/out/renderer/assets/{index-D4xePR3Q.js → index-qogN06h3.js} +2 -2
- package/out/renderer/assets/{installer-Bqr5u24x.js → installer-CdeVfdGR.js} +225 -88
- package/out/renderer/index.html +2 -2
- package/out/renderer/installer.html +2 -2
- package/package.json +1 -1
- package/out/renderer/assets/clear-icon-with-text-uwwUBaIu.png +0 -0
- package/out/renderer/assets/icon-ngVHF_bZ.png +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, c as snippetCompletion, d as LanguageSupport, i as ifNotIn, e as completeFromList, f as indentNodeProp, g as foldNodeProp, h as continuedIndent, j as delimitedIndent, k as flatIndent, l as foldInside, m as syntaxTree, N as NodeWeakMap, I as IterMode } from "./index-
|
|
2
|
-
import "./fonts-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, c as snippetCompletion, d as LanguageSupport, i as ifNotIn, e as completeFromList, f as indentNodeProp, g as foldNodeProp, h as continuedIndent, j as delimitedIndent, k as flatIndent, l as foldInside, m as syntaxTree, N as NodeWeakMap, I as IterMode } from "./index-Cu1qwMQ_.js";
|
|
2
|
+
import "./fonts-DnoCbbVd.js";
|
|
3
3
|
const insertedSemi = 177, space$1 = 179, identifier = 184, String = 12, closeParen$1 = 13, Number = 17, Rune = 20, closeBrace$1 = 25, closeBracket = 53, IncDecOp = 95, _return = 142, _break = 144, _continue = 145, fallthrough = 148;
|
|
4
4
|
const newline = 10, carriageReturn = 13, space = 32, tab = 9, slash = 47, closeParen = 41, closeBrace = 125;
|
|
5
5
|
const semicolon = new ExternalTokenizer((input, stack) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, d as LanguageSupport, p as parseMixed, f as indentNodeProp, g as foldNodeProp, j as delimitedIndent, l as foldInside } from "./index-
|
|
2
|
-
import "./fonts-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, d as LanguageSupport, p as parseMixed, f as indentNodeProp, g as foldNodeProp, j as delimitedIndent, l as foldInside } from "./index-Cu1qwMQ_.js";
|
|
2
|
+
import "./fonts-DnoCbbVd.js";
|
|
3
3
|
const blockEnd = 63, eof = 64, DirectiveEnd = 1, DocEnd = 2, sequenceStartMark = 3, sequenceContinueMark = 4, explicitMapStartMark = 5, explicitMapContinueMark = 6, flowMapMark = 7, mapStartMark = 65, mapContinueMark = 66, Literal = 8, QuotedLiteral = 9, Anchor = 10, Alias = 11, Tag = 12, BlockLiteralContent = 13, BracketL = 19, FlowSequence = 20, Colon = 29, BraceL = 33, FlowMapping = 34, BlockLiteralHeader = 47;
|
|
4
4
|
const type_Top = 0, type_Seq = 1, type_Map = 2, type_Flow = 3, type_Lit = 4;
|
|
5
5
|
class Context {
|
|
@@ -1,10 +1,106 @@
|
|
|
1
|
-
import { w as styled,
|
|
2
|
-
|
|
1
|
+
import { a2 as createLucideIcon, w as styled, a4 as Box, V as keyframes, S as Typography, a as reactExports, j as jsxRuntimeExports, B as useTheme, a3 as Button, F as alpha, bJ as getTheme, a7 as DEFAULT_THEME, bI as ThemeProvider, bH as CssBaseline, bK as ReactDOM, R as React, bL as ErrorBoundary } from "./fonts-DnoCbbVd.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$5 = [
|
|
9
|
+
["polyline", { points: "16 18 22 12 16 6", key: "z7tu5w" }],
|
|
10
|
+
["polyline", { points: "8 6 2 12 8 18", key: "1eg1df" }]
|
|
11
|
+
];
|
|
12
|
+
const Code = createLucideIcon("code", __iconNode$5);
|
|
13
|
+
/**
|
|
14
|
+
* @license lucide-react v0.507.0 - ISC
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the ISC license.
|
|
17
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/
|
|
19
|
+
const __iconNode$4 = [
|
|
20
|
+
["path", { d: "m11 17 2 2a1 1 0 1 0 3-3", key: "efffak" }],
|
|
21
|
+
[
|
|
22
|
+
"path",
|
|
23
|
+
{
|
|
24
|
+
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",
|
|
25
|
+
key: "9pr0kb"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
["path", { d: "m21 3 1 11h-2", key: "1tisrp" }],
|
|
29
|
+
["path", { d: "M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3", key: "1uvwmv" }],
|
|
30
|
+
["path", { d: "M3 4h8", key: "1ep09j" }]
|
|
31
|
+
];
|
|
32
|
+
const Handshake = createLucideIcon("handshake", __iconNode$4);
|
|
33
|
+
/**
|
|
34
|
+
* @license lucide-react v0.507.0 - ISC
|
|
35
|
+
*
|
|
36
|
+
* This source code is licensed under the ISC license.
|
|
37
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38
|
+
*/
|
|
39
|
+
const __iconNode$3 = [
|
|
40
|
+
["line", { x1: "22", x2: "2", y1: "12", y2: "12", key: "1y58io" }],
|
|
41
|
+
[
|
|
42
|
+
"path",
|
|
43
|
+
{
|
|
44
|
+
d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
|
|
45
|
+
key: "oot6mr"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
["line", { x1: "6", x2: "6.01", y1: "16", y2: "16", key: "sgf278" }],
|
|
49
|
+
["line", { x1: "10", x2: "10.01", y1: "16", y2: "16", key: "1l4acy" }]
|
|
50
|
+
];
|
|
51
|
+
const HardDrive = createLucideIcon("hard-drive", __iconNode$3);
|
|
52
|
+
/**
|
|
53
|
+
* @license lucide-react v0.507.0 - ISC
|
|
54
|
+
*
|
|
55
|
+
* This source code is licensed under the ISC license.
|
|
56
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
+
*/
|
|
58
|
+
const __iconNode$2 = [
|
|
59
|
+
[
|
|
60
|
+
"path",
|
|
61
|
+
{
|
|
62
|
+
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",
|
|
63
|
+
key: "oel41y"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
67
|
+
];
|
|
68
|
+
const ShieldCheck = createLucideIcon("shield-check", __iconNode$2);
|
|
69
|
+
/**
|
|
70
|
+
* @license lucide-react v0.507.0 - ISC
|
|
71
|
+
*
|
|
72
|
+
* This source code is licensed under the ISC license.
|
|
73
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
74
|
+
*/
|
|
75
|
+
const __iconNode$1 = [
|
|
76
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
77
|
+
["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }],
|
|
78
|
+
["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }]
|
|
79
|
+
];
|
|
80
|
+
const Target = createLucideIcon("target", __iconNode$1);
|
|
81
|
+
/**
|
|
82
|
+
* @license lucide-react v0.507.0 - ISC
|
|
83
|
+
*
|
|
84
|
+
* This source code is licensed under the ISC license.
|
|
85
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
86
|
+
*/
|
|
87
|
+
const __iconNode = [
|
|
88
|
+
[
|
|
89
|
+
"path",
|
|
90
|
+
{
|
|
91
|
+
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",
|
|
92
|
+
key: "cbrjhi"
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
];
|
|
96
|
+
const Wrench = createLucideIcon("wrench", __iconNode);
|
|
97
|
+
const AppContainer = styled(Box)(({ theme }) => ({
|
|
3
98
|
display: "flex",
|
|
4
99
|
height: "100vh",
|
|
5
100
|
width: "100vw",
|
|
6
101
|
overflow: "hidden",
|
|
7
|
-
backgroundColor:
|
|
102
|
+
backgroundColor: theme.palette.background.default
|
|
103
|
+
// Use theme variable
|
|
8
104
|
}));
|
|
9
105
|
const InstallerLayout = styled(Box)(() => ({
|
|
10
106
|
display: "flex",
|
|
@@ -20,8 +116,10 @@ const FeatureSection = styled(Box)(({ theme }) => ({
|
|
|
20
116
|
flexDirection: "column",
|
|
21
117
|
justifyContent: "center",
|
|
22
118
|
alignItems: "center",
|
|
23
|
-
padding:
|
|
24
|
-
|
|
119
|
+
padding: theme.spacing(6),
|
|
120
|
+
// Use theme spacing
|
|
121
|
+
backgroundColor: theme.palette.background.paper,
|
|
122
|
+
// Solid, slightly lighter background
|
|
25
123
|
position: "relative",
|
|
26
124
|
overflow: "hidden",
|
|
27
125
|
"&::after": {
|
|
@@ -31,11 +129,12 @@ const FeatureSection = styled(Box)(({ theme }) => ({
|
|
|
31
129
|
right: 0,
|
|
32
130
|
bottom: 0,
|
|
33
131
|
width: "1px",
|
|
34
|
-
|
|
132
|
+
backgroundColor: theme.palette.divider
|
|
133
|
+
// Softer divider
|
|
35
134
|
},
|
|
36
135
|
"@media (max-width: 900px)": {
|
|
37
136
|
flex: "1 1 auto",
|
|
38
|
-
padding:
|
|
137
|
+
padding: theme.spacing(4, 3),
|
|
39
138
|
"&::after": {
|
|
40
139
|
width: "100%",
|
|
41
140
|
height: "1px",
|
|
@@ -44,16 +143,19 @@ const FeatureSection = styled(Box)(({ theme }) => ({
|
|
|
44
143
|
}
|
|
45
144
|
}
|
|
46
145
|
}));
|
|
47
|
-
const ProgressSection = styled(Box)(() => ({
|
|
146
|
+
const ProgressSection = styled(Box)(({ theme }) => ({
|
|
48
147
|
flex: "1 1 50%",
|
|
49
148
|
display: "flex",
|
|
50
149
|
flexDirection: "column",
|
|
51
150
|
justifyContent: "center",
|
|
52
151
|
alignItems: "center",
|
|
53
|
-
padding:
|
|
152
|
+
padding: theme.spacing(6),
|
|
153
|
+
// Use theme spacing
|
|
154
|
+
backgroundColor: theme.palette.background.default,
|
|
155
|
+
// Main background for contrast
|
|
54
156
|
"@media (max-width: 900px)": {
|
|
55
157
|
flex: "1 1 auto",
|
|
56
|
-
padding:
|
|
158
|
+
padding: theme.spacing(4, 3)
|
|
57
159
|
}
|
|
58
160
|
}));
|
|
59
161
|
const SpinnerContainer = styled(Box)(() => ({
|
|
@@ -62,12 +164,16 @@ const SpinnerContainer = styled(Box)(() => ({
|
|
|
62
164
|
margin: "16px 0"
|
|
63
165
|
}));
|
|
64
166
|
const Spinner = styled(Box)(({ theme }) => ({
|
|
65
|
-
width: "
|
|
66
|
-
|
|
67
|
-
|
|
167
|
+
width: "40px",
|
|
168
|
+
// Slightly smaller
|
|
169
|
+
height: "40px",
|
|
170
|
+
border: `4px solid ${theme.palette.action.disabledBackground}`,
|
|
171
|
+
// Muted track
|
|
68
172
|
borderRadius: "50%",
|
|
69
173
|
borderTopColor: theme.palette.primary.main,
|
|
70
|
-
|
|
174
|
+
// Accent color for spinner part
|
|
175
|
+
animation: "spin 0.8s linear infinite",
|
|
176
|
+
// Smoother, faster animation
|
|
71
177
|
"@keyframes spin": {
|
|
72
178
|
to: { transform: "rotate(360deg)" }
|
|
73
179
|
}
|
|
@@ -80,16 +186,22 @@ const LogoContainer = styled(Box)(() => ({
|
|
|
80
186
|
height: "120px"
|
|
81
187
|
}));
|
|
82
188
|
const FeatureIconContainer = styled(Box)(({ theme }) => ({
|
|
83
|
-
width: "
|
|
84
|
-
|
|
85
|
-
|
|
189
|
+
width: "64px",
|
|
190
|
+
// Smaller icon container
|
|
191
|
+
height: "64px",
|
|
192
|
+
borderRadius: theme.shape.borderRadius * 2,
|
|
193
|
+
// Rounded square like shadcn cards
|
|
86
194
|
display: "flex",
|
|
87
195
|
justifyContent: "center",
|
|
88
196
|
alignItems: "center",
|
|
89
|
-
marginBottom:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
197
|
+
marginBottom: theme.spacing(3),
|
|
198
|
+
backgroundColor: theme.palette.action.hover,
|
|
199
|
+
// Muted background
|
|
200
|
+
// border: `1px solid ${theme.palette.divider}`, // Subtle border
|
|
201
|
+
color: theme.palette.primary.main,
|
|
202
|
+
// Icon color
|
|
203
|
+
fontSize: "2rem"
|
|
204
|
+
// Adjusted icon size
|
|
93
205
|
}));
|
|
94
206
|
const fadeIn = keyframes`
|
|
95
207
|
from {
|
|
@@ -123,17 +235,21 @@ const FeatureContent = styled(Box)(
|
|
|
123
235
|
})
|
|
124
236
|
);
|
|
125
237
|
const FeatureTitle = styled(Typography)(({ theme }) => ({
|
|
126
|
-
fontSize: "1.
|
|
238
|
+
fontSize: "1.5rem",
|
|
239
|
+
// Adjusted size
|
|
127
240
|
fontWeight: 600,
|
|
128
|
-
marginBottom:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
WebkitTextFillColor: "transparent"
|
|
241
|
+
marginBottom: theme.spacing(1.5),
|
|
242
|
+
color: theme.palette.text.primary
|
|
243
|
+
// Solid color
|
|
132
244
|
}));
|
|
133
|
-
const FeatureDescription = styled(Typography)(() => ({
|
|
134
|
-
fontSize: "
|
|
135
|
-
|
|
136
|
-
|
|
245
|
+
const FeatureDescription = styled(Typography)(({ theme }) => ({
|
|
246
|
+
fontSize: "0.9rem",
|
|
247
|
+
// Slightly smaller for balance
|
|
248
|
+
lineHeight: 1.7,
|
|
249
|
+
// Increased line height for readability
|
|
250
|
+
color: theme.palette.text.secondary,
|
|
251
|
+
maxWidth: "400px"
|
|
252
|
+
// Limit width for better readability
|
|
137
253
|
}));
|
|
138
254
|
const ProgressDots = styled(Box)(() => ({
|
|
139
255
|
display: "flex",
|
|
@@ -145,11 +261,17 @@ const ProgressDots = styled(Box)(() => ({
|
|
|
145
261
|
}));
|
|
146
262
|
const ProgressDot = styled(Box)(
|
|
147
263
|
({ active, theme }) => ({
|
|
148
|
-
width: "
|
|
149
|
-
|
|
264
|
+
width: "10px",
|
|
265
|
+
// Slightly larger dots
|
|
266
|
+
height: "10px",
|
|
150
267
|
borderRadius: "50%",
|
|
151
|
-
|
|
152
|
-
|
|
268
|
+
backgroundColor: active ? theme.palette.primary.main : theme.palette.action.disabledBackground,
|
|
269
|
+
// Muted inactive color
|
|
270
|
+
transition: "background-color 0.3s ease, transform 0.3s ease",
|
|
271
|
+
cursor: "pointer",
|
|
272
|
+
"&:hover": {
|
|
273
|
+
transform: "scale(1.2)"
|
|
274
|
+
}
|
|
153
275
|
})
|
|
154
276
|
);
|
|
155
277
|
const BackgroundPattern = styled(Box)(() => ({
|
|
@@ -158,31 +280,44 @@ const BackgroundPattern = styled(Box)(() => ({
|
|
|
158
280
|
left: 0,
|
|
159
281
|
right: 0,
|
|
160
282
|
bottom: 0,
|
|
161
|
-
opacity: 0.
|
|
162
|
-
|
|
163
|
-
|
|
283
|
+
opacity: 0.03,
|
|
284
|
+
// Even more subtle
|
|
285
|
+
backgroundImage: "radial-gradient(rgba(255, 255, 255, 0.05) 0.5px, transparent 0.5px)",
|
|
286
|
+
// Smaller dots
|
|
287
|
+
backgroundSize: "20px 20px",
|
|
288
|
+
// Smaller grid
|
|
164
289
|
pointerEvents: "none"
|
|
165
290
|
}));
|
|
166
291
|
const features = [
|
|
167
292
|
{
|
|
168
|
-
icon:
|
|
293
|
+
icon: Target,
|
|
169
294
|
title: "Plans & Executes",
|
|
170
295
|
description: "Breaks down complex goals into manageable steps and executes them with precision."
|
|
171
296
|
},
|
|
172
297
|
{
|
|
173
|
-
icon:
|
|
298
|
+
icon: ShieldCheck,
|
|
174
299
|
title: "Prioritizes Security",
|
|
175
300
|
description: "Built-in safety checks by independent AI review and user confirmations keep your system protected."
|
|
176
301
|
},
|
|
177
302
|
{
|
|
178
|
-
icon:
|
|
179
|
-
title: "
|
|
180
|
-
description: "
|
|
303
|
+
icon: Wrench,
|
|
304
|
+
title: "Agentic Problem Solving",
|
|
305
|
+
description: "Agents can intelligently handle errors and roadblocks by adapting approaches and finding alternative solutions."
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
icon: Code,
|
|
309
|
+
title: "Universal Problem Solvers",
|
|
310
|
+
description: "Local Operator agents use code as a universal tool to make their own integrations on the fly and creatively solve problems."
|
|
181
311
|
},
|
|
182
312
|
{
|
|
183
|
-
icon:
|
|
184
|
-
title: "
|
|
185
|
-
description: "
|
|
313
|
+
icon: Handshake,
|
|
314
|
+
title: "Agent-to-Agent Communication",
|
|
315
|
+
description: "Agents can delegate tasks and communicate with each other to solve more complex problems."
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
icon: HardDrive,
|
|
319
|
+
title: "On-Device Work",
|
|
320
|
+
description: "Agents can work on-device without relying on the cloud, reducing the back and forth between your files and the cloud, and improving privacy."
|
|
186
321
|
}
|
|
187
322
|
];
|
|
188
323
|
const FeatureCarousel = () => {
|
|
@@ -227,7 +362,7 @@ const FeatureCarousel = () => {
|
|
|
227
362
|
pointerEvents: index === activeFeature ? "auto" : "none"
|
|
228
363
|
},
|
|
229
364
|
children: [
|
|
230
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureIconContainer, { children: feature.icon }),
|
|
365
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureIconContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(feature.icon, { size: 32, strokeWidth: 1 }) }),
|
|
231
366
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureTitle, { variant: "h4", children: feature.title }),
|
|
232
367
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FeatureDescription, { children: feature.description })
|
|
233
368
|
]
|
|
@@ -265,53 +400,56 @@ const InstallationProgress = () => {
|
|
|
265
400
|
maxWidth: "520px"
|
|
266
401
|
},
|
|
267
402
|
children: [
|
|
268
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { textAlign: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "gradientTitle", children: "
|
|
269
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
{
|
|
282
|
-
sx: {
|
|
283
|
-
height: 8,
|
|
284
|
-
borderRadius: 2,
|
|
285
|
-
backgroundColor: "rgba(255, 255, 255, 0.1)",
|
|
286
|
-
"& .MuiLinearProgress-bar": {
|
|
287
|
-
borderRadius: 2,
|
|
288
|
-
background: `linear-gradient(90deg, ${theme.palette.primary.main}, ${theme.palette.secondary.main})`
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
)
|
|
403
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { textAlign: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "gradientTitle", children: "Setting Up Your Environment" }) }),
|
|
404
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { width: "100%" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
405
|
+
Typography,
|
|
406
|
+
{
|
|
407
|
+
variant: "body1",
|
|
408
|
+
color: "text.secondary",
|
|
409
|
+
sx: { textAlign: "center", mb: 3, fontSize: "1rem" },
|
|
410
|
+
children: "We're preparing the magic behind the scenes! This one-time setup ensures you'll have the best experience with Local Operator."
|
|
411
|
+
}
|
|
412
|
+
) }),
|
|
413
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SpinnerContainer, { sx: { my: 2 }, children: [
|
|
414
|
+
" ",
|
|
415
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, {})
|
|
293
416
|
] }),
|
|
294
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SpinnerContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, {}) }),
|
|
295
417
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
296
418
|
Typography,
|
|
297
419
|
{
|
|
298
|
-
variant: "
|
|
299
|
-
sx: { textAlign: "center", color: "text.secondary",
|
|
300
|
-
children: "Installing
|
|
420
|
+
variant: "body1",
|
|
421
|
+
sx: { textAlign: "center", color: "text.secondary", fontSize: "1rem" },
|
|
422
|
+
children: "Installing Python and other AI dependencies for Local Operator assistants on your device..."
|
|
423
|
+
}
|
|
424
|
+
),
|
|
425
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
426
|
+
Typography,
|
|
427
|
+
{
|
|
428
|
+
variant: "body1",
|
|
429
|
+
sx: {
|
|
430
|
+
textAlign: "center",
|
|
431
|
+
color: "text.secondary",
|
|
432
|
+
fontSize: "0.875rem"
|
|
433
|
+
},
|
|
434
|
+
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."
|
|
301
435
|
}
|
|
302
436
|
),
|
|
303
437
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
304
438
|
Button,
|
|
305
439
|
{
|
|
306
|
-
variant: "
|
|
440
|
+
variant: "outlined",
|
|
307
441
|
color: "error",
|
|
308
442
|
onClick: handleCancel,
|
|
309
443
|
sx: {
|
|
310
444
|
alignSelf: "center",
|
|
311
|
-
px:
|
|
445
|
+
px: 3,
|
|
312
446
|
py: 1,
|
|
313
|
-
borderRadius:
|
|
314
|
-
|
|
447
|
+
borderRadius: theme.shape.borderRadius,
|
|
448
|
+
borderColor: theme.palette.error.main,
|
|
449
|
+
"&:hover": {
|
|
450
|
+
backgroundColor: alpha(theme.palette.error.main, 0.08),
|
|
451
|
+
borderColor: theme.palette.error.dark
|
|
452
|
+
}
|
|
315
453
|
},
|
|
316
454
|
children: "Cancel Setup"
|
|
317
455
|
}
|
|
@@ -320,7 +458,7 @@ const InstallationProgress = () => {
|
|
|
320
458
|
}
|
|
321
459
|
);
|
|
322
460
|
};
|
|
323
|
-
const logo = "" + new URL("clear-icon-with-text-
|
|
461
|
+
const logo = "" + new URL("clear-icon-with-text-Cu96UxOE.png", import.meta.url).href;
|
|
324
462
|
const LogoSection = () => {
|
|
325
463
|
const theme = useTheme();
|
|
326
464
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
@@ -347,11 +485,9 @@ const LogoSection = () => {
|
|
|
347
485
|
variant: "h3",
|
|
348
486
|
sx: {
|
|
349
487
|
textAlign: "center",
|
|
350
|
-
mb:
|
|
351
|
-
fontWeight:
|
|
352
|
-
|
|
353
|
-
WebkitBackgroundClip: "text",
|
|
354
|
-
WebkitTextFillColor: "transparent"
|
|
488
|
+
mb: 2,
|
|
489
|
+
fontWeight: 700,
|
|
490
|
+
color: theme.palette.text.primary
|
|
355
491
|
},
|
|
356
492
|
children: "Local Operator"
|
|
357
493
|
}
|
|
@@ -362,9 +498,10 @@ const LogoSection = () => {
|
|
|
362
498
|
variant: "h6",
|
|
363
499
|
sx: {
|
|
364
500
|
textAlign: "center",
|
|
365
|
-
mb:
|
|
366
|
-
color:
|
|
367
|
-
maxWidth: "
|
|
501
|
+
mb: 4,
|
|
502
|
+
color: theme.palette.text.secondary,
|
|
503
|
+
maxWidth: "500px",
|
|
504
|
+
fontWeight: 400
|
|
368
505
|
},
|
|
369
506
|
children: "Personal AI Assistants that Turn Ideas into Action"
|
|
370
507
|
}
|
package/out/renderer/index.html
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
<meta http-equiv="Content-Security-Policy"
|
|
10
10
|
content="default-src 'self'; connect-src 'self' http://localhost:1111 http://127.0.0.1:1111 ws://localhost:1111 ws://127.0.0.1:1111 http://localhost:8080 http://127.0.0.1:8080 https://api.radienthq.com https://us.i.posthog.com https://login.microsoftonline.com https://accounts.google.com; script-src 'self' https://us-assets.i.posthog.com https://accounts.google.com https://login.microsoftonline.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: http://localhost:1111 http://127.0.0.1:1111; media-src 'self' http://localhost:1111 http://127.0.0.1:1111; font-src 'self'; frame-src 'self' https://accounts.google.com https://login.microsoftonline.com" />
|
|
11
11
|
<meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin-allow-popups" />
|
|
12
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="./assets/fonts-
|
|
12
|
+
<script type="module" crossorigin src="./assets/index-Cu1qwMQ_.js"></script>
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/fonts-DnoCbbVd.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/fonts-B9KBGB-g.css">
|
|
15
15
|
<link rel="stylesheet" crossorigin href="./assets/index-0vP6mKPB.css">
|
|
16
16
|
</head>
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
|
|
9
9
|
<meta http-equiv="Content-Security-Policy"
|
|
10
10
|
content="default-src 'self'; connect-src 'self' http://localhost:1111 http://127.0.0.1:1111; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: http://localhost:1111 http://127.0.0.1:1111; media-src 'self' http://localhost:1111 http://127.0.0.1:1111; font-src 'self'" />
|
|
11
|
-
<script type="module" crossorigin src="./assets/installer-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="./assets/fonts-
|
|
11
|
+
<script type="module" crossorigin src="./assets/installer-CdeVfdGR.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/fonts-DnoCbbVd.js">
|
|
13
13
|
<link rel="stylesheet" crossorigin href="./assets/fonts-B9KBGB-g.css">
|
|
14
14
|
</head>
|
|
15
15
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "local-operator-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"productName": "Local Operator",
|
|
5
5
|
"description": "User interface for AI agent assistants that run Python code safely on your device through an intuitive chat interface. Supports local and cloud LLM models with built-in security features.",
|
|
6
6
|
"main": "./out/main/index.js",
|
|
Binary file
|
|
Binary file
|