Skip to content

Commit d16a806

Browse files
committed
Fix(viewer): Showing model names
1 parent 7f700ed commit d16a806

2 files changed

Lines changed: 15 additions & 22 deletions

File tree

codeclash/viewer/app.py

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -110,31 +110,13 @@ def get_readme_first_line(log_dir: Path) -> str:
110110
def get_agent_info_from_metadata(metadata: dict[str, Any]) -> list[AgentInfo]:
111111
"""Extract detailed agent information from metadata"""
112112
agents = []
113-
114-
# First, try to get agent info from the agents field (runtime metadata)
115-
if "agents" in metadata:
116-
for agent_data in metadata["agents"]:
117-
name = agent_data.get("name", "unknown")
118-
# Try to get model info from the agent's config
119-
config = agent_data.get("config", {})
120-
model_name = (
121-
config.get("model", {}).get("model_name")
122-
if isinstance(config.get("model"), dict)
123-
else config.get("model")
124-
)
125-
agent_class = config.get("agent_class")
126-
agents.append(AgentInfo(name=name, model_name=model_name, agent_class=agent_class))
127-
return agents
128-
129-
# Fallback to config-based extraction if no agents field
130-
players_config = metadata.get("config", {}).get("players", {})
113+
players_config = metadata.get("config", {}).get("players", [])
131114

132115
# Handle both list and dict formats
133116
if isinstance(players_config, list):
134-
# If players is a list, use the actual name from each player config
135117
for player_config in players_config:
136118
if isinstance(player_config, dict):
137-
name = player_config.get("name", "unknown") # Use actual agent name
119+
name = player_config.get("name", "unknown")
138120
config = player_config.get("config", {})
139121
model_name = (
140122
config.get("model", {}).get("model_name")
@@ -144,10 +126,8 @@ def get_agent_info_from_metadata(metadata: dict[str, Any]) -> list[AgentInfo]:
144126
agent_class = config.get("agent_class")
145127
agents.append(AgentInfo(name=name, model_name=model_name, agent_class=agent_class))
146128
elif isinstance(players_config, dict):
147-
# If players is a dict, iterate through player keys
148129
for player_key, player_config in sorted(players_config.items()):
149130
if isinstance(player_config, dict):
150-
# Use the actual name from config if available, otherwise use the key
151131
name = player_config.get("name", player_key)
152132
config = player_config.get("config", {})
153133
model_name = (

codeclash/viewer/templates/index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,19 @@ <h2>📊 Overview</h2>
171171
<td><span class="no-result">-</span></td>
172172
{% endfor %}
173173
{% endif %}
174+
<td>
175+
{% if metadata.agent_info %}
176+
<div class="models-cell">
177+
{% for agent in metadata.agent_info %}
178+
{% if agent.model_name %}
179+
<span class="model-tag">{{ agent.model_name }}</span>
180+
{% endif %}
181+
{% endfor %}
182+
</div>
183+
{% else %}
184+
<span class="no-result">-</span>
185+
{% endif %}
186+
</td>
174187
<td>
175188
<button class="nav-to-round-btn" onclick="scrollToRound({{ round_data.round_num }})" title="Jump to Round {{ round_data.round_num }} details">
176189
<span class="nav-arrow"></span>

0 commit comments

Comments
 (0)