@rajat-rastogi/maestro 0.1.7 → 0.2.1

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.
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "maestro-gui",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "main": "out/main/main.js",
6
+ "scripts": {
7
+ "dev": "electron-vite dev",
8
+ "build": "electron-vite build",
9
+ "start": "electron .",
10
+ "preview": "electron-vite preview",
11
+ "rebuild": "electron-rebuild -f -w node-pty-prebuilt-multiarch"
12
+ },
13
+ "dependencies": {
14
+ "@xterm/addon-canvas": "^0.7.0",
15
+ "@xterm/addon-fit": "^0.10.0",
16
+ "@xterm/xterm": "^5.5.0",
17
+ "ini": "^4.1.3",
18
+ "node-pty": "^1.1.0",
19
+ "ssh2": "^1.16.0",
20
+ "ws": "^8.20.0",
21
+ "zustand": "^4.5.2"
22
+ },
23
+ "devDependencies": {
24
+ "@types/node": "^22.0.0",
25
+ "@types/react": "^18.3.3",
26
+ "@types/react-dom": "^18.3.0",
27
+ "@types/ssh2": "^1.15.0",
28
+ "@types/ws": "^8.18.1",
29
+ "@vitejs/plugin-react": "^4.3.1",
30
+ "electron": "^32.0.0",
31
+ "electron-rebuild": "^3.2.9",
32
+ "electron-vite": "^2.3.0",
33
+ "react": "^18.3.1",
34
+ "react-dom": "^18.3.1",
35
+ "typescript": "^5.6.0",
36
+ "vite": "^5.4.6"
37
+ }
38
+ }
@@ -0,0 +1,2 @@
1
+ export declare function installAgent(): Promise<void>;
2
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"AA6OA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA0KlD"}
@@ -0,0 +1,392 @@
1
+ /**
2
+ * maestro --install-agent
3
+ *
4
+ * Interactive setup wizard that configures a machine as a Maestro remote agent.
5
+ * Run this once on each remote machine (e.g. dev box) to enable terminal sessions.
6
+ *
7
+ * Steps:
8
+ * 1. Check prerequisites (Node.js, npm)
9
+ * 2. Install devtunnel via winget (if missing)
10
+ * 3. Login to devtunnel
11
+ * 4. Create tunnel + port 9741
12
+ * 5. Install agent dependencies (ws, node-pty)
13
+ * 6. Deploy agent script
14
+ * 7. Deploy Claude Code hooks (for status tracking)
15
+ * 8. Register Windows Scheduled Task (auto-start on login)
16
+ * 9. Start agent + verify connectivity
17
+ */
18
+ import * as fs from 'fs';
19
+ import * as os from 'os';
20
+ import * as path from 'path';
21
+ import { execSync, spawnSync } from 'child_process';
22
+ import * as readline from 'readline';
23
+ const AGENT_DIR = 'C:\\maestro-agent';
24
+ const AGENT_PORT = 9741;
25
+ // ── Logging helpers ──────────────────────────────────────────────────────────
26
+ function log(msg) {
27
+ console.log(` ${msg}`);
28
+ }
29
+ function ok(msg) {
30
+ console.log(` ✓ ${msg}`);
31
+ }
32
+ function fail(msg) {
33
+ console.log(` ✗ ${msg}`);
34
+ }
35
+ function step(n, title) {
36
+ console.log(`\n── Step ${n} ─ ${title} ${'─'.repeat(Math.max(0, 58 - title.length))}`);
37
+ }
38
+ function banner() {
39
+ console.log('\n🎵 Maestro Agent Setup');
40
+ console.log(' Configures this machine as a Maestro remote agent.');
41
+ if (process.platform === 'win32') {
42
+ console.log(' Tip: Run in an elevated shell (Run as Administrator) for Scheduled Task setup.');
43
+ }
44
+ console.log('');
45
+ }
46
+ // ── Prompts ──────────────────────────────────────────────────────────────────
47
+ function prompt(question, defaultValue) {
48
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
49
+ const suffix = defaultValue ? ` [${defaultValue}]` : '';
50
+ return new Promise((resolve) => {
51
+ rl.question(` ${question}${suffix}: `, (answer) => {
52
+ rl.close();
53
+ resolve(answer.trim() || defaultValue || '');
54
+ });
55
+ });
56
+ }
57
+ async function confirm(question, defaultYes = true) {
58
+ const answer = await prompt(`${question} ${defaultYes ? '[Y/n]' : '[y/N]'}`);
59
+ if (!answer)
60
+ return defaultYes;
61
+ return answer.toLowerCase().startsWith('y');
62
+ }
63
+ // ── Shell helpers ────────────────────────────────────────────────────────────
64
+ function run(cmd, opts) {
65
+ const silent = opts?.silent ?? false;
66
+ if (!silent)
67
+ log(`Running: ${cmd}`);
68
+ try {
69
+ return execSync(cmd, {
70
+ encoding: 'utf8',
71
+ stdio: silent ? 'pipe' : ['pipe', 'pipe', 'pipe'],
72
+ cwd: opts?.cwd,
73
+ env: { ...process.env, ...wingetEnv() },
74
+ }).trim();
75
+ }
76
+ catch (err) {
77
+ const msg = err instanceof Error ? err.stderr ?? err.message : String(err);
78
+ if (!silent)
79
+ fail(`Command failed: ${msg.trim()}`);
80
+ throw err;
81
+ }
82
+ }
83
+ function commandExists(cmd) {
84
+ try {
85
+ if (process.platform === 'win32') {
86
+ execSync(`where ${cmd}`, { stdio: 'pipe' });
87
+ }
88
+ else {
89
+ execSync(`which ${cmd}`, { stdio: 'pipe' });
90
+ }
91
+ return true;
92
+ }
93
+ catch {
94
+ return false;
95
+ }
96
+ }
97
+ function wingetEnv() {
98
+ const env = {};
99
+ const local = process.env.LOCALAPPDATA ?? '';
100
+ if (local) {
101
+ env.PATH = `${local}\\Microsoft\\WinGet\\Links;${process.env.PATH ?? ''}`;
102
+ }
103
+ return env;
104
+ }
105
+ // ── Agent script ─────────────────────────────────────────────────────────────
106
+ const AGENT_SCRIPT = `// maestro-agent.js — Maestro remote agent
107
+ // Auto-generated by: maestro --install-agent
108
+ const { WebSocketServer } = require('ws');
109
+ const pty = require('node-pty');
110
+
111
+ const PORT = ${AGENT_PORT};
112
+ const sessions = new Map();
113
+
114
+ const wss = new WebSocketServer({ host: '127.0.0.1', port: PORT });
115
+
116
+ wss.on('connection', (ws) => {
117
+ console.log('[agent] client connected');
118
+ ws.on('message', (raw) => {
119
+ const msg = JSON.parse(raw.toString());
120
+ switch (msg.type) {
121
+ case 'ping':
122
+ ws.send(JSON.stringify({ type: 'pong' }));
123
+ break;
124
+ case 'create': {
125
+ const proc = pty.spawn('powershell.exe', [], {
126
+ name: 'xterm-256color', cols: msg.cols, rows: msg.rows, cwd: msg.cwd,
127
+ env: { ...process.env },
128
+ });
129
+ sessions.set(msg.id, proc);
130
+ proc.onData((data) => ws.send(JSON.stringify({ type: 'data', id: msg.id, data: Buffer.from(data).toString('base64') })));
131
+ proc.onExit(({ exitCode }) => { sessions.delete(msg.id); ws.send(JSON.stringify({ type: 'exit', id: msg.id, code: exitCode })); });
132
+ ws.send(JSON.stringify({ type: 'created', id: msg.id }));
133
+ console.log('[agent] session created:', msg.id);
134
+ break;
135
+ }
136
+ case 'input': sessions.get(msg.id)?.write(msg.data); break;
137
+ case 'resize': sessions.get(msg.id)?.resize(msg.cols, msg.rows); break;
138
+ case 'destroy': sessions.get(msg.id)?.kill(); sessions.delete(msg.id); break;
139
+ case 'listDir': {
140
+ const fs = require('fs');
141
+ try {
142
+ const entries = fs.readdirSync(msg.path, { withFileTypes: true })
143
+ .filter((e) => e.isDirectory() || e.isFile())
144
+ .map((e) => ({ name: e.name, isDir: e.isDirectory() }))
145
+ .sort((a, b) => (a.isDir !== b.isDir ? (a.isDir ? -1 : 1) : a.name.localeCompare(b.name)));
146
+ ws.send(JSON.stringify({ type: 'dirList', id: msg.id, entries }));
147
+ } catch { ws.send(JSON.stringify({ type: 'dirList', id: msg.id, entries: [] })); }
148
+ break;
149
+ }
150
+ case 'readFile': {
151
+ const fs = require('fs');
152
+ const os = require('os');
153
+ let filePath = msg.path;
154
+ if (filePath.startsWith('~/')) filePath = os.homedir() + filePath.slice(1);
155
+ try {
156
+ const content = fs.readFileSync(filePath, 'utf8');
157
+ ws.send(JSON.stringify({ type: 'fileContent', id: msg.id, content }));
158
+ } catch { ws.send(JSON.stringify({ type: 'fileContent', id: msg.id, content: '' })); }
159
+ break;
160
+ }
161
+ }
162
+ });
163
+ ws.on('close', () => { console.log('[agent] client disconnected'); for (const [, proc] of sessions) proc.kill(); sessions.clear(); });
164
+ });
165
+
166
+ console.log(\`[agent] Maestro agent listening on ws://127.0.0.1:\${PORT}\`);
167
+ `;
168
+ // ── Claude hooks ─────────────────────────────────────────────────────────────
169
+ const HOOK_SCRIPT = `// maestro-hook.js — Claude Code status hook
170
+ // Auto-generated by: maestro --install-agent
171
+ const fs = require('fs');
172
+ const path = require('path');
173
+ const os = require('os');
174
+
175
+ let input = '';
176
+ process.stdin.on('data', d => input += d);
177
+ process.stdin.on('end', () => {
178
+ try {
179
+ const data = JSON.parse(input);
180
+ const event = data.hook_event_name;
181
+ let status;
182
+ if (event === 'UserPromptSubmit' || event === 'PreToolUse') status = 'RUNNING';
183
+ else if (event === 'Stop' || event === 'Notification') status = 'WAITING';
184
+ if (status) {
185
+ const file = path.join(os.homedir(), '.claude', 'session-status.txt');
186
+ fs.writeFileSync(file, status);
187
+ }
188
+ } catch {}
189
+ });
190
+ `;
191
+ function deployClaudeHooks() {
192
+ const claudeDir = path.join(os.homedir(), '.claude');
193
+ try {
194
+ fs.mkdirSync(claudeDir, { recursive: true });
195
+ }
196
+ catch { }
197
+ // Write hook script
198
+ const hookPath = path.join(claudeDir, 'maestro-hook.js');
199
+ fs.writeFileSync(hookPath, HOOK_SCRIPT);
200
+ ok(`Hook script → ${hookPath}`);
201
+ // Update settings.json
202
+ const settingsFile = path.join(claudeDir, 'settings.json');
203
+ let settings = {};
204
+ try {
205
+ settings = JSON.parse(fs.readFileSync(settingsFile, 'utf8'));
206
+ }
207
+ catch { }
208
+ const hooks = (settings.hooks ?? {});
209
+ settings.hooks = hooks;
210
+ const hookCmd = `node "${hookPath.replace(/\\/g, '/')}"`;
211
+ const events = ['UserPromptSubmit', 'PreToolUse', 'Stop', 'Notification'];
212
+ for (const event of events) {
213
+ if (!hooks[event])
214
+ hooks[event] = [];
215
+ const arr = hooks[event];
216
+ const has = arr.some(r => r.hooks?.some(h => h.command?.includes('maestro')));
217
+ if (!has) {
218
+ arr.push({
219
+ matcher: '',
220
+ hooks: [{ type: 'command', command: hookCmd }],
221
+ });
222
+ }
223
+ }
224
+ fs.writeFileSync(settingsFile, JSON.stringify(settings, null, 2));
225
+ ok(`Claude settings → ${settingsFile}`);
226
+ }
227
+ // ── Main installer ───────────────────────────────────────────────────────────
228
+ export async function installAgent() {
229
+ banner();
230
+ // ── Step 1: Prerequisites ─────────────────────────────────────────────────
231
+ step(1, 'Checking prerequisites');
232
+ const nodeVersion = process.version;
233
+ ok(`Node.js ${nodeVersion}`);
234
+ let hasNpm = commandExists('npm');
235
+ if (hasNpm) {
236
+ ok('npm available');
237
+ }
238
+ else {
239
+ fail('npm not found — please install Node.js LTS');
240
+ process.exit(1);
241
+ }
242
+ // ── Step 2: devtunnel ─────────────────────────────────────────────────────
243
+ step(2, 'Setting up devtunnel');
244
+ let hasDevtunnel = commandExists('devtunnel');
245
+ if (!hasDevtunnel) {
246
+ log('devtunnel not found, installing via winget...');
247
+ try {
248
+ run('winget install Microsoft.devtunnel --accept-package-agreements --accept-source-agreements');
249
+ hasDevtunnel = true;
250
+ ok('devtunnel installed');
251
+ }
252
+ catch {
253
+ fail('Failed to install devtunnel via winget');
254
+ log('Please install manually: https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/');
255
+ process.exit(1);
256
+ }
257
+ }
258
+ else {
259
+ ok('devtunnel already installed');
260
+ }
261
+ // Check if logged in
262
+ try {
263
+ run('devtunnel user show', { silent: true });
264
+ ok('devtunnel authenticated');
265
+ }
266
+ catch {
267
+ log('Not logged in to devtunnel. Logging in...');
268
+ try {
269
+ // Interactive login — needs user action
270
+ spawnSync('devtunnel', ['user', 'login'], {
271
+ stdio: 'inherit',
272
+ env: { ...process.env, ...wingetEnv() },
273
+ });
274
+ ok('devtunnel login complete');
275
+ }
276
+ catch {
277
+ fail('devtunnel login failed');
278
+ process.exit(1);
279
+ }
280
+ }
281
+ // Create tunnel
282
+ const machineName = os.hostname().toLowerCase();
283
+ const tunnelId = await prompt('Tunnel name', `maestro-${machineName}`);
284
+ try {
285
+ run(`devtunnel create ${tunnelId} --allow-anonymous`, { silent: true });
286
+ ok(`Tunnel created: ${tunnelId}`);
287
+ }
288
+ catch {
289
+ log(`Tunnel "${tunnelId}" may already exist (OK)`);
290
+ }
291
+ try {
292
+ run(`devtunnel port create ${tunnelId} --port-number ${AGENT_PORT}`, { silent: true });
293
+ ok(`Port ${AGENT_PORT} forwarded`);
294
+ }
295
+ catch {
296
+ log(`Port ${AGENT_PORT} may already be configured (OK)`);
297
+ }
298
+ // ── Step 3: Agent dependencies ────────────────────────────────────────────
299
+ step(3, 'Installing agent dependencies');
300
+ try {
301
+ fs.mkdirSync(AGENT_DIR, { recursive: true });
302
+ }
303
+ catch { }
304
+ ok(`Agent directory: ${AGENT_DIR}`);
305
+ try {
306
+ run(`npm install --prefix "${AGENT_DIR}" ws node-pty`, { silent: true });
307
+ ok('ws + node-pty installed');
308
+ }
309
+ catch (err) {
310
+ fail('Failed to install dependencies');
311
+ log('You may need to install Visual Studio Build Tools for node-pty compilation');
312
+ log(`Error: ${err instanceof Error ? err.message : String(err)}`);
313
+ process.exit(1);
314
+ }
315
+ // ── Step 4: Deploy agent script ───────────────────────────────────────────
316
+ step(4, 'Deploying agent');
317
+ const agentPath = path.join(AGENT_DIR, 'maestro-agent.js');
318
+ fs.writeFileSync(agentPath, AGENT_SCRIPT);
319
+ ok(`Agent script → ${agentPath}`);
320
+ // ── Step 5: Deploy Claude hooks ───────────────────────────────────────────
321
+ step(5, 'Deploying Claude Code hooks');
322
+ deployClaudeHooks();
323
+ // ── Step 6: Scheduled Task ────────────────────────────────────────────────
324
+ step(6, 'Registering Scheduled Task');
325
+ if (process.platform !== 'win32') {
326
+ log('Skipping Scheduled Task (not Windows). Start the agent manually:');
327
+ log(` node ${agentPath} &`);
328
+ log(` devtunnel host ${tunnelId} &`);
329
+ }
330
+ else {
331
+ const shouldRegister = await confirm('Register auto-start Scheduled Task?');
332
+ if (shouldRegister) {
333
+ try {
334
+ const psScript = [
335
+ `$action1 = New-ScheduledTaskAction -Execute "node" -Argument "${agentPath}" -WorkingDirectory "${AGENT_DIR}"`,
336
+ `$action2 = New-ScheduledTaskAction -Execute "devtunnel" -Argument "host ${tunnelId}"`,
337
+ `$trigger = New-ScheduledTaskTrigger -AtLogon`,
338
+ `Register-ScheduledTask -TaskName "MaestroAgent" -Action $action1,$action2 -Trigger $trigger -Force`,
339
+ ].join('; ');
340
+ run(`powershell -NoProfile -Command "${psScript}"`, { silent: true });
341
+ ok('Scheduled Task "MaestroAgent" registered');
342
+ }
343
+ catch (err) {
344
+ fail('Failed to register Scheduled Task — admin elevation required');
345
+ log('');
346
+ log('Re-run this command in an elevated (Run as Administrator) shell:');
347
+ log(' maestro --install-agent');
348
+ log('');
349
+ log('Only the Scheduled Task step needs elevation — all other steps');
350
+ log('completed successfully and will be skipped on re-run.');
351
+ }
352
+ // Start it now
353
+ try {
354
+ run('powershell -NoProfile -Command "Start-ScheduledTask -TaskName MaestroAgent"', { silent: true });
355
+ ok('Scheduled Task started');
356
+ }
357
+ catch {
358
+ log('Could not start task — it will start on next login');
359
+ }
360
+ }
361
+ else {
362
+ log('Skipped. Start manually when needed:');
363
+ log(` node ${agentPath}`);
364
+ log(` devtunnel host ${tunnelId}`);
365
+ }
366
+ }
367
+ // ── Step 7: Verify ────────────────────────────────────────────────────────
368
+ step(7, 'Verifying');
369
+ // Give the agent a moment to start
370
+ await new Promise((r) => setTimeout(r, 2000));
371
+ try {
372
+ const net = await import('net');
373
+ await new Promise((resolve, reject) => {
374
+ const sock = net.createConnection({ host: '127.0.0.1', port: AGENT_PORT }, () => {
375
+ sock.destroy();
376
+ resolve();
377
+ });
378
+ sock.on('error', reject);
379
+ sock.setTimeout(3000, () => { sock.destroy(); reject(new Error('timeout')); });
380
+ });
381
+ ok(`Agent listening on port ${AGENT_PORT}`);
382
+ }
383
+ catch {
384
+ log(`Agent not yet listening on port ${AGENT_PORT} — it may still be starting`);
385
+ log(`Verify manually: node ${agentPath}`);
386
+ }
387
+ // ── Done ──────────────────────────────────────────────────────────────────
388
+ console.log('\n── Done ────────────────────────────────────────────────────────');
389
+ console.log(`\n Tunnel ID: ${tunnelId}`);
390
+ console.log(' Enter this as the Tunnel ID in Maestro\'s Machines view.\n');
391
+ }
392
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/agent/install.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -45,7 +45,9 @@ program
45
45
  .option('--dump-defaults <dir>', 'Extract embedded defaults to directory')
46
46
  .option('--config-dir <dir>', 'Override config directory')
47
47
  .option('--config', 'Open web UI to view and edit maestro configuration')
48
- .option('--docs', 'Open full reference documentation in browser');
48
+ .option('--docs', 'Open full reference documentation in browser')
49
+ .option('--gui', 'Open the Maestro desktop GUI (Electron app)')
50
+ .option('--install-agent', 'Set up this machine as a Maestro remote agent');
49
51
  function collect(value, previous) {
50
52
  return previous.concat([value]);
51
53
  }
@@ -130,6 +132,59 @@ async function main() {
130
132
  openBrowser(process.platform === 'win32' ? helpPath : fileUrl);
131
133
  process.exit(0);
132
134
  }
135
+ if (opts['installAgent']) {
136
+ const { installAgent } = await import('./agent/install.js');
137
+ await installAgent();
138
+ process.exit(0);
139
+ }
140
+ if (opts['gui']) {
141
+ const { fileURLToPath } = await import('url');
142
+ const { execSync: execSyncGui } = await import('child_process');
143
+ const pkgRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
144
+ const appDir = path.join(pkgRoot, 'app');
145
+ const guiMain = path.join(appDir, 'out', 'main', 'main.js');
146
+ if (!fs.existsSync(guiMain)) {
147
+ // Fallback: dev mode (run from source)
148
+ logger.info('Built GUI not found — launching dev mode');
149
+ const cmdSuffix = process.platform === 'win32' ? '.cmd' : '';
150
+ const child = spawn(`npm${cmdSuffix}`, ['run', 'dev'], {
151
+ cwd: appDir, detached: true, stdio: 'ignore',
152
+ });
153
+ child.unref();
154
+ process.exit(0);
155
+ }
156
+ // Check if app dependencies are installed
157
+ const electronBin = path.join(appDir, 'node_modules', '.bin', process.platform === 'win32' ? 'electron.cmd' : 'electron');
158
+ if (!fs.existsSync(electronBin)) {
159
+ logger.info('First run — installing GUI dependencies (this may take a minute)...');
160
+ try {
161
+ execSyncGui('npm install', { cwd: appDir, stdio: 'inherit' });
162
+ logger.info('Dependencies installed');
163
+ }
164
+ catch (err) {
165
+ console.error(`Failed to install GUI dependencies: ${err instanceof Error ? err.message : String(err)}`);
166
+ console.error('Try running manually: cd app && npm install');
167
+ process.exit(1);
168
+ }
169
+ // Rebuild native modules for Electron's Node version
170
+ logger.info('Rebuilding native modules for Electron...');
171
+ try {
172
+ execSyncGui('npx electron-rebuild -f -w node-pty', { cwd: appDir, stdio: 'inherit' });
173
+ logger.info('Native modules rebuilt');
174
+ }
175
+ catch {
176
+ logger.info('electron-rebuild not available — native modules may need manual rebuild');
177
+ }
178
+ }
179
+ // Launch Electron
180
+ const electronArgs = planFile
181
+ ? [guiMain, '--plan-file', planFile]
182
+ : [guiMain];
183
+ const child = spawn(electronBin, electronArgs, { detached: true, stdio: 'ignore' });
184
+ child.unref();
185
+ logger.info('Maestro GUI launched');
186
+ process.exit(0);
187
+ }
133
188
  if (opts['config']) {
134
189
  const { ConfigServer } = await import('./config/configserver.js');
135
190
  const globalConfigPath = path.join(config.config_dir, 'config');
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rajat-rastogi/maestro",
3
- "version": "0.1.7",
3
+ "version": "0.2.1",
4
4
  "description": "Conduct your codebase — autonomous AI coding orchestrator",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -14,16 +14,22 @@
14
14
  "dist/**/*.d.ts.map",
15
15
  "dist/dashboard/assets/",
16
16
  "defaults/",
17
+ "app/out/",
18
+ "app/package.json",
19
+ "app/package-lock.json",
20
+ "app/index.html",
17
21
  "README.md",
18
22
  "LICENSE"
19
23
  ],
20
24
  "scripts": {
21
25
  "build": "tsc && node --input-type=module -e \"import{cpSync}from'fs';try{cpSync('src/dashboard/assets','dist/dashboard/assets',{recursive:true,force:true})}catch{}\"",
22
26
  "build-exe": "node scripts/build-exe.mjs",
23
- "prepublishOnly": "npm run build",
27
+ "prepublishOnly": "npm run build && npm run gui:build",
24
28
  "dev": "ts-node --esm src/main.ts",
25
29
  "start": "node dist/main.js",
26
- "clean": "rimraf dist"
30
+ "clean": "rimraf dist",
31
+ "gui": "cd app && npm run dev",
32
+ "gui:build": "cd app && npm run build"
27
33
  },
28
34
  "keywords": [
29
35
  "ai",
@@ -51,9 +57,11 @@
51
57
  },
52
58
  "dependencies": {
53
59
  "commander": "^12.1.0",
54
- "ini": "^4.1.3"
60
+ "ini": "^4.1.3",
61
+ "node-pty": "^1.1.0"
55
62
  },
56
63
  "devDependencies": {
64
+ "@electron/rebuild": "^4.0.3",
57
65
  "@types/ini": "^4.1.1",
58
66
  "@types/node": "^22.0.0",
59
67
  "esbuild": "^0.24.0",