diff options
Diffstat (limited to 'makima/src/bin')
| -rw-r--r-- | makima/src/bin/makima.rs | 21 |
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(()) |
