← Files ArrowgramARCHIVED FILE
scripts/arrowgram-agent.mjs
1.14 KB · Oct 3, 2026 · 06:31 UTC
#!/usr/bin/env node
import { existsSync } from 'node:fs';
import path from 'node:path';
import { spawn } from 'node:child_process';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const pluginRoot = path.resolve(path.dirname(__filename), '..');
const repoRoot = path.resolve(pluginRoot, '..', '..');
const localBin = process.platform === 'win32'
? path.join(repoRoot, 'node_modules', '.bin', 'arrowgram-agent.cmd')
: path.join(repoRoot, 'node_modules', '.bin', 'arrowgram-agent');
const args = process.argv.slice(2);
const command = existsSync(localBin)
? { bin: process.execPath, args: [localBin, ...args] }
: { bin: 'npx', args: ['-y', '@hotdocx/arrowgram-agent@0.1.6', ...args] };
const child = spawn(command.bin, command.args, {
cwd: process.cwd(),
env: process.env,
stdio: 'inherit',
shell: process.platform === 'win32',
});
child.on('exit', (code, signal) => {
if (signal) {
process.kill(process.pid, signal);
return;
}
process.exit(code ?? 1);
});
child.on('error', (error) => {
console.error(error instanceof Error ? error.message : String(error));
process.exit(1);
});
SHA-256: de18d0da2350c97443956127d38f4a0cb0c23b087ee74b7be9237e0fed7a30e6