diff options
Diffstat (limited to 'makima/src/daemon/cli')
| -rw-r--r-- | makima/src/daemon/cli/mod.rs | 3 | ||||
| -rw-r--r-- | makima/src/daemon/cli/supervisor.rs | 26 |
2 files changed, 29 insertions, 0 deletions
diff --git a/makima/src/daemon/cli/mod.rs b/makima/src/daemon/cli/mod.rs index 24c19c6..66c7941 100644 --- a/makima/src/daemon/cli/mod.rs +++ b/makima/src/daemon/cli/mod.rs @@ -76,6 +76,9 @@ pub enum SupervisorCommand { /// Get contract status Status(SupervisorArgs), + + /// Ask a question and wait for user feedback + Ask(supervisor::AskArgs), } /// Contract subcommands for task-contract interaction. diff --git a/makima/src/daemon/cli/supervisor.rs b/makima/src/daemon/cli/supervisor.rs index 00c7ff4..017730d 100644 --- a/makima/src/daemon/cli/supervisor.rs +++ b/makima/src/daemon/cli/supervisor.rs @@ -42,6 +42,10 @@ pub struct SpawnArgs { /// Checkpoint SHA to start from #[arg(long)] pub checkpoint: Option<String>, + + /// Repository URL (local path or remote URL). If not provided, will try to detect from current directory. + #[arg(long)] + pub repo: Option<String>, } /// Arguments for wait command. @@ -144,3 +148,25 @@ pub struct CheckpointArgs { /// Checkpoint message pub message: String, } + +/// Arguments for ask command (ask user a question). +#[derive(Args, Debug)] +pub struct AskArgs { + #[command(flatten)] + pub common: SupervisorArgs, + + /// The question to ask + pub question: String, + + /// Optional choices (comma-separated) + #[arg(long)] + pub choices: Option<String>, + + /// Context about what this relates to + #[arg(long)] + pub context: Option<String>, + + /// Timeout in seconds (default: 3600 = 1 hour) + #[arg(long, default_value = "3600")] + pub timeout: i32, +} |
