fix: make workers help backend specific

This commit is contained in:
2026-08-30 21:26:27 +09:00
parent 6398ca0893
commit 6df95bf981
+40 -5
View File
@@ -29,6 +29,7 @@ use tui::{LaunchMode, LaunchOptions};
enum Mode { enum Mode {
Help, Help,
ResumeHelp, ResumeHelp,
WorkersHelp,
MemoryLintHelp, MemoryLintHelp,
MemoryLint(LintCliOptions), MemoryLint(LintCliOptions),
Mcp(mcp_cli::McpCliCommand), Mcp(mcp_cli::McpCliCommand),
@@ -88,6 +89,10 @@ async fn main() -> ExitCode {
print_resume_help(); print_resume_help();
ExitCode::SUCCESS ExitCode::SUCCESS
} }
Mode::WorkersHelp => {
print_workers_help();
ExitCode::SUCCESS
}
Mode::MemoryLintHelp => { Mode::MemoryLintHelp => {
print_memory_lint_help(); print_memory_lint_help();
ExitCode::SUCCESS ExitCode::SUCCESS
@@ -838,11 +843,7 @@ fn parse_workers_args<R: CliConnectionResolver + ?Sized>(
while i < args.len() { while i < args.len() {
let arg = &args[i]; let arg = &args[i];
match arg.as_str() { match arg.as_str() {
"--help" | "-h" => { "--help" | "-h" => return Ok(Mode::WorkersHelp),
return Err(ParseError(
"usage: yoi [--local|--backend <URL>] [--workspace-id <ID>] workers [-r|--stopped] [--workspace <PATH>] [--runtime-id <ID>]".to_string(),
));
}
"-r" | "--restoreable" | "--stopped" => { "-r" | "--restoreable" | "--stopped" => {
include_stopped = true; include_stopped = true;
i += 1; i += 1;
@@ -1791,6 +1792,28 @@ fn print_help() {
println!("{TOP_LEVEL_HELP}"); println!("{TOP_LEVEL_HELP}");
} }
const WORKERS_HELP: &str = r#"yoi workers
Usage:
yoi --backend <URL> [--workspace-id <ID>] workers [-r|--stopped] [--workspace <PATH>] [--runtime-id <ID>]
Authority:
Lists Workers from the selected Backend Workspace. Standalone sessions are restored with
`yoi --local --resume` and are not part of the Workspace Worker catalog.
Options:
--backend <URL> Use this Workspace Backend
--workspace-id <ID> Scope Backend routes to a Workspace id
--workspace <PATH> Resolve Backend Workspace identity from this repository root
-r, --stopped List stopped Backend Workers
--runtime-id <ID> Restrict the Backend Worker picker to a Runtime id
-h, --help Print help
"#;
fn print_workers_help() {
println!("{WORKERS_HELP}");
}
const RESUME_HELP: &str = r#"yoi resume const RESUME_HELP: &str = r#"yoi resume
Usage: Usage:
@@ -2788,6 +2811,18 @@ backend = "shared"
} }
} }
#[test]
fn parse_workers_help_is_backend_only_and_target_independent() {
match parse_args_from(["workers", "--help"]).unwrap() {
Mode::WorkersHelp => {}
other => panic!("expected WorkersHelp mode, got {other:?}"),
}
assert!(WORKERS_HELP.contains("selected Backend Workspace"));
assert!(WORKERS_HELP.contains("--local --resume"));
assert!(!WORKERS_HELP.contains("[--local|--backend"));
assert!(!WORKERS_HELP.contains("local Worker records"));
}
#[test] #[test]
fn parse_resume_help_uses_standalone_session_store_terminology() { fn parse_resume_help_uses_standalone_session_store_terminology() {
match parse_args_from(["resume", "--help"]).unwrap() { match parse_args_from(["resume", "--help"]).unwrap() {