The host begins at every table size and may send a bot away

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0141G6xqLeNRYEtviLWSB5Up
This commit is contained in:
Eric Wagoner
2026-09-23 11:21:42 -04:00
co-authored by Claude Fable 5.1
parent 457a536f58
commit ddb18cb08a
11 changed files with 55 additions and 9 deletions
+5
View File
@@ -5,6 +5,7 @@
// POST /api/rooms/:id/join {name} take the next seat
// POST /api/rooms/:id/bot {token} seat a bot (any seated player may, before the game begins)
// POST /api/rooms/:id/begin {token} the host begins with the players seated so far
// POST /api/rooms/:id/unseat {token, seat} the host sends a bot away before the game begins
// GET /api/rooms/:id?token= the view for that seat; without a token, the gallery's view
// POST /api/rooms/:id/turn {token, input} this seat's move
// POST /api/rooms/:id/say {token, text} table talk, from a seat to the whole room
@@ -193,6 +194,10 @@ async function handle(req: IncomingMessage, res: ServerResponse): Promise<void>
rooms.addBot(room, token);
return send(res, 200, rooms.view(room, rooms.seatOf(room, token).id));
}
if (action === 'unseat') {
rooms.unseat(room, token, body.seat);
return send(res, 200, rooms.view(room, rooms.seatOf(room, token).id));
}
if (action === 'begin') {
rooms.begin(room, token);
return send(res, 200, rooms.view(room, rooms.seatOf(room, token).id));