# Sync

The actions of the sync group, with their input fields and their names on every transport.

3 actions: 3 on the command line, 2 as MCP tools, 2 as HTTP endpoints and 2 in the page.

## sync.status

**Sync status.** The client’s position in the room: the last stream entry, the revision, the pending and retained counts, the tier, the transport and whether the stream is connected.

It takes no input.

* Command line: `turboslide sync status`
* MCP tool: `deck_sync_status`
* HTTP: `POST /api/actions/sync.status`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: no.

## deck.watch

**Watch.** Long polls for the checkpoints and comment entries since a revision, the polling form for a transport without a stream; answers at once when something is newer, else at the timeout.

| Field       | Type    | Required | Description                                                |
| ----------- | ------- | -------- | ---------------------------------------------------------- |
| `since`     | integer | no       | The revision the caller holds; the current one when absent |
| `timeoutMs` | integer | no       | How long to wait for a change; 25,000 unless set           |

* Command line: `turboslide deck watch <id> --from <from> --since <since>`
* MCP tool: `deck_watch`
* HTTP: `POST /api/actions/deck.watch`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: no.

## deck.follow

**Follow a hosted deck.** Mirrors a hosted deck’s records into the checkout byte for byte as they land, with the comments when asked, and pushes local writes back when asked; CLI only.

| Field      | Type    | Required | Description                                             |
| ---------- | ------- | -------- | ------------------------------------------------------- |
| `from`     | string  | yes      | The studio to talk to; the hosts.json default otherwise |
| `push`     | boolean | no       | Push local writes to the studio as they land            |
| `comments` | boolean | no       | Mirror the comments group too                           |
| `force`    | boolean | no       | Overwrite a checkout that diverged                      |
| `theirs`   | boolean | no       | On a divergence keep the studio’s records               |

* Command line: `turboslide deck follow <id> --from <from> --push --comments --force --theirs`
* MCP tool: No MCP tool.
* HTTP: No HTTP endpoint.
* Runs on: command line.
* Changes the presentation: yes.
