summaryrefslogtreecommitdiff
path: root/makima/src/daemon/cli/red_team.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/daemon/cli/red_team.rs')
-rw-r--r--makima/src/daemon/cli/red_team.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/makima/src/daemon/cli/red_team.rs b/makima/src/daemon/cli/red_team.rs
new file mode 100644
index 0000000..771aae4
--- /dev/null
+++ b/makima/src/daemon/cli/red_team.rs
@@ -0,0 +1,26 @@
+//! Red Team subcommand - adversarial review notification commands.
+
+use crate::daemon::api::{ApiClient, RedTeamNotifyRequest};
+use super::RedTeamNotifyArgs;
+
+/// Handle the red-team notify command.
+pub async fn handle_notify(args: RedTeamNotifyArgs) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
+ let client = ApiClient::new(args.api_url, args.api_key)?;
+
+ // Use --task if provided, otherwise fall back to MAKIMA_TASK_ID
+ let related_task_id = args.task;
+
+ let req = RedTeamNotifyRequest {
+ message: args.message,
+ severity: args.severity,
+ related_task_id,
+ file_path: args.file,
+ context: args.context,
+ };
+
+ eprintln!("Sending red team notification...");
+ let result = client.red_team_notify(req).await?;
+ println!("{}", serde_json::to_string(&result.0)?);
+
+ Ok(())
+}