diff --git a/packages/cli/src/commands/help.ts b/packages/cli/src/commands/help.ts index 5107a8bc..00bde016 100644 --- a/packages/cli/src/commands/help.ts +++ b/packages/cli/src/commands/help.ts @@ -26,6 +26,10 @@ function getHelpUsageSection(): string { spawn delete Delete a previously spawned server (aliases: rm, destroy, kill) spawn delete -a Filter servers by agent spawn delete -c Filter servers by cloud + spawn status Show live state of cloud servers (aliases: ps) + spawn status -a Filter status by agent (or --agent) + spawn status -c Filter status by cloud (or --cloud) + spawn status --prune Remove gone servers from history spawn last Instantly rerun the most recent spawn (alias: rerun) spawn matrix Full availability matrix (alias: m) spawn agents List all agents with descriptions diff --git a/packages/cli/src/commands/status.ts b/packages/cli/src/commands/status.ts index 612b3d54..c0c8382a 100644 --- a/packages/cli/src/commands/status.ts +++ b/packages/cli/src/commands/status.ts @@ -247,8 +247,10 @@ function renderStatusJson(results: ServerStatusResult[]): void { // ── Main command ───────────────────────────────────────────────────────────── -export async function cmdStatus(opts: { prune?: boolean; json?: boolean } = {}): Promise { - const records = filterHistory(); +export async function cmdStatus( + opts: { prune?: boolean; json?: boolean; agentFilter?: string; cloudFilter?: string } = {}, +): Promise { + const records = filterHistory(opts.agentFilter, opts.cloudFilter); const candidates = records.filter( (r) => r.connection && !r.connection.deleted && r.connection.cloud && r.connection.cloud !== "local", diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index d3c26bac..5f1c03bb 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -586,9 +586,12 @@ async function dispatchStatusCommand(filteredArgs: string[]): Promise { const args = filteredArgs.slice(1); const prune = args.includes("--prune"); const json = args.includes("--json"); + const { agentFilter, cloudFilter } = parseListFilters(args); await cmdStatus({ prune, json, + agentFilter, + cloudFilter, }); }