@orakl/protocol 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,6 +48,30 @@ export declare const AdminUsersPageSchema: Schema.Struct<{
48
48
  nickname: Schema.NullOr<typeof Schema.String>;
49
49
  }>>>;
50
50
  }>;
51
+ /** Body of `GET /api/pages/admin/lobbies`: every live Lobby on the machine. */
52
+ export declare const AdminLobbiesPageSchema: Schema.Struct<{
53
+ lobbies: Schema.mutable<Schema.Array$<Schema.Struct<{
54
+ code: typeof Schema.String;
55
+ phase: Schema.Literal<["lobby", "playing", "round_results", "final_scores", "role_selection", "intermission"]>;
56
+ curator: Schema.Struct<{
57
+ accountId: Schema.NullOr<typeof Schema.String>;
58
+ /** The account's nickname, else the Curator's nickname in the Lobby. */
59
+ nickname: Schema.NullOr<typeof Schema.String>;
60
+ }>;
61
+ playerCount: typeof Schema.Number;
62
+ observerCount: typeof Schema.Number;
63
+ /** Lobby age in whole seconds at read time. */
64
+ ageSeconds: typeof Schema.Number;
65
+ roster: Schema.mutable<Schema.Array$<Schema.Struct<{
66
+ nickname: typeof Schema.String;
67
+ role: Schema.Literal<["player", "observer"]>;
68
+ status: Schema.Literal<["pending", "active", "disconnected"]>;
69
+ /** The row is the hosting Curator's own. */
70
+ curator: typeof Schema.Boolean;
71
+ signedIn: typeof Schema.Boolean;
72
+ }>>>;
73
+ }>>>;
74
+ }>;
51
75
  /** Body of `GET /api/admin/feature-flags/dashboard`. */
52
76
  export declare const FeatureFlagsDashboardSchema: Schema.Struct<{
53
77
  flags: Schema.mutable<Schema.Array$<Schema.Struct<{
@@ -51,6 +51,30 @@ export const AdminUsersPageSchema = Schema.Struct({
51
51
  allPowers: Schema.mutable(Schema.Array(UserPowerSchema)),
52
52
  pendingRequests: Schema.mutable(Schema.Array(CurationRequestWithUserSchema)),
53
53
  });
54
+ /** Body of `GET /api/pages/admin/lobbies`: every live Lobby on the machine. */
55
+ export const AdminLobbiesPageSchema = Schema.Struct({
56
+ lobbies: Schema.mutable(Schema.Array(Schema.Struct({
57
+ code: Schema.String,
58
+ phase: Schema.Literal("lobby", "playing", "round_results", "final_scores", "role_selection", "intermission"),
59
+ curator: Schema.Struct({
60
+ accountId: Schema.NullOr(Schema.String),
61
+ /** The account's nickname, else the Curator's nickname in the Lobby. */
62
+ nickname: Schema.NullOr(Schema.String),
63
+ }),
64
+ playerCount: Schema.Number,
65
+ observerCount: Schema.Number,
66
+ /** Lobby age in whole seconds at read time. */
67
+ ageSeconds: Schema.Number,
68
+ roster: Schema.mutable(Schema.Array(Schema.Struct({
69
+ nickname: Schema.String,
70
+ role: PlayerRoleSchema,
71
+ status: Schema.Literal("pending", "active", "disconnected"),
72
+ /** The row is the hosting Curator's own. */
73
+ curator: Schema.Boolean,
74
+ signedIn: Schema.Boolean,
75
+ }))),
76
+ }))),
77
+ });
54
78
  /** Body of `GET /api/admin/feature-flags/dashboard`. */
55
79
  export const FeatureFlagsDashboardSchema = Schema.Struct({
56
80
  flags: Schema.mutable(Schema.Array(Schema.Struct({
package/dist/ws.d.ts CHANGED
@@ -213,6 +213,11 @@ export interface GameRoundResultMessage {
213
213
  * reconnect replay only, so the ring resumes where the server's advance
214
214
  * timer stands rather than at the full delay. */
215
215
  countdownRemaining?: number;
216
+ /** The next question's signed image URL, so the client can fetch it during
217
+ * the reveal and paint it when `game:question` arrives. The image only:
218
+ * that question's text, answers and solution stay with its own frame.
219
+ * Omitted when the next question has no image or this was the last. */
220
+ nextMediaUrl?: string;
216
221
  }
217
222
  export interface GameFinalScoresMessage {
218
223
  type: "game:final-scores";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orakl/protocol",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Orakl wire contract: WebSocket frames and API response schemas.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {