yasuki_core.engine.rules.decisions.DecisionRequest#

class DecisionRequest(seat, candidates)[source]#

A question the engine pauses to put to one seat.

The engine runs until it needs input, records a concrete request on GameState.pending, and returns; the seat answers with a DecisionResponse and the engine resumes. Concrete requests form a closed union that grows with the rules vocabulary.

Attributes:
seatPlayerId

The seat that must answer.

candidatestuple of str

The ids the seat may choose among — the request’s legal options. A client renders these as the selectable cards, and a well-formed answer draws only from them.

Methods

DecisionRequest.__init__(seat, candidates)

DecisionRequest.accepts(response)

Return whether response is a structurally well-formed answer to this request — the right shape, drawn from candidates.

Attributes

seat

candidates

cancellable

Whether the seat may back out of this decision, undoing the action that raised it.