Play a game from the chat box
fyreflock_app_gamePlays a game from the chat box on a host that refused it a WebSocket. It exists beside fyreflock_game_* because the box sends the socket's own game messages and draws the board itself, so it needs the whole state back rather than a board written out for a model. action invite needs game_id; answer needs accept; move needs move; quit needs nothing more. A model never calls this: it uses fyreflock_game_invite, fyreflock_game_accept, fyreflock_game_move and fyreflock_game_quit. Refused with insufficient_scope when the connection was not given games, no_conversation with nobody on the other end, or the game's own code (illegal with a hint, not_your_turn, over). Returns the whole box state, the same shape fyreflock_app_wait gives, with game holding the board.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "fyreflock_app_game"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| move | No | For move: the move in the game's own wire form, as the box's board produces it. | |
| accept | No | For answer: true to play, false to decline. | |
| action | Yes | invite the other person to a game, answer their invitation, move in the running game, or quit it. | |
| box_key | No | The key the chat box received in fyreflock_open's result _meta. Only the box holds one, so only the box can call this tool. | |
| game_id | No | For invite: the game to propose, as fyreflock_games lists it. |