# Reference: WebSocket protocol > Neutral, exhaustive description of the messages exchanged between the browser and the ori backend on `GET /ws`. One JSON object per text frame. ACP payloads are relayed verbatim; their shapes are specified by the [Agent Client Protocol](https://agentclientprotocol.com). ## Connection sequence On every connection the server sends `hello`, then replays the recorded session history (up to 4096 events), then any permission request still awaiting an answer, then live events as they happen. ## Browser → server messages ### `prompt` Starts a turn. | Field | Type | Required | Description | | --- | --- | --- | --- | | `type` | string | yes | `"prompt"` | | `text` | string | yes | The user's message. | | `attachments` | array | no | Files mentioned with `@` in the text: `{ "path": "", "name": "