summaryrefslogtreecommitdiff
path: root/makima/src/bin/makima.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/bin/makima.rs')
-rw-r--r--makima/src/bin/makima.rs21
1 files changed, 19 insertions, 2 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs
index 4fc331c..f430701 100644
--- a/makima/src/bin/makima.rs
+++ b/makima/src/bin/makima.rs
@@ -78,6 +78,7 @@ async fn run_daemon(
api_key: args.api_key,
max_tasks: args.max_tasks,
log_level: args.log_level,
+ bubblewrap: args.bubblewrap,
};
// Load configuration with CLI overrides
@@ -162,6 +163,11 @@ async fn run_daemon(
let ws_tx = ws_client.sender();
// Create task configuration
+ let bubblewrap_config = if config.process.bubblewrap.enabled {
+ Some(config.process.bubblewrap.clone())
+ } else {
+ None
+ };
let task_config = TaskConfig {
max_concurrent_tasks: config.process.max_concurrent_tasks,
worktree_base_dir: config.worktree.base_dir.clone(),
@@ -171,6 +177,7 @@ async fn run_daemon(
claude_pre_args: config.process.claude_pre_args.clone(),
enable_permissions: config.process.enable_permissions,
disable_verbose: config.process.disable_verbose,
+ bubblewrap: bubblewrap_config,
};
// Create task manager
@@ -309,7 +316,7 @@ async fn run_supervisor(
let client = ApiClient::new(args.common.api_url, args.common.api_key)?;
let task_id = args
.common
- .task_id
+ .self_task_id
.ok_or("MAKIMA_TASK_ID is required for checkpoint")?;
let result = client
.supervisor_checkpoint(task_id, &args.message)
@@ -318,7 +325,7 @@ async fn run_supervisor(
}
SupervisorCommand::Checkpoints(args) => {
let client = ApiClient::new(args.api_url, args.api_key)?;
- let task_id = args.task_id.ok_or("MAKIMA_TASK_ID is required")?;
+ let task_id = args.self_task_id.ok_or("MAKIMA_TASK_ID is required")?;
let result = client.supervisor_checkpoints(task_id).await?;
println!("{}", serde_json::to_string(&result.0)?);
}
@@ -347,6 +354,16 @@ async fn run_supervisor(
.await?;
println!("{}", serde_json::to_string(&result.0)?);
}
+ SupervisorCommand::Task(args) => {
+ let client = ApiClient::new(args.common.api_url, args.common.api_key)?;
+ let result = client.supervisor_get_task(args.target_task_id).await?;
+ println!("{}", serde_json::to_string(&result.0)?);
+ }
+ SupervisorCommand::Output(args) => {
+ let client = ApiClient::new(args.common.api_url, args.common.api_key)?;
+ let result = client.supervisor_get_task_output(args.target_task_id).await?;
+ println!("{}", serde_json::to_string(&result.0)?);
+ }
}
Ok(())