clawdie-ai/scripts/jail-status.ts
Mevy Assistant fb4104e0c3 fix(cli): correct jail-list columns (Sam & Codex)
Use shared bastille list parser so IP/name/state are correct for wide bastille output.

---
Build: pass | Tests: pass — 1683 passed (104 files)
2026-04-21 23:45:26 +02:00

34 lines
942 B
TypeScript

import { hostd } from '../src/hostd/client.js';
import { parseBastilleList } from '../src/bastille-list.js';
const jailFilter = process.argv[2];
try {
const result = await hostd('bastille-list');
if (!result.ok) {
console.error('Failed to list jails:', result.error || result.output);
process.exit(1);
}
const jails = parseBastilleList(result.output);
const filtered = jailFilter
? jails.filter((j) => j.name === jailFilter)
: jails;
if (filtered.length === 0 && jailFilter) {
console.log(`No jail found: ${jailFilter}`);
process.exit(1);
}
console.log('JID\t\tState\t\tIP\t\tName');
console.log('-'.repeat(60));
for (const j of filtered) {
console.log(`${j.jid}\t\t${j.state}\t\t${j.ip}\t\t${j.name}`);
}
console.log(`\n${filtered.length} jail(s)`);
} catch (err) {
const msg = err instanceof Error ? err.message : String(err);
console.error('Error:', msg);
process.exit(1);
}