diff options
| author | soryu <soryu@soryu.co> | 2026-01-27 11:04:20 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-27 11:04:20 +0000 |
| commit | c618174e60e4632d36d7352d83399508c72b2f42 (patch) | |
| tree | fbca74b921a57165aea046b959a44ab00589532f /makima/src/bin | |
| parent | b6f239c19f0d3130515f3745f842e17a69212295 (diff) | |
| download | soryu-c618174e60e4632d36d7352d83399508c72b2f42.tar.gz soryu-c618174e60e4632d36d7352d83399508c72b2f42.zip | |
Add Red Team CLI command and frontend UI (#39)
* 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>
* Add CSS styles for Red Team frontend components
Add comprehensive styling for:
- Contract list and detail containers
- Red team badge styling with gradient backgrounds
- Tab navigation with red team specific styling
- Red team notifications panel with severity indicators
- Contract creation modal form elements
- Task badges for supervisor and red team roles
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix missing local_only field in TUI CreateContractRequest
Add the missing local_only field to the CreateContractRequest struct
initialization in the TUI contract creation handler.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* [WIP] Heartbeat checkpoint - 2026-01-27 03:07:28 UTC
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/bin')
| -rw-r--r-- | makima/src/bin/makima.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs index ffb9364..44fa590 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?; |
