diff options
| author | soryu <soryu@soryu.co> | 2026-01-27 03:02:19 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-27 03:04:03 +0000 |
| commit | f725134771347a4d08224bafdbf41a0c1e370968 (patch) | |
| tree | cc1251e519dbc79910502718a48423e9383e0ac7 /makima/src/bin | |
| parent | ee45906b07d1032afaf8a56cce48826bea0c3f8b (diff) | |
| download | soryu-f725134771347a4d08224bafdbf41a0c1e370968.tar.gz soryu-f725134771347a4d08224bafdbf41a0c1e370968.zip | |
Add Red Team CLI command and frontend UI
Backend additions:
- Add `makima red-team notify` CLI command for red team tasks
- Add RedTeamCommand enum with Notify subcommand
- Add red_team API client module for notify endpoint
- Add RedTeamNotifyArgs with severity, task, file, context options
Frontend additions:
- Add ContractCreateModal with red team toggle and prompt input
- Update ContractDetail with red-team tab for notifications
- Update ContractList with red team enabled badge
- Add TypeScript types for RedTeamNotification and related interfaces
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/bin')
| -rw-r--r-- | makima/src/bin/makima.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs index ffb9364..4d88fc5 100644 --- a/makima/src/bin/makima.rs +++ b/makima/src/bin/makima.rs @@ -6,7 +6,7 @@ use std::sync::Arc; use makima::daemon::api::{ApiClient, CreateContractRequest}; use makima::daemon::cli::{ - Cli, CliConfig, Commands, ConfigCommand, ContractCommand, SupervisorCommand, ViewArgs, + Cli, CliConfig, Commands, ConfigCommand, ContractCommand, RedTeamCommand, SupervisorCommand, ViewArgs, }; use makima::daemon::tui::{self, Action, App, ListItem, ViewType, TuiWsClient, WsEvent, OutputLine, OutputMessageType, WsConnectionState, RepositorySuggestion}; use makima::daemon::config::{DaemonConfig, RepoEntry}; @@ -30,6 +30,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> { Commands::Contract(cmd) => run_contract(cmd).await, Commands::View(args) => run_view(args).await, Commands::Config(cmd) => run_config(cmd).await, + Commands::RedTeam(cmd) => run_red_team(cmd).await, } } @@ -789,6 +790,16 @@ async fn run_config(cmd: ConfigCommand) -> Result<(), Box<dyn std::error::Error } } +/// Run red team commands. +async fn run_red_team(cmd: RedTeamCommand) -> Result<(), Box<dyn std::error::Error + Send + Sync>> { + match cmd { + RedTeamCommand::Notify(args) => { + makima::daemon::cli::handle_notify(args).await?; + Ok(()) + } + } +} + /// Load contracts from API async fn load_contracts(client: &ApiClient) -> Result<Vec<ListItem>, Box<dyn std::error::Error + Send + Sync>> { let result = client.list_contracts().await?; @@ -1097,7 +1108,6 @@ async fn run_tui_loop( initial_phase: None, autonomous_loop: None, phase_guard: None, - local_only: None, red_team_enabled: None, red_team_prompt: None, }; |
