diff --git a/crates/spacesh-cli/src/cli.rs b/crates/spacesh-cli/src/cli.rs index 132c582..eb97139 100644 --- a/crates/spacesh-cli/src/cli.rs +++ b/crates/spacesh-cli/src/cli.rs @@ -38,7 +38,11 @@ pub enum Sub { }, Close { surface_id: String }, Focus { surface_id: String }, - Restart { surface_id: String }, + Restart { + surface_id: String, + /// Relaunch the agent with its session-continue flag (e.g. claude --continue). + #[arg(long)] resume: bool, + }, Notify { #[arg(long)] surface: String, #[arg(long, value_enum)] state: StateArg, diff --git a/crates/spacesh-cli/src/mapping.rs b/crates/spacesh-cli/src/mapping.rs index cd6e52a..096a4b5 100644 --- a/crates/spacesh-cli/src/mapping.rs +++ b/crates/spacesh-cli/src/mapping.rs @@ -29,7 +29,7 @@ pub fn to_cmd(sub: Sub) -> Cmd { }, Sub::Close { surface_id } => Cmd::Close { surface_id: SurfaceId(surface_id) }, Sub::Focus { surface_id } => Cmd::Focus { surface_id: SurfaceId(surface_id) }, - Sub::Restart { surface_id } => Cmd::RestartSurface { surface_id: SurfaceId(surface_id) }, + Sub::Restart { surface_id, resume } => Cmd::RestartSurface { surface_id: SurfaceId(surface_id), resume }, Sub::Notify { surface, state } => Cmd::SetState { surface_id: SurfaceId(surface), state: state_of(state) }, Sub::ApplyPreset { workspace_id, preset, agents } => Cmd::ApplyPreset { workspace_id: WorkspaceId(workspace_id),