|
42 | 42 | METADATA_FILENAME = "metadata.json" |
43 | 43 |
|
44 | 44 |
|
| 45 | +def _tool_trace_entry_to_plain(entry: Any) -> dict[str, Any]: |
| 46 | + return { |
| 47 | + "tool_name": entry.tool_name, |
| 48 | + "arguments": dict(entry.arguments), |
| 49 | + "result": { |
| 50 | + "data": entry.result.data, |
| 51 | + "done": entry.result.done, |
| 52 | + "metadata": dict(entry.result.metadata), |
| 53 | + "error": entry.result.error, |
| 54 | + }, |
| 55 | + } |
| 56 | + |
| 57 | + |
45 | 58 | def _tool_trace_to_plain(rollout: HarnessRolloutResult) -> list[dict[str, Any]]: |
46 | | - return [ |
47 | | - { |
48 | | - "tool_name": entry.tool_name, |
49 | | - "arguments": dict(entry.arguments), |
50 | | - "result": { |
51 | | - "data": entry.result.data, |
52 | | - "done": entry.result.done, |
53 | | - "metadata": dict(entry.result.metadata), |
54 | | - "error": entry.result.error, |
55 | | - }, |
56 | | - } |
57 | | - for entry in rollout.tool_trace |
58 | | - ] |
| 59 | + return [_tool_trace_entry_to_plain(entry) for entry in rollout.tool_trace] |
59 | 60 |
|
60 | 61 |
|
61 | 62 | @dataclass |
@@ -171,19 +172,7 @@ def _rollout_final_state(rollout: HarnessRolloutResult) -> dict[str, Any]: |
171 | 172 | {"type": event.type, "payload": dict(event.payload)} |
172 | 173 | for event in rollout.events |
173 | 174 | ], |
174 | | - "tool_trace": [ |
175 | | - { |
176 | | - "tool_name": entry.tool_name, |
177 | | - "arguments": dict(entry.arguments), |
178 | | - "result": { |
179 | | - "data": entry.result.data, |
180 | | - "done": entry.result.done, |
181 | | - "metadata": dict(entry.result.metadata), |
182 | | - "error": entry.result.error, |
183 | | - }, |
184 | | - } |
185 | | - for entry in rollout.tool_trace |
186 | | - ], |
| 175 | + "tool_trace": _tool_trace_to_plain(rollout), |
187 | 176 | } |
188 | 177 |
|
189 | 178 |
|
|
0 commit comments