Node wrapper that spawns the Go opsxdb-mcp binary (OPSXDB_MCP_BIN / PATH). Ready for npm publish --access public (requires 2FA OTP).
40 lines
749 B
JavaScript
Executable File
40 lines
749 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
'use strict';
|
|
|
|
const { spawn } = require('child_process');
|
|
const {
|
|
resolveBinary,
|
|
missingBinaryMessage,
|
|
} = require('../dist/resolve-binary.js');
|
|
|
|
const bin = resolveBinary();
|
|
if (!bin) {
|
|
process.stderr.write(missingBinaryMessage());
|
|
process.exit(1);
|
|
}
|
|
|
|
const child = spawn(bin, process.argv.slice(2), {
|
|
stdio: 'inherit',
|
|
env: process.env,
|
|
windowsHide: true,
|
|
});
|
|
|
|
child.on('error', (err) => {
|
|
process.stderr.write(
|
|
`opsxdb-mcp: failed to start "${bin}": ${err.message}\n`
|
|
);
|
|
process.exit(1);
|
|
});
|
|
|
|
child.on('exit', (code, signal) => {
|
|
if (signal) {
|
|
try {
|
|
process.kill(process.pid, signal);
|
|
} catch {
|
|
process.exit(1);
|
|
}
|
|
return;
|
|
}
|
|
process.exit(code == null ? 1 : code);
|
|
});
|