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); }