Add audit events around ChatAgent visible message streaming so replay can show when user-visible text starts and when it ends.
chat_message_stream_started before the first message_delta reaches the output queue.chat_message_stream_finished after the model stream ends and before chat_agent_response.chat_agent_response as the complete aggregated visible ChatAgent text for that call.uv run pytest tests/test_debug_runtime.py::test_runtime_audits_chat_message_stream_boundaries_in_output_order -quv run pytest tests/test_debug_runtime.py::test_runtime_emits_audit_events_and_backend_logs -quv run pytest tests/test_websocket_api.py::test_static_app_handles_audit_messages -quv run pytestnode --check src/agent_lab/presentation/static/app.jsgit diff --check