omx(team): auto-checkpoint worker-1 [1]

This commit is contained in:
bellman
2026-05-15 11:03:35 +09:00
parent e199a392fb
commit fc35dc878c
2 changed files with 87 additions and 8 deletions

View File

@@ -221,9 +221,9 @@ const SLASH_COMMAND_SPECS: &[SlashCommandSpec] = &[
SlashCommandSpec {
name: "session",
aliases: &[],
summary: "List, switch, fork, or delete managed local sessions",
summary: "List, check, switch, fork, or delete managed local sessions",
argument_hint: Some(
"[list|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]",
"[list|exists <session-id>|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]",
),
resume_supported: false,
},
@@ -1590,7 +1590,17 @@ fn parse_session_command(args: &[&str]) -> Result<SlashCommand, SlashCommandPars
action: Some("list".to_string()),
target: None,
}),
["list", ..] => Err(usage_error("session", "[list|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]")),
["list", ..] => Err(usage_error("session", "[list|exists <session-id>|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]")),
["exists"] => Err(usage_error("session exists", "<session-id>")),
["exists", target] => Ok(SlashCommand::Session {
action: Some("exists".to_string()),
target: Some((*target).to_string()),
}),
["exists", ..] => Err(command_error(
"Unexpected arguments for /session exists.",
"session",
"/session exists <session-id>",
)),
["switch"] => Err(usage_error("session switch", "<session-id>")),
["switch", target] => Ok(SlashCommand::Session {
action: Some("switch".to_string()),
@@ -1637,10 +1647,10 @@ fn parse_session_command(args: &[&str]) -> Result<SlashCommand, SlashCommandPars
)),
[action, ..] => Err(command_error(
&format!(
"Unknown /session action '{action}'. Use list, switch <session-id>, fork [branch-name], or delete <session-id> [--force]."
"Unknown /session action '{action}'. Use list, exists <session-id>, switch <session-id>, fork [branch-name], or delete <session-id> [--force]."
),
"session",
"/session [list|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]",
"/session [list|exists <session-id>|switch <session-id>|fork [branch-name]|delete <session-id> [--force]]",
)),
}
}
@@ -4585,6 +4595,13 @@ mod tests {
path: Some("notes.txt".to_string())
}))
);
assert_eq!(
SlashCommand::parse("/session exists abc123"),
Ok(Some(SlashCommand::Session {
action: Some("exists".to_string()),
target: Some("abc123".to_string())
}))
);
assert_eq!(
SlashCommand::parse("/session switch abc123"),
Ok(Some(SlashCommand::Session {