@rajat-rastogi/maestro 0.2.0 → 0.2.2
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/README.md +46 -0
- package/app/out/main/main.js +25 -5
- package/app/out/renderer/assets/{index-D3bMGKAV.js → index-B6_qR_Gq.js} +35 -7
- package/app/out/renderer/index.html +1 -1
- package/dist/agent/install.d.ts.map +1 -1
- package/dist/agent/install.js +82 -25
- package/dist/agent/install.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -137,6 +137,8 @@ One-paragraph description of the goal.
|
|
|
137
137
|
| `-d, --debug` | Enable debug logging | — |
|
|
138
138
|
| `--no-color` | Disable ANSI color output | — |
|
|
139
139
|
| `--plan-tips` | Show plan authoring best practices | — |
|
|
140
|
+
| `--gui` | Open Maestro desktop GUI (Electron app) | — |
|
|
141
|
+
| `--install-agent` | Set up this machine as a Maestro remote agent | — |
|
|
140
142
|
| `--docs` | Open full reference documentation in browser | — |
|
|
141
143
|
| `--config` | Open web UI to view/edit configuration | — |
|
|
142
144
|
| `--reset` | Interactively reset global config to defaults | — |
|
|
@@ -248,6 +250,50 @@ A few key tips (run `maestro --plan-tips` for the full guide):
|
|
|
248
250
|
|
|
249
251
|
---
|
|
250
252
|
|
|
253
|
+
## Desktop GUI
|
|
254
|
+
|
|
255
|
+
Maestro includes an Electron-based desktop GUI with a live terminal grid for managing
|
|
256
|
+
AI coding sessions across multiple machines.
|
|
257
|
+
|
|
258
|
+
```sh
|
|
259
|
+
maestro --gui
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
On first run, GUI dependencies (Electron, xterm.js, etc.) are installed automatically.
|
|
263
|
+
|
|
264
|
+
Features:
|
|
265
|
+
- **Terminal grid** — 3-column view with miniature xterm.js previews of all sessions
|
|
266
|
+
- **Fullscreen overlay** — click any tile for a full interactive terminal
|
|
267
|
+
- **Session state tracking** — real-time Working / Waiting / Idle / Input Required badges
|
|
268
|
+
- **Machine management** — add remote dev boxes, monitor online status
|
|
269
|
+
- **Create Terminal wizard** — launch Claude or Copilot sessions on any machine
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Remote Agent
|
|
274
|
+
|
|
275
|
+
Run AI coding sessions on remote machines (e.g. Azure Dev Boxes) from your local Maestro GUI.
|
|
276
|
+
|
|
277
|
+
### Setup (one-time, on the remote machine)
|
|
278
|
+
|
|
279
|
+
Open **PowerShell as Administrator** on the remote machine and run:
|
|
280
|
+
|
|
281
|
+
```sh
|
|
282
|
+
npm install -g @rajat-rastogi/maestro
|
|
283
|
+
maestro --install-agent
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
The setup wizard handles everything:
|
|
287
|
+
1. Installs devtunnel (Microsoft Dev Tunnels)
|
|
288
|
+
2. Creates a tunnel with port forwarding
|
|
289
|
+
3. Installs the agent (WebSocket server + PTY management)
|
|
290
|
+
4. Deploys Claude Code hooks for session state tracking
|
|
291
|
+
5. Registers a Scheduled Task for auto-start on login
|
|
292
|
+
|
|
293
|
+
After setup, enter the Tunnel ID in Maestro's Machines view and click **Save & Ping**.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
251
297
|
## --docs
|
|
252
298
|
|
|
253
299
|
```sh
|
package/app/out/main/main.js
CHANGED
|
@@ -514,26 +514,41 @@ class AgentConnectionPool {
|
|
|
514
514
|
if (existing.ready && existing.ws?.readyState === WebSocket.OPEN) {
|
|
515
515
|
return existing.ws;
|
|
516
516
|
}
|
|
517
|
+
console.log(`[AgentPool] getConnection: "${tunnelId}" — queuing (connection in progress)`);
|
|
517
518
|
return new Promise((resolve) => existing.queue.push(resolve));
|
|
518
519
|
}
|
|
519
520
|
const entry = { proc: null, ws: null, ready: false, queue: [] };
|
|
520
521
|
this.pool.set(tunnelId, entry);
|
|
522
|
+
console.log(`[AgentPool] getConnection: spawning "devtunnel connect ${tunnelId}"...`);
|
|
521
523
|
entry.proc = child_process.spawn("devtunnel", ["connect", tunnelId], { shell: true, env: this.wingetEnv() });
|
|
522
|
-
entry.proc.on("
|
|
523
|
-
|
|
524
|
+
entry.proc.stderr?.on("data", (data) => {
|
|
525
|
+
console.log(`[AgentPool] devtunnel stderr: ${data.toString().trim()}`);
|
|
526
|
+
});
|
|
527
|
+
entry.proc.on("error", (err) => {
|
|
528
|
+
console.log(`[AgentPool] devtunnel process error: ${err.message}`);
|
|
529
|
+
this.teardown(tunnelId);
|
|
530
|
+
});
|
|
531
|
+
entry.proc.on("exit", (code) => {
|
|
532
|
+
console.log(`[AgentPool] devtunnel exited with code ${code}`);
|
|
533
|
+
this.teardown(tunnelId);
|
|
534
|
+
});
|
|
535
|
+
console.log(`[AgentPool] getConnection: waiting 4s for devtunnel to establish port forwarding...`);
|
|
524
536
|
await new Promise((r) => setTimeout(r, 4e3));
|
|
537
|
+
console.log(`[AgentPool] getConnection: opening WebSocket to ws://127.0.0.1:9741...`);
|
|
525
538
|
const ws = new WebSocket("ws://127.0.0.1:9741");
|
|
526
539
|
entry.ws = ws;
|
|
527
540
|
return new Promise((resolve, reject) => {
|
|
528
541
|
ws.on("open", () => {
|
|
542
|
+
console.log(`[AgentPool] getConnection: WebSocket connected to agent`);
|
|
529
543
|
entry.ready = true;
|
|
530
544
|
entry.queue.forEach((cb) => cb(ws));
|
|
531
545
|
entry.queue = [];
|
|
532
546
|
resolve(ws);
|
|
533
547
|
});
|
|
534
|
-
ws.on("error", () => {
|
|
548
|
+
ws.on("error", (err) => {
|
|
549
|
+
console.log(`[AgentPool] getConnection: WebSocket error: ${err.message}`);
|
|
535
550
|
this.teardown(tunnelId);
|
|
536
|
-
reject(new Error(
|
|
551
|
+
reject(new Error(`Agent WebSocket error: ${err.message}`));
|
|
537
552
|
});
|
|
538
553
|
ws.on("close", () => this.teardown(tunnelId));
|
|
539
554
|
});
|
|
@@ -541,9 +556,12 @@ class AgentConnectionPool {
|
|
|
541
556
|
/** Ping the agent via WebSocket, return true if pong received within 5s. */
|
|
542
557
|
async ping(tunnelId) {
|
|
543
558
|
try {
|
|
559
|
+
console.log(`[AgentPool] ping: connecting to tunnel "${tunnelId}"...`);
|
|
544
560
|
const ws = await this.getConnection(tunnelId);
|
|
561
|
+
console.log(`[AgentPool] ping: connected, sending ping...`);
|
|
545
562
|
return new Promise((resolve) => {
|
|
546
563
|
const t = setTimeout(() => {
|
|
564
|
+
console.log(`[AgentPool] ping: timeout (5s) — no pong received`);
|
|
547
565
|
ws.removeListener("message", handler);
|
|
548
566
|
resolve(false);
|
|
549
567
|
}, 5e3);
|
|
@@ -551,6 +569,7 @@ class AgentConnectionPool {
|
|
|
551
569
|
try {
|
|
552
570
|
const msg = JSON.parse(data.toString());
|
|
553
571
|
if (msg.type === "pong") {
|
|
572
|
+
console.log(`[AgentPool] ping: pong received — agent online`);
|
|
554
573
|
clearTimeout(t);
|
|
555
574
|
ws.removeListener("message", handler);
|
|
556
575
|
resolve(true);
|
|
@@ -561,7 +580,8 @@ class AgentConnectionPool {
|
|
|
561
580
|
ws.on("message", handler);
|
|
562
581
|
ws.send(JSON.stringify({ type: "ping" }));
|
|
563
582
|
});
|
|
564
|
-
} catch {
|
|
583
|
+
} catch (err) {
|
|
584
|
+
console.log(`[AgentPool] ping failed for "${tunnelId}": ${err instanceof Error ? err.message : String(err)}`);
|
|
565
585
|
return false;
|
|
566
586
|
}
|
|
567
587
|
}
|
|
@@ -9778,12 +9778,15 @@ function TunnelSetupPanel({ machine, onClose, onSaved }) {
|
|
|
9778
9778
|
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "Step 1." }),
|
|
9779
9779
|
" RDP into ",
|
|
9780
9780
|
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: machine.name }),
|
|
9781
|
-
", open
|
|
9781
|
+
", open ",
|
|
9782
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "PowerShell as Administrator" }),
|
|
9783
|
+
" (right-click → Run as Administrator) and install Maestro:"
|
|
9782
9784
|
] }),
|
|
9783
9785
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CopyBlock, { text: `npm install -g @rajat-rastogi/maestro` }),
|
|
9784
9786
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { style: styles$9.step, children: [
|
|
9785
9787
|
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "Step 2." }),
|
|
9786
|
-
"
|
|
9788
|
+
" In the same elevated shell, run the agent setup wizard. It will install devtunnel, deploy the agent, configure Claude hooks, and register an auto-start task. ",
|
|
9789
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("em", { children: "Admin elevation is required for the Scheduled Task registration." })
|
|
9787
9790
|
] }),
|
|
9788
9791
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CopyBlock, { text: `maestro --install-agent` }),
|
|
9789
9792
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { style: styles$9.step, children: [
|
|
@@ -9811,11 +9814,36 @@ function TunnelSetupPanel({ machine, onClose, onSaved }) {
|
|
|
9811
9814
|
] }),
|
|
9812
9815
|
pingResult === "online" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles$9.pingSuccess, children: "✓ Agent connected — tunnel is reachable." }),
|
|
9813
9816
|
pingResult === "offline" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles$9.pingFailure, children: [
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
|
|
9817
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { children: [
|
|
9818
|
+
"✕ Could not reach agent on ",
|
|
9819
|
+
machine.name,
|
|
9820
|
+
"."
|
|
9821
|
+
] }),
|
|
9822
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { style: { fontSize: "11px", marginTop: "6px", lineHeight: 1.5 }, children: [
|
|
9823
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "On the remote machine, check:" }),
|
|
9824
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
9825
|
+
"1. Is the agent running? ",
|
|
9826
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "netstat -ano | findstr 9741" }),
|
|
9827
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
9828
|
+
"2. Is devtunnel hosting? ",
|
|
9829
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("code", { children: [
|
|
9830
|
+
"devtunnel show ",
|
|
9831
|
+
tunnelId
|
|
9832
|
+
] }),
|
|
9833
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
9834
|
+
"3. Try restarting: ",
|
|
9835
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "Start-ScheduledTask -TaskName MaestroAgent" }),
|
|
9836
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
9837
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
9838
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("strong", { children: [
|
|
9839
|
+
"On this machine, check the terminal where ",
|
|
9840
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "npm run gui" }),
|
|
9841
|
+
" is running"
|
|
9842
|
+
] }),
|
|
9843
|
+
" — look for ",
|
|
9844
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "[AgentPool]" }),
|
|
9845
|
+
" log entries showing where the connection failed."
|
|
9846
|
+
] })
|
|
9819
9847
|
] })
|
|
9820
9848
|
] }),
|
|
9821
9849
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles$9.panelFooter, children: [
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src http://localhost:*" />
|
|
7
7
|
<title>Maestro</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-B6_qR_Gq.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="./assets/index-DBLgxEKP.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"AAqPA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAmNlD"}
|
package/dist/agent/install.js
CHANGED
|
@@ -23,21 +23,32 @@ import * as readline from 'readline';
|
|
|
23
23
|
const AGENT_DIR = 'C:\\maestro-agent';
|
|
24
24
|
const AGENT_PORT = 9741;
|
|
25
25
|
// ── Logging helpers ──────────────────────────────────────────────────────────
|
|
26
|
+
const RED = '\x1b[31m';
|
|
27
|
+
const GREEN = '\x1b[32m';
|
|
28
|
+
const YELLOW = '\x1b[33m';
|
|
29
|
+
const RESET = '\x1b[0m';
|
|
26
30
|
function log(msg) {
|
|
27
31
|
console.log(` ${msg}`);
|
|
28
32
|
}
|
|
29
33
|
function ok(msg) {
|
|
30
|
-
console.log(` ✓ ${msg}`);
|
|
34
|
+
console.log(` ${GREEN}✓ ${msg}${RESET}`);
|
|
31
35
|
}
|
|
32
36
|
function fail(msg) {
|
|
33
|
-
console.log(` ✗ ${msg}`);
|
|
37
|
+
console.log(` ${RED}✗ ${msg}${RESET}`);
|
|
38
|
+
}
|
|
39
|
+
function warn(msg) {
|
|
40
|
+
console.log(` ${YELLOW}⚠ ${msg}${RESET}`);
|
|
34
41
|
}
|
|
35
42
|
function step(n, title) {
|
|
36
43
|
console.log(`\n── Step ${n} ─ ${title} ${'─'.repeat(Math.max(0, 58 - title.length))}`);
|
|
37
44
|
}
|
|
38
45
|
function banner() {
|
|
39
46
|
console.log('\n🎵 Maestro Agent Setup');
|
|
40
|
-
console.log(' Configures this machine as a Maestro remote agent
|
|
47
|
+
console.log(' Configures this machine as a Maestro remote agent.');
|
|
48
|
+
if (process.platform === 'win32') {
|
|
49
|
+
console.log(' Tip: Run in an elevated shell (Run as Administrator) for Scheduled Task setup.');
|
|
50
|
+
}
|
|
51
|
+
console.log('');
|
|
41
52
|
}
|
|
42
53
|
// ── Prompts ──────────────────────────────────────────────────────────────────
|
|
43
54
|
function prompt(question, defaultValue) {
|
|
@@ -331,15 +342,19 @@ export async function installAgent() {
|
|
|
331
342
|
`$action1 = New-ScheduledTaskAction -Execute "node" -Argument "${agentPath}" -WorkingDirectory "${AGENT_DIR}"`,
|
|
332
343
|
`$action2 = New-ScheduledTaskAction -Execute "devtunnel" -Argument "host ${tunnelId}"`,
|
|
333
344
|
`$trigger = New-ScheduledTaskTrigger -AtLogon`,
|
|
334
|
-
`Register-ScheduledTask -TaskName "MaestroAgent" -Action $action1,$action2 -Trigger $trigger -
|
|
345
|
+
`Register-ScheduledTask -TaskName "MaestroAgent" -Action $action1,$action2 -Trigger $trigger -Force`,
|
|
335
346
|
].join('; ');
|
|
336
347
|
run(`powershell -NoProfile -Command "${psScript}"`, { silent: true });
|
|
337
348
|
ok('Scheduled Task "MaestroAgent" registered');
|
|
338
349
|
}
|
|
339
350
|
catch (err) {
|
|
340
|
-
fail('Failed to register Scheduled Task');
|
|
341
|
-
log(
|
|
342
|
-
log('
|
|
351
|
+
fail('Failed to register Scheduled Task — admin elevation required');
|
|
352
|
+
log('');
|
|
353
|
+
log('Re-run this command in an elevated (Run as Administrator) shell:');
|
|
354
|
+
log(' maestro --install-agent');
|
|
355
|
+
log('');
|
|
356
|
+
log('Only the Scheduled Task step needs elevation — all other steps');
|
|
357
|
+
log('completed successfully and will be skipped on re-run.');
|
|
343
358
|
}
|
|
344
359
|
// Start it now
|
|
345
360
|
try {
|
|
@@ -357,28 +372,70 @@ export async function installAgent() {
|
|
|
357
372
|
}
|
|
358
373
|
}
|
|
359
374
|
// ── Step 7: Verify ────────────────────────────────────────────────────────
|
|
360
|
-
step(7, 'Verifying');
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
375
|
+
step(7, 'Verifying agent connectivity');
|
|
376
|
+
const net = await import('net');
|
|
377
|
+
const maxAttempts = 15; // 15 attempts × 2s = 30s max wait
|
|
378
|
+
let verified = false;
|
|
379
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
380
|
+
process.stdout.write(` Waiting for agent on port ${AGENT_PORT}... (${attempt}/${maxAttempts})\r`);
|
|
381
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
382
|
+
try {
|
|
383
|
+
await new Promise((resolve, reject) => {
|
|
384
|
+
const sock = net.createConnection({ host: '127.0.0.1', port: AGENT_PORT }, () => {
|
|
385
|
+
sock.destroy();
|
|
386
|
+
resolve();
|
|
387
|
+
});
|
|
388
|
+
sock.on('error', reject);
|
|
389
|
+
sock.setTimeout(2000, () => { sock.destroy(); reject(new Error('timeout')); });
|
|
369
390
|
});
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
391
|
+
verified = true;
|
|
392
|
+
console.log(''); // clear the \r line
|
|
393
|
+
ok(`Agent listening on port ${AGENT_PORT}`);
|
|
394
|
+
break;
|
|
395
|
+
}
|
|
396
|
+
catch {
|
|
397
|
+
// Keep retrying
|
|
398
|
+
}
|
|
374
399
|
}
|
|
375
|
-
|
|
376
|
-
log(
|
|
377
|
-
|
|
400
|
+
if (!verified) {
|
|
401
|
+
console.log(''); // clear the \r line
|
|
402
|
+
fail(`Agent not listening on port ${AGENT_PORT} after 30s`);
|
|
403
|
+
log('');
|
|
404
|
+
log('Troubleshooting:');
|
|
405
|
+
log(` 1. Check if the Scheduled Task is running:`);
|
|
406
|
+
log(` Get-ScheduledTask -TaskName "MaestroAgent" | Select State`);
|
|
407
|
+
log(` 2. Try starting the agent manually:`);
|
|
408
|
+
log(` node ${agentPath}`);
|
|
409
|
+
log(` 3. Check if port ${AGENT_PORT} is already in use:`);
|
|
410
|
+
log(` netstat -ano | findstr ${AGENT_PORT}`);
|
|
411
|
+
log(` 4. Check the devtunnel is hosting:`);
|
|
412
|
+
log(` devtunnel host ${tunnelId}`);
|
|
413
|
+
}
|
|
414
|
+
// Verify devtunnel is hosting
|
|
415
|
+
if (verified) {
|
|
416
|
+
log('Checking devtunnel...');
|
|
417
|
+
try {
|
|
418
|
+
const tunnelOutput = run(`devtunnel show ${tunnelId}`, { silent: true });
|
|
419
|
+
if (tunnelOutput.includes(String(AGENT_PORT))) {
|
|
420
|
+
ok(`Tunnel "${tunnelId}" active with port ${AGENT_PORT}`);
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
warn(`Tunnel exists but port ${AGENT_PORT} not confirmed — check devtunnel host is running`);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
catch {
|
|
427
|
+
warn('Could not verify tunnel status — ensure "devtunnel host" is running');
|
|
428
|
+
}
|
|
378
429
|
}
|
|
379
430
|
// ── Done ──────────────────────────────────────────────────────────────────
|
|
380
431
|
console.log('\n── Done ────────────────────────────────────────────────────────');
|
|
381
|
-
|
|
382
|
-
|
|
432
|
+
if (verified) {
|
|
433
|
+
console.log(`\n ${GREEN}Tunnel ID: ${tunnelId}${RESET}`);
|
|
434
|
+
console.log(' Enter this as the Tunnel ID in Maestro\'s Machines view.\n');
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
console.log(`\n ${RED}Setup incomplete — agent verification failed.${RESET}`);
|
|
438
|
+
console.log(' Fix the issues above and re-run: maestro --install-agent\n');
|
|
439
|
+
}
|
|
383
440
|
}
|
|
384
441
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAS,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACtC,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,gFAAgF;AAEhF,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,EAAE,CAAC,GAAW;IACrB,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AAC5B,CAAC;AACD,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AAC5B,CAAC;AACD,SAAS,IAAI,CAAC,CAAS,EAAE,KAAa;IACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC;AACD,SAAS,MAAM;IACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACzE,CAAC;AAED,gFAAgF;AAEhF,SAAS,MAAM,CAAC,QAAgB,EAAE,YAAqB;IACrD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACjD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAEhF,SAAS,GAAG,CAAC,GAAW,EAAE,IAAyC;IACjE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,EAAE;YACnB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACjD,GAAG,EAAE,IAAI,EAAE,GAAG;YACd,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE;SACxC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,GAA2B,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpG,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,8BAA8B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAEhF,MAAM,YAAY,GAAG;;;;;eAKN,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDxB,CAAC;AAEF,gFAAgF;AAEhF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC;AAEF,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAE9D,oBAAoB;IACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,EAAE,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAEhC,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAE9E,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAA8B,CAAC;IAClE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,MAAM,OAAO,GAAG,SAAS,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAE1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAqE,CAAC;QAC7F,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAoC,CAAC;aACjF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,EAAE,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,CAAC;IAET,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,EAAE,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;IAE7B,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACX,EAAE,CAAC,eAAe,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAEhC,IAAI,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,GAAG,CAAC,2FAA2F,CAAC,CAAC;YACjG,YAAY,GAAG,IAAI,CAAC;YACpB,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC/C,GAAG,CAAC,yFAAyF,CAAC,CAAC;YAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,6BAA6B,CAAC,CAAC;IACpC,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,GAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,wCAAwC;YACxC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;gBACxC,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE;aACxC,CAAC,CAAC;YACH,EAAE,CAAC,0BAA0B,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,WAAW,WAAW,EAAE,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,GAAG,CAAC,oBAAoB,QAAQ,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,EAAE,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,WAAW,QAAQ,0BAA0B,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,yBAAyB,QAAQ,kBAAkB,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,UAAU,YAAY,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,QAAQ,UAAU,iCAAiC,CAAC,CAAC;IAC3D,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAEzC,IAAI,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAC9D,EAAE,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,GAAG,CAAC,yBAAyB,SAAS,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACvC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAClF,GAAG,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3D,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1C,EAAE,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAElC,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAEvC,iBAAiB,EAAE,CAAC;IAEpB,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QACxE,GAAG,CAAC,UAAU,SAAS,IAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,oBAAoB,QAAQ,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAC5E,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG;oBACf,iEAAiE,SAAS,wBAAwB,SAAS,GAAG;oBAC9G,2EAA2E,QAAQ,GAAG;oBACtF,8CAA8C;oBAC9C,sHAAsH;iBACvH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,GAAG,CAAC,mCAAmC,QAAQ,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,EAAE,CAAC,0CAA0C,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAC1C,GAAG,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACzD,CAAC;YAED,eAAe;YACf,IAAI,CAAC;gBACH,GAAG,CAAC,6EAA6E,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrG,EAAE,CAAC,wBAAwB,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAC5C,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;YAC3B,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAErB,mCAAmC;IACnC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE;gBAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,mCAAmC,UAAU,6BAA6B,CAAC,CAAC;QAChF,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;AAC9E,CAAC"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"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"}
|