Native Integration
VSRelay is protocol-first. The extension + relay define a stable WebSocket protocol. The PWA is a reference renderer; native clients (iOS, Android) consume the same protocol and render whatever the server sends.
App-store resilience principle: the native app fetches data, not code. When Claude Code’s recovery flow changes, the extension ships a new action description over the wire — the pre-built renderer displays it without an App Store update.
What’s in here
Wire format, message types, capability negotiation, auth. Protocol Basics Session lifecycle, prompt routing, typed tool blocks, turn status. Session Controller Observe + reveal (v0.1), managed terminals (v0.2A) with pty I/O. Terminal Controller Open workspace, validate roots, reuse vs new window. Workspace Controller Browse, view, edit with
(mtime, sha256) concurrency, atomic writes. Files Controller VS Code Problems panel: severities, codes, reveal at line. Diagnostics Controller Error shapes, errorCode unions, when to retry. Recovery + Errors Generic action primitives so new recovery flows ship as data. Recovery Actions Room model, capability filter, transparent forwarding. Relay Identity + pairing for Phase 2. Supabase Auth Why patches exist, how they’re applied, what fails. Claude Code Patching Trust tiers, encryption posture, where bytes live. Production Deployment Routing recovery actions to the right Cursor / VS Code window. IDE Instance RoutingHow to read this
Start with Protocol Basics. Then pick the controller you’re implementing.
Every section is open-union friendly: unknown errorCodes, unknown severitys, unknown action kinds all render as human-readable fallback chips. Future protocol additions never break a pre-built native renderer.