diff options
| author | soryu <soryu@soryu.co> | 2026-01-15 03:26:28 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-15 03:26:28 +0000 |
| commit | eeafe072bc6bb81459f7d087b48fc921afe9cc11 (patch) | |
| tree | 7f835993edd732f8ff66d756391dedffe3d44e90 /makima/src/server/handlers/mesh_daemon.rs | |
| parent | c61a2b9b9c988f5460f85980d4ddf285f1a730b5 (diff) | |
| download | soryu-eeafe072bc6bb81459f7d087b48fc921afe9cc11.tar.gz soryu-eeafe072bc6bb81459f7d087b48fc921afe9cc11.zip | |
Automatically derive repo URL and add notifications for input
Diffstat (limited to 'makima/src/server/handlers/mesh_daemon.rs')
| -rw-r--r-- | makima/src/server/handlers/mesh_daemon.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/makima/src/server/handlers/mesh_daemon.rs b/makima/src/server/handlers/mesh_daemon.rs index 178e5e1..39b12da 100644 --- a/makima/src/server/handlers/mesh_daemon.rs +++ b/makima/src/server/handlers/mesh_daemon.rs @@ -369,6 +369,18 @@ pub enum DaemonMessage { /// Error message if operation failed error: Option<String>, }, + /// Notification that a branch was created + BranchCreated { + #[serde(rename = "taskId")] + task_id: Option<Uuid>, + /// Name of the branch that was created + #[serde(rename = "branchName")] + branch_name: String, + /// Whether the operation succeeded + success: bool, + /// Error message if operation failed + error: Option<String>, + }, } /// Validated daemon authentication result. @@ -1073,6 +1085,36 @@ async fn handle_daemon_connection(socket: WebSocket, state: SharedState, auth_re ); } } + Ok(DaemonMessage::BranchCreated { task_id, branch_name, success, error }) => { + tracing::info!( + task_id = ?task_id, + branch_name = %branch_name, + success = success, + error = ?error, + "Branch created notification received" + ); + + // Broadcast as task output if we have a task_id + if let Some(tid) = task_id { + let output_text = if success { + format!("✓ Branch '{}' created successfully", branch_name) + } else { + format!("✗ Failed to create branch '{}': {}", branch_name, error.unwrap_or_default()) + }; + state.broadcast_task_output(TaskOutputNotification { + task_id: tid, + owner_id: Some(owner_id), + message_type: "system".to_string(), + content: output_text, + tool_name: None, + tool_input: None, + is_error: Some(!success), + cost_usd: None, + duration_ms: None, + is_partial: false, + }); + } + } Err(e) => { tracing::warn!("Failed to parse daemon message: {}", e); } |
