diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index b7d617d2a..b0a761bea 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -17,6 +17,7 @@ import { addStopOptions, runStopCommand } from "./commands/agent/stop.js"; import { addSendOptions, runSendCommand } from "./commands/agent/send.js"; import { addInspectOptions, runInspectCommand } from "./commands/agent/inspect.js"; import { addWaitOptions, runWaitCommand } from "./commands/agent/wait.js"; +import { addArchiveOptions, runArchiveCommand } from "./commands/agent/archive.js"; import { addAttachOptions, runAttachCommand } from "./commands/agent/attach.js"; import { withOutput } from "./output/index.js"; import { onboardCommand } from "./commands/onboard.js"; @@ -93,6 +94,10 @@ export function createCli(): Command { addWaitOptions(program.command("wait")), ).action(withOutput(runWaitCommand)); + addJsonAndDaemonHostOptions( + addArchiveOptions(program.command("archive")), + ).action(withOutput(runArchiveCommand)); + // Top-level local daemon shortcuts program.addCommand(onboardCommand()); program.addCommand(daemonStartCommand()); diff --git a/packages/cli/src/commands/agent/archive.ts b/packages/cli/src/commands/agent/archive.ts index 1f738c901..6dc2a57a2 100644 --- a/packages/cli/src/commands/agent/archive.ts +++ b/packages/cli/src/commands/agent/archive.ts @@ -1,4 +1,4 @@ -import type { Command } from "commander"; +import { Command } from "commander"; import { connectToDaemon, getDaemonHost, resolveAgentId } from "../../utils/client.js"; import type { CommandOptions, @@ -24,6 +24,13 @@ export const archiveSchema: OutputSchema = { ], }; +export function addArchiveOptions(cmd: Command): Command { + return cmd + .description('Archive an agent (soft-delete)') + .argument("", "Agent ID, prefix, or name") + .option("--force", "Force archive running agent (interrupts active run first)"); +} + export interface AgentArchiveOptions extends CommandOptions { force?: boolean; host?: string; diff --git a/packages/cli/src/commands/agent/index.ts b/packages/cli/src/commands/agent/index.ts index cd55b0c08..329f0403d 100644 --- a/packages/cli/src/commands/agent/index.ts +++ b/packages/cli/src/commands/agent/index.ts @@ -1,6 +1,6 @@ import { Command } from "commander"; import { runModeCommand } from "./mode.js"; -import { runArchiveCommand } from "./archive.js"; +import { addArchiveOptions, runArchiveCommand } from "./archive.js"; import { addDeleteOptions, runDeleteCommand } from "./delete.js"; import { addLsOptions, runLsCommand } from "./ls.js"; import { addRunOptions, runRunCommand } from "./run.js"; @@ -69,11 +69,7 @@ export function createAgentCommand(): Command { ).action(withOutput(runModeCommand)); addJsonAndDaemonHostOptions( - agent - .command("archive") - .description("Archive an agent (soft-delete)") - .argument("", "Agent ID, prefix, or name") - .option("--force", "Force archive running agent (interrupts active run first)"), + addArchiveOptions(agent.command("archive")), ).action(withOutput(runArchiveCommand)); addJsonAndDaemonHostOptions(