diff --git a/strix/interface/tui.py b/strix/interface/tui.py index 58fa120d..21c7b96e 100644 --- a/strix/interface/tui.py +++ b/strix/interface/tui.py @@ -471,7 +471,7 @@ def _update_ui_from_tracer(self) -> None: return agent_updates = False - for agent_id, agent_data in self.tracer.agents.items(): + for agent_id, agent_data in list(self.tracer.agents.items()): if agent_id not in self._displayed_agents: self._add_agent_node(agent_data) self._displayed_agents.add(agent_id) @@ -749,7 +749,7 @@ def _stop_dot_animation(self) -> None: def _animate_dots(self) -> None: has_active_agents = False - for agent_id, agent_data in self.tracer.agents.items(): + for agent_id, agent_data in list(self.tracer.agents.items()): status = agent_data.get("status", "running") if status in ["running", "waiting"]: has_active_agents = True @@ -792,7 +792,7 @@ def _gather_agent_events(self, agent_id: str) -> list[dict[str, Any]]: "id": f"tool_{exec_id}", "data": tool_data, } - for exec_id, tool_data in self.tracer.tool_executions.items() + for exec_id, tool_data in list(self.tracer.tool_executions.items()) if tool_data.get("agent_id") == agent_id ] @@ -958,7 +958,7 @@ def _copy_node_under(self, node_to_copy: TreeNode, new_parent: TreeNode) -> None def _reorganize_orphaned_agents(self, new_parent_id: str) -> None: agents_to_move = [] - for agent_id, agent_data in self.tracer.agents.items(): + for agent_id, agent_data in list(self.tracer.agents.items()): if ( agent_data.get("parent_id") == new_parent_id and agent_id in self.agent_nodes diff --git a/strix/telemetry/tracer.py b/strix/telemetry/tracer.py index 6da30d53..63781bc3 100644 --- a/strix/telemetry/tracer.py +++ b/strix/telemetry/tracer.py @@ -291,14 +291,14 @@ def _calculate_duration(self) -> float: def get_agent_tools(self, agent_id: str) -> list[dict[str, Any]]: return [ exec_data - for exec_data in self.tool_executions.values() + for exec_data in list(self.tool_executions.values()) if exec_data.get("agent_id") == agent_id ] def get_real_tool_count(self) -> int: return sum( 1 - for exec_data in self.tool_executions.values() + for exec_data in list(self.tool_executions.values()) if exec_data.get("tool_name") not in ["scan_start_info", "subagent_start_info"] )