diff options
| author | soryu <soryu@soryu.co> | 2026-02-04 01:59:40 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-04 01:59:40 +0000 |
| commit | 612cecc5bd5dbfc73d4a3a9d38626378eaf39041 (patch) | |
| tree | e23a4772b5299082a99c5ec449cbe222dc038e98 /makima/src/bin | |
| parent | 40f4c4ebbb41a46d83fa67fa43e6ec683ab7fdb2 (diff) | |
| download | soryu-612cecc5bd5dbfc73d4a3a9d38626378eaf39041.tar.gz soryu-612cecc5bd5dbfc73d4a3a9d38626378eaf39041.zip | |
Remove chain supervisor capability
Chains no longer spawn a supervisor task. Checkpoint contracts will be
automatically run as part of the DAG execution when dependencies complete.
- Remove supervisor task creation from start_chain handler
- Remove chain supervisor CLI commands
- Remove supervisor_task_id from StartChainResponse
- Remove withSupervisor option from frontend
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/bin')
| -rw-r--r-- | makima/src/bin/makima.rs | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs index fa5378f..2037b47 100644 --- a/makima/src/bin/makima.rs +++ b/makima/src/bin/makima.rs @@ -612,95 +612,6 @@ async fn run_supervisor( .await?; println!("{}", serde_json::to_string(&result.0)?); } - // Chain supervisor commands - SupervisorCommand::ChainStatus(args) => { - let client = ApiClient::new(args.common.api_url, args.common.api_key)?; - eprintln!("Getting chain status for {}...", args.common.chain_id); - let result = client.get_chain(args.common.chain_id).await?; - if args.verbose { - // Get contracts as well - let contracts = client.get_chain_contracts(args.common.chain_id).await?; - println!("{}", serde_json::to_string(&serde_json::json!({ - "chain": result.0, - "contracts": contracts.0 - }))?); - } else { - println!("{}", serde_json::to_string(&result.0)?); - } - } - SupervisorCommand::ChainContracts(args) => { - let client = ApiClient::new(args.common.api_url, args.common.api_key)?; - eprintln!("Listing contracts in chain {}...", args.common.chain_id); - let result = client.get_chain_contracts(args.common.chain_id).await?; - if let Some(status) = &args.status { - // Filter by status client-side - let empty_vec = vec![]; - let contracts: Vec<_> = result.0.as_array() - .unwrap_or(&empty_vec) - .iter() - .filter(|c| c.get("status").and_then(|s| s.as_str()) == Some(status.as_str())) - .collect(); - println!("{}", serde_json::to_string(&contracts)?); - } else { - println!("{}", serde_json::to_string(&result.0)?); - } - } - SupervisorCommand::ChainProgress(args) => { - let client = ApiClient::new(args.common.api_url, args.common.api_key)?; - eprintln!("Triggering chain progression for {}...", args.common.chain_id); - // Use the start endpoint to progress (it handles already-active chains) - let result = client.start_chain(args.common.chain_id).await; - match result { - Ok(r) => println!("{}", serde_json::to_string(&r.0)?), - Err(e) => { - // Check if already active - in that case, just get status - if e.to_string().contains("ALREADY_ACTIVE") { - eprintln!("Chain is already active, checking current status..."); - let status = client.get_chain(args.common.chain_id).await?; - println!("{}", serde_json::to_string(&status.0)?); - } else { - return Err(e.into()); - } - } - } - } - SupervisorCommand::ChainGraph(args) => { - let client = ApiClient::new(args.common.api_url, args.common.api_key)?; - let result = client.get_chain_graph(args.common.chain_id).await?; - if args.format == "json" { - println!("{}", serde_json::to_string(&result.0)?); - } else { - // ASCII visualization (similar to chain graph command) - if let Some(nodes) = result.0.get("nodes").and_then(|n| n.as_array()) { - // Group by depth - let mut by_depth: std::collections::BTreeMap<i64, Vec<(&str, &str)>> = - std::collections::BTreeMap::new(); - for node in nodes { - let name = node.get("name").and_then(|n| n.as_str()).unwrap_or("?"); - let status = node.get("status").and_then(|s| s.as_str()).unwrap_or("pending"); - let depth = node.get("depth").and_then(|d| d.as_i64()).unwrap_or(0); - by_depth.entry(depth).or_default().push((name, status)); - } - let chain_name = result.0.get("name").and_then(|v| v.as_str()).unwrap_or("Chain"); - println!("Chain: {}", chain_name); - println!(); - for (depth, contracts) in by_depth { - let prefix = " ".repeat(depth as usize); - for (name, status) in contracts { - let icon = match status { - "completed" => "\u{2713}", - "active" => "\u{21bb}", - "failed" => "\u{2717}", - _ => "\u{25cb}", - }; - println!("{}[{}] {} ({})", prefix, icon, name, status); - } - } - } else { - println!("{}", serde_json::to_string(&result.0)?); - } - } - } } Ok(()) |
