Skip to main content
The state channel for a chat: announces runStarted immediately when a run is live, delivers cell snapshots, signals runComplete / runError, and sends a heartbeat every ~20 seconds. Stays open across runs — your loop decides when to stop.

Example

Request

Events

Every event is a WatchChatEvent with a discriminated payload and a cursor: string you can store for reconnects. To re-attach after a disconnect or page reload, pass the last cell id you rendered as latestCompleteCellId — missed cells replay, then live events continue. This is how the chat-demo survives mid-run reloads.