chore(mcp): add @rlwj-lab/opsxdb-mcp npm launcher package
Node wrapper that spawns the Go opsxdb-mcp binary (OPSXDB_MCP_BIN / PATH). Ready for npm publish --access public (requires 2FA OTP).
This commit is contained in:
1 parent
cd319ce7bd
commit
8ae1e438a1
5 files changed
+154
No files matched your search
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/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);
|
||||
});
|
||||
Reference in new issue
Block a user