@astroanywhere/agent 0.1.6 → 0.1.7
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-installer.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAatC;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CASzD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ssh-installer.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAatC;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CASzD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CAqEf;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5E;AAuBD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,kBAAuB,EAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAC/C,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAmE9B"}
|
|
@@ -74,15 +74,18 @@ export async function packAndInstall(opts, onProgress) {
|
|
|
74
74
|
const scpArgs = buildScpArgs(host, tarball, '~/astro-agent.tgz');
|
|
75
75
|
await execFile('scp', scpArgs);
|
|
76
76
|
// 3. Install to user-local prefix to avoid EACCES on system dirs
|
|
77
|
+
// Use $HOME instead of ~ because ~ is not expanded inside double quotes in zsh/bash
|
|
77
78
|
log(`Installing on ${host.name}...`);
|
|
78
|
-
const npmPrefix = '
|
|
79
|
-
await sshExec(host, `mkdir -p ${npmPrefix} && npm install -g --force --prefix ${npmPrefix}
|
|
80
|
-
// 4. Ensure
|
|
79
|
+
const npmPrefix = '$HOME/.local';
|
|
80
|
+
await sshExec(host, `mkdir -p ${npmPrefix} && npm install -g --force --prefix ${npmPrefix} $HOME/astro-agent.tgz`);
|
|
81
|
+
// 4. Ensure $HOME/.local/bin is on PATH for this session and future logins
|
|
81
82
|
const binDir = `${npmPrefix}/bin`;
|
|
82
83
|
const pathExport = `export PATH="${binDir}:$PATH"`;
|
|
84
|
+
// Use ~ in grep/echo for .bashrc since those are unquoted word-initial positions where ~ expands
|
|
85
|
+
const persistExport = 'export PATH="$HOME/.local/bin:$PATH"';
|
|
83
86
|
const pathSetup = [
|
|
84
|
-
`grep -qxF '${
|
|
85
|
-
`grep -qxF '${
|
|
87
|
+
`grep -qxF '${persistExport}' $HOME/.bashrc 2>/dev/null || echo '${persistExport}' >> $HOME/.bashrc`,
|
|
88
|
+
`grep -qxF '${persistExport}' $HOME/.profile 2>/dev/null || echo '${persistExport}' >> $HOME/.profile`,
|
|
86
89
|
].join(' && ');
|
|
87
90
|
await sshExec(host, pathSetup);
|
|
88
91
|
// 5. Run setup --non-interactive --skip-auth (with binDir on PATH)
|
|
@@ -112,7 +115,7 @@ export async function packAndInstall(opts, onProgress) {
|
|
|
112
115
|
child.on('error', reject);
|
|
113
116
|
});
|
|
114
117
|
// Clean up remote tarball
|
|
115
|
-
await sshExec(host, 'rm -f
|
|
118
|
+
await sshExec(host, 'rm -f $HOME/astro-agent.tgz').catch(() => { });
|
|
116
119
|
log(`Done — ${host.name} is configured`);
|
|
117
120
|
}
|
|
118
121
|
// ============================================================================
|
|
@@ -170,9 +173,9 @@ export async function startRemoteAgents(hosts, options = {}, onProgress) {
|
|
|
170
173
|
const log = (host, msg) => onProgress?.(host, msg);
|
|
171
174
|
for (const host of hosts) {
|
|
172
175
|
log(host.name, 'Checking for running agent...');
|
|
173
|
-
// 1. Check if already running
|
|
176
|
+
// 1. Check if already running (pgrep with ps aux fallback)
|
|
174
177
|
try {
|
|
175
|
-
const { stdout } = await sshExec(host, 'pgrep -f "astro-agent start"');
|
|
178
|
+
const { stdout } = await sshExec(host, 'pgrep -f "astro-agent start" 2>/dev/null || ps aux 2>/dev/null | grep "astro-agent start" | grep -v grep');
|
|
176
179
|
if (stdout.trim()) {
|
|
177
180
|
log(host.name, 'Agent already running');
|
|
178
181
|
results.push({ host, success: true, message: 'Already running', alreadyRunning: true });
|
|
@@ -183,8 +186,7 @@ export async function startRemoteAgents(hosts, options = {}, onProgress) {
|
|
|
183
186
|
// pgrep returns exit code 1 when no match — that's fine
|
|
184
187
|
}
|
|
185
188
|
// 2. Build start command with forwarded options
|
|
186
|
-
const
|
|
187
|
-
const pathExport = `export PATH="${binDir}:$PATH"`;
|
|
189
|
+
const pathExport = 'export PATH="$HOME/.local/bin:$PATH"';
|
|
188
190
|
const flags = ['--foreground'];
|
|
189
191
|
if (options.maxTasks)
|
|
190
192
|
flags.push(`--max-tasks ${options.maxTasks}`);
|
|
@@ -195,17 +197,17 @@ export async function startRemoteAgents(hosts, options = {}, onProgress) {
|
|
|
195
197
|
const startCmd = `astro-agent start ${flags.join(' ')}`;
|
|
196
198
|
log(host.name, 'Starting agent...');
|
|
197
199
|
try {
|
|
198
|
-
await sshExec(host, `${pathExport} && mkdir -p
|
|
200
|
+
await sshExec(host, `${pathExport} && mkdir -p $HOME/.astro/logs && nohup ${startCmd} > $HOME/.astro/logs/agent-runner.log 2>&1 & disown`);
|
|
199
201
|
}
|
|
200
202
|
catch (err) {
|
|
201
203
|
const msg = err instanceof Error ? err.message : String(err);
|
|
202
204
|
results.push({ host, success: false, message: `Failed to start: ${msg}` });
|
|
203
205
|
continue;
|
|
204
206
|
}
|
|
205
|
-
// 3. Verify after 2s
|
|
207
|
+
// 3. Verify after 2s — use ps aux fallback if pgrep is unavailable
|
|
206
208
|
await new Promise((r) => setTimeout(r, 2000));
|
|
207
209
|
try {
|
|
208
|
-
const { stdout } = await sshExec(host, 'pgrep -f "astro-agent start"');
|
|
210
|
+
const { stdout } = await sshExec(host, 'pgrep -f "astro-agent start" 2>/dev/null || ps aux 2>/dev/null | grep "astro-agent start" | grep -v grep');
|
|
209
211
|
if (stdout.trim()) {
|
|
210
212
|
log(host.name, 'Agent started successfully');
|
|
211
213
|
results.push({ host, success: true, message: 'Started' });
|
|
@@ -213,7 +215,7 @@ export async function startRemoteAgents(hosts, options = {}, onProgress) {
|
|
|
213
215
|
else {
|
|
214
216
|
// Fallback: check log tail
|
|
215
217
|
try {
|
|
216
|
-
const { stdout: logTail } = await sshExec(host, 'tail -5
|
|
218
|
+
const { stdout: logTail } = await sshExec(host, 'tail -5 $HOME/.astro/logs/agent-runner.log 2>/dev/null');
|
|
217
219
|
results.push({ host, success: false, message: `Process not found after start. Log tail:\n${logTail}` });
|
|
218
220
|
}
|
|
219
221
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-installer.js","sourceRoot":"","sources":["../../src/lib/ssh-installer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssh-installer.js","sourceRoot":"","sources":["../../src/lib/ssh-installer.ts"],"names":[],"mappings":"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"}
|