diff options
Diffstat (limited to 'makima/src/server')
| -rw-r--r-- | makima/src/server/handlers/mesh_daemon.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/makima/src/server/handlers/mesh_daemon.rs b/makima/src/server/handlers/mesh_daemon.rs index cb929ea..9938145 100644 --- a/makima/src/server/handlers/mesh_daemon.rs +++ b/makima/src/server/handlers/mesh_daemon.rs @@ -1302,6 +1302,21 @@ async fn handle_daemon_connection(socket: WebSocket, state: SharedState, auth_re "error": &updated_task.error_message, }), ).await; + + // Check if this task's contract is a directive orchestrator + if let Some(contract_id) = updated_task.contract_id { + if let Ok(Some(directive)) = repository::get_directive_by_orchestrator_contract_id( + &pool, contract_id + ).await { + let engine = crate::orchestration::DirectiveEngine::new(pool.clone()); + if let Err(e) = engine.on_planning_complete(directive.id, success).await { + tracing::error!( + "Failed to handle planning completion for directive {}: {}", + directive.id, e + ); + } + } + } } Ok(None) => { tracing::warn!( |
