Recommended application state
- selected Search
agentand optional nestedcapability - durable
threadId, revision, and last consumed cursor - stable
idempotencyKeyvalues for identical mutation retries - current typed events and operation states
UI responsibilities
Keep the stream reconnectable and the thread state durable. A page refresh should call
get_thread with the stored threadId and cursor, not create a new thread.