Log additional ag-ui events in the cli renderer
This commit is contained in:
parent
0c8d2838b2
commit
4a623934b2
2 changed files with 32 additions and 3 deletions
|
|
@ -67,11 +67,17 @@ class AGUIConsoleRenderer:
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _render_run_started(self, _event: AGUIEvent) -> None:
|
def _render_run_started(self, event: AGUIEvent) -> None:
|
||||||
"""Render run start event."""
|
"""Render run start event."""
|
||||||
|
run_id = event.get("runId", "")
|
||||||
|
if run_id:
|
||||||
|
# Show shortened run ID (first 8 chars like our UUIDs)
|
||||||
|
short_id = run_id[:8] if len(run_id) > 8 else run_id
|
||||||
|
self.console.print(f"[bold green][RUN_STARTED][/bold green] Run {short_id}")
|
||||||
|
|
||||||
def _render_run_finished(self) -> None:
|
def _render_run_finished(self) -> None:
|
||||||
"""Render run completion."""
|
"""Render run completion."""
|
||||||
|
self.console.print("[bold green][RUN_FINISHED][/bold green] Completed")
|
||||||
|
|
||||||
def _render_error(self, event: AGUIEvent) -> None:
|
def _render_error(self, event: AGUIEvent) -> None:
|
||||||
"""Render error event."""
|
"""Render error event."""
|
||||||
|
|
@ -87,8 +93,12 @@ class AGUIConsoleRenderer:
|
||||||
f"\n[bold cyan][STEP_STARTED][/bold cyan] {display_name}"
|
f"\n[bold cyan][STEP_STARTED][/bold cyan] {display_name}"
|
||||||
)
|
)
|
||||||
|
|
||||||
def _render_step_finished(self, _event: AGUIEvent) -> None:
|
def _render_step_finished(self, event: AGUIEvent) -> None:
|
||||||
"""Render step finish event."""
|
"""Render step finish event."""
|
||||||
|
step_name = event.get("stepName", "")
|
||||||
|
if step_name:
|
||||||
|
display_name = step_name.replace("_", " ").title()
|
||||||
|
self.console.print(f"[cyan][STEP_FINISHED][/cyan] {display_name}")
|
||||||
|
|
||||||
def _render_text_message(self, event: AGUIEvent) -> None:
|
def _render_text_message(self, event: AGUIEvent) -> None:
|
||||||
"""Render complete text message."""
|
"""Render complete text message."""
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,10 @@ async def test_renderer_basic_flow():
|
||||||
renderer = AGUIConsoleRenderer(console)
|
renderer = AGUIConsoleRenderer(console)
|
||||||
|
|
||||||
events = [
|
events = [
|
||||||
emit_run_started("t1", "r1"),
|
emit_run_started("t1", "r1-test-run-id"),
|
||||||
emit_state_snapshot(SimpleState(value=1)),
|
emit_state_snapshot(SimpleState(value=1)),
|
||||||
emit_step_started("plan"),
|
emit_step_started("plan"),
|
||||||
|
emit_step_finished("plan"),
|
||||||
emit_activity("m1", "planning", "Planning research"),
|
emit_activity("m1", "planning", "Planning research"),
|
||||||
emit_run_finished("t1", "r1", {"status": "complete"}),
|
emit_run_finished("t1", "r1", {"status": "complete"}),
|
||||||
]
|
]
|
||||||
|
|
@ -183,3 +184,21 @@ async def test_renderer_state_delta_without_initial():
|
||||||
|
|
||||||
result = await renderer.render(async_gen(events))
|
result = await renderer.render(async_gen(events))
|
||||||
assert result == {"ok": True}
|
assert result == {"ok": True}
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_renderer_lifecycle_events():
|
||||||
|
"""Test that lifecycle events are rendered properly."""
|
||||||
|
renderer = AGUIConsoleRenderer()
|
||||||
|
|
||||||
|
events = [
|
||||||
|
emit_run_started("thread-123", "run-abc-def-ghi"), # Long run ID
|
||||||
|
emit_step_started("search_one"),
|
||||||
|
emit_step_finished("search_one"),
|
||||||
|
emit_step_started("analyze_insights"),
|
||||||
|
emit_step_finished("analyze_insights"),
|
||||||
|
emit_run_finished("thread-123", "run-abc-def-ghi", {"complete": True}),
|
||||||
|
]
|
||||||
|
|
||||||
|
result = await renderer.render(async_gen(events))
|
||||||
|
assert result == {"complete": True}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue