feat(mma): Consolidate Agent Streams into MMA Dashboard with popout options

This commit is contained in:
2026-03-09 23:39:02 -04:00
parent 322f42db74
commit 3e531980d4
5 changed files with 135 additions and 49 deletions

View File

@@ -345,7 +345,11 @@ class AppController:
'_editing_preset_scope': '_editing_preset_scope',
'show_windows': 'show_windows',
'ui_separate_task_dag': 'ui_separate_task_dag',
'ui_separate_usage_analytics': 'ui_separate_usage_analytics'
'ui_separate_usage_analytics': 'ui_separate_usage_analytics',
'ui_separate_tier1': 'ui_separate_tier1',
'ui_separate_tier2': 'ui_separate_tier2',
'ui_separate_tier3': 'ui_separate_tier3',
'ui_separate_tier4': 'ui_separate_tier4'
}
self._gettable_fields = dict(self._settable_fields)
self._gettable_fields.update({
@@ -384,7 +388,11 @@ class AppController:
'_editing_preset_max_output_tokens': '_editing_preset_max_output_tokens',
'_editing_preset_scope': '_editing_preset_scope',
'ui_separate_task_dag': 'ui_separate_task_dag',
'ui_separate_usage_analytics': 'ui_separate_usage_analytics'
'ui_separate_usage_analytics': 'ui_separate_usage_analytics',
'ui_separate_tier1': 'ui_separate_tier1',
'ui_separate_tier2': 'ui_separate_tier2',
'ui_separate_tier3': 'ui_separate_tier3',
'ui_separate_tier4': 'ui_separate_tier4'
})
self.perf_monitor = performance_monitor.get_monitor()
self._perf_profiling_enabled = False
@@ -786,6 +794,10 @@ class AppController:
"""Initializes the application state from configurations."""
self.ui_separate_task_dag = False
self.ui_separate_usage_analytics = False
self.ui_separate_tier1 = False
self.ui_separate_tier2 = False
self.ui_separate_tier3 = False
self.ui_separate_tier4 = False
self.config = models.load_config()
theme.load_from_config(self.config)
ai_cfg = self.config.get("ai", {})
@@ -846,6 +858,10 @@ class AppController:
"MMA Dashboard": True,
"Task DAG": False,
"Usage Analytics": False,
"Tier 1": False,
"Tier 2": False,
"Tier 3": False,
"Tier 4": False,
"Tier 1: Strategy": True,
"Tier 2: Tech Lead": True,
"Tier 3: Workers": True,
@@ -2189,6 +2205,10 @@ class AppController:
"separate_tool_calls_panel": getattr(self, "ui_separate_tool_calls_panel", False),
"separate_task_dag": self.ui_separate_task_dag,
"separate_usage_analytics": self.ui_separate_usage_analytics,
"separate_tier1": self.ui_separate_tier1,
"separate_tier2": self.ui_separate_tier2,
"separate_tier3": self.ui_separate_tier3,
"separate_tier4": self.ui_separate_tier4,
"bg_shader_enabled": bg_shader.get_bg().enabled
})
self.config["gui"] = gui_cfg

View File

@@ -128,7 +128,15 @@ class App:
self.ui_separate_tool_calls_panel = gui_cfg.get("separate_tool_calls_panel", False)
self.ui_separate_task_dag = gui_cfg.get("separate_task_dag", False)
self.ui_separate_usage_analytics = gui_cfg.get("separate_usage_analytics", False)
self.ui_separate_tier1 = gui_cfg.get("separate_tier1", False)
self.ui_separate_tier2 = gui_cfg.get("separate_tier2", False)
self.ui_separate_tier3 = gui_cfg.get("separate_tier3", False)
self.ui_separate_tier4 = gui_cfg.get("separate_tier4", False)
self.show_windows.setdefault("Usage Analytics", False)
self.show_windows.setdefault("Tier 1: Strategy", False)
self.show_windows.setdefault("Tier 2: Tech Lead", False)
self.show_windows.setdefault("Tier 3: Workers", False)
self.show_windows.setdefault("Tier 4: QA", False)
self.ui_multi_viewport = gui_cfg.get("multi_viewport", False)
self.layout_presets = self.config.get("layout_presets", {})
self._new_preset_name = ""
@@ -438,25 +446,25 @@ class App:
if exp:
self._render_task_dag_panel()
imgui.end()
if self.show_windows.get("Tier 1: Strategy", False):
if self.ui_separate_tier1 and self.show_windows.get("Tier 1: Strategy", False):
exp, opened = imgui.begin("Tier 1: Strategy", self.show_windows["Tier 1: Strategy"])
self.show_windows["Tier 1: Strategy"] = bool(opened)
if exp:
self._render_tier_stream_panel("Tier 1", "Tier 1")
imgui.end()
if self.show_windows.get("Tier 2: Tech Lead", False):
if self.ui_separate_tier2 and self.show_windows.get("Tier 2: Tech Lead", False):
exp, opened = imgui.begin("Tier 2: Tech Lead", self.show_windows["Tier 2: Tech Lead"])
self.show_windows["Tier 2: Tech Lead"] = bool(opened)
if exp:
self._render_tier_stream_panel("Tier 2", "Tier 2 (Tech Lead)")
imgui.end()
if self.show_windows.get("Tier 3: Workers", False):
if self.ui_separate_tier3 and self.show_windows.get("Tier 3: Workers", False):
exp, opened = imgui.begin("Tier 3: Workers", self.show_windows["Tier 3: Workers"])
self.show_windows["Tier 3: Workers"] = bool(opened)
if exp:
self._render_tier_stream_panel("Tier 3", None)
imgui.end()
if self.show_windows.get("Tier 4: QA", False):
if self.ui_separate_tier4 and self.show_windows.get("Tier 4: QA", False):
exp, opened = imgui.begin("Tier 4: QA", self.show_windows["Tier 4: QA"])
self.show_windows["Tier 4: QA"] = bool(opened)
if exp:
@@ -2771,6 +2779,47 @@ def hello():
self.ui_selected_ticket_id = None
self._push_mma_state_update()
imgui.separator()
imgui.text("Agent Streams")
if imgui.begin_tab_bar("mma_streams_tabs"):
# Tier 1
if imgui.begin_tab_item("Tier 1")[0]:
ch, self.ui_separate_tier1 = imgui.checkbox("Pop Out Tier 1", self.ui_separate_tier1)
if ch: self.show_windows["Tier 1: Strategy"] = self.ui_separate_tier1
if not self.ui_separate_tier1:
self._render_tier_stream_panel("Tier 1", "Tier 1")
else:
imgui.text_disabled("Tier 1 stream is detached.")
imgui.end_tab_item()
# Tier 2
if imgui.begin_tab_item("Tier 2")[0]:
ch, self.ui_separate_tier2 = imgui.checkbox("Pop Out Tier 2", self.ui_separate_tier2)
if ch: self.show_windows["Tier 2: Tech Lead"] = self.ui_separate_tier2
if not self.ui_separate_tier2:
self._render_tier_stream_panel("Tier 2", "Tier 2 (Tech Lead)")
else:
imgui.text_disabled("Tier 2 stream is detached.")
imgui.end_tab_item()
# Tier 3
if imgui.begin_tab_item("Tier 3")[0]:
ch, self.ui_separate_tier3 = imgui.checkbox("Pop Out Tier 3", self.ui_separate_tier3)
if ch: self.show_windows["Tier 3: Workers"] = self.ui_separate_tier3
if not self.ui_separate_tier3:
self._render_tier_stream_panel("Tier 3", None)
else:
imgui.text_disabled("Tier 3 stream is detached.")
imgui.end_tab_item()
# Tier 4
if imgui.begin_tab_item("Tier 4")[0]:
ch, self.ui_separate_tier4 = imgui.checkbox("Pop Out Tier 4", self.ui_separate_tier4)
if ch: self.show_windows["Tier 4: QA"] = self.ui_separate_tier4
if not self.ui_separate_tier4:
self._render_tier_stream_panel("Tier 4", "Tier 4 (QA)")
else:
imgui.text_disabled("Tier 4 stream is detached.")
imgui.end_tab_item()
imgui.end_tab_bar()
def _render_task_dag_panel(self) -> None:
# 4. Task DAG Visualizer
imgui.text("Task DAG")