389a8fb655
- Extract parseA2UIBlocks() from A2UIRenderer.tsx into its own frontend/src/lib/a2ui.ts module to satisfy react-refresh/only-export- components ESLint rule (A2UIRenderer should only export React components) - Update ChatPanel.tsx and test files to import from lib/a2ui - Split ChatPanel.test.tsx mock: separate vi.mock for lib/a2ui (parseA2UIBlocks) and A2UIRenderer (component only) - Remove unused 'import re' from tests/test_runtime_html.py (ruff F401) All 216 frontend tests and 242 bash tests still pass. TypeScript and Vite builds are clean. Remaining ESLint warnings (react-hooks/set-state- in-effect in MCPAppRenderer and useSessions) are pre-existing patterns not introduced by Phase 3.