summaryrefslogtreecommitdiff
path: root/makima/src/daemon/cli
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/daemon/cli')
-rw-r--r--makima/src/daemon/cli/mod.rs3
-rw-r--r--makima/src/daemon/cli/supervisor.rs26
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,
+}