From 704146de5f4f0d2aca5e67dc503ea902860cd6ff Mon Sep 17 00:00:00 2001 From: "eigen-release[bot]" Date: Mon, 17 Aug 2026 07:19:46 +0000 Subject: [PATCH] Sync API reference from eigen-server@main --- docs/reference/typescript/kernel.md | 196 ++++++------- docs/reference/typescript/rules.md | 178 ++++++------ docs/reference/typescript/server-testing.md | 24 +- docs/reference/typescript/server.md | 288 ++++++++++---------- docs/reference/typescript/testkit.md | 130 ++++----- 5 files changed, 408 insertions(+), 408 deletions(-) diff --git a/docs/reference/typescript/kernel.md b/docs/reference/typescript/kernel.md index cba9d61..53c1dac 100644 --- a/docs/reference/typescript/kernel.md +++ b/docs/reference/typescript/kernel.md @@ -10,7 +10,7 @@ its inputs alone. ### GameBugError -Defined in: [eigen-server/packages/kernel/src/errors.ts:15](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L15) +Defined in: [eigen-server/packages/kernel/src/errors.ts:15](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L15) A broken game/engine invariant: a bug, not a rejection. @@ -73,7 +73,7 @@ Error.constructor ### CommitInput -Defined in: [eigen-server/packages/kernel/src/commit.ts:96](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L96) +Defined in: [eigen-server/packages/kernel/src/commit.ts:96](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L96) #### Properties @@ -83,7 +83,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:96](https://github.com/e game: GameRow; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:97](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L97) +Defined in: [eigen-server/packages/kernel/src/commit.ts:97](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L97) ##### intent @@ -91,7 +91,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:97](https://github.com/e intent: Intent; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:102](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L102) +Defined in: [eigen-server/packages/kernel/src/commit.ts:102](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L102) ##### now @@ -99,7 +99,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:102](https://github.com/ now: number; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:105](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L105) +Defined in: [eigen-server/packages/kernel/src/commit.ts:105](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L105) The commit instant (epoch ms), sampled once by the host and never read here. @@ -110,7 +110,7 @@ here. roster: Seat[]; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:101](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L101) +Defined in: [eigen-server/packages/kernel/src/commit.ts:101](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L101) ##### rules @@ -118,7 +118,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:101](https://github.com/ rules: GameRules; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:108](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L108) +Defined in: [eigen-server/packages/kernel/src/commit.ts:108](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L108) The version unit for the game's `schemaVersion`, already resolved by the host from the `GameModule.versions` map. @@ -132,7 +132,7 @@ optional staleViews?: { }; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:116](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L116) +Defined in: [eigen-server/packages/kernel/src/commit.ts:116](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L116) Same-view material for a stale game action: the acting seat's stored frames at `expectedVersion` and at the current version. Only consulted @@ -158,7 +158,7 @@ expected: SeatView | null; state: StateRow | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:100](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L100) +Defined in: [eigen-server/packages/kernel/src/commit.ts:100](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L100) The latest transition, or null before v0 (only a `start` intent is meaningful then). @@ -167,7 +167,7 @@ meaningful then). ### CommitPlan -Defined in: [eigen-server/packages/kernel/src/commit.ts:139](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L139) +Defined in: [eigen-server/packages/kernel/src/commit.ts:139](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L139) #### Properties @@ -177,7 +177,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:139](https://github.com/ action: TransitionAction | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:142](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L142) +Defined in: [eigen-server/packages/kernel/src/commit.ts:142](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L142) ##### alarm @@ -185,7 +185,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:142](https://github.com/ alarm: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:155](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L155) +Defined in: [eigen-server/packages/kernel/src/commit.ts:155](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L155) The instant the DO must arm its alarm at, the true deadline plus the grace window, or null to clear it. @@ -196,7 +196,7 @@ grace window, or null to clear it. effects: Effect[]; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:156](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L156) +Defined in: [eigen-server/packages/kernel/src/commit.ts:156](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L156) ##### frames @@ -204,7 +204,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:156](https://github.com/ frames: ObservationFrame[]; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:145](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L145) +Defined in: [eigen-server/packages/kernel/src/commit.ts:145](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L145) Per-seat projected frames (identified seats only), persisted with the transition, fanned out over sockets. No raw state escapes the kernel. @@ -215,7 +215,7 @@ transition, fanned out over sockets. No raw state escapes the kernel. nextState: StateRow; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:141](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L141) +Defined in: [eigen-server/packages/kernel/src/commit.ts:141](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L141) The next transition row, already versioned (`v+1`, or 0 for start). @@ -225,7 +225,7 @@ The next transition row, already versioned (`v+1`, or 0 for start). outcomes: OutcomeEntry[] | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:152](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L152) +Defined in: [eigen-server/packages/kernel/src/commit.ts:152](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L152) Per-seat results when this transition ends the game, else null. @@ -238,7 +238,7 @@ the host delivers them as a follow-up versioned ratings transition. ### GameRow -Defined in: [eigen-server/packages/kernel/src/commit.ts:32](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L32) +Defined in: [eigen-server/packages/kernel/src/commit.ts:32](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L32) The game's standing configuration: the DO `meta` snapshot. @@ -250,7 +250,7 @@ The game's standing configuration: the DO `meta` snapshot. budgetSeconds: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:39](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L39) +Defined in: [eigen-server/packages/kernel/src/commit.ts:39](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L39) ##### config @@ -258,7 +258,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:39](https://github.com/e config: JsonObject; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:37](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L37) +Defined in: [eigen-server/packages/kernel/src/commit.ts:37](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L37) Stored creation config; parsed against the version unit's config schema before any hook sees it. @@ -269,7 +269,7 @@ before any hook sees it. incrementSeconds: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:40](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L40) +Defined in: [eigen-server/packages/kernel/src/commit.ts:40](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L40) ##### rated @@ -277,7 +277,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:40](https://github.com/e rated: boolean; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:41](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L41) +Defined in: [eigen-server/packages/kernel/src/commit.ts:41](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L41) ##### ratingPool @@ -285,7 +285,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:41](https://github.com/e ratingPool: string | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:42](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L42) +Defined in: [eigen-server/packages/kernel/src/commit.ts:42](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L42) ##### schemaVersion @@ -293,7 +293,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:42](https://github.com/e schemaVersion: number; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:34](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L34) +Defined in: [eigen-server/packages/kernel/src/commit.ts:34](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L34) ##### status @@ -301,7 +301,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:34](https://github.com/e status: GameStatus; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:33](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L33) +Defined in: [eigen-server/packages/kernel/src/commit.ts:33](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L33) ##### turnSeconds @@ -309,13 +309,13 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:33](https://github.com/e turnSeconds: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:38](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L38) +Defined in: [eigen-server/packages/kernel/src/commit.ts:38](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L38) *** ### NextDeadline -Defined in: [eigen-server/packages/kernel/src/timing.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L48) +Defined in: [eigen-server/packages/kernel/src/timing.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L48) #### Properties @@ -325,7 +325,7 @@ Defined in: [eigen-server/packages/kernel/src/timing.ts:48](https://github.com/e deadline: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:49](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L49) +Defined in: [eigen-server/packages/kernel/src/timing.ts:49](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L49) ##### turnStartedAt @@ -333,13 +333,13 @@ Defined in: [eigen-server/packages/kernel/src/timing.ts:49](https://github.com/e turnStartedAt: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:50](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L50) +Defined in: [eigen-server/packages/kernel/src/timing.ts:50](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L50) *** ### ObservationFrame -Defined in: [eigen-server/packages/kernel/src/observe.ts:12](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/observe.ts#L12) +Defined in: [eigen-server/packages/kernel/src/observe.ts:12](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/observe.ts#L12) One seat's projected frame, tagged with its seat. The host stamps version/timing when it persists and fans these out. @@ -352,7 +352,7 @@ version/timing when it persists and fans these out. data: JsonObject; ``` -Defined in: [eigen-server/packages/kernel/src/observe.ts:14](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/observe.ts#L14) +Defined in: [eigen-server/packages/kernel/src/observe.ts:14](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/observe.ts#L14) ##### pendingPlayers @@ -360,7 +360,7 @@ Defined in: [eigen-server/packages/kernel/src/observe.ts:14](https://github.com/ pendingPlayers: number[]; ``` -Defined in: [eigen-server/packages/kernel/src/observe.ts:15](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/observe.ts#L15) +Defined in: [eigen-server/packages/kernel/src/observe.ts:15](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/observe.ts#L15) ##### playerIndex @@ -368,13 +368,13 @@ Defined in: [eigen-server/packages/kernel/src/observe.ts:15](https://github.com/ playerIndex: number; ``` -Defined in: [eigen-server/packages/kernel/src/observe.ts:13](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/observe.ts#L13) +Defined in: [eigen-server/packages/kernel/src/observe.ts:13](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/observe.ts#L13) *** ### PlayerInput -Defined in: [eigen-server/packages/kernel/src/ratings.ts:26](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L26) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:26](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L26) A player seat to be rated. Self-contained: each seat's current `mu`/`sigma` is bundled, so this module never reads a store. @@ -393,7 +393,7 @@ A player seat to be rated. Self-contained: each seat's current botId: string | null; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:29](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L29) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:29](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L29) ##### placement @@ -401,7 +401,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:29](https://github.com/ placement: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:31](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L31) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:31](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L31) Ordinal finish rank (1 = best); ties share the same value. @@ -411,7 +411,7 @@ Ordinal finish rank (1 = best); ties share the same value. playerIndex: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:27](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L27) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:27](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L27) ##### teamIndex @@ -419,7 +419,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:27](https://github.com/ teamIndex: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:34](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L34) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:34](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L34) Players sharing a teamIndex are rated as one team. For individual games this equals playerIndex. @@ -430,13 +430,13 @@ games this equals playerIndex. userId: string | null; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:28](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L28) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:28](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L28) *** ### RatingDelta -Defined in: [eigen-server/packages/kernel/src/ratings.ts:54](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L54) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:54](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L54) One rated identity's before → after, exactly the rating_history row minus store keys. Computed by the D1 applier inside the rating CAS and delivered @@ -450,7 +450,7 @@ on the post-finish ratings transition (the `kind: "ratings"` action). displayAfter: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:62](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L62) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:62](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L62) ##### displayBefore @@ -458,7 +458,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:62](https://github.com/ displayBefore: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:59](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L59) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:59](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L59) ##### displayChange @@ -466,7 +466,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:59](https://github.com/ displayChange: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:63](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L63) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:63](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L63) ##### identity @@ -474,7 +474,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:63](https://github.com/ identity: RatingIdentity; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:55](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L55) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:55](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L55) ##### muAfter @@ -482,7 +482,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:55](https://github.com/ muAfter: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:60](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L60) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:60](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L60) ##### muBefore @@ -490,7 +490,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:60](https://github.com/ muBefore: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:57](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L57) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:57](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L57) ##### pool @@ -498,7 +498,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:57](https://github.com/ pool: string; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:56](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L56) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:56](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L56) ##### sigmaAfter @@ -506,7 +506,7 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:56](https://github.com/ sigmaAfter: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:61](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L61) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:61](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L61) ##### sigmaBefore @@ -514,13 +514,13 @@ Defined in: [eigen-server/packages/kernel/src/ratings.ts:61](https://github.com/ sigmaBefore: number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:58](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L58) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:58](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L58) *** ### RatingResult -Defined in: [eigen-server/packages/kernel/src/ratings.ts:47](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L47) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:47](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L47) One identity's newly computed rating: the pure OpenSkill posterior, before the store-owned CAS revision is attached by the applier. @@ -537,13 +537,13 @@ before the store-owned CAS revision is attached by the applier. identity: RatingIdentity; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L48) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L48) *** ### Rejected -Defined in: [eigen-server/packages/kernel/src/errors.ts:42](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L42) +Defined in: [eigen-server/packages/kernel/src/errors.ts:42](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L42) An intent the kernel refused. A value, not a throw: rejections are part of the normal protocol. @@ -556,7 +556,7 @@ of the normal protocol. code: RejectCode; ``` -Defined in: [eigen-server/packages/kernel/src/errors.ts:44](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L44) +Defined in: [eigen-server/packages/kernel/src/errors.ts:44](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L44) ##### message @@ -564,7 +564,7 @@ Defined in: [eigen-server/packages/kernel/src/errors.ts:44](https://github.com/e message: string; ``` -Defined in: [eigen-server/packages/kernel/src/errors.ts:45](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L45) +Defined in: [eigen-server/packages/kernel/src/errors.ts:45](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L45) ##### rejected @@ -572,13 +572,13 @@ Defined in: [eigen-server/packages/kernel/src/errors.ts:45](https://github.com/e rejected: true; ``` -Defined in: [eigen-server/packages/kernel/src/errors.ts:43](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L43) +Defined in: [eigen-server/packages/kernel/src/errors.ts:43](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L43) *** ### Seat -Defined in: [eigen-server/packages/kernel/src/commit.ts:47](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L47) +Defined in: [eigen-server/packages/kernel/src/commit.ts:47](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L47) One seat of the roster. Both ids null ⇒ the account was purged mid-game (the seat plays on as "Deleted User" for display, but can never act). @@ -591,7 +591,7 @@ One seat of the roster. Both ids null ⇒ the account was purged mid-game botId: string | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:50](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L50) +Defined in: [eigen-server/packages/kernel/src/commit.ts:50](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L50) ##### playerIndex @@ -599,7 +599,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:50](https://github.com/e playerIndex: number; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L48) +Defined in: [eigen-server/packages/kernel/src/commit.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L48) ##### type @@ -607,7 +607,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:48](https://github.com/e type: "bot" | "human"; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:51](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L51) +Defined in: [eigen-server/packages/kernel/src/commit.ts:51](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L51) ##### userId @@ -615,13 +615,13 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:51](https://github.com/e userId: string | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:49](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L49) +Defined in: [eigen-server/packages/kernel/src/commit.ts:49](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L49) *** ### SeatView -Defined in: [eigen-server/packages/kernel/src/guards.ts:86](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L86) +Defined in: [eigen-server/packages/kernel/src/guards.ts:86](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L86) A seat's stored projection at one version: what the same-view compare runs on (and what the DO persists per transition as `frames[]`). @@ -634,7 +634,7 @@ runs on (and what the DO persists per transition as `frames[]`). data: JsonObject; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:87](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L87) +Defined in: [eigen-server/packages/kernel/src/guards.ts:87](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L87) ##### pendingPlayers @@ -642,13 +642,13 @@ Defined in: [eigen-server/packages/kernel/src/guards.ts:87](https://github.com/e pendingPlayers: number[]; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:88](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L88) +Defined in: [eigen-server/packages/kernel/src/guards.ts:88](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L88) *** ### StateRow -Defined in: [eigen-server/packages/kernel/src/commit.ts:56](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L56) +Defined in: [eigen-server/packages/kernel/src/commit.ts:56](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L56) The latest committed transition: state plus the engine-owned clocks. All instants are epoch milliseconds. @@ -661,7 +661,7 @@ instants are epoch milliseconds. deadline: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:63](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L63) +Defined in: [eigen-server/packages/kernel/src/commit.ts:63](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L63) The true turn deadline shown to clients; the alarm arms at `deadline + grace`. @@ -672,7 +672,7 @@ The true turn deadline shown to clients; the alarm arms at pending: number[]; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:59](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L59) +Defined in: [eigen-server/packages/kernel/src/commit.ts:59](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L59) ##### playerTimes @@ -680,7 +680,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:59](https://github.com/e playerTimes: number[] | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:65](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L65) +Defined in: [eigen-server/packages/kernel/src/commit.ts:65](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L65) Per-seat budget banks (ms), budget mode only. @@ -690,7 +690,7 @@ Per-seat budget banks (ms), budget mode only. rngSeed: string; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:60](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L60) +Defined in: [eigen-server/packages/kernel/src/commit.ts:60](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L60) ##### state @@ -698,7 +698,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:60](https://github.com/e state: JsonObject; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:58](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L58) +Defined in: [eigen-server/packages/kernel/src/commit.ts:58](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L58) ##### turnStartedAt @@ -706,7 +706,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:58](https://github.com/e turnStartedAt: number | null; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:66](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L66) +Defined in: [eigen-server/packages/kernel/src/commit.ts:66](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L66) ##### version @@ -714,7 +714,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:66](https://github.com/e version: number; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:57](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L57) +Defined in: [eigen-server/packages/kernel/src/commit.ts:57](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L57) ## Type Aliases @@ -738,7 +738,7 @@ type Effect = }; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:137](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L137) +Defined in: [eigen-server/packages/kernel/src/commit.ts:137](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L137) A push/wake the host should attempt post-commit (single attempt + error log, with no retry machinery in v1). The kernel names seats; the host resolves @@ -752,7 +752,7 @@ delivery (FCM targets, bot webhook vs local bot). type GameStatus = "waiting" | "ready" | "active" | "finished" | "aborted"; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:29](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L29) +Defined in: [eigen-server/packages/kernel/src/commit.ts:29](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L29) *** @@ -782,7 +782,7 @@ type Intent = }; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:73](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L73) +Defined in: [eigen-server/packages/kernel/src/commit.ts:73](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L73) What the host asks the kernel to do: the kernel-facing half of a `Command` (authorization already happened at the edge; dedupe at the DO). @@ -905,7 +905,7 @@ type ParseResult = }; ``` -Defined in: [eigen-server/packages/kernel/src/schema.ts:13](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/schema.ts#L13) +Defined in: [eigen-server/packages/kernel/src/schema.ts:13](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/schema.ts#L13) A client payload parse: refusal is the caller's fault, so failure comes back as a value for `commit()` to turn into a rejection. @@ -932,7 +932,7 @@ type RejectCode = | "abstain"; ``` -Defined in: [eigen-server/packages/kernel/src/errors.ts:20](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L20) +Defined in: [eigen-server/packages/kernel/src/errors.ts:20](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L20) Why an intent was refused. Stable machine codes: the host's transport mapping and the client's retry policy key on these, so treat renames as @@ -966,7 +966,7 @@ type TransitionAction = }; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:132](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L132) +Defined in: [eigen-server/packages/kernel/src/commit.ts:132](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L132) The action-log entry for a transition. Null only for the start transition (v0), which no action produced. `playerIndex` is the performer's seat, and @@ -985,7 +985,7 @@ engine's, not the game's opaque payload. const DEADLINE_GRACE_MS: 750 = 750; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:25](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L25) +Defined in: [eigen-server/packages/kernel/src/timing.ts:25](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L25) Grace window (ms) added to every deadline comparison so a player who submits on time is not rejected because network latency carried the request @@ -1003,7 +1003,7 @@ function assertBudgetPending( schemaVersion): void; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:26](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L26) +Defined in: [eigen-server/packages/kernel/src/guards.ts:26](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L26) Enforce budget mode's sequential-pending rule at the source: an accumulated clock only meters individual thinking time when at most one @@ -1035,7 +1035,7 @@ function assertForfeitPending( schemaVersion): void; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:36](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L36) +Defined in: [eigen-server/packages/kernel/src/guards.ts:36](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L36) Enforce that a forfeit actually removes the forfeited seat: a hook that leaves `targetSeat` in the pending set is a game bug. Left uncaught, the @@ -1065,7 +1065,7 @@ function assertHookPayload( what): asserts value is T; ``` -Defined in: [eigen-server/packages/kernel/src/schema.ts:63](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/schema.ts#L63) +Defined in: [eigen-server/packages/kernel/src/schema.ts:63](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/schema.ts#L63) Validate a payload produced by a game hook. Unlike client parsing, a failure is always a game bug. Validate-only: callers retain the hook's @@ -1101,7 +1101,7 @@ function assertHookState( schemaVersion): void; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:16](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L16) +Defined in: [eigen-server/packages/kernel/src/guards.ts:16](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L16) Validate the state a hook returned against the game's version schema before it is committed, catching a hook that wrote a malformed or @@ -1131,7 +1131,7 @@ function assertPendingIdentified( schemaVersion): void; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L48) +Defined in: [eigen-server/packages/kernel/src/guards.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L48) Enforce that every pending seat has someone behind it: a seat whose account was purged mid-game (both ids null) can never act, so a hook that @@ -1160,7 +1160,7 @@ catches any later hook resurrecting the seat. function canonicalJson(value): string; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:69](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L69) +Defined in: [eigen-server/packages/kernel/src/guards.ts:69](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L69) Canonical JSON: deterministic serialization with object keys sorted and `undefined` object values treated as absent, so two structurally equal @@ -1184,7 +1184,7 @@ views compare byte-identical regardless of construction order. function commit(input): CommitPlan | Rejected; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:166](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L166) +Defined in: [eigen-server/packages/kernel/src/commit.ts:166](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L166) #### Parameters @@ -1204,7 +1204,7 @@ Defined in: [eigen-server/packages/kernel/src/commit.ts:166](https://github.com/ function computeNextDeadline(input): NextDeadline; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:67](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L67) +Defined in: [eigen-server/packages/kernel/src/timing.ts:67](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L67) Computes the deadline and `turnStartedAt` for the next action: the precedence chain used by start and every commit mode. Pass @@ -1245,7 +1245,7 @@ graceful-degradation safeguard should a multi-pending state arrive anyway. function computeRatings(players): RatingResult[]; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:196](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L196) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:196](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L196) Compute every identity's new rating for one finished game. @@ -1280,7 +1280,7 @@ row left to update. function deadlineExpired(deadline, now): boolean; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:30](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L30) +Defined in: [eigen-server/packages/kernel/src/timing.ts:30](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L30) TRUE once a turn deadline (plus the grace window) has genuinely passed, measured against the injected `now`. A null deadline (untimed turn) is @@ -1310,7 +1310,7 @@ function deductBank( incrementSeconds): number[]; ``` -Defined in: [eigen-server/packages/kernel/src/timing.ts:38](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/timing.ts#L38) +Defined in: [eigen-server/packages/kernel/src/timing.ts:38](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/timing.ts#L38) Deducts the acting player's elapsed thinking time from their budget bank and applies the Fischer increment. Returns a new `playerTimes` array (ms @@ -1339,7 +1339,7 @@ at 0, not negative. function defaultRating(): Rating; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:73](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L73) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:73](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L73) The OpenSkill prior for a never-rated identity. @@ -1355,7 +1355,7 @@ The OpenSkill prior for a never-rated identity. function deriveRng(seed, version): Rng; ``` -Defined in: [eigen-server/packages/kernel/src/rng.ts:29](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/rng.ts#L29) +Defined in: [eigen-server/packages/kernel/src/rng.ts:29](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/rng.ts#L29) The deterministic RNG for one transition: rand-seed's sfc32 keyed by the game's base seed and the state version the envelope will commit as. The @@ -1383,7 +1383,7 @@ derivation is fixed, so recorded games stay replayable. function displayRating(mu, sigma): number; ``` -Defined in: [eigen-server/packages/kernel/src/ratings.ts:68](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/ratings.ts#L68) +Defined in: [eigen-server/packages/kernel/src/ratings.ts:68](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/ratings.ts#L68) max(0, round((mu − 3σ) · 40)): the one server-side home of the display formula (the client mirrors it for optimistic display only). @@ -1407,7 +1407,7 @@ formula (the client mirrors it for optimistic display only). function fanOutObservations(rules, args): ObservationFrame[]; ``` -Defined in: [eigen-server/packages/kernel/src/observe.ts:25](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/observe.ts#L25) +Defined in: [eigen-server/packages/kernel/src/observe.ts:25](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/observe.ts#L25) Project the new state into one slice per seat: the eager fan-out the host persists per transition (frames serve live delivery and the same-view @@ -1436,7 +1436,7 @@ decision here. function isRejected(result): result is Rejected; ``` -Defined in: [eigen-server/packages/kernel/src/commit.ts:160](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/commit.ts#L160) +Defined in: [eigen-server/packages/kernel/src/commit.ts:160](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/commit.ts#L160) Type guard: did `commit()` refuse the intent? @@ -1461,7 +1461,7 @@ function parseClientPayload( what): ParseResult; ``` -Defined in: [eigen-server/packages/kernel/src/schema.ts:40](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/schema.ts#L40) +Defined in: [eigen-server/packages/kernel/src/schema.ts:40](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/schema.ts#L40) Parse a client-submitted payload (an action's `data`, a create request's `config`) through its schema. Failure is the caller's fault. Returns the @@ -1499,7 +1499,7 @@ function parseStoredPayload( schemaVersion): T; ``` -Defined in: [eigen-server/packages/kernel/src/schema.ts:51](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/schema.ts#L51) +Defined in: [eigen-server/packages/kernel/src/schema.ts:51](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/schema.ts#L51) Parse a stored payload (a state row, the game's config) through its schema. Failure means corrupted data or a schema that no longer matches @@ -1532,7 +1532,7 @@ what this version historically wrote: an engine-side bug, thrown. function randomSeed(): string; ``` -Defined in: [eigen-server/packages/kernel/src/rng.ts:18](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/rng.ts#L18) +Defined in: [eigen-server/packages/kernel/src/rng.ts:18](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/rng.ts#L18) A fresh base seed for a new game: 128 random bits, hex-encoded. Stored on the game's v0 state row and copied onto every later row (server-only, @@ -1550,7 +1550,7 @@ never expose it: the whole randomness of the game is derivable from it). function reject(code, message): Rejected; ``` -Defined in: [eigen-server/packages/kernel/src/errors.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/errors.ts#L48) +Defined in: [eigen-server/packages/kernel/src/errors.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/errors.ts#L48) #### Parameters @@ -1571,7 +1571,7 @@ Defined in: [eigen-server/packages/kernel/src/errors.ts:48](https://github.com/e function sameView(a, b): boolean; ``` -Defined in: [eigen-server/packages/kernel/src/guards.ts:100](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/kernel/src/guards.ts#L100) +Defined in: [eigen-server/packages/kernel/src/guards.ts:100](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/kernel/src/guards.ts#L100) The same-view rule: a stale-`expectedVersion` action is accepted iff the acting seat's own projected observation (slice `data` plus the diff --git a/docs/reference/typescript/rules.md b/docs/reference/typescript/rules.md index cccba16..dd49bc0 100644 --- a/docs/reference/typescript/rules.md +++ b/docs/reference/typescript/rules.md @@ -9,7 +9,7 @@ helpers: it has no runtime dependencies and pulls in no engine code. ### IllegalMoveError -Defined in: [eigen-server/packages/rules/src/helpers.ts:14](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/helpers.ts#L14) +Defined in: [eigen-server/packages/rules/src/helpers.ts:14](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/helpers.ts#L14) Thrown by a game's `applyAction` to reject a move that breaks the rules. the *expected* failure of the hook (a mis-tap, a client bug), rendered to @@ -76,7 +76,7 @@ Error.constructor ### ApplyActionArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:122](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L122) +Defined in: [eigen-server/packages/rules/src/contract.ts:122](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L122) #### Extends @@ -98,7 +98,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:122](https://github.com config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L113) +Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L113) ###### Inherited from @@ -112,7 +112,7 @@ HookContext.config data: TAction; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:125](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L125) +Defined in: [eigen-server/packages/rules/src/contract.ts:125](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L125) ##### pending @@ -120,7 +120,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:125](https://github.com pending: number[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:124](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L124) +Defined in: [eigen-server/packages/rules/src/contract.ts:124](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L124) ##### playerIndex @@ -128,7 +128,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:124](https://github.com playerIndex: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:126](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L126) +Defined in: [eigen-server/packages/rules/src/contract.ts:126](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L126) ##### rng @@ -136,7 +136,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:126](https://github.com rng: Rng; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:128](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L128) +Defined in: [eigen-server/packages/rules/src/contract.ts:128](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L128) Deterministic per-transition RNG. See [Rng](#rng-4). @@ -146,13 +146,13 @@ Deterministic per-transition RNG. See [Rng](#rng-4). state: TState; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:123](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L123) +Defined in: [eigen-server/packages/rules/src/contract.ts:123](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L123) *** ### ApplyLifecycleArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:140](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L140) +Defined in: [eigen-server/packages/rules/src/contract.ts:140](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L140) #### Extends @@ -173,7 +173,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:140](https://github.com config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L113) +Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L113) ###### Inherited from @@ -187,7 +187,7 @@ HookContext.config data: LifecycleAction; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:149](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L149) +Defined in: [eigen-server/packages/rules/src/contract.ts:149](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L149) ##### pending @@ -195,7 +195,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:149](https://github.com pending: number[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:146](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L146) +Defined in: [eigen-server/packages/rules/src/contract.ts:146](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L146) Seats awaiting an action. For `timeout` these are exactly the seats that ran out of time, so resolve the whole set in one envelope (you may declare a @@ -208,7 +208,7 @@ draw). For `forfeit`/`autoForfeit`, the target seat is in rng: Rng; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:151](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L151) +Defined in: [eigen-server/packages/rules/src/contract.ts:151](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L151) Deterministic per-transition RNG. See [Rng](#rng-4). @@ -218,7 +218,7 @@ Deterministic per-transition RNG. See [Rng](#rng-4). state: TState; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:141](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L141) +Defined in: [eigen-server/packages/rules/src/contract.ts:141](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L141) ##### type @@ -226,7 +226,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:141](https://github.com type: LifecycleType; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:148](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L148) +Defined in: [eigen-server/packages/rules/src/contract.ts:148](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L148) The trigger, always equal to `data.type`. @@ -234,7 +234,7 @@ The trigger, always equal to `data.type`. ### BotActionArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:221](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L221) +Defined in: [eigen-server/packages/rules/src/contract.ts:221](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L221) A seated engine bot's turn to move, passed to the matching entry in [GameRules.botActions](#botactions). The brain runs inside the game's Durable @@ -266,7 +266,7 @@ pure (replay uses the recorded action, never re-runs the brain). botConfig: JsonObject; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:223](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L223) +Defined in: [eigen-server/packages/rules/src/contract.ts:223](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L223) ##### config @@ -274,7 +274,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:223](https://github.com config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L113) +Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L113) ###### Inherited from @@ -288,7 +288,7 @@ HookContext.config observation: ObservationSlice; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:222](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L222) +Defined in: [eigen-server/packages/rules/src/contract.ts:222](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L222) ##### playerIndex @@ -296,7 +296,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:222](https://github.com playerIndex: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:224](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L224) +Defined in: [eigen-server/packages/rules/src/contract.ts:224](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L224) ##### rng @@ -304,13 +304,13 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:224](https://github.com rng: Rng; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:225](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L225) +Defined in: [eigen-server/packages/rules/src/contract.ts:225](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L225) *** ### BotSeatableArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:206](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L206) +Defined in: [eigen-server/packages/rules/src/contract.ts:206](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L206) A candidate bot seating, passed to [GameRules.botSeatable](#botseatable). `gameConfig` is parsed against the game's version schema; `botConfig` is the @@ -331,7 +331,7 @@ schemas, so it stays opaque. botConfig: JsonObject; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:208](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L208) +Defined in: [eigen-server/packages/rules/src/contract.ts:208](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L208) ##### gameConfig @@ -339,13 +339,13 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:208](https://github.com gameConfig: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:207](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L207) +Defined in: [eigen-server/packages/rules/src/contract.ts:207](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L207) *** ### ComputeObservationArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:170](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L170) +Defined in: [eigen-server/packages/rules/src/contract.ts:170](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L170) #### Extends @@ -367,7 +367,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:170](https://github.com cause: TransitionCause; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:182](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L182) +Defined in: [eigen-server/packages/rules/src/contract.ts:182](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L182) What produced `state`. See [TransitionCause](#transitioncause). Shared across the per-seat fan-out; per-seat filtering of what it reveals is this hook's @@ -379,7 +379,7 @@ job. config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L113) +Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L113) ###### Inherited from @@ -393,7 +393,7 @@ HookContext.config isReplay: boolean; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:185](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L185) +Defined in: [eigen-server/packages/rules/src/contract.ts:185](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L185) TRUE only when projecting a finished game for replay, where hidden-info games may reveal opponent state. @@ -404,7 +404,7 @@ may reveal opponent state. participantCount: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:178](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L178) +Defined in: [eigen-server/packages/rules/src/contract.ts:178](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L178) ##### pending @@ -412,7 +412,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:178](https://github.com pending: number[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:172](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L172) +Defined in: [eigen-server/packages/rules/src/contract.ts:172](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L172) ##### playerIndex @@ -420,7 +420,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:172](https://github.com playerIndex: number | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:177](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L177) +Defined in: [eigen-server/packages/rules/src/contract.ts:177](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L177) The seat this projection is for, or `null` for a viewer (a non-participant replaying a public game). A viewer projection only ever occurs with @@ -433,13 +433,13 @@ full post-game view for it. state: TState; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:171](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L171) +Defined in: [eigen-server/packages/rules/src/contract.ts:171](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L171) *** ### Envelope -Defined in: [eigen-server/packages/rules/src/contract.ts:81](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L81) +Defined in: [eigen-server/packages/rules/src/contract.ts:81](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L81) The result of advancing the game by one transition: the return of `initialState`, `applyAction`, and `applyLifecycle`. @@ -458,7 +458,7 @@ The result of advancing the game by one transition: the return of optional outcome?: OutcomeEntry[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:89](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L89) +Defined in: [eigen-server/packages/rules/src/contract.ts:89](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L89) Present **only** when the game ends. Absent/undefined means ongoing. @@ -468,7 +468,7 @@ Present **only** when the game ends. Absent/undefined means ongoing. pendingPlayers: number[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:87](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L87) +Defined in: [eigen-server/packages/rules/src/contract.ts:87](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L87) 0-based seats that may act next. Empty ⇒ game over. @@ -478,7 +478,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:87](https://github.com/ state: TState; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:85](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L85) +Defined in: [eigen-server/packages/rules/src/contract.ts:85](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L85) New pure game payload (board, deck, fog…). Never carries whose-turn or winner info; those are engine-owned fields. Must match the game's @@ -490,7 +490,7 @@ winner info; those are engine-owned fields. Must match the game's optional turnSeconds?: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:92](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L92) +Defined in: [eigen-server/packages/rules/src/contract.ts:92](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L92) Optional per-action deadline override for *this action only* (does not touch any player's bank). Omit to use the game's configured timing. @@ -499,7 +499,7 @@ touch any player's bank). Omit to use the game's configured timing. ### GameModule -Defined in: [eigen-server/packages/rules/src/contract.ts:348](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L348) +Defined in: [eigen-server/packages/rules/src/contract.ts:348](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L348) The complete game-specific surface: the same-named twin of the Dart `GameModule` (whose extras are client-only creation/about UI). Implement @@ -516,7 +516,7 @@ branches on version. versions: Record; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:356](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L356) +Defined in: [eigen-server/packages/rules/src/contract.ts:356](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L356) The [GameRules](#gamerules) units keyed by `schemaVersion`: exactly the versions this build ships. Sparse on purpose: game creation rejects a @@ -530,7 +530,7 @@ each payload with the same entry's schemas before invoking its hooks. ### GameRules -Defined in: [eigen-server/packages/rules/src/contract.ts:264](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L264) +Defined in: [eigen-server/packages/rules/src/contract.ts:264](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L264) Everything one `schemaVersion` of a game needs: the payload contracts plus all six hooks, narrowly typed to that version's shapes. @@ -560,7 +560,7 @@ change incompatibly, ship a new `GameRules` under the next version key optional botActions?: Record>; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:319](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L319) +Defined in: [eigen-server/packages/rules/src/contract.ts:319](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L319) Optional: the in-DO bot brains, **keyed by bot username**. When a seated `engine`-type bot's turn starts, the engine resolves its registry @@ -580,7 +580,7 @@ rejected exactly like a human's, so a buggy brain fails that seat's turn schemas: GameSchemas; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:266](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L266) +Defined in: [eigen-server/packages/rules/src/contract.ts:266](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L266) The payload contracts for this version. @@ -592,7 +592,7 @@ The payload contracts for this version. applyAction(args): Envelope; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:277](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L277) +Defined in: [eigen-server/packages/rules/src/contract.ts:277](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L277) Apply a player's move. The engine has already confirmed it is this seat's turn at the expected version, so do not re-check turn order. Only @@ -616,7 +616,7 @@ bug and surfaces as a server error. applyLifecycle(args): Envelope; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:284](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L284) +Defined in: [eigen-server/packages/rules/src/contract.ts:284](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L284) Resolve a lifecycle action (`forfeit`/`timeout`) into an envelope. Lifecycle actions operate on the game from outside its rules. They may @@ -640,7 +640,7 @@ it cannot be "illegal"; it always resolves. botSeatable(args): boolean; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:306](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L306) +Defined in: [eigen-server/packages/rules/src/contract.ts:306](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L306) Decide whether a bot's declared capabilities (`botConfig`) support a game with `gameConfig`. The engine gates seating on this before @@ -663,7 +663,7 @@ Return `true` to allow. computeObservation(args): ObservationSlice; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:292](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L292) +Defined in: [eigen-server/packages/rules/src/contract.ts:292](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L292) Project the state into one seat's view, including what that seat may see of the transition that produced it (`args.cause`), so the client can @@ -688,7 +688,7 @@ the acting seat's projected view is unchanged (the same-view rule). initialState(args): Envelope; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:270](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L270) +Defined in: [eigen-server/packages/rules/src/contract.ts:270](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L270) Starting envelope. Draw any setup randomness (deck shuffle, first player…) from `args.rng`. @@ -709,7 +709,7 @@ player…) from `args.rng`. ratingPool(args): string | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:300](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L300) +Defined in: [eigen-server/packages/rules/src/contract.ts:300](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L300) Decide whether, and in which pool, a game with these settings is rated. Return the pool name (e.g. `'rapid'`) or `null` for unrated. The @@ -732,7 +732,7 @@ the Rated/Casual toggle and send the same value. ### GameSchemas -Defined in: [eigen-server/packages/rules/src/contract.ts:241](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L241) +Defined in: [eigen-server/packages/rules/src/contract.ts:241](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L241) The declarative payload contracts for one `schemaVersion`: the Standard Schemas the engine uses to parse (and validate) every game payload crossing @@ -759,7 +759,7 @@ bug. action: GamePayloadSchema; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:247](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L247) +Defined in: [eigen-server/packages/rules/src/contract.ts:247](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L247) A player move's `data`, as submitted by clients and bots. @@ -769,7 +769,7 @@ A player move's `data`, as submitted by clients and bots. config: GamePayloadSchema; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:249](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L249) +Defined in: [eigen-server/packages/rules/src/contract.ts:249](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L249) The per-instance creation config stored on the game. @@ -779,7 +779,7 @@ The per-instance creation config stored on the game. observation: GamePayloadSchema; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:245](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L245) +Defined in: [eigen-server/packages/rules/src/contract.ts:245](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L245) One participant's projected view, as returned by `computeObservation`. @@ -789,7 +789,7 @@ One participant's projected view, as returned by `computeObservation`. state: GamePayloadSchema; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:243](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L243) +Defined in: [eigen-server/packages/rules/src/contract.ts:243](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L243) The pure game payload stored per transition. @@ -797,7 +797,7 @@ The pure game payload stored per transition. ### InitialStateArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:116](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L116) +Defined in: [eigen-server/packages/rules/src/contract.ts:116](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L116) #### Extends @@ -817,7 +817,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:116](https://github.com config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L113) +Defined in: [eigen-server/packages/rules/src/contract.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L113) ###### Inherited from @@ -831,7 +831,7 @@ HookContext.config playerCount: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:119](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L119) +Defined in: [eigen-server/packages/rules/src/contract.ts:119](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L119) ##### rng @@ -839,7 +839,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:119](https://github.com rng: Rng; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:118](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L118) +Defined in: [eigen-server/packages/rules/src/contract.ts:118](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L118) Deterministic RNG for this transition. See [Rng](#rng-4). @@ -847,7 +847,7 @@ Deterministic RNG for this transition. See [Rng](#rng-4). ### JsonObject -Defined in: [eigen-server/packages/rules/src/json.ts:23](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/json.ts#L23) +Defined in: [eigen-server/packages/rules/src/json.ts:23](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/json.ts#L23) A JSON object: the shape of `state`, `config`, `data`, and observation slices, and the constraint every game payload type must satisfy. An @@ -866,7 +866,7 @@ implicit index signature this constraint relies on. ### ObservationSlice -Defined in: [eigen-server/packages/rules/src/contract.ts:96](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L96) +Defined in: [eigen-server/packages/rules/src/contract.ts:96](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L96) One participant's view of the state, produced by `computeObservation`. @@ -884,7 +884,7 @@ One participant's view of the state, produced by `computeObservation`. data: TObservation; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:98](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L98) +Defined in: [eigen-server/packages/rules/src/contract.ts:98](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L98) What this seat is permitted to see. @@ -894,7 +894,7 @@ What this seat is permitted to see. pendingPlayers: number[]; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:103](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L103) +Defined in: [eigen-server/packages/rules/src/contract.ts:103](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L103) Pending set as this seat sees it. May be narrowed from the true set for hidden-info games (e.g. a Nope window, or a simultaneous-commit round @@ -905,7 +905,7 @@ stay truthful about the seat *itself*, which the engine enforces. ### RatingPoolArgs -Defined in: [eigen-server/packages/rules/src/contract.ts:192](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L192) +Defined in: [eigen-server/packages/rules/src/contract.ts:192](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L192) The chosen game settings, passed to [GameRules.ratingPool](#ratingpool) at creation so the game can decide its rating pool (or that the game is @@ -926,7 +926,7 @@ schema. access: GameAccess; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:193](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L193) +Defined in: [eigen-server/packages/rules/src/contract.ts:193](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L193) ##### budgetSeconds @@ -934,7 +934,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:193](https://github.com budgetSeconds: number | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:195](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L195) +Defined in: [eigen-server/packages/rules/src/contract.ts:195](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L195) ##### config @@ -942,7 +942,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:195](https://github.com config: TConfig; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:199](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L199) +Defined in: [eigen-server/packages/rules/src/contract.ts:199](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L199) ##### incrementSeconds @@ -950,7 +950,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:199](https://github.com incrementSeconds: number | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:196](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L196) +Defined in: [eigen-server/packages/rules/src/contract.ts:196](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L196) ##### maxPlayers @@ -958,7 +958,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:196](https://github.com maxPlayers: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:198](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L198) +Defined in: [eigen-server/packages/rules/src/contract.ts:198](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L198) ##### minPlayers @@ -966,7 +966,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:198](https://github.com minPlayers: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:197](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L197) +Defined in: [eigen-server/packages/rules/src/contract.ts:197](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L197) ##### turnSeconds @@ -974,13 +974,13 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:197](https://github.com turnSeconds: number | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:194](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L194) +Defined in: [eigen-server/packages/rules/src/contract.ts:194](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L194) *** ### Rng -Defined in: [eigen-server/packages/rules/src/contract.ts:53](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L53) +Defined in: [eigen-server/packages/rules/src/contract.ts:53](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L53) Deterministic per-transition random source, derived by the engine from the game's stored base seed and the state version the envelope commits as. Draw @@ -997,7 +997,7 @@ in deterministic code order. next(): number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:54](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L54) +Defined in: [eigen-server/packages/rules/src/contract.ts:54](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L54) ###### Returns @@ -1011,7 +1011,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:54](https://github.com/ type ActionKind = "game" | "lifecycle"; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:43](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L43) +Defined in: [eigen-server/packages/rules/src/contract.ts:43](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L43) Which species a logged action is. Everything that transitions state is an *action*; the two species differ by contract: a `game` action is @@ -1029,7 +1029,7 @@ the log structurally, never by payload shape. type ActionType = "user" | "bot" | "system"; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:34](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L34) +Defined in: [eigen-server/packages/rules/src/contract.ts:34](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L34) Who performed a logged action. @@ -1041,7 +1041,7 @@ Who performed a logged action. type AnyGameRules = GameRules; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:338](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L338) +Defined in: [eigen-server/packages/rules/src/contract.ts:338](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L338) A [GameRules](#gamerules) unit with its payload types erased: the type of a rules entry once it is stored in a [GameModule.versions](#versions) registry that holds @@ -1065,7 +1065,7 @@ with no `as`-cast, because `any` disables the variance check at this seam. type BotAction = (args) => TAction; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:230](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L230) +Defined in: [eigen-server/packages/rules/src/contract.ts:230](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L230) One engine bot's move function: the value type in [GameRules.botActions](#botactions). @@ -1096,7 +1096,7 @@ One engine bot's move function: the value type in type GameAccess = "public" | "private" | "friends"; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:31](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L31) +Defined in: [eigen-server/packages/rules/src/contract.ts:31](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L31) Game visibility. @@ -1108,7 +1108,7 @@ Game visibility. type GamePayloadSchema = StandardSchemaV1 & StandardJSONSchemaV1; ``` -Defined in: [eigen-server/packages/rules/src/standard-json-schema.ts:8](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/standard-json-schema.ts#L8) +Defined in: [eigen-server/packages/rules/src/standard-json-schema.ts:8](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/standard-json-schema.ts#L8) One game payload declaration: runtime validation plus portable schema emission from the same transform-free object. Input and output deliberately @@ -1128,7 +1128,7 @@ share one type: what parses is what persists and what Dart generates. type GameResult = "win" | "loss" | "draw" | "eliminated"; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:28](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L28) +Defined in: [eigen-server/packages/rules/src/contract.ts:28](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L28) Per-player result of a finished game. @@ -1140,7 +1140,7 @@ Per-player result of a finished game. type Json = string | number | boolean | null | JsonArray | JsonObject; ``` -Defined in: [eigen-server/packages/rules/src/json.ts:10](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/json.ts#L10) +Defined in: [eigen-server/packages/rules/src/json.ts:10](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/json.ts#L10) Any JSON value. `undefined` is allowed inside objects (treated as an absent key, matching how schema libraries model optional fields); it never @@ -1161,7 +1161,7 @@ type LifecycleAction = }; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:138](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L138) +Defined in: [eigen-server/packages/rules/src/contract.ts:138](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L138) The engine-constructed payload of a lifecycle action, recorded verbatim in the action log (with `kind = 'lifecycle'`). Engine-owned and @@ -1179,7 +1179,7 @@ purge); `timeout` carries no seat, and the affected seats are type LifecycleType = "timeout" | "forfeit" | "autoForfeit"; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:25](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L25) +Defined in: [eigen-server/packages/rules/src/contract.ts:25](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L25) The trigger of a lifecycle action, resolved by the game's `applyLifecycle` hook. `forfeit` is a voluntary resign; `autoForfeit` the engine-driven @@ -1203,7 +1203,7 @@ type OutcomeEntry = { }; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:68](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L68) +Defined in: [eigen-server/packages/rules/src/contract.ts:68](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L68) One participant's result, recorded when the game ends. `placement` (1 = best, ties share a value) feeds OpenSkill directly; `teamIndex` @@ -1221,7 +1221,7 @@ implicit index signature that makes it assignable to `Json`. placement: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:71](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L71) +Defined in: [eigen-server/packages/rules/src/contract.ts:71](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L71) ##### playerIndex @@ -1229,7 +1229,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:71](https://github.com/ playerIndex: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:69](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L69) +Defined in: [eigen-server/packages/rules/src/contract.ts:69](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L69) ##### result @@ -1237,7 +1237,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:69](https://github.com/ result: GameResult; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:70](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L70) +Defined in: [eigen-server/packages/rules/src/contract.ts:70](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L70) ##### score? @@ -1245,7 +1245,7 @@ Defined in: [eigen-server/packages/rules/src/contract.ts:70](https://github.com/ optional score?: number | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:74](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L74) +Defined in: [eigen-server/packages/rules/src/contract.ts:74](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L74) Optional raw game score, for display or score-based variants. @@ -1255,7 +1255,7 @@ Optional raw game score, for display or score-based variants. teamIndex: number; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:72](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L72) +Defined in: [eigen-server/packages/rules/src/contract.ts:72](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L72) *** @@ -1275,7 +1275,7 @@ type TransitionCause = | null; ``` -Defined in: [eigen-server/packages/rules/src/contract.ts:168](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/contract.ts#L168) +Defined in: [eigen-server/packages/rules/src/contract.ts:168](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/contract.ts#L168) The action that produced the state being projected: a `game` action (`applyAction`), a `lifecycle` action (`applyLifecycle`), or `null` for @@ -1304,7 +1304,7 @@ them as animation only when it has the frame's predecessor, and as static function passthroughObservation(args): ObservationSlice; ``` -Defined in: [eigen-server/packages/rules/src/helpers.ts:24](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/rules/src/helpers.ts#L24) +Defined in: [eigen-server/packages/rules/src/helpers.ts:24](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/rules/src/helpers.ts#L24) Default `computeObservation` for perfect-information games: every seat sees the full state and the true pending set. Ignores `args.cause`, since a diff --git a/docs/reference/typescript/server-testing.md b/docs/reference/typescript/server-testing.md index 96d90f0..b877e69 100644 --- a/docs/reference/typescript/server-testing.md +++ b/docs/reference/typescript/server-testing.md @@ -31,7 +31,7 @@ production config: pass `testing` ONLY in test workers. ### TestTokenOptions -Defined in: [eigen-server/packages/server/src/testing.ts:70](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L70) +Defined in: [eigen-server/packages/server/src/testing.ts:70](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L70) #### Properties @@ -41,7 +41,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:70](https://github.com/ optional anonymous?: boolean; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:72](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L72) +Defined in: [eigen-server/packages/server/src/testing.ts:72](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L72) ##### claims? @@ -49,7 +49,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:72](https://github.com/ optional claims?: Record; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:77](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L77) +Defined in: [eigen-server/packages/server/src/testing.ts:77](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L77) Override any registered claim (e.g. an expired `exp`, a wrong `aud`). @@ -59,7 +59,7 @@ Override any registered claim (e.g. an expired `exp`, a wrong `aud`). optional email?: string; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:73](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L73) +Defined in: [eigen-server/packages/server/src/testing.ts:73](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L73) ##### name? @@ -67,7 +67,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:73](https://github.com/ optional name?: string; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:74](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L74) +Defined in: [eigen-server/packages/server/src/testing.ts:74](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L74) ##### picture? @@ -75,7 +75,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:74](https://github.com/ optional picture?: string; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:75](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L75) +Defined in: [eigen-server/packages/server/src/testing.ts:75](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L75) ##### uid @@ -83,7 +83,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:75](https://github.com/ uid: string; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:71](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L71) +Defined in: [eigen-server/packages/server/src/testing.ts:71](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L71) ## Variables @@ -93,7 +93,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:71](https://github.com/ const TEST_PROJECT_ID: "eigen-test" = "eigen-test"; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:36](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L36) +Defined in: [eigen-server/packages/server/src/testing.ts:36](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L36) *** @@ -103,7 +103,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:36](https://github.com/ const testFirebaseAdmin: FirebaseAdminEffects; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:60](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L60) +Defined in: [eigen-server/packages/server/src/testing.ts:60](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L60) No-op Firebase Admin effects for test workers and test Durable Objects. @@ -115,7 +115,7 @@ No-op Firebase Admin effects for test workers and test Durable Objects. function mintTestToken(opts): Promise; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:80](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L80) +Defined in: [eigen-server/packages/server/src/testing.ts:80](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L80) #### Parameters @@ -135,7 +135,7 @@ Defined in: [eigen-server/packages/server/src/testing.ts:80](https://github.com/ function testBearer(opts): Promise>; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:99](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L99) +Defined in: [eigen-server/packages/server/src/testing.ts:99](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L99) Authorization header for a minted token. @@ -157,7 +157,7 @@ Authorization header for a minted token. function testVerifier(): TokenVerifier; ``` -Defined in: [eigen-server/packages/server/src/testing.ts:66](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/testing.ts#L66) +Defined in: [eigen-server/packages/server/src/testing.ts:66](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/testing.ts#L66) The verifier a test worker passes under `createEngine({ testing })`. diff --git a/docs/reference/typescript/server.md b/docs/reference/typescript/server.md index 2e455cf..a24472f 100644 --- a/docs/reference/typescript/server.md +++ b/docs/reference/typescript/server.md @@ -13,7 +13,7 @@ drizzle tables would turn a private layout into a compatibility surface. ### AuthError -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:12](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L12) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:12](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L12) Verification failure, always the caller's fault; the app maps it to 401. @@ -76,7 +76,7 @@ Error.constructor ### `abstract` BaseGameDO -Defined in: [eigen-server/packages/server/src/do/game-do.ts:104](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L104) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:104](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L104) Durable Object base class that owns one authoritative game session. @@ -118,7 +118,7 @@ export class GameDO extends BaseGameDO { new BaseGameDO(ctx, env): BaseGameDO; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:118](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L118) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:118](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L118) ###### Parameters @@ -145,7 +145,7 @@ DurableObject.constructor abstract protected readonly gameModule: GameModule; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:106](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L106) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:106](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L106) The implementor's game: the `versions` map the engine dispatches on. @@ -157,7 +157,7 @@ The implementor's game: the `versions` map the engine dispatches on. abort(gameId): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:271](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L271) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:271](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L271) Unconditional teardown (cron reap): mark the game aborted in D1 and drop the DO's storage: no creator gate, no init requirement. A @@ -187,7 +187,7 @@ GameStub.abort alarm(): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:729](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L729) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:729](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L729) ###### Returns @@ -199,7 +199,7 @@ Defined in: [eigen-server/packages/server/src/do/game-do.ts:729](https://github. abstract protected d1(env): D1Database; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:109](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L109) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:109](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L109) The EngineConfig seam: the engine never assumes binding names, so the subclass picks the D1 database off its own Env. @@ -220,7 +220,7 @@ subclass picks the D1 database off its own Env. fetch(request): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:753](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L753) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:753](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L753) The worker routes the upgrade here after authenticating; the principal header is worker-set (never client-supplied; the worker strips inbound @@ -251,7 +251,7 @@ GameStub.fetch protected firebaseAdmin(env): FirebaseAdminEffects; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:112](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L112) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:112](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L112) Required Firebase Admin effects. Tests override this with the explicit fake exported by `@eigeninteractive/server/testing`. @@ -272,7 +272,7 @@ fake exported by `@eigeninteractive/server/testing`. frames(args): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:932](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L932) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:932](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L932) Project a version range for one seat (null = public viewer, replay only). Live rows serve the stored frame; compacted/ratings rows @@ -304,7 +304,7 @@ GameStub.frames handle(cmd): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:131](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L131) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:131](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L131) ###### Parameters @@ -328,7 +328,7 @@ GameStub.handle repokeFinish(): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:717](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L717) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:717](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L717) The gated admin re-poke (step 4): re-runs the D1 apply for a finish whose effects never landed. Idempotent end to end: finish_id @@ -351,7 +351,7 @@ GameStub.repokeFinish session(gameId, userId): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:776](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L776) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:776](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L776) The snapshot over RPC, for the HTTP paths that have no socket. @@ -378,7 +378,7 @@ GameStub.session webSocketClose(): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:786](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L786) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:786](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L786) ###### Returns @@ -390,7 +390,7 @@ Defined in: [eigen-server/packages/server/src/do/game-do.ts:786](https://github. webSocketError(_ws, error): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:792](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L792) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:792](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L792) ###### Parameters @@ -409,7 +409,7 @@ Defined in: [eigen-server/packages/server/src/do/game-do.ts:792](https://github. webSocketMessage(): Promise; ``` -Defined in: [eigen-server/packages/server/src/do/game-do.ts:781](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/do/game-do.ts#L781) +Defined in: [eigen-server/packages/server/src/do/game-do.ts:781](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/do/game-do.ts#L781) ###### Returns @@ -419,7 +419,7 @@ Defined in: [eigen-server/packages/server/src/do/game-do.ts:781](https://github. ### HttpError -Defined in: [eigen-server/packages/server/src/http.ts:41](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/http.ts#L41) +Defined in: [eigen-server/packages/server/src/http.ts:41](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/http.ts#L41) #### Extends @@ -437,7 +437,7 @@ new HttpError( retryAfterSeconds?): HttpError; ``` -Defined in: [eigen-server/packages/server/src/http.ts:49](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/http.ts#L49) +Defined in: [eigen-server/packages/server/src/http.ts:49](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/http.ts#L49) ###### Parameters @@ -466,7 +466,7 @@ Error.constructor readonly code: ErrorCode | undefined; ``` -Defined in: [eigen-server/packages/server/src/http.ts:43](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/http.ts#L43) +Defined in: [eigen-server/packages/server/src/http.ts:43](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/http.ts#L43) ##### retryAfterSeconds @@ -474,7 +474,7 @@ Defined in: [eigen-server/packages/server/src/http.ts:43](https://github.com/eig readonly retryAfterSeconds: number | undefined; ``` -Defined in: [eigen-server/packages/server/src/http.ts:47](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/http.ts#L47) +Defined in: [eigen-server/packages/server/src/http.ts:47](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/http.ts#L47) Seconds the caller should wait before retrying, rendered as the `Retry-After` header. Set only on a 429 (see `ErrorCode.rateLimited`); @@ -486,13 +486,13 @@ Seconds the caller should wait before retrying, rendered as the readonly status: 400 | 401 | 403 | 404 | 409 | 413 | 415 | 422 | 429 | 500 | 502; ``` -Defined in: [eigen-server/packages/server/src/http.ts:42](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/http.ts#L42) +Defined in: [eigen-server/packages/server/src/http.ts:42](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/http.ts#L42) ## Interfaces ### AuthClaims -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:18](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L18) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:18](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L18) What a verified ID token asserts. `isAnonymous` (the `firebase.sign_in_provider === 'anonymous'` claim) drives every guest gate; @@ -507,7 +507,7 @@ Apple usually only email, guests none). email: string | null; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:21](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L21) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:21](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L21) ##### isAnonymous @@ -515,7 +515,7 @@ Defined in: [eigen-server/packages/server/src/auth/firebase.ts:21](https://githu isAnonymous: boolean; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:20](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L20) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:20](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L20) ##### name @@ -523,7 +523,7 @@ Defined in: [eigen-server/packages/server/src/auth/firebase.ts:20](https://githu name: string | null; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:22](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L22) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:22](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L22) ##### picture @@ -531,7 +531,7 @@ Defined in: [eigen-server/packages/server/src/auth/firebase.ts:22](https://githu picture: string | null; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:23](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L23) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:23](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L23) ##### uid @@ -539,13 +539,13 @@ Defined in: [eigen-server/packages/server/src/auth/firebase.ts:23](https://githu uid: string; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:19](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L19) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:19](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L19) *** ### CreateGameInput -Defined in: [eigen-server/packages/server/src/d1/apply.ts:292](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L292) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:292](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L292) The worker-direct create, engine-owned so implementors never touch the D1 schema: seats already validated by worker policy. @@ -558,7 +558,7 @@ the D1 schema: seats already validated by worker policy. access: GameAccess; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:296](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L296) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:296](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L296) ##### budgetSeconds @@ -566,7 +566,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:296](https://github.co budgetSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:300](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L300) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:300](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L300) ##### config @@ -574,7 +574,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:300](https://github.co config: JsonObject; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:298](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L298) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:298](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L298) ##### createdBy @@ -582,7 +582,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:298](https://github.co createdBy: string | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:294](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L294) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:294](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L294) ##### gameId @@ -590,7 +590,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:294](https://github.co gameId: string; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:293](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L293) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:293](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L293) ##### incrementSeconds @@ -598,7 +598,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:293](https://github.co incrementSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:301](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L301) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:301](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L301) ##### maxPlayers @@ -606,7 +606,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:301](https://github.co maxPlayers: number; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:305](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L305) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:305](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L305) ##### minPlayers @@ -614,7 +614,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:305](https://github.co minPlayers: number; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:304](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L304) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:304](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L304) ##### now @@ -622,7 +622,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:304](https://github.co now: number; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:308](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L308) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:308](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L308) ##### rated @@ -630,7 +630,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:308](https://github.co rated: boolean; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:302](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L302) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:302](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L302) ##### ratingPool @@ -638,7 +638,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:302](https://github.co ratingPool: string | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:303](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L303) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:303](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L303) ##### schemaVersion @@ -646,7 +646,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:303](https://github.co schemaVersion: number; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:297](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L297) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:297](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L297) ##### seats @@ -654,7 +654,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:297](https://github.co seats: Seat[]; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:307](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L307) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:307](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L307) ##### shortCode @@ -662,7 +662,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:307](https://github.co shortCode: string; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:306](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L306) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:306](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L306) ##### status @@ -670,7 +670,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:306](https://github.co status: "waiting" | "ready"; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:295](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L295) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:295](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L295) ##### turnSeconds @@ -678,13 +678,13 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:295](https://github.co turnSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:299](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L299) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:299](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L299) *** ### EngineConfig -Defined in: [eigen-server/packages/server/src/engine.ts:99](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L99) +Defined in: [eigen-server/packages/server/src/engine.ts:99](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L99) The EngineConfig seam: the engine never assumes binding names, so the implementor picks bindings off their own Env. Annotate the accessors' `env` @@ -705,7 +705,7 @@ parameter and both type arguments infer. appName: string; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:106](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L106) +Defined in: [eigen-server/packages/server/src/engine.ts:106](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L106) The whitelabel app's display name, the single source of truth for the engine's own identity (share metadata and public-page titles today; @@ -719,7 +719,7 @@ feature blocks are enabled. optional avatars?: AvatarsConfig; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:128](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L128) +Defined in: [eigen-server/packages/server/src/engine.ts:128](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L128) Opt-in avatar uploads. Omit → not mounted. @@ -729,7 +729,7 @@ Opt-in avatar uploads. Omit → not mounted. optional clientOrigins?: readonly string[] | ((env) => readonly string[]); ``` -Defined in: [eigen-server/packages/server/src/engine.ts:124](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L124) +Defined in: [eigen-server/packages/server/src/engine.ts:124](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L124) Browser origins allowed to call the engine from a different origin. @@ -748,7 +748,7 @@ Set an empty list to disable the `WEB_APP_ORIGIN` default. optional deepLink?: DeepLinkConfig; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:126](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L126) +Defined in: [eigen-server/packages/server/src/engine.ts:126](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L126) Native deep-link verification and store links. Omit for web-only. @@ -758,7 +758,7 @@ Native deep-link verification and store links. Omit for web-only. gameModule: GameModule; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:100](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L100) +Defined in: [eigen-server/packages/server/src/engine.ts:100](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L100) ##### lifecycle? @@ -766,7 +766,7 @@ Defined in: [eigen-server/packages/server/src/engine.ts:100](https://github.com/ optional lifecycle?: LifecycleOptions; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:135](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L135) +Defined in: [eigen-server/packages/server/src/engine.ts:135](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L135) Cron-backstop tuning: guest-purge/reap windows and batch caps. Omit for the defaults (`LIFECYCLE_DEFAULTS`); set any subset to @@ -778,7 +778,7 @@ override just those. optional site?: SiteConfig; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:131](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L131) +Defined in: [eigen-server/packages/server/src/engine.ts:131](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L131) The public web surface: download page, legal documents, crawler files. Omit → not mounted (the worker is API-only). @@ -792,7 +792,7 @@ optional testing?: { }; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:140](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L140) +Defined in: [eigen-server/packages/server/src/engine.ts:140](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L140) Explicit test-only replacements for Firebase verification and Admin effects. Supplying them together prevents a fake verifier from @@ -829,7 +829,7 @@ firebaseAdmin(env): FirebaseAdminEffects; d1(env): D1Database; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:108](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L108) +Defined in: [eigen-server/packages/server/src/engine.ts:108](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L108) The engine's D1 database (engine-private). @@ -849,7 +849,7 @@ The engine's D1 database (engine-private). optional firebaseProjectId(env): string; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L113) +Defined in: [eigen-server/packages/server/src/engine.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L113) Firebase project id for token verification; defaults to the `FIREBASE_PROJECT_ID` var (the only secret verification needs). @@ -870,7 +870,7 @@ Firebase project id for token verification; defaults to the gameDO(env): DurableObjectNamespace; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:110](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L110) +Defined in: [eigen-server/packages/server/src/engine.ts:110](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L110) The GameDO namespace binding. @@ -888,7 +888,7 @@ The GameDO namespace binding. ### FinishApplyInput -Defined in: [eigen-server/packages/server/src/d1/apply.ts:30](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L30) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:30](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L30) #### Properties @@ -898,7 +898,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:30](https://github.com finishId: string; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:34](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L34) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:34](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L34) The DO-minted idempotency key. The apply is a no-op replay when the games row already carries it. @@ -909,7 +909,7 @@ the games row already carries it. gameId: string; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:31](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L31) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:31](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L31) ##### now @@ -917,7 +917,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:31](https://github.com now: number; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:39](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L39) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:39](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L39) ##### outcomes @@ -925,7 +925,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:39](https://github.com outcomes: OutcomeEntry[]; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:35](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L35) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:35](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L35) ##### rated @@ -933,7 +933,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:35](https://github.com rated: boolean; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:37](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L37) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:37](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L37) ##### ratingPool @@ -941,7 +941,7 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:37](https://github.com ratingPool: string | null; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:38](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L38) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:38](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L38) ##### roster @@ -949,13 +949,13 @@ Defined in: [eigen-server/packages/server/src/d1/apply.ts:38](https://github.com roster: Seat[]; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:36](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L36) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:36](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L36) *** ### FirebaseAdminEffects -Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:15](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/firebase/admin-effects.ts#L15) +Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:15](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/firebase/admin-effects.ts#L15) The Firebase Admin effects used by authenticated engine paths. @@ -967,7 +967,7 @@ The Firebase Admin effects used by authenticated engine paths. deleteAccount(userId): Promise; ``` -Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:19](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/firebase/admin-effects.ts#L19) +Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:19](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/firebase/admin-effects.ts#L19) Permanently delete one Firebase Authentication account. @@ -990,7 +990,7 @@ notifyUser( message): Promise; ``` -Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:17](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/firebase/admin-effects.ts#L17) +Defined in: [eigen-server/packages/server/src/firebase/admin-effects.ts:17](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/firebase/admin-effects.ts#L17) Send one notification through the engine's registered-device store. @@ -1010,7 +1010,7 @@ Send one notification through the engine's registered-device store. ### FrameMessage -Defined in: [eigen-server/packages/server/src/protocol.ts:137](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L137) +Defined in: [eigen-server/packages/server/src/protocol.ts:137](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L137) One seat's versioned frame on the wire: the socket fan-out payload, and (for the acting seat) the command-response ride-along. `ratings` appears @@ -1024,7 +1024,7 @@ only on the post-finish ratings transition. data: JsonObject; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:140](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L140) +Defined in: [eigen-server/packages/server/src/protocol.ts:140](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L140) ##### deadline @@ -1032,7 +1032,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:140](https://github.co deadline: number | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:143](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L143) +Defined in: [eigen-server/packages/server/src/protocol.ts:143](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L143) The true client-facing deadline (grace is display-only there). @@ -1042,7 +1042,7 @@ The true client-facing deadline (grace is display-only there). optional outcomes?: OutcomeEntry[]; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:145](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L145) +Defined in: [eigen-server/packages/server/src/protocol.ts:145](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L145) ##### pendingPlayers @@ -1050,7 +1050,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:145](https://github.co pendingPlayers: number[]; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:141](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L141) +Defined in: [eigen-server/packages/server/src/protocol.ts:141](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L141) ##### playerTimes @@ -1058,7 +1058,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:141](https://github.co playerTimes: number[] | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:144](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L144) +Defined in: [eigen-server/packages/server/src/protocol.ts:144](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L144) ##### ratings? @@ -1066,7 +1066,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:144](https://github.co optional ratings?: RatingDelta[]; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:146](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L146) +Defined in: [eigen-server/packages/server/src/protocol.ts:146](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L146) ##### type @@ -1074,7 +1074,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:146](https://github.co type: "frame"; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:138](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L138) +Defined in: [eigen-server/packages/server/src/protocol.ts:138](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L138) ##### version @@ -1082,13 +1082,13 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:138](https://github.co version: number; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:139](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L139) +Defined in: [eigen-server/packages/server/src/protocol.ts:139](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L139) *** ### LegalConfig -Defined in: [eigen-server/packages/server/src/site/config.ts:29](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L29) +Defined in: [eigen-server/packages/server/src/site/config.ts:29](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L29) Legal document overrides. Each is an HTML **fragment**: body content only, no document wrapper; the engine supplies the shell, styling and footer. @@ -1107,7 +1107,7 @@ what a template's tokens used to stand in for. optional deleteAccount?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:32](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L32) +Defined in: [eigen-server/packages/server/src/site/config.ts:32](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L32) ##### privacy? @@ -1115,7 +1115,7 @@ Defined in: [eigen-server/packages/server/src/site/config.ts:32](https://github. optional privacy?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:31](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L31) +Defined in: [eigen-server/packages/server/src/site/config.ts:31](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L31) ##### terms? @@ -1123,13 +1123,13 @@ Defined in: [eigen-server/packages/server/src/site/config.ts:31](https://github. optional terms?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:30](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L30) +Defined in: [eigen-server/packages/server/src/site/config.ts:30](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L30) *** ### OperatorConfig -Defined in: [eigen-server/packages/server/src/site/config.ts:9](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L9) +Defined in: [eigen-server/packages/server/src/site/config.ts:9](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L9) The legal entity publishing the game. Required whenever `site` is present: the default legal documents take it as a prop and cannot render without it. @@ -1142,7 +1142,7 @@ the default legal documents take it as a prop and cannot render without it. contactEmail: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:15](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L15) +Defined in: [eigen-server/packages/server/src/site/config.ts:15](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L15) Support and privacy contact address. @@ -1152,7 +1152,7 @@ Support and privacy contact address. effectiveDate: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:18](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L18) +Defined in: [eigen-server/packages/server/src/site/config.ts:18](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L18) Effective date of the legal documents, as displayed. A plain string, not a Date, since it is prose and its format is the operator's choice. @@ -1163,7 +1163,7 @@ Date, since it is prose and its format is the operator's choice. jurisdiction: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:13](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L13) +Defined in: [eigen-server/packages/server/src/site/config.ts:13](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L13) Governing jurisdiction, e.g. `India`. @@ -1173,7 +1173,7 @@ Governing jurisdiction, e.g. `India`. name: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:11](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L11) +Defined in: [eigen-server/packages/server/src/site/config.ts:11](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L11) Legal entity name. Also the page footers' copyright holder. @@ -1181,7 +1181,7 @@ Legal entity name. Also the page footers' copyright holder. ### Principal -Defined in: [eigen-server/packages/server/src/protocol.ts:16](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L16) +Defined in: [eigen-server/packages/server/src/protocol.ts:16](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L16) Who a command acts as, resolved at the edge. Exactly one id is set. @@ -1193,7 +1193,7 @@ Who a command acts as, resolved at the edge. Exactly one id is set. botId: string | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:18](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L18) +Defined in: [eigen-server/packages/server/src/protocol.ts:18](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L18) ##### userId @@ -1201,7 +1201,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:18](https://github.com userId: string | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:17](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L17) +Defined in: [eigen-server/packages/server/src/protocol.ts:17](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L17) *** @@ -1291,7 +1291,7 @@ Defined in: eigen-server/packages/kernel/dist/index.d.ts:175 ### RetryOptions -Defined in: [eigen-server/packages/server/src/d1/retry.ts:59](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L59) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:59](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L59) #### Properties @@ -1301,7 +1301,7 @@ Defined in: [eigen-server/packages/server/src/d1/retry.ts:59](https://github.com optional attempts?: number; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:61](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L61) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:61](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L61) Total attempts including the first. Default 4. @@ -1311,7 +1311,7 @@ Total attempts including the first. Default 4. optional baseDelayMs?: number; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:63](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L63) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:63](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L63) First backoff, doubling each retry. Default 50ms. @@ -1321,7 +1321,7 @@ First backoff, doubling each retry. Default 50ms. optional maxDelayMs?: number; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:65](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L65) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:65](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L65) Backoff ceiling. Default 2000ms. @@ -1331,7 +1331,7 @@ Backoff ceiling. Default 2000ms. optional onRetry?: (error, attempt) => void; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:69](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L69) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:69](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L69) Observe each retry (logging); never throws into the loop. @@ -1352,7 +1352,7 @@ Observe each retry (logging); never throws into the loop. optional shouldRetry?: (error) => boolean; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:67](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L67) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:67](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L67) Which failures are worth retrying. Default [isTransientD1Error](#istransientd1error). @@ -1372,7 +1372,7 @@ Which failures are worth retrying. Default [isTransientD1Error](#istransientd1er optional sleep?: (ms) => Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:71](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L71) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:71](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L71) Delay primitive, injectable so tests run without real timers. @@ -1390,7 +1390,7 @@ Delay primitive, injectable so tests run without real timers. ### SessionSnapshot -Defined in: [eigen-server/packages/server/src/protocol.ts:98](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L98) +Defined in: [eigen-server/packages/server/src/protocol.ts:98](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L98) The complete live truth about one game, as ONE SEAT sees it: the only message the socket carries, and the body of every accepted command. @@ -1418,7 +1418,7 @@ seat's view. access: GameAccess; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:111](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L111) +Defined in: [eigen-server/packages/server/src/protocol.ts:111](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L111) ##### budgetSeconds @@ -1426,7 +1426,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:111](https://github.co budgetSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:115](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L115) +Defined in: [eigen-server/packages/server/src/protocol.ts:115](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L115) ##### config @@ -1434,7 +1434,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:115](https://github.co config: JsonObject; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L113) +Defined in: [eigen-server/packages/server/src/protocol.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L113) ##### createdBy @@ -1442,7 +1442,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:113](https://github.co createdBy: string | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:121](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L121) +Defined in: [eigen-server/packages/server/src/protocol.ts:121](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L121) ##### frame @@ -1450,7 +1450,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:121](https://github.co frame: FrameMessage | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:131](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L131) +Defined in: [eigen-server/packages/server/src/protocol.ts:131](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L131) The receiving seat's observation at `version`. Null in the lobby, and null for a principal holding no seat, which is how an unseated client still @@ -1462,7 +1462,7 @@ learns that the game started. gameId: string; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:109](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L109) +Defined in: [eigen-server/packages/server/src/protocol.ts:109](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L109) Fixed at creation; carried so this is sufficient on its own. @@ -1472,7 +1472,7 @@ Fixed at creation; carried so this is sufficient on its own. incrementSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:116](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L116) +Defined in: [eigen-server/packages/server/src/protocol.ts:116](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L116) ##### maxPlayers @@ -1480,7 +1480,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:116](https://github.co maxPlayers: number; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:120](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L120) +Defined in: [eigen-server/packages/server/src/protocol.ts:120](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L120) ##### minPlayers @@ -1488,7 +1488,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:120](https://github.co minPlayers: number; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:119](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L119) +Defined in: [eigen-server/packages/server/src/protocol.ts:119](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L119) ##### players @@ -1496,7 +1496,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:119](https://github.co players: Seat[]; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:125](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L125) +Defined in: [eigen-server/packages/server/src/protocol.ts:125](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L125) ##### rated @@ -1504,7 +1504,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:125](https://github.co rated: boolean; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:117](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L117) +Defined in: [eigen-server/packages/server/src/protocol.ts:117](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L117) ##### ratingPool @@ -1512,7 +1512,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:117](https://github.co ratingPool: string | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:118](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L118) +Defined in: [eigen-server/packages/server/src/protocol.ts:118](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L118) ##### schemaVersion @@ -1520,7 +1520,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:118](https://github.co schemaVersion: number; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:112](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L112) +Defined in: [eigen-server/packages/server/src/protocol.ts:112](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L112) ##### seq @@ -1528,7 +1528,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:112](https://github.co seq: number; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:106](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L106) +Defined in: [eigen-server/packages/server/src/protocol.ts:106](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L106) Monotonic per game, incremented by every commit. Totally orders snapshots across every path they arrive by, which `version` cannot do because a lobby @@ -1543,7 +1543,7 @@ drops the storage `seq` lived in. shortCode: string; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:110](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L110) +Defined in: [eigen-server/packages/server/src/protocol.ts:110](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L110) ##### status @@ -1551,7 +1551,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:110](https://github.co status: GameStatus; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:124](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L124) +Defined in: [eigen-server/packages/server/src/protocol.ts:124](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L124) What moves. @@ -1561,7 +1561,7 @@ What moves. turnSeconds: number | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:114](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L114) +Defined in: [eigen-server/packages/server/src/protocol.ts:114](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L114) ##### type @@ -1569,7 +1569,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:114](https://github.co type: "session"; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:99](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L99) +Defined in: [eigen-server/packages/server/src/protocol.ts:99](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L99) ##### version @@ -1577,7 +1577,7 @@ Defined in: [eigen-server/packages/server/src/protocol.ts:99](https://github.com version: number | null; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:127](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L127) +Defined in: [eigen-server/packages/server/src/protocol.ts:127](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L127) The newest committed version, or null while the game is in the lobby. @@ -1585,7 +1585,7 @@ The newest committed version, or null while the game is in the lobby. ### SiteConfig -Defined in: [eigen-server/packages/server/src/site/config.ts:53](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L53) +Defined in: [eigen-server/packages/server/src/site/config.ts:53](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L53) The public web surface a deployed game serves on its own host: download page, legal documents, and the crawler files. Absent → none of it is mounted and @@ -1602,7 +1602,7 @@ The scaffold reserves these paths for the Worker with Static Assets' optional description?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:59](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L59) +Defined in: [eigen-server/packages/server/src/site/config.ts:59](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L59) Longer download-page prose. Defaults to `tagline`. @@ -1612,7 +1612,7 @@ Longer download-page prose. Defaults to `tagline`. optional legal?: LegalConfig; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:73](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L73) +Defined in: [eigen-server/packages/server/src/site/config.ts:73](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L73) ##### madeByCredit? @@ -1620,7 +1620,7 @@ Defined in: [eigen-server/packages/server/src/site/config.ts:73](https://github. optional madeByCredit?: string | null; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:71](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L71) +Defined in: [eigen-server/packages/server/src/site/config.ts:71](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L71) Footer credit line. Defaults to [DEFAULT\_CREDIT](#default_credit); `null` removes it. @@ -1630,7 +1630,7 @@ Footer credit line. Defaults to [DEFAULT\_CREDIT](#default_credit); `null` remov optional name?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:55](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L55) +Defined in: [eigen-server/packages/server/src/site/config.ts:55](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L55) Public game name in titles and OG tags. Defaults to `appName`. @@ -1640,7 +1640,7 @@ Public game name in titles and OG tags. Defaults to `appName`. optional ogImage?: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:69](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L69) +Defined in: [eigen-server/packages/server/src/site/config.ts:69](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L69) Path under `public/` to the 1200x630 OG image. Defaults to `/og-image.png`, the name the @@ -1654,7 +1654,7 @@ surfaces. The engine never generates images. operator: OperatorConfig; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:72](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L72) +Defined in: [eigen-server/packages/server/src/site/config.ts:72](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L72) ##### primaryColor @@ -1662,7 +1662,7 @@ Defined in: [eigen-server/packages/server/src/site/config.ts:72](https://github. primaryColor: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:61](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L61) +Defined in: [eigen-server/packages/server/src/site/config.ts:61](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L61) Hex accent colour, e.g. `#1a237e`. Also the `theme-color`. @@ -1672,7 +1672,7 @@ Hex accent colour, e.g. `#1a237e`. Also the `theme-color`. optional screenshots?: string[]; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:63](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L63) +Defined in: [eigen-server/packages/server/src/site/config.ts:63](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L63) Filenames under `public/screenshots/`, shown as a scrolling strip. @@ -1682,7 +1682,7 @@ Filenames under `public/screenshots/`, shown as a scrolling strip. tagline: string; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:57](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L57) +Defined in: [eigen-server/packages/server/src/site/config.ts:57](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L57) One-sentence hook. The meta description and OG description. @@ -1690,7 +1690,7 @@ One-sentence hook. The meta description and OG description. ### TokenVerifier -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:29](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L29) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:29](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L29) The seam `createEngine` consumes. Production is [createFirebaseVerifier](#createfirebaseverifier) with the default remote JWKS; tests inject a @@ -1704,7 +1704,7 @@ local JWKS and mint their own RS256 tokens. verify(token): Promise; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:31](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L31) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:31](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L31) Resolve a bearer token to claims, or throw [AuthError](#autherror). @@ -1768,7 +1768,7 @@ type Command = }; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:23](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L23) +Defined in: [eigen-server/packages/server/src/protocol.ts:23](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L23) Everything that crosses the worker → DO boundary after creation ( create itself is a worker-direct D1 write; the DO does not exist yet). @@ -1968,7 +1968,7 @@ type CommandResult = }; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:158](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L158) +Defined in: [eigen-server/packages/server/src/protocol.ts:158](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L158) What `GameDO.handle()` returns: one accepted shape for every command kind, the caller's own post-commit [SessionSnapshot](#sessionsnapshot), so a lobby command and a @@ -1995,7 +1995,7 @@ type LobbyRejectCode = | "creatorCannotLeave"; ``` -Defined in: [eigen-server/packages/server/src/protocol.ts:62](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/protocol.ts#L62) +Defined in: [eigen-server/packages/server/src/protocol.ts:62](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/protocol.ts#L62) Why the DO refused a waiting-room command: the integrity column. These are *expected* refusals (accepted lobby staleness: the lobby may show @@ -2011,7 +2011,7 @@ rejections; the worker maps them to HTTP. Genuine protocol violations type UserRow = typeof users.$inferSelect; ``` -Defined in: [eigen-server/packages/server/src/auth/provision.ts:19](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/provision.ts#L19) +Defined in: [eigen-server/packages/server/src/auth/provision.ts:19](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/provision.ts#L19) ## Variables @@ -2036,7 +2036,7 @@ windows. The client's display-only `kServerDeadlineGrace` mirrors this. const DEFAULT_CREDIT: "Built with EigenInteractive" = "Built with EigenInteractive"; ``` -Defined in: [eigen-server/packages/server/src/site/config.ts:41](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/site/config.ts#L41) +Defined in: [eigen-server/packages/server/src/site/config.ts:41](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/site/config.ts#L41) The credit line in every page footer. Set `site.madeByCredit` to your own string, or to `null` to drop it. @@ -2053,7 +2053,7 @@ renders as plain text rather than pointing somewhere it never mentioned. function applyFinish(d1, input): Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:48](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L48) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:48](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L48) Apply one finished game to D1. Returns the rated deltas (null for an unrated game) for the DO to deliver as the ratings transition. Throws on @@ -2079,7 +2079,7 @@ the call site; the internal loop only absorbs CAS conflicts). function createEngine(cfg): ExportedHandler; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:418](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L418) +Defined in: [eigen-server/packages/server/src/engine.ts:418](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L418) Creates the complete Cloudflare Worker for one game deployment. @@ -2126,7 +2126,7 @@ export default createEngine({ function createFirebaseVerifier(projectId, getKey?): TokenVerifier; ``` -Defined in: [eigen-server/packages/server/src/auth/firebase.ts:46](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/firebase.ts#L46) +Defined in: [eigen-server/packages/server/src/auth/firebase.ts:46](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/firebase.ts#L46) #### Parameters @@ -2147,7 +2147,7 @@ Defined in: [eigen-server/packages/server/src/auth/firebase.ts:46](https://githu function createGame(d1, input): Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:314](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L314) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:314](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L314) Write the games row + one participants row per seat, atomically. The DO lazy-inits from exactly these rows on first contact. Callers own the @@ -2172,7 +2172,7 @@ shortCode retry: a duplicate trips the UNIQUE index and throws. function deriveBotKey(masterSecret, botId): Promise; ``` -Defined in: [eigen-server/packages/server/src/bot/bot-auth.ts:60](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/bot/bot-auth.ts#L60) +Defined in: [eigen-server/packages/server/src/bot/bot-auth.ts:60](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/bot/bot-auth.ts#L60) The per-bot signing key as base64, **the operator utility**. This is the one value an external bot's owner is given, and the only one they need: it @@ -2246,7 +2246,7 @@ function ensureUser( }>; ``` -Defined in: [eigen-server/packages/server/src/auth/provision.ts:51](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/auth/provision.ts#L51) +Defined in: [eigen-server/packages/server/src/auth/provision.ts:51](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/auth/provision.ts#L51) Load the caller's row, creating or backfilling it as the token demands. One read on the hot path; writes only on first sight and on guest → @@ -2281,7 +2281,7 @@ permanent conversion. function isTransientD1Error(error): boolean; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:55](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L55) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:55](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L55) True for the D1 failures worth retrying: a network blip, a storage or Durable-Object reset, a code-update restart, or a transient routing failure. @@ -2313,7 +2313,7 @@ This is the default predicate for [withRetry](#withretry); pass function mirrorRoster(d1, args): Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:280](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L280) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:280](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L280) The roster mirror after a committed waiting-room command. The DO's roster is the integrity copy; this rewrites the D1 display copy wholesale @@ -2344,7 +2344,7 @@ single attempt. function openApiDocument(version): OpenAPIObject; ``` -Defined in: [eigen-server/packages/server/src/engine.ts:494](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/engine.ts#L494) +Defined in: [eigen-server/packages/server/src/engine.ts:494](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/engine.ts#L494) Build the API document from an inert app: route handlers never run, so the context can refuse everything. `appName` is an unused placeholder here: @@ -2401,7 +2401,7 @@ function readGameRow(d1, gameId): Promise< | undefined>; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:341](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L341) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:341](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L341) Lazy-init read: the D1 game + participants rows the DO copies into its `meta`/`roster` on first contact, in one batched round trip. @@ -2451,7 +2451,7 @@ its `meta`/`roster` on first contact, in one batched round trip. function updateSummary(d1, args): Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/apply.ts:262](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/apply.ts#L262) +Defined in: [eigen-server/packages/server/src/d1/apply.ts:262](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/apply.ts#L262) The display upsert after a non-finishing transition: fire-and-forget post-commit (the DO leaves it unawaited; no `waitUntil`), single attempt, @@ -2481,7 +2481,7 @@ re-derivable from the DO at any time. function withRetry(op, options?): Promise; ``` -Defined in: [eigen-server/packages/server/src/d1/retry.ts:88](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/server/src/d1/retry.ts#L88) +Defined in: [eigen-server/packages/server/src/d1/retry.ts:88](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/server/src/d1/retry.ts#L88) Run `op`, retrying a *retryable* failure with jittered exponential backoff up to `attempts`. A non-retryable failure, or the last attempt, throws. diff --git a/docs/reference/typescript/testkit.md b/docs/reference/typescript/testkit.md index 3a68c77..0bb5497 100644 --- a/docs/reference/typescript/testkit.md +++ b/docs/reference/typescript/testkit.md @@ -8,7 +8,7 @@ assert on the resulting transitions and per-seat observations. ### ActionCase -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:82](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L82) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:82](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L82) A game-action case: exercises schemas, `applyAction`, and (through `expected.observation`) `computeObservation` for the acting seat. @@ -21,7 +21,7 @@ A game-action case: exercises schemas, `applyAction`, and (through action: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:93](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L93) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:93](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L93) ##### config @@ -29,7 +29,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:93](https://gith config: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:85](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L85) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:85](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L85) ##### expected @@ -43,7 +43,7 @@ expected: { }; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:94](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L94) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:94](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L94) ###### observation? @@ -81,7 +81,7 @@ valid: boolean; kind: "action"; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:83](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L83) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:83](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L83) ##### name @@ -89,7 +89,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:83](https://gith name: string; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:84](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L84) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:84](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L84) ##### obs? @@ -97,7 +97,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:84](https://gith optional obs?: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:88](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L88) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:88](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L88) Dart-side observation payload; unused here (defaults to `state`). @@ -107,7 +107,7 @@ Dart-side observation payload; unused here (defaults to `state`). optional participantCount?: number; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:91](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L91) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:91](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L91) ##### pending @@ -115,7 +115,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:91](https://gith pending: number[]; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:89](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L89) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:89](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L89) ##### playerIndex @@ -123,7 +123,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:89](https://gith playerIndex: number; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:90](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L90) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:90](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L90) ##### rngSeed? @@ -131,7 +131,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:90](https://gith optional rngSeed?: string; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:92](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L92) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:92](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L92) ##### state @@ -139,13 +139,13 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:92](https://gith state: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:86](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L86) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:86](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L86) *** ### BotSeatableCase -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:118](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L118) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:118](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L118) A `botSeatable` predicate case. @@ -157,7 +157,7 @@ A `botSeatable` predicate case. botConfig: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:122](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L122) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:122](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L122) ##### expected @@ -165,7 +165,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:122](https://git expected: boolean; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:123](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L123) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:123](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L123) ##### gameConfig @@ -173,7 +173,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:123](https://git gameConfig: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:121](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L121) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:121](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L121) ##### kind @@ -181,7 +181,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:121](https://git kind: "botSeatable"; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:119](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L119) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:119](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L119) ##### name @@ -189,13 +189,13 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:119](https://git name: string; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:120](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L120) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:120](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L120) *** ### BuildGameContractOptions -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:45](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L45) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:45](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L45) Inputs for building a [GameContract](#gamecontract) without writing it. @@ -211,7 +211,7 @@ Inputs for building a [GameContract](#gamecontract) without writing it. optional fixturesRoot?: any; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:51](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L51) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:51](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L51) Root containing `v/*.json` twin fixtures. @@ -221,7 +221,7 @@ Root containing `v/*.json` twin fixtures. game: string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:47](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L47) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:47](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L47) Stable display name used as the generated Dart type prefix. @@ -231,7 +231,7 @@ Stable display name used as the generated Dart type prefix. gameModule: GameModule; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:49](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L49) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:49](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L49) Authoritative TypeScript rules registry. @@ -404,7 +404,7 @@ the host delivers them as a follow-up versioned ratings transition. ### EmitGameContractOptions -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:55](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L55) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:55](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L55) Inputs for emitting or checking a [GameContract](#gamecontract) file. @@ -420,7 +420,7 @@ Inputs for emitting or checking a [GameContract](#gamecontract) file. optional fixturesRoot?: any; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:51](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L51) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:51](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L51) Root containing `v/*.json` twin fixtures. @@ -434,7 +434,7 @@ Root containing `v/*.json` twin fixtures. game: string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:47](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L47) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:47](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L47) Stable display name used as the generated Dart type prefix. @@ -448,7 +448,7 @@ Stable display name used as the generated Dart type prefix. gameModule: GameModule; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:49](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L49) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:49](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L49) Authoritative TypeScript rules registry. @@ -462,7 +462,7 @@ Authoritative TypeScript rules registry. output: any; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:57](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L57) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:57](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L57) Destination `game-contract.json` path. @@ -470,7 +470,7 @@ Destination `game-contract.json` path. ### GameContract -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:37](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L37) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:37](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L37) Language-neutral schemas and fixtures shared by a game's Worker and app. @@ -482,7 +482,7 @@ Language-neutral schemas and fixtures shared by a game's Worker and app. fixtures: GameContractFixture[]; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:41](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L41) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:41](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L41) ##### formatVersion @@ -490,7 +490,7 @@ Defined in: [eigen-server/packages/testkit/src/game-contract.ts:41](https://gith formatVersion: 1; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:38](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L38) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:38](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L38) ##### game @@ -498,7 +498,7 @@ Defined in: [eigen-server/packages/testkit/src/game-contract.ts:38](https://gith game: string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:39](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L39) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:39](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L39) ##### versions @@ -506,13 +506,13 @@ Defined in: [eigen-server/packages/testkit/src/game-contract.ts:39](https://gith versions: Record; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:40](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L40) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:40](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L40) *** ### GameContractFixture -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:19](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L19) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:19](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L19) One validated twin-fixture document embedded in a [GameContract](#gamecontract). @@ -524,7 +524,7 @@ One validated twin-fixture document embedded in a [GameContract](#gamecontract). document: unknown; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:23](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L23) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:23](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L23) Validated fixture document, retained in its original JSON shape. @@ -534,7 +534,7 @@ Validated fixture document, retained in its original JSON shape. path: string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:21](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L21) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:21](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L21) POSIX-style path relative to the supplied fixtures root. @@ -542,7 +542,7 @@ POSIX-style path relative to the supplied fixtures root. ### GameContractVersion -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:27](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L27) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:27](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L27) The four JSON Schemas emitted for one game `schemaVersion`. @@ -559,7 +559,7 @@ schemas: { }; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:28](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L28) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:28](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L28) ###### action @@ -701,7 +701,7 @@ Defined in: eigen-server/packages/kernel/dist/index.d.ts:116 ### RatingPoolCase -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:104](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L104) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:104](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L104) A `ratingPool` predicate case. Omitted timing fields mean null. @@ -713,7 +713,7 @@ A `ratingPool` predicate case. Omitted timing fields mean null. access: GameAccess; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:107](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L107) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:107](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L107) ##### budgetSeconds? @@ -721,7 +721,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:107](https://git optional budgetSeconds?: number | null; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:109](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L109) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:109](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L109) ##### config @@ -729,7 +729,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:109](https://git config: JsonObject; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:113](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L113) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:113](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L113) ##### expected @@ -737,7 +737,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:113](https://git expected: string | null; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:114](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L114) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:114](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L114) ##### incrementSeconds? @@ -745,7 +745,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:114](https://git optional incrementSeconds?: number | null; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:110](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L110) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:110](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L110) ##### kind @@ -753,7 +753,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:110](https://git kind: "ratingPool"; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:105](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L105) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:105](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L105) ##### maxPlayers @@ -761,7 +761,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:105](https://git maxPlayers: number; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:112](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L112) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:112](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L112) ##### minPlayers @@ -769,7 +769,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:112](https://git minPlayers: number; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:111](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L111) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:111](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L111) ##### name @@ -777,7 +777,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:111](https://git name: string; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:106](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L106) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:106](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L106) ##### turnSeconds? @@ -785,7 +785,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:106](https://git optional turnSeconds?: number | null; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:108](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L108) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:108](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L108) *** @@ -968,7 +968,7 @@ Defined in: eigen-server/packages/kernel/dist/index.d.ts:246 ### TwinFixtureFile -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:75](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L75) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:75](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L75) One fixture file: cases targeting one `schemaVersion` unit. @@ -980,7 +980,7 @@ One fixture file: cases targeting one `schemaVersion` unit. cases: TwinFixtureCase[]; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:77](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L77) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:77](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L77) ##### schemaVersion @@ -988,7 +988,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:77](https://gith schemaVersion: number; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:76](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L76) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:76](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L76) ## Type Aliases @@ -1186,7 +1186,7 @@ type TwinFixtureCase = | BotSeatableCase; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:126](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L126) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:126](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L126) ## Variables @@ -1196,7 +1196,7 @@ Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:126](https://git const GAME_CONTRACT_FORMAT_VERSION: 1 = 1; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:16](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L16) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:16](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L16) Current format of the language-neutral contract consumed by EigenInteractive's Dart generator. @@ -1208,7 +1208,7 @@ Current format of the language-neutral contract consumed by EigenInteractive's D function buildGameContract(options): GameContract; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:121](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L121) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:121](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L121) Build a deterministic in-memory contract without touching the filesystem. @@ -1230,7 +1230,7 @@ Build a deterministic in-memory contract without touching the filesystem. function checkConfiguredGameContract(root?): Promise; ``` -Defined in: [eigen-server/packages/testkit/src/contract-command.ts:76](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/contract-command.ts#L76) +Defined in: [eigen-server/packages/testkit/src/contract-command.ts:76](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/contract-command.ts#L76) Fails when the conventionally configured contract is absent or stale. @@ -1254,7 +1254,7 @@ Use this in CI through `eigen-contract --check`. function checkGameContract(options): void; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:165](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L165) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:165](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L165) Fail when an emitted contract is missing or differs from its inputs. @@ -1296,7 +1296,7 @@ Defined in: eigen-server/packages/kernel/dist/index.d.ts:372 function deepEquals(a, b): boolean; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:480](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L480) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:480](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L480) Structural JSON equality. Object keys with `undefined` values count as absent (matching how schema libraries model optional fields); array order @@ -1349,7 +1349,7 @@ derivation is fixed, so recorded games stay replayable. function emitConfiguredGameContract(root?): Promise; ``` -Defined in: [eigen-server/packages/testkit/src/contract-command.ts:67](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/contract-command.ts#L67) +Defined in: [eigen-server/packages/testkit/src/contract-command.ts:67](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/contract-command.ts#L67) Emits `game-contract.json` from an EigenInteractive package's conventional layout. @@ -1374,7 +1374,7 @@ games should invoke the executable through their package script. function emitGameContract(options): void; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:159](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L159) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:159](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L159) Emit one deterministic, newline-terminated `game-contract.json`. @@ -1396,7 +1396,7 @@ Emit one deterministic, newline-terminated `game-contract.json`. function evaluateTwinCase(rules, kase): string[]; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:274](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L274) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:274](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L274) Run one fixture case against a rules unit, returning failure descriptions (empty ⇒ the case passes). Pure; the file-reading test registrar is @@ -1421,7 +1421,7 @@ Run one fixture case against a rules unit, returning failure descriptions function gameContractFilename(game): string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:173](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L173) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:173](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L173) A useful default filename for scripts that accept an output directory. @@ -1443,7 +1443,7 @@ A useful default filename for scripts that accept an output directory. function gameContractJson(options): string; ``` -Defined in: [eigen-server/packages/testkit/src/game-contract.ts:154](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/game-contract.ts#L154) +Defined in: [eigen-server/packages/testkit/src/game-contract.ts:154](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/game-contract.ts#L154) Render one deterministic, newline-terminated contract document. @@ -1487,7 +1487,7 @@ Type guard: did `commit()` refuse the intent? function parseTwinFixtureFile(path, json): TwinFixtureFile; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:247](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L247) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:247](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L247) Validate one fixture file's parsed JSON, or throw naming the offending file, case, and field. Exported so a repo can lint its fixtures without @@ -1512,7 +1512,7 @@ running them. function projectView(rules, args): SeatView; ``` -Defined in: [eigen-server/packages/testkit/src/kernel-scenarios.ts:39](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/kernel-scenarios.ts#L39) +Defined in: [eigen-server/packages/testkit/src/kernel-scenarios.ts:39](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/kernel-scenarios.ts#L39) Project one seat's view of a state: the stored-frame shape the same-view rule compares (`commit()`'s `staleViews` input). Convenience for scenario @@ -1562,7 +1562,7 @@ never expose it: the whole randomness of the game is derivable from it). function twinFixtureTests(gameModule, fixturesRoot): void; ``` -Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:290](https://github.com/eigeninteractive/eigen-server/blob/df5d21daba299f75c8179711bbcd38a29dabfd08/packages/testkit/src/twin-fixtures.ts#L290) +Defined in: [eigen-server/packages/testkit/src/twin-fixtures.ts:290](https://github.com/eigeninteractive/eigen-server/blob/2cac83c27d3ecf85f553b998106c3626997f9310/packages/testkit/src/twin-fixtures.ts#L290) Register one vitest test per fixture case found under `fixturesRoot` (layout: `/v/*.json`). Call at the top level of a test module