@cluesmith/codev 1.5.1 → 1.5.3
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/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +4 -0
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/consult.d.ts.map +1 -1
- package/dist/agent-farm/commands/consult.js +2 -4
- package/dist/agent-farm/commands/consult.js.map +1 -1
- package/dist/agent-farm/commands/start.d.ts +18 -0
- package/dist/agent-farm/commands/start.d.ts.map +1 -1
- package/dist/agent-farm/commands/start.js +152 -3
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/commands/stop.d.ts.map +1 -1
- package/dist/agent-farm/commands/stop.js +69 -1
- package/dist/agent-farm/commands/stop.js.map +1 -1
- package/dist/agent-farm/servers/dashboard-server.js +77 -0
- package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
- package/dist/agent-farm/servers/open-server.js +51 -10
- package/dist/agent-farm/servers/open-server.js.map +1 -1
- package/dist/agent-farm/types.d.ts +2 -0
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/terminal-ports.d.ts +18 -0
- package/dist/agent-farm/utils/terminal-ports.d.ts.map +1 -0
- package/dist/agent-farm/utils/terminal-ports.js +35 -0
- package/dist/agent-farm/utils/terminal-ports.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +8 -0
- package/dist/commands/update.js.map +1 -1
- package/package.json +3 -1
- package/templates/3d-viewer.html +799 -0
- package/templates/dashboard/js/tabs.js +49 -4
- package/templates/open.html +1 -0
- package/templates/stl-viewer.html +0 -528
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/agent-farm/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/agent-farm/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsWhE"}
|
package/dist/agent-farm/cli.js
CHANGED
|
@@ -45,7 +45,9 @@ export async function runAgentFarm(args) {
|
|
|
45
45
|
.option('-c, --cmd <command>', 'Command to run in architect terminal')
|
|
46
46
|
.option('-p, --port <port>', 'Port for architect terminal')
|
|
47
47
|
.option('--no-role', 'Skip loading architect role prompt')
|
|
48
|
+
.option('--no-browser', 'Skip opening browser after start')
|
|
48
49
|
.option('--allow-insecure-remote', 'Bind to 0.0.0.0 for remote access (WARNING: no auth)')
|
|
50
|
+
.option('-r, --remote <target>', 'Start Agent Farm on remote machine (user@host or user@host:/path)')
|
|
49
51
|
.action(async (options) => {
|
|
50
52
|
try {
|
|
51
53
|
const commands = getResolvedCommands();
|
|
@@ -53,7 +55,9 @@ export async function runAgentFarm(args) {
|
|
|
53
55
|
cmd: options.cmd || commands.architect,
|
|
54
56
|
port: options.port ? parseInt(options.port, 10) : undefined,
|
|
55
57
|
noRole: !options.role,
|
|
58
|
+
noBrowser: !options.browser,
|
|
56
59
|
allowInsecureRemote: options.allowInsecureRemote,
|
|
60
|
+
remote: options.remote,
|
|
57
61
|
});
|
|
58
62
|
}
|
|
59
63
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/agent-farm/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/agent-farm/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAuCf"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
import { getConfig } from '../utils/index.js';
|
|
8
8
|
import { logger, fatal } from '../utils/logger.js';
|
|
9
9
|
import { loadState } from '../state.js';
|
|
10
|
-
import path from 'node:path';
|
|
11
10
|
/**
|
|
12
11
|
* Run a consult command in a dashboard terminal
|
|
13
12
|
*/
|
|
@@ -18,9 +17,8 @@ export async function consult(subcommand, target, options) {
|
|
|
18
17
|
}
|
|
19
18
|
const config = getConfig();
|
|
20
19
|
const dashboardPort = config.dashboardPort;
|
|
21
|
-
// Build the consult command
|
|
22
|
-
|
|
23
|
-
let cmd = `${consultBin} --model ${options.model}`;
|
|
20
|
+
// Build the consult command (consult is now a proper CLI binary)
|
|
21
|
+
let cmd = `consult --model ${options.model}`;
|
|
24
22
|
if (options.type) {
|
|
25
23
|
cmd += ` --type ${options.type}`;
|
|
26
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consult.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"consult.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAkB,EAClB,MAAc,EACd,OAAuB;IAEvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE3C,iEAAiE;IACjE,IAAI,GAAG,GAAG,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,IAAI,WAAW,OAAO,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,GAAG,IAAI,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;IAElC,yDAAyD;IACzD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
|
@@ -2,8 +2,26 @@
|
|
|
2
2
|
* Start command - launches the architect dashboard
|
|
3
3
|
*/
|
|
4
4
|
import type { StartOptions } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Parsed remote target
|
|
7
|
+
*/
|
|
8
|
+
interface ParsedRemote {
|
|
9
|
+
user: string;
|
|
10
|
+
host: string;
|
|
11
|
+
remotePath?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check if a local port is available by attempting to bind to it.
|
|
15
|
+
* More reliable than fetch() which may miss some port conflicts.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isPortAvailable(port: number): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Parse remote target string: user@host or user@host:/path
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseRemote(remote: string): ParsedRemote;
|
|
5
22
|
/**
|
|
6
23
|
* Start the architect dashboard
|
|
7
24
|
*/
|
|
8
25
|
export declare function start(options?: StartOptions): Promise<void>;
|
|
26
|
+
export {};
|
|
9
27
|
//# sourceMappingURL=start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/start.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/start.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAQhE;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAOxD;AA+ID;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsJrE"}
|
|
@@ -1,14 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Start command - launches the architect dashboard
|
|
3
3
|
*/
|
|
4
|
-
import { resolve } from 'node:path';
|
|
4
|
+
import { resolve, basename } from 'node:path';
|
|
5
5
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
6
|
+
import { spawn } from 'node:child_process';
|
|
7
|
+
import * as net from 'node:net';
|
|
6
8
|
import { getConfig, ensureDirectories } from '../utils/index.js';
|
|
7
9
|
import { logger, fatal } from '../utils/logger.js';
|
|
8
10
|
import { spawnDetached, commandExists, openBrowser, run, spawnTtyd } from '../utils/shell.js';
|
|
9
11
|
import { checkCoreDependencies } from '../utils/deps.js';
|
|
10
12
|
import { loadState, setArchitect } from '../state.js';
|
|
11
13
|
import { handleOrphanedSessions, warnAboutStaleArtifacts } from '../utils/orphan-handler.js';
|
|
14
|
+
/**
|
|
15
|
+
* Check if a local port is available by attempting to bind to it.
|
|
16
|
+
* More reliable than fetch() which may miss some port conflicts.
|
|
17
|
+
*/
|
|
18
|
+
export function isPortAvailable(port) {
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
const server = net.createServer();
|
|
21
|
+
server.once('error', () => {
|
|
22
|
+
resolve(false);
|
|
23
|
+
});
|
|
24
|
+
server.once('listening', () => {
|
|
25
|
+
server.close(() => {
|
|
26
|
+
resolve(true);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
server.listen(port, '127.0.0.1');
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse remote target string: user@host or user@host:/path
|
|
34
|
+
*/
|
|
35
|
+
export function parseRemote(remote) {
|
|
36
|
+
// Match: user@host or user@host:/path
|
|
37
|
+
const match = remote.match(/^([^@]+)@([^:]+)(?::(.+))?$/);
|
|
38
|
+
if (!match) {
|
|
39
|
+
throw new Error(`Invalid remote format: ${remote}. Use user@host or user@host:/path`);
|
|
40
|
+
}
|
|
41
|
+
return { user: match[1], host: match[2], remotePath: match[3] };
|
|
42
|
+
}
|
|
12
43
|
/**
|
|
13
44
|
* Find and load a role file - tries local codev/roles/ first, falls back to bundled
|
|
14
45
|
*/
|
|
@@ -25,10 +56,125 @@ function loadRolePrompt(config, roleName) {
|
|
|
25
56
|
}
|
|
26
57
|
return null;
|
|
27
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Start Agent Farm on a remote machine via SSH
|
|
61
|
+
*/
|
|
62
|
+
async function startRemote(options) {
|
|
63
|
+
const config = getConfig();
|
|
64
|
+
const { user, host, remotePath } = parseRemote(options.remote);
|
|
65
|
+
const localPort = options.port || config.dashboardPort;
|
|
66
|
+
logger.header('Starting Remote Agent Farm');
|
|
67
|
+
logger.kv('Host', `${user}@${host}`);
|
|
68
|
+
if (remotePath)
|
|
69
|
+
logger.kv('Path', remotePath);
|
|
70
|
+
logger.kv('Local Port', localPort);
|
|
71
|
+
// Build the remote command
|
|
72
|
+
// If no path specified, use the current directory name to find project on remote
|
|
73
|
+
const projectName = basename(config.projectRoot);
|
|
74
|
+
const cdCommand = remotePath
|
|
75
|
+
? `cd ${remotePath}`
|
|
76
|
+
: `cd ${projectName} 2>/dev/null || cd ~/${projectName} 2>/dev/null`;
|
|
77
|
+
// Always pass --no-browser to remote since we open browser locally
|
|
78
|
+
const remoteCommand = `${cdCommand} && af start --port ${localPort} --no-browser`;
|
|
79
|
+
// Check if local port is already in use
|
|
80
|
+
const portAvailable = await isPortAvailable(localPort);
|
|
81
|
+
if (!portAvailable) {
|
|
82
|
+
fatal(`Port ${localPort} is already in use locally. Stop the existing service or use --port to specify a different port.`);
|
|
83
|
+
}
|
|
84
|
+
logger.info('Connecting via SSH...');
|
|
85
|
+
// Spawn SSH with port forwarding
|
|
86
|
+
const sshArgs = [
|
|
87
|
+
'-L', `${localPort}:localhost:${localPort}`,
|
|
88
|
+
'-t', // Force TTY for remote af start
|
|
89
|
+
'-o', 'ServerAliveInterval=30', // Keep connection alive
|
|
90
|
+
'-o', 'ServerAliveCountMax=3',
|
|
91
|
+
`${user}@${host}`,
|
|
92
|
+
remoteCommand,
|
|
93
|
+
];
|
|
94
|
+
const ssh = spawn('ssh', sshArgs, {
|
|
95
|
+
stdio: ['inherit', 'pipe', 'inherit'],
|
|
96
|
+
});
|
|
97
|
+
// Track if we've seen the dashboard URL
|
|
98
|
+
let dashboardReady = false;
|
|
99
|
+
let dashboardUrl = '';
|
|
100
|
+
// Parse SSH stdout for the dashboard URL
|
|
101
|
+
ssh.stdout?.on('data', (data) => {
|
|
102
|
+
const output = data.toString();
|
|
103
|
+
process.stdout.write(output); // Echo to user
|
|
104
|
+
// Look for dashboard URL in output
|
|
105
|
+
const dashboardMatch = output.match(/Dashboard:\s*(http:\/\/localhost:\d+)/);
|
|
106
|
+
if (dashboardMatch && !dashboardReady) {
|
|
107
|
+
dashboardReady = true;
|
|
108
|
+
dashboardUrl = dashboardMatch[1];
|
|
109
|
+
// Give it a moment to fully start, then open browser
|
|
110
|
+
setTimeout(async () => {
|
|
111
|
+
logger.blank();
|
|
112
|
+
logger.success('Remote Agent Farm connected!');
|
|
113
|
+
logger.kv('Dashboard', `http://localhost:${localPort}`);
|
|
114
|
+
logger.info('Press Ctrl+C to disconnect');
|
|
115
|
+
if (!options.noBrowser) {
|
|
116
|
+
await openBrowser(`http://localhost:${localPort}`);
|
|
117
|
+
}
|
|
118
|
+
}, 1000);
|
|
119
|
+
}
|
|
120
|
+
// Detect common remote errors
|
|
121
|
+
if (output.includes('command not found: af') || output.includes('af: command not found')) {
|
|
122
|
+
logger.blank();
|
|
123
|
+
logger.error('Agent Farm (af) is not installed on the remote machine');
|
|
124
|
+
logger.info('Install it with: npm install -g @cluesmith/codev');
|
|
125
|
+
}
|
|
126
|
+
if (output.includes('not a git repository') || output.includes('fatal: not a git repository')) {
|
|
127
|
+
logger.blank();
|
|
128
|
+
logger.error('Remote directory is not a git repository');
|
|
129
|
+
logger.info('Specify the correct path: af start --remote user@host:/path/to/project');
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
// Handle SSH exit
|
|
133
|
+
ssh.on('exit', (code) => {
|
|
134
|
+
logger.blank();
|
|
135
|
+
if (code === 0) {
|
|
136
|
+
logger.info('Remote session ended');
|
|
137
|
+
}
|
|
138
|
+
else if (code === 255) {
|
|
139
|
+
logger.error(`SSH connection failed to ${user}@${host}`);
|
|
140
|
+
logger.info('');
|
|
141
|
+
logger.info('Common causes:');
|
|
142
|
+
logger.info(' • Host unreachable: Check network/firewall and that the host is running');
|
|
143
|
+
logger.info(` • SSH keys: Run \`ssh-copy-id ${user}@${host}\` to set up key-based auth`);
|
|
144
|
+
logger.info(` • Unknown host: Run \`ssh ${user}@${host}\` once to add to known_hosts`);
|
|
145
|
+
}
|
|
146
|
+
else if (code === 127) {
|
|
147
|
+
logger.error('Command not found on remote machine');
|
|
148
|
+
logger.info('Ensure Agent Farm is installed: npm install -g @cluesmith/codev');
|
|
149
|
+
}
|
|
150
|
+
else if (code === 1) {
|
|
151
|
+
logger.error('Remote command failed');
|
|
152
|
+
logger.info('Check that:');
|
|
153
|
+
logger.info(' • The project path exists on the remote machine');
|
|
154
|
+
logger.info(' • You have permission to access the directory');
|
|
155
|
+
logger.info(' • Agent Farm dependencies (tmux, ttyd) are installed');
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
logger.error(`Remote session ended with exit code ${code}`);
|
|
159
|
+
}
|
|
160
|
+
process.exit(code || 0);
|
|
161
|
+
});
|
|
162
|
+
// Handle SIGINT to gracefully close SSH
|
|
163
|
+
process.on('SIGINT', () => {
|
|
164
|
+
logger.info('Closing remote connection...');
|
|
165
|
+
ssh.kill('SIGTERM');
|
|
166
|
+
});
|
|
167
|
+
// Keep the process alive
|
|
168
|
+
await new Promise(() => { }); // Never resolves - waits for SSH exit
|
|
169
|
+
}
|
|
28
170
|
/**
|
|
29
171
|
* Start the architect dashboard
|
|
30
172
|
*/
|
|
31
173
|
export async function start(options = {}) {
|
|
174
|
+
// Handle remote mode
|
|
175
|
+
if (options.remote) {
|
|
176
|
+
return startRemote(options);
|
|
177
|
+
}
|
|
32
178
|
const config = getConfig();
|
|
33
179
|
// Check for and clean up orphaned tmux sessions
|
|
34
180
|
await handleOrphanedSessions({ kill: true });
|
|
@@ -114,6 +260,7 @@ exec ${cmd} --append-system-prompt "$(cat '${roleFile}')"
|
|
|
114
260
|
if (options.allowInsecureRemote) {
|
|
115
261
|
logger.warn('⚠️ INSECURE MODE: Binding to 0.0.0.0 - accessible from any network!');
|
|
116
262
|
logger.warn(' No authentication - anyone on your network can access the terminal.');
|
|
263
|
+
logger.warn(' DEPRECATED: Use `af start --remote user@host` for secure remote access instead.');
|
|
117
264
|
}
|
|
118
265
|
const ttydProcess = spawnTtyd({
|
|
119
266
|
port: architectPort,
|
|
@@ -142,8 +289,10 @@ exec ${cmd} --append-system-prompt "$(cat '${roleFile}')"
|
|
|
142
289
|
logger.blank();
|
|
143
290
|
logger.success('Agent Farm started!');
|
|
144
291
|
logger.kv('Dashboard', `http://localhost:${dashboardPort}`);
|
|
145
|
-
// Open dashboard in browser
|
|
146
|
-
|
|
292
|
+
// Open dashboard in browser (unless --no-browser)
|
|
293
|
+
if (!options.noBrowser) {
|
|
294
|
+
await openBrowser(`http://localhost:${dashboardPort}`);
|
|
295
|
+
}
|
|
147
296
|
}
|
|
148
297
|
/**
|
|
149
298
|
* Wait for a server to respond on a given port
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/stop.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/stop.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6F1C"}
|
|
@@ -3,7 +3,47 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { loadState, clearState } from '../state.js';
|
|
5
5
|
import { logger } from '../utils/logger.js';
|
|
6
|
-
import { killProcess, isProcessRunning } from '../utils/shell.js';
|
|
6
|
+
import { killProcess, isProcessRunning, run } from '../utils/shell.js';
|
|
7
|
+
import { getConfig } from '../utils/config.js';
|
|
8
|
+
/**
|
|
9
|
+
* Find orphan agent-farm processes for this project that aren't in state
|
|
10
|
+
* Returns PIDs of orphaned processes
|
|
11
|
+
*/
|
|
12
|
+
async function findOrphanProcesses(trackedPids) {
|
|
13
|
+
const config = getConfig();
|
|
14
|
+
const projectRoot = config.projectRoot;
|
|
15
|
+
// Pattern to match agent-farm server processes for this project
|
|
16
|
+
// Matches: node .../dist/agent-farm/servers/dashboard-server.js
|
|
17
|
+
// node .../dist/agent-farm/servers/open-server.js
|
|
18
|
+
// node .../dist/agent-farm/servers/tower-server.js
|
|
19
|
+
const orphans = [];
|
|
20
|
+
try {
|
|
21
|
+
// Use ps to find node processes, then filter by our project path
|
|
22
|
+
const result = await run('ps -eo pid,command');
|
|
23
|
+
const lines = result.stdout.split('\n');
|
|
24
|
+
for (const line of lines) {
|
|
25
|
+
// Skip if doesn't contain our project path and agent-farm servers
|
|
26
|
+
if (!line.includes(projectRoot) || !line.includes('agent-farm/servers/')) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
// Extract PID (first number in the line)
|
|
30
|
+
const match = line.trim().match(/^(\d+)/);
|
|
31
|
+
if (!match)
|
|
32
|
+
continue;
|
|
33
|
+
const pid = parseInt(match[1], 10);
|
|
34
|
+
// Skip if this PID is tracked in state
|
|
35
|
+
if (trackedPids.has(pid)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
// This is an orphan
|
|
39
|
+
orphans.push(pid);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// ps command failed - ignore
|
|
44
|
+
}
|
|
45
|
+
return orphans;
|
|
46
|
+
}
|
|
7
47
|
/**
|
|
8
48
|
* Stop all agent farm processes
|
|
9
49
|
*/
|
|
@@ -11,6 +51,16 @@ export async function stop() {
|
|
|
11
51
|
const state = loadState();
|
|
12
52
|
logger.header('Stopping Agent Farm');
|
|
13
53
|
let stopped = 0;
|
|
54
|
+
// Collect all tracked PIDs for orphan detection
|
|
55
|
+
const trackedPids = new Set();
|
|
56
|
+
if (state.architect)
|
|
57
|
+
trackedPids.add(state.architect.pid);
|
|
58
|
+
for (const builder of state.builders)
|
|
59
|
+
trackedPids.add(builder.pid);
|
|
60
|
+
for (const util of state.utils)
|
|
61
|
+
trackedPids.add(util.pid);
|
|
62
|
+
for (const annotation of state.annotations)
|
|
63
|
+
trackedPids.add(annotation.pid);
|
|
14
64
|
// Stop architect
|
|
15
65
|
if (state.architect) {
|
|
16
66
|
logger.info(`Stopping architect (PID: ${state.architect.pid})`);
|
|
@@ -65,6 +115,24 @@ export async function stop() {
|
|
|
65
115
|
}
|
|
66
116
|
// Clear state
|
|
67
117
|
clearState();
|
|
118
|
+
// Find and kill orphan processes (not in state but running for this project)
|
|
119
|
+
const orphans = await findOrphanProcesses(trackedPids);
|
|
120
|
+
if (orphans.length > 0) {
|
|
121
|
+
logger.blank();
|
|
122
|
+
logger.info(`Found ${orphans.length} orphan process(es)`);
|
|
123
|
+
for (const pid of orphans) {
|
|
124
|
+
try {
|
|
125
|
+
if (await isProcessRunning(pid)) {
|
|
126
|
+
logger.info(` Killing orphan PID ${pid}`);
|
|
127
|
+
await killProcess(pid);
|
|
128
|
+
stopped++;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
logger.warn(` Failed to kill orphan ${pid}: ${error}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
68
136
|
logger.blank();
|
|
69
137
|
if (stopped > 0) {
|
|
70
138
|
logger.success(`Stopped ${stopped} process(es)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/stop.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,14 @@ import http from 'node:http';
|
|
|
7
7
|
import fs from 'node:fs';
|
|
8
8
|
import path from 'node:path';
|
|
9
9
|
import net from 'node:net';
|
|
10
|
+
import httpProxy from 'http-proxy';
|
|
10
11
|
import { spawn, execSync, exec } from 'node:child_process';
|
|
11
12
|
import { promisify } from 'node:util';
|
|
12
13
|
import { randomUUID } from 'node:crypto';
|
|
13
14
|
import { fileURLToPath } from 'node:url';
|
|
14
15
|
const execAsync = promisify(exec);
|
|
15
16
|
import { Command } from 'commander';
|
|
17
|
+
import { getPortForTerminal } from '../utils/terminal-ports.js';
|
|
16
18
|
import { loadState, getAnnotations, addAnnotation, removeAnnotation, getUtils, tryAddUtil, removeUtil, getBuilder, getBuilders, removeBuilder, upsertBuilder, clearState, } from '../state.js';
|
|
17
19
|
import { spawnTtyd } from '../utils/shell.js';
|
|
18
20
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -896,6 +898,20 @@ async function collectActivitySummary(projectRoot) {
|
|
|
896
898
|
}
|
|
897
899
|
// Insecure remote mode - set when bindHost is 0.0.0.0
|
|
898
900
|
const insecureRemoteMode = bindHost === '0.0.0.0';
|
|
901
|
+
// ============================================================
|
|
902
|
+
// Terminal Proxy (Spec 0062 - Secure Remote Access)
|
|
903
|
+
// ============================================================
|
|
904
|
+
// Create http-proxy instance for terminal proxying
|
|
905
|
+
const terminalProxy = httpProxy.createProxyServer({ ws: true });
|
|
906
|
+
// Handle proxy errors gracefully
|
|
907
|
+
terminalProxy.on('error', (err, req, res) => {
|
|
908
|
+
console.error('Terminal proxy error:', err.message);
|
|
909
|
+
if (res && 'writeHead' in res && !res.headersSent) {
|
|
910
|
+
res.writeHead(502, { 'Content-Type': 'application/json' });
|
|
911
|
+
res.end(JSON.stringify({ error: 'Terminal unavailable' }));
|
|
912
|
+
}
|
|
913
|
+
});
|
|
914
|
+
// getPortForTerminal is imported from utils/terminal-ports.ts (Spec 0062)
|
|
899
915
|
// Security: Validate request origin
|
|
900
916
|
function isRequestAllowed(req) {
|
|
901
917
|
// Skip all security checks in insecure remote mode
|
|
@@ -1634,6 +1650,22 @@ const server = http.createServer(async (req, res) => {
|
|
|
1634
1650
|
res.end('JS file not found');
|
|
1635
1651
|
return;
|
|
1636
1652
|
}
|
|
1653
|
+
// Terminal proxy route (Spec 0062 - Secure Remote Access)
|
|
1654
|
+
// Routes /terminal/:id to the appropriate ttyd instance
|
|
1655
|
+
const terminalMatch = url.pathname.match(/^\/terminal\/([^/]+)(\/.*)?$/);
|
|
1656
|
+
if (terminalMatch) {
|
|
1657
|
+
const terminalId = terminalMatch[1];
|
|
1658
|
+
const terminalPort = getPortForTerminal(terminalId, loadState());
|
|
1659
|
+
if (!terminalPort) {
|
|
1660
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
1661
|
+
res.end(JSON.stringify({ error: `Terminal not found: ${terminalId}` }));
|
|
1662
|
+
return;
|
|
1663
|
+
}
|
|
1664
|
+
// Rewrite the URL to strip the /terminal/:id prefix
|
|
1665
|
+
req.url = terminalMatch[2] || '/';
|
|
1666
|
+
terminalProxy.web(req, res, { target: `http://localhost:${terminalPort}` });
|
|
1667
|
+
return;
|
|
1668
|
+
}
|
|
1637
1669
|
// Serve dashboard
|
|
1638
1670
|
if (req.method === 'GET' && (url.pathname === '/' || url.pathname === '/index.html')) {
|
|
1639
1671
|
try {
|
|
@@ -1664,6 +1696,51 @@ const server = http.createServer(async (req, res) => {
|
|
|
1664
1696
|
res.end('Internal server error: ' + err.message);
|
|
1665
1697
|
}
|
|
1666
1698
|
});
|
|
1699
|
+
// WebSocket upgrade handler for terminal proxy (Spec 0062)
|
|
1700
|
+
// ttyd uses WebSocket for bidirectional terminal communication
|
|
1701
|
+
server.on('upgrade', (req, socket, head) => {
|
|
1702
|
+
// Security check
|
|
1703
|
+
const host = req.headers.host;
|
|
1704
|
+
if (!insecureRemoteMode && host && !host.startsWith('localhost') && !host.startsWith('127.0.0.1')) {
|
|
1705
|
+
socket.destroy();
|
|
1706
|
+
return;
|
|
1707
|
+
}
|
|
1708
|
+
const reqUrl = new URL(req.url || '/', `http://localhost:${port}`);
|
|
1709
|
+
const terminalMatch = reqUrl.pathname.match(/^\/terminal\/([^/]+)(\/.*)?$/);
|
|
1710
|
+
if (terminalMatch) {
|
|
1711
|
+
const terminalId = terminalMatch[1];
|
|
1712
|
+
const terminalPort = getPortForTerminal(terminalId, loadState());
|
|
1713
|
+
if (terminalPort) {
|
|
1714
|
+
// Rewrite URL to strip /terminal/:id prefix
|
|
1715
|
+
req.url = terminalMatch[2] || '/';
|
|
1716
|
+
terminalProxy.ws(req, socket, head, { target: `http://localhost:${terminalPort}` });
|
|
1717
|
+
}
|
|
1718
|
+
else {
|
|
1719
|
+
// Terminal not found - close the socket
|
|
1720
|
+
socket.destroy();
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
// Non-terminal WebSocket requests are ignored (socket will time out)
|
|
1724
|
+
});
|
|
1725
|
+
// Handle WebSocket proxy errors separately
|
|
1726
|
+
terminalProxy.on('error', (err, req, socket) => {
|
|
1727
|
+
console.error('WebSocket proxy error:', err.message);
|
|
1728
|
+
if (socket && 'destroy' in socket && typeof socket.destroy === 'function' && !socket.destroyed) {
|
|
1729
|
+
socket.destroy();
|
|
1730
|
+
}
|
|
1731
|
+
});
|
|
1732
|
+
// Handle server errors (e.g., port already in use)
|
|
1733
|
+
server.on('error', (err) => {
|
|
1734
|
+
if (err.code === 'EADDRINUSE') {
|
|
1735
|
+
console.error(`Error: Port ${port} is already in use.`);
|
|
1736
|
+
console.error(`Run 'lsof -i :${port}' to find the process, or use 'af ports cleanup' to clean up orphans.`);
|
|
1737
|
+
process.exit(1);
|
|
1738
|
+
}
|
|
1739
|
+
else {
|
|
1740
|
+
console.error(`Server error: ${err.message}`);
|
|
1741
|
+
process.exit(1);
|
|
1742
|
+
}
|
|
1743
|
+
});
|
|
1667
1744
|
if (bindHost) {
|
|
1668
1745
|
server.listen(port, bindHost, () => {
|
|
1669
1746
|
console.log(`Dashboard: http://${bindHost}:${port}`);
|