clawdie-ai/scripts/hostd-cli.ts

36 lines
945 B
TypeScript
Raw Permalink Normal View History

import { hostd } from '../src/hostd/client.js';
const [op, paramsRaw] = process.argv.slice(2);
if (!op) {
console.error('Usage: hostd-cli.ts <op> [json-params]');
console.error('Example: hostd-cli.ts bastille-list');
console.error(' hostd-cli.ts bastille-start \'{"jail": "db"}\'');
process.exit(1);
}
let params: Record<string, string | number | boolean> = {};
if (paramsRaw) {
try {
params = JSON.parse(paramsRaw);
} catch {
console.error('Invalid JSON params:', paramsRaw);
process.exit(1);
}
}
try {
const result = await hostd(op, params);
if (result.ok) {
console.log(result.output || 'ok');
} else {
console.error('FAIL:', result.error || result.output || 'unknown error');
process.exit(1);
}
} catch (err) {
const msg = err instanceof Error ? err.message : String(err);
console.error('hostd error:', msg);
console.error('Is the hostd daemon running?');
process.exit(1);
}