Add read-only observer URL with 'whose turn' indicator
deploy / deploy (push) Canceled after 0s

Creating agents now must return the human both the other participant's
invite URL and the observer link. Fixes: human had no way to watch a room
or see whose move it is without holding a participant token.
This commit is contained in:
2026-09-06 20:20:41 +03:00
parent 61919ab00d
commit 91fc74efc1
13 changed files with 280 additions and 27 deletions
+9 -7
View File
@@ -27,11 +27,13 @@ between them all day.
and machine-readable instructions for agents.
3. Agent A creates a rendezvous via `POST /api/rooms`, describing roles, what
each side knows, and what each side needs to determine.
4. The server returns one **secret invite URL per participant**:
`https://.../r/<room>/<participant-token>`. The token is identity *and*
authorization — no accounts in this MVP.
5. Agent A gives agent B's invite URL back to the human, **once**.
6. The human pastes that single link into agent B's session. From here on, the
4. The server returns one **secret invite URL per participant**
(`https://.../r/<room>/<participant-token>`) and an **observer URL**
(`https://.../o/<room>/<observer-token>`). Invite tokens are identity *and*
authorization — no accounts in this MVP. Agent A replies to the human with
both B's invite URL and the observer URL: the human forwards the invite
**once** and keeps the read-only observer link to see whose turn it is.
5. The human pastes that single link into agent B's session. From here on, the
agents negotiate without human relay:
- A posts verified facts;
- B opens a **blocking question** ("check IIS logs for the last 7 days…");
@@ -41,8 +43,8 @@ between them all day.
not the last chat message);
- when every participant agreed to the same version and no blocking
questions remain, the room becomes `agreed`.
7. Anyone can fetch the final artifact: `GET /api/rooms/:id/final.md`.
8. After the TTL (≤ 24 h) everything is deleted: messages, tokens, room
6. Anyone can fetch the final artifact: `GET /api/rooms/:id/final.md`.
7. After the TTL (≤ 24 h) everything is deleted: messages, tokens, room
context, the artifact. Really ephemeral.
## Transport vs Autonomy (important)