fix(mma): Unblock visual simulation - event routing, loop passing, adapter preservation
Three independent root causes fixed: - gui_2.py: Route mma_spawn_approval/mma_step_approval events in _process_event_queue - multi_agent_conductor.py: Pass asyncio loop from ConductorEngine.run() through to thread-pool workers for thread-safe event queue access; add _queue_put helper - ai_client.py: Preserve GeminiCliAdapter in reset_session() instead of nulling it Test: visual_sim_mma_v2::test_mma_complete_lifecycle passes in ~8s Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -129,8 +129,12 @@ class HookHandler(BaseHTTPRequestHandler):
|
||||
result["active_track"] = at.id if hasattr(at, "id") else at
|
||||
result["active_tickets"] = getattr(app, "active_tickets", [])
|
||||
result["mma_step_mode"] = getattr(app, "mma_step_mode", False)
|
||||
result["pending_approval"] = (getattr(app, "_pending_mma_approval", None) is not None) or getattr(app, "_pending_ask_dialog", False)
|
||||
result["pending_spawn"] = getattr(app, "_pending_mma_spawn", None) is not None
|
||||
result["pending_tool_approval"] = getattr(app, "_pending_ask_dialog", False)
|
||||
result["pending_mma_step_approval"] = getattr(app, "_pending_mma_approval", None) is not None
|
||||
result["pending_mma_spawn_approval"] = getattr(app, "_pending_mma_spawn", None) is not None
|
||||
# Keep old fields for backward compatibility but add specific ones above
|
||||
result["pending_approval"] = result["pending_mma_step_approval"] or result["pending_tool_approval"]
|
||||
result["pending_spawn"] = result["pending_mma_spawn_approval"]
|
||||
# Added lines for tracks and proposed_tracks
|
||||
result["tracks"] = getattr(app, "tracks", [])
|
||||
result["proposed_tracks"] = getattr(app, "proposed_tracks", [])
|
||||
|
||||
Reference in New Issue
Block a user