feat(gui): implement Phases 2-5 of Comprehensive GUI UX track
- Add cost tracking with new cost_tracker.py module - Enhance Track Proposal modal with editable titles and goals - Add Conductor Setup summary and New Track creation form to MMA Dashboard - Implement Task DAG editing (add/delete tickets) and track-scoped discussion - Add visual polish: color-coded statuses, tinted progress bars, and node indicators - Support live worker streaming from AI providers to GUI panels - Fix numerous integration test regressions and stabilize headless service
This commit is contained in:
@@ -10,10 +10,10 @@ def _make_app(**kwargs):
|
||||
app = MagicMock(spec=App)
|
||||
app.mma_streams = kwargs.get("mma_streams", {})
|
||||
app.mma_tier_usage = kwargs.get("mma_tier_usage", {
|
||||
"Tier 1": {"input": 0, "output": 0},
|
||||
"Tier 2": {"input": 0, "output": 0},
|
||||
"Tier 3": {"input": 0, "output": 0},
|
||||
"Tier 4": {"input": 0, "output": 0},
|
||||
"Tier 1": {"input": 0, "output": 0, "model": "gemini-3.1-pro-preview"},
|
||||
"Tier 2": {"input": 0, "output": 0, "model": "gemini-3-flash-preview"},
|
||||
"Tier 3": {"input": 0, "output": 0, "model": "gemini-2.5-flash-lite"},
|
||||
"Tier 4": {"input": 0, "output": 0, "model": "gemini-2.5-flash-lite"},
|
||||
})
|
||||
app.tracks = kwargs.get("tracks", [])
|
||||
app.active_track = kwargs.get("active_track", None)
|
||||
@@ -24,6 +24,16 @@ def _make_app(**kwargs):
|
||||
app._pending_mma_spawn = kwargs.get("_pending_mma_spawn", None)
|
||||
app._pending_mma_approval = kwargs.get("_pending_mma_approval", None)
|
||||
app._pending_ask_dialog = kwargs.get("_pending_ask_dialog", False)
|
||||
app.ui_new_track_name = ""
|
||||
app.ui_new_track_desc = ""
|
||||
app.ui_new_track_type = "feature"
|
||||
app.ui_conductor_setup_summary = ""
|
||||
app.ui_epic_input = ""
|
||||
app._show_add_ticket_form = False
|
||||
app.ui_new_ticket_id = ""
|
||||
app.ui_new_ticket_desc = ""
|
||||
app.ui_new_ticket_target = ""
|
||||
app.ui_new_ticket_deps = ""
|
||||
return app
|
||||
|
||||
|
||||
@@ -32,6 +42,9 @@ def _make_imgui_mock():
|
||||
m.begin_table.return_value = False
|
||||
m.begin_child.return_value = False
|
||||
m.checkbox.return_value = (False, False)
|
||||
m.input_text.side_effect = lambda label, value, *args, **kwargs: (False, value)
|
||||
m.input_text_multiline.side_effect = lambda label, value, *args, **kwargs: (False, value)
|
||||
m.combo.side_effect = lambda label, current_item, items, *args, **kwargs: (False, current_item)
|
||||
m.collapsing_header.return_value = False
|
||||
m.ImVec2.return_value = MagicMock()
|
||||
m.ImVec4.return_value = MagicMock()
|
||||
|
||||
Reference in New Issue
Block a user