@dreamboard-games/sdk 0.4.0-alpha.5 → 0.4.0-alpha.7

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.
Files changed (95) hide show
  1. package/REFERENCE.md +1493 -127
  2. package/dist/{HandView-x8MhbhFl.d.ts → HandView-Bi2lxzQP.d.ts} +3 -3
  3. package/dist/{ThemeProvider-DRalAWzY.d.ts → ThemeProvider-CElaL2ik.d.ts} +1 -1
  4. package/dist/authoring/index.d.ts +5 -4
  5. package/dist/authoring/index.js +4 -4
  6. package/dist/authoring/index.js.map +1 -1
  7. package/dist/browser-interaction.js +1 -1
  8. package/dist/{chunk-E3X552YM.js → chunk-2TRZSZGD.js} +1061 -425
  9. package/dist/chunk-2TRZSZGD.js.map +1 -0
  10. package/dist/{chunk-K5ZRJTZZ.js → chunk-3QIZKXJ2.js} +10 -5
  11. package/dist/chunk-3QIZKXJ2.js.map +1 -0
  12. package/dist/{chunk-KHY3RJLT.js → chunk-52DH7VQF.js} +62 -13
  13. package/dist/chunk-52DH7VQF.js.map +1 -0
  14. package/dist/chunk-5IHU5CUK.js +575 -0
  15. package/dist/chunk-5IHU5CUK.js.map +1 -0
  16. package/dist/{chunk-N6ZDIMRB.js → chunk-B2YBS3SG.js} +1 -1
  17. package/dist/chunk-B2YBS3SG.js.map +1 -0
  18. package/dist/chunk-IU6KGPY7.js +659 -0
  19. package/dist/chunk-IU6KGPY7.js.map +1 -0
  20. package/dist/{chunk-FXQPZZXC.js → chunk-KYEWGZ2Y.js} +2 -2
  21. package/dist/{chunk-FXQPZZXC.js.map → chunk-KYEWGZ2Y.js.map} +1 -1
  22. package/dist/{chunk-AQMEN3AT.js → chunk-NO537WSS.js} +2 -2
  23. package/dist/{chunk-TTISZQNI.js → chunk-Q322XCY2.js} +47 -31
  24. package/dist/chunk-Q322XCY2.js.map +1 -0
  25. package/dist/{chunk-QOFFRHZR.js → chunk-RKGJ64UN.js} +81 -41
  26. package/dist/chunk-RKGJ64UN.js.map +1 -0
  27. package/dist/{chunk-Y6Y2YABD.js → chunk-TGMXBRKY.js} +22 -6
  28. package/dist/chunk-TGMXBRKY.js.map +1 -0
  29. package/dist/{chunk-XZ667T4K.js → chunk-UC2UXAC6.js} +2 -2
  30. package/dist/chunk-VLG4YST5.js +564 -0
  31. package/dist/chunk-VLG4YST5.js.map +1 -0
  32. package/dist/{chunk-WUIVY2KE.js → chunk-WHR5UW3F.js} +1 -1
  33. package/dist/chunk-WHR5UW3F.js.map +1 -0
  34. package/dist/codegen.d.ts +13 -0
  35. package/dist/codegen.js +1 -1
  36. package/dist/{components-B7hFaEn_.d.ts → components-BTwSIjXj.d.ts} +77 -206
  37. package/dist/{stale-contract-artifact-error-BelRiIDR.d.ts → diagnostics-1BWjRo6-.d.ts} +1 -18
  38. package/dist/{hex-board-view-BFlWDb9k.d.ts → hex-board-view-aKkblDp6.d.ts} +180 -1
  39. package/dist/{index-gjxQichK.d.ts → index-CFTjJIXd.d.ts} +5 -4
  40. package/dist/{index.d-BL3bT5lt.d.ts → index.d-DMASeF6M.d.ts} +294 -27
  41. package/dist/index.js +2 -2
  42. package/dist/package-set.d.ts +2 -2
  43. package/dist/package-set.js +2 -2
  44. package/dist/{runtime-api-BJharVaj.d.ts → plugin-state-BRH3UiUp.d.ts} +19 -3
  45. package/dist/{protocol-BP193lva.d.ts → protocol-835hEGne.d.ts} +42 -1
  46. package/dist/reducer/advanced.d.ts +4 -2
  47. package/dist/reducer/advanced.js +1 -1
  48. package/dist/reducer-contract.d.ts +1 -1
  49. package/dist/reducer-contract.js +2 -2
  50. package/dist/reducer.d.ts +13 -6
  51. package/dist/reducer.js +322 -20
  52. package/dist/reducer.js.map +1 -1
  53. package/dist/reference-games/index.d.ts +223 -0
  54. package/dist/reference-games/index.js +230 -0
  55. package/dist/reference-games/index.js.map +1 -0
  56. package/dist/runtime/primitives.d.ts +32 -7
  57. package/dist/runtime/primitives.js +10 -5
  58. package/dist/runtime/runtime-api.d.ts +1 -1
  59. package/dist/runtime/workspace-contract.d.ts +7 -7
  60. package/dist/runtime/workspace-contract.js +7 -6
  61. package/dist/runtime-Dkfm1x2r.d.ts +1670 -0
  62. package/dist/runtime.d.ts +10 -9
  63. package/dist/runtime.js +53 -19
  64. package/dist/runtime.js.map +1 -1
  65. package/dist/stale-contract-artifact-error-C5AaZPJ8.d.ts +18 -0
  66. package/dist/testing-runtime.d.ts +42 -0
  67. package/dist/testing-runtime.js +153 -0
  68. package/dist/testing-runtime.js.map +1 -0
  69. package/dist/testing.d.ts +82 -205
  70. package/dist/testing.js +83 -640
  71. package/dist/testing.js.map +1 -1
  72. package/dist/types-DcADVHe9.d.ts +192 -0
  73. package/dist/{types-CYeN0wLK.d.ts → types-aI4V9CWe.d.ts} +5 -5
  74. package/dist/types.d.ts +13 -0
  75. package/dist/ui/components.d.ts +6 -3
  76. package/dist/ui/components.js +15 -3
  77. package/dist/ui/plugin-styles.css +2 -2
  78. package/dist/{ui-contract-B4NjRlvC.d.ts → ui-contract-Ue6SywvO.d.ts} +24 -10
  79. package/dist/ui.d.ts +9 -6
  80. package/dist/ui.js +16 -4
  81. package/dist/views-32rSsfeU.d.ts +1559 -0
  82. package/package.json +33 -21
  83. package/dist/chunk-E3X552YM.js.map +0 -1
  84. package/dist/chunk-K5ZRJTZZ.js.map +0 -1
  85. package/dist/chunk-KHY3RJLT.js.map +0 -1
  86. package/dist/chunk-N6ZDIMRB.js.map +0 -1
  87. package/dist/chunk-O6M6PN4E.js +0 -1225
  88. package/dist/chunk-O6M6PN4E.js.map +0 -1
  89. package/dist/chunk-QOFFRHZR.js.map +0 -1
  90. package/dist/chunk-TTISZQNI.js.map +0 -1
  91. package/dist/chunk-WUIVY2KE.js.map +0 -1
  92. package/dist/chunk-Y6Y2YABD.js.map +0 -1
  93. package/dist/views-fn2RuXOx.d.ts +0 -3168
  94. /package/dist/{chunk-AQMEN3AT.js.map → chunk-NO537WSS.js.map} +0 -0
  95. /package/dist/{chunk-XZ667T4K.js.map → chunk-UC2UXAC6.js.map} +0 -0
package/REFERENCE.md CHANGED
@@ -47,7 +47,7 @@ _No JSDoc summary is available yet._
47
47
 
48
48
  ```ts
49
49
  const DREAMBOARD_SDK_PACKAGES: {
50
- readonly "@dreamboard-games/sdk": "0.4.0-alpha.5";
50
+ readonly "@dreamboard-games/sdk": "0.4.0-alpha.7";
51
51
  };
52
52
  ```
53
53
 
@@ -56,7 +56,7 @@ _No JSDoc summary is available yet._
56
56
  ### DREAMBOARD_SDK_VERSION
57
57
 
58
58
  ```ts
59
- const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.5";
59
+ const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.7";
60
60
  ```
61
61
 
62
62
  _No JSDoc summary is available yet._
@@ -95,7 +95,7 @@ _No JSDoc summary is available yet._
95
95
 
96
96
  ```ts
97
97
  const DREAMBOARD_SDK_PACKAGES: {
98
- readonly "@dreamboard-games/sdk": "0.4.0-alpha.5";
98
+ readonly "@dreamboard-games/sdk": "0.4.0-alpha.7";
99
99
  };
100
100
  ```
101
101
 
@@ -104,7 +104,7 @@ _No JSDoc summary is available yet._
104
104
  ### DREAMBOARD_SDK_VERSION
105
105
 
106
106
  ```ts
107
- const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.5";
107
+ const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.7";
108
108
  ```
109
109
 
110
110
  _No JSDoc summary is available yet._
@@ -129,6 +129,340 @@ type DreamboardSdkPackageSet = {
129
129
 
130
130
  _No JSDoc summary is available yet._
131
131
 
132
+ ## @dreamboard-games/sdk/reference-games
133
+
134
+ ### canonicalizeReferenceGameSourcePayload
135
+
136
+ ```ts
137
+ function canonicalizeReferenceGameSourcePayload(
138
+ payload: ReferenceGameSourceManifestPayload,
139
+ ): CanonicalReferenceGameJson;
140
+ ```
141
+
142
+ _No JSDoc summary is available yet._
143
+
144
+ ### computeReferenceGameSourceDigest
145
+
146
+ ```ts
147
+ function computeReferenceGameSourceDigest(
148
+ payload: ReferenceGameSourceManifestPayload,
149
+ ): `sha256:${string}`;
150
+ ```
151
+
152
+ _No JSDoc summary is available yet._
153
+
154
+ ### isPackageableReferenceGame
155
+
156
+ ```ts
157
+ function isPackageableReferenceGame(game: ReferenceGameManifestV3): boolean;
158
+ ```
159
+
160
+ _No JSDoc summary is available yet._
161
+
162
+ ### parseReferenceGameManifestV3
163
+
164
+ ```ts
165
+ function parseReferenceGameManifestV3(value: unknown): ReferenceGameManifestV3;
166
+ ```
167
+
168
+ _No JSDoc summary is available yet._
169
+
170
+ ### parseReferenceGameSourceManifest
171
+
172
+ ```ts
173
+ function parseReferenceGameSourceManifest(
174
+ value: unknown,
175
+ ): ReferenceGameSourceManifest;
176
+ ```
177
+
178
+ _No JSDoc summary is available yet._
179
+
180
+ ### REFERENCE_GAME_MANIFEST_SCHEMA_VERSION
181
+
182
+ ```ts
183
+ const REFERENCE_GAME_MANIFEST_SCHEMA_VERSION = 3;
184
+ ```
185
+
186
+ _No JSDoc summary is available yet._
187
+
188
+ ### REFERENCE_GAME_SOURCE_MANIFEST_SCHEMA_VERSION
189
+
190
+ ```ts
191
+ const REFERENCE_GAME_SOURCE_MANIFEST_SCHEMA_VERSION = 2;
192
+ ```
193
+
194
+ _No JSDoc summary is available yet._
195
+
196
+ ### ReferenceGameDemoRelease
197
+
198
+ ```ts
199
+ type ReferenceGameDemoRelease = z.infer<typeof referenceGameDemoReleaseSchema>;
200
+ ```
201
+
202
+ _No JSDoc summary is available yet._
203
+
204
+ ### referenceGameDemoReleaseSchema
205
+
206
+ ```ts
207
+ declare const referenceGameDemoReleaseSchema: ...;
208
+ ```
209
+
210
+ _No JSDoc summary is available yet._
211
+
212
+ ### ReferenceGameManifestV3
213
+
214
+ ```ts
215
+ type ReferenceGameManifestV3 = z.infer<typeof referenceGameManifestV3Schema>;
216
+ ```
217
+
218
+ _No JSDoc summary is available yet._
219
+
220
+ ### referenceGameManifestV3Schema
221
+
222
+ ```ts
223
+ declare const referenceGameManifestV3Schema: ...;
224
+ ```
225
+
226
+ _No JSDoc summary is available yet._
227
+
228
+ ### ReferenceGameRights
229
+
230
+ ```ts
231
+ type ReferenceGameRights = z.infer<typeof referenceGameRightsSchema>;
232
+ ```
233
+
234
+ _No JSDoc summary is available yet._
235
+
236
+ ### referenceGameRightsSchema
237
+
238
+ ```ts
239
+ declare const referenceGameRightsSchema: z.ZodObject<
240
+ {
241
+ mechanicsProvenance: z.ZodString;
242
+ sourceCode: z.ZodString;
243
+ codeLicense: z.ZodString;
244
+ ruleText: z.ZodString;
245
+ artwork: z.ZodString;
246
+ assetLicenseManifest: z.ZodString;
247
+ thirdPartyMarks: z.ZodArray<z.ZodString>;
248
+ reviewStatus: z.ZodLiteral<"approved">;
249
+ reviewedBy: z.ZodString;
250
+ reviewedAt: z.ZodString;
251
+ },
252
+ z.core.$strict
253
+ >;
254
+ ```
255
+
256
+ _No JSDoc summary is available yet._
257
+
258
+ ### ReferenceGameSdkPolicy
259
+
260
+ ```ts
261
+ type ReferenceGameSdkPolicy = z.infer<typeof referenceGameSdkPolicySchema>;
262
+ ```
263
+
264
+ _No JSDoc summary is available yet._
265
+
266
+ ### referenceGameSdkPolicySchema
267
+
268
+ ```ts
269
+ const referenceGameSdkPolicySchema: z.ZodObject<
270
+ {
271
+ dependency: z.ZodLiteral<"@dreamboard-games/sdk">;
272
+ versionPolicy: z.ZodLiteral<"exact">;
273
+ },
274
+ z.core.$strict
275
+ >;
276
+ ```
277
+
278
+ _No JSDoc summary is available yet._
279
+
280
+ ### referenceGameSha256DigestSchema
281
+
282
+ ```ts
283
+ const referenceGameSha256DigestSchema: z.ZodString;
284
+ ```
285
+
286
+ _No JSDoc summary is available yet._
287
+
288
+ ### ReferenceGameSourceEntry
289
+
290
+ ```ts
291
+ type ReferenceGameSourceEntry = z.infer<typeof referenceGameSourceEntrySchema>;
292
+ ```
293
+
294
+ _No JSDoc summary is available yet._
295
+
296
+ ### referenceGameSourceEntrySchema
297
+
298
+ ```ts
299
+ declare const referenceGameSourceEntrySchema: z.ZodObject<
300
+ {
301
+ id: z.ZodString;
302
+ root: z.ZodString;
303
+ sourceSha256: z.ZodString;
304
+ packageJsonSha256: z.ZodString;
305
+ lockfileSha256: z.ZodString;
306
+ sdkSpecifier: z.ZodString;
307
+ manifest: z.ZodString;
308
+ reducer: z.ZodString;
309
+ ui: z.ZodString;
310
+ behaviorScenarios: z.ZodArray<z.ZodString>;
311
+ uiScenarios: z.ZodArray<z.ZodString>;
312
+ mechanics: z.ZodArray<z.ZodString>;
313
+ readFirst: z.ZodArray<z.ZodString>;
314
+ },
315
+ z.core.$strict
316
+ >;
317
+ ```
318
+
319
+ _No JSDoc summary is available yet._
320
+
321
+ ### ReferenceGameSourceManifest
322
+
323
+ ```ts
324
+ type ReferenceGameSourceManifest = z.infer<
325
+ typeof referenceGameSourceManifestSchema
326
+ >;
327
+ ```
328
+
329
+ _No JSDoc summary is available yet._
330
+
331
+ ### ReferenceGameSourceManifestPayload
332
+
333
+ ```ts
334
+ type ReferenceGameSourceManifestPayload = z.infer<
335
+ typeof referenceGameSourceManifestPayloadSchema
336
+ >;
337
+ ```
338
+
339
+ _No JSDoc summary is available yet._
340
+
341
+ ### referenceGameSourceManifestPayloadSchema
342
+
343
+ ```ts
344
+ declare const referenceGameSourceManifestPayloadSchema: ...;
345
+ ```
346
+
347
+ _No JSDoc summary is available yet._
348
+
349
+ ### referenceGameSourceManifestSchema
350
+
351
+ ```ts
352
+ declare const referenceGameSourceManifestSchema: ...;
353
+ ```
354
+
355
+ _No JSDoc summary is available yet._
356
+
357
+ ### ReferenceGameSourceObject
358
+
359
+ ```ts
360
+ type ReferenceGameSourceObject = z.infer<
361
+ typeof referenceGameSourceObjectSchema
362
+ >;
363
+ ```
364
+
365
+ _No JSDoc summary is available yet._
366
+
367
+ ### referenceGameSourceObjectSchema
368
+
369
+ ```ts
370
+ const referenceGameSourceObjectSchema: z.ZodObject<
371
+ {
372
+ path: z.ZodString;
373
+ sha256: z.ZodString;
374
+ byteLength: z.ZodNumber;
375
+ },
376
+ z.core.$strict
377
+ >;
378
+ ```
379
+
380
+ _No JSDoc summary is available yet._
381
+
382
+ ### ReferenceGameSourceProvenance
383
+
384
+ ```ts
385
+ type ReferenceGameSourceProvenance = z.infer<
386
+ typeof referenceGameSourceProvenanceSchema
387
+ >;
388
+ ```
389
+
390
+ _No JSDoc summary is available yet._
391
+
392
+ ### referenceGameSourceProvenanceSchema
393
+
394
+ ```ts
395
+ const referenceGameSourceProvenanceSchema: z.ZodDiscriminatedUnion<
396
+ [
397
+ z.ZodObject<
398
+ {
399
+ kind: z.ZodLiteral<"worktree">;
400
+ },
401
+ z.core.$strict
402
+ >,
403
+ z.ZodObject<
404
+ {
405
+ kind: z.ZodLiteral<"git">;
406
+ repository: z.ZodLiteral<"dreamboard-games/dreamboard-sdk">;
407
+ revision: z.ZodString;
408
+ },
409
+ z.core.$strict
410
+ >,
411
+ ],
412
+ "kind"
413
+ >;
414
+ ```
415
+
416
+ _No JSDoc summary is available yet._
417
+
418
+ ### ReferenceGameTeaching
419
+
420
+ ```ts
421
+ type ReferenceGameTeaching = z.infer<typeof referenceGameTeachingSchema>;
422
+ ```
423
+
424
+ _No JSDoc summary is available yet._
425
+
426
+ ### referenceGameTeachingSchema
427
+
428
+ ```ts
429
+ const referenceGameTeachingSchema: z.ZodObject<
430
+ {
431
+ whatThisTeaches: z.ZodArray<z.ZodString>;
432
+ whenToCopyThisPattern: z.ZodArray<z.ZodString>;
433
+ readFirst: z.ZodArray<z.ZodString>;
434
+ },
435
+ z.core.$strict
436
+ >;
437
+ ```
438
+
439
+ _No JSDoc summary is available yet._
440
+
441
+ ### ReferenceGameWorkspace
442
+
443
+ ```ts
444
+ type ReferenceGameWorkspace = z.infer<typeof referenceGameWorkspaceSchema>;
445
+ ```
446
+
447
+ _No JSDoc summary is available yet._
448
+
449
+ ### referenceGameWorkspaceSchema
450
+
451
+ ```ts
452
+ const referenceGameWorkspaceSchema: z.ZodObject<
453
+ {
454
+ manifest: z.ZodString;
455
+ reducer: z.ZodString;
456
+ ui: z.ZodString;
457
+ behaviorScenarios: z.ZodArray<z.ZodString>;
458
+ uiScenarios: z.ZodArray<z.ZodString>;
459
+ },
460
+ z.core.$strict
461
+ >;
462
+ ```
463
+
464
+ _No JSDoc summary is available yet._
465
+
132
466
  ## @dreamboard-games/sdk/types
133
467
 
134
468
  ### ActionDefinition
@@ -1522,6 +1856,10 @@ type SetupProfileSpec = {
1522
1856
  optionValues?: {
1523
1857
  [key: string]: string;
1524
1858
  };
1859
+ guidance?: {
1860
+ summary?: string;
1861
+ steps?: ReadonlyArray<SetupGuidanceStep>;
1862
+ };
1525
1863
  };
1526
1864
  ```
1527
1865
 
@@ -2480,6 +2818,49 @@ const FrameworkErrorCodes: {
2480
2818
 
2481
2819
  _No JSDoc summary is available yet._
2482
2820
 
2821
+ ### gameEvent
2822
+
2823
+ ```ts
2824
+ const gameEvent: {
2825
+ systemAction(event: Omit<SystemActionEvent, "kind">): SystemActionEvent;
2826
+ };
2827
+ ```
2828
+
2829
+ _No JSDoc summary is available yet._
2830
+
2831
+ ### GameEvent
2832
+
2833
+ ```ts
2834
+ type GameEvent = SystemActionEvent;
2835
+ ```
2836
+
2837
+ _No JSDoc summary is available yet._
2838
+
2839
+ ### GameEventDetail
2840
+
2841
+ ```ts
2842
+ type GameEventDetail = {
2843
+ label: string;
2844
+ value: string | number | boolean;
2845
+ };
2846
+ ```
2847
+
2848
+ _No JSDoc summary is available yet._
2849
+
2850
+ ### GameOutcome
2851
+
2852
+ ```ts
2853
+ type GameOutcome<PlayerId extends string = string> = {
2854
+ reason: {
2855
+ code: string;
2856
+ message?: string;
2857
+ };
2858
+ standings: readonly OutcomeStanding<PlayerId>[];
2859
+ };
2860
+ ```
2861
+
2862
+ _No JSDoc summary is available yet._
2863
+
2483
2864
  ### GameStateOf
2484
2865
 
2485
2866
  ```ts
@@ -2635,6 +3016,53 @@ type Op<State> = <S extends State>(state: S) => S;
2635
3016
 
2636
3017
  A state-preserving transformation.
2637
3018
 
3019
+ ### OutcomeResult
3020
+
3021
+ ```ts
3022
+ type OutcomeResult = "win" | "draw" | "loss" | "eliminated";
3023
+ ```
3024
+
3025
+ _No JSDoc summary is available yet._
3026
+
3027
+ ### OutcomeScoreComponent
3028
+
3029
+ ```ts
3030
+ type OutcomeScoreComponent = {
3031
+ id: string;
3032
+ label: string;
3033
+ value: number;
3034
+ };
3035
+ ```
3036
+
3037
+ _No JSDoc summary is available yet._
3038
+
3039
+ ### OutcomeStanding
3040
+
3041
+ ```ts
3042
+ type OutcomeStanding<PlayerId extends string = string> = {
3043
+ playerId: PlayerId;
3044
+ rank: number;
3045
+ result: OutcomeResult;
3046
+ score?: number;
3047
+ scoreBreakdown?: readonly OutcomeScoreComponent[];
3048
+ tieBreaks?: readonly OutcomeTieBreak[];
3049
+ };
3050
+ ```
3051
+
3052
+ _No JSDoc summary is available yet._
3053
+
3054
+ ### OutcomeTieBreak
3055
+
3056
+ ```ts
3057
+ type OutcomeTieBreak = {
3058
+ id: string;
3059
+ label: string;
3060
+ value: number | string;
3061
+ };
3062
+ ```
3063
+
3064
+ _No JSDoc summary is available yet._
3065
+
2638
3066
  ### parseBoardRefKey
2639
3067
 
2640
3068
  ```ts
@@ -2875,8 +3303,20 @@ function promptInput<
2875
3303
  type ReducerAccept<State> = {
2876
3304
  type: "accept";
2877
3305
  state: State;
2878
- instructions?: RuntimeInstructionForState<State>[];
2879
- terminal?: TerminalOutcome<PlayerIdOfState<State>>;
3306
+ instructions?: readonly RuntimeInstructionForState<State>[];
3307
+ events?: readonly GameEvent[];
3308
+ terminal?: GameOutcome<PlayerIdOfState<State>>;
3309
+ };
3310
+ ```
3311
+
3312
+ _No JSDoc summary is available yet._
3313
+
3314
+ ### ReducerAcceptOptions
3315
+
3316
+ ```ts
3317
+ type ReducerAcceptOptions<State> = {
3318
+ instructions?: readonly RuntimeInstructionForState<State>[];
3319
+ events?: readonly GameEvent[];
2880
3320
  };
2881
3321
  ```
2882
3322
 
@@ -3157,6 +3597,20 @@ type StaleContractArtifactKind = "base-states" | "session-state";
3157
3597
 
3158
3598
  _No JSDoc summary is available yet._
3159
3599
 
3600
+ ### SystemActionEvent
3601
+
3602
+ ```ts
3603
+ type SystemActionEvent = {
3604
+ kind: "systemAction";
3605
+ procedureId: string;
3606
+ title: string;
3607
+ summary?: string;
3608
+ details?: readonly GameEventDetail[];
3609
+ };
3610
+ ```
3611
+
3612
+ _No JSDoc summary is available yet._
3613
+
3160
3614
  ### TableQueries
3161
3615
 
3162
3616
  ```ts
@@ -3250,21 +3704,6 @@ type TargetRuleBuilder<
3250
3704
 
3251
3705
  _No JSDoc summary is available yet._
3252
3706
 
3253
- ### TerminalOutcome
3254
-
3255
- ```ts
3256
- type TerminalOutcome<
3257
- PlayerId extends string = string,
3258
- Score extends number = number,
3259
- > = {
3260
- winnerPlayerId?: PlayerId;
3261
- finalScores?: Partial<Record<PlayerId, Score>>;
3262
- reason: string;
3263
- };
3264
- ```
3265
-
3266
- _No JSDoc summary is available yet._
3267
-
3268
3707
  ### ValidationIssue
3269
3708
 
3270
3709
  ```ts
@@ -4498,6 +4937,39 @@ const FrameworkErrorCodes: {
4498
4937
 
4499
4938
  _No JSDoc summary is available yet._
4500
4939
 
4940
+ ### GameEvent
4941
+
4942
+ ```ts
4943
+ type GameEvent = SystemActionEvent;
4944
+ ```
4945
+
4946
+ _No JSDoc summary is available yet._
4947
+
4948
+ ### GameEventDetail
4949
+
4950
+ ```ts
4951
+ type GameEventDetail = {
4952
+ label: string;
4953
+ value: string | number | boolean;
4954
+ };
4955
+ ```
4956
+
4957
+ _No JSDoc summary is available yet._
4958
+
4959
+ ### GameOutcome
4960
+
4961
+ ```ts
4962
+ type GameOutcome<PlayerId extends string = string> = {
4963
+ reason: {
4964
+ code: string;
4965
+ message?: string;
4966
+ };
4967
+ standings: readonly OutcomeStanding<PlayerId>[];
4968
+ };
4969
+ ```
4970
+
4971
+ _No JSDoc summary is available yet._
4972
+
4501
4973
  ### GameStateOf
4502
4974
 
4503
4975
  ```ts
@@ -5289,6 +5761,53 @@ type NonEmptyReadonlyArray<T> = readonly [T, ...T[]];
5289
5761
 
5290
5762
  _No JSDoc summary is available yet._
5291
5763
 
5764
+ ### OutcomeResult
5765
+
5766
+ ```ts
5767
+ type OutcomeResult = "win" | "draw" | "loss" | "eliminated";
5768
+ ```
5769
+
5770
+ _No JSDoc summary is available yet._
5771
+
5772
+ ### OutcomeScoreComponent
5773
+
5774
+ ```ts
5775
+ type OutcomeScoreComponent = {
5776
+ id: string;
5777
+ label: string;
5778
+ value: number;
5779
+ };
5780
+ ```
5781
+
5782
+ _No JSDoc summary is available yet._
5783
+
5784
+ ### OutcomeStanding
5785
+
5786
+ ```ts
5787
+ type OutcomeStanding<PlayerId extends string = string> = {
5788
+ playerId: PlayerId;
5789
+ rank: number;
5790
+ result: OutcomeResult;
5791
+ score?: number;
5792
+ scoreBreakdown?: readonly OutcomeScoreComponent[];
5793
+ tieBreaks?: readonly OutcomeTieBreak[];
5794
+ };
5795
+ ```
5796
+
5797
+ _No JSDoc summary is available yet._
5798
+
5799
+ ### OutcomeTieBreak
5800
+
5801
+ ```ts
5802
+ type OutcomeTieBreak = {
5803
+ id: string;
5804
+ label: string;
5805
+ value: number | string;
5806
+ };
5807
+ ```
5808
+
5809
+ _No JSDoc summary is available yet._
5810
+
5292
5811
  ### ParamsOf
5293
5812
 
5294
5813
  ```ts
@@ -5749,8 +6268,20 @@ _No JSDoc summary is available yet._
5749
6268
  type ReducerAccept<State> = {
5750
6269
  type: "accept";
5751
6270
  state: State;
5752
- instructions?: RuntimeInstructionForState<State>[];
5753
- terminal?: TerminalOutcome<PlayerIdOfState<State>>;
6271
+ instructions?: readonly RuntimeInstructionForState<State>[];
6272
+ events?: readonly GameEvent[];
6273
+ terminal?: GameOutcome<PlayerIdOfState<State>>;
6274
+ };
6275
+ ```
6276
+
6277
+ _No JSDoc summary is available yet._
6278
+
6279
+ ### ReducerAcceptOptions
6280
+
6281
+ ```ts
6282
+ type ReducerAcceptOptions<State> = {
6283
+ instructions?: readonly RuntimeInstructionForState<State>[];
6284
+ events?: readonly GameEvent[];
5754
6285
  };
5755
6286
  ```
5756
6287
 
@@ -7060,6 +7591,14 @@ type SetupProfileMetadata = {
7060
7591
  name: string;
7061
7592
  description?: string | null;
7062
7593
  optionValues?: Record<string, string> | null;
7594
+ guidance?: {
7595
+ summary?: string | null;
7596
+ steps: readonly {
7597
+ id: string;
7598
+ label: string;
7599
+ description?: string | null;
7600
+ }[];
7601
+ } | null;
7063
7602
  };
7064
7603
  ```
7065
7604
 
@@ -7575,6 +8114,20 @@ type StringKeyOf<T> = Extract<keyof T, string>;
7575
8114
 
7576
8115
  _No JSDoc summary is available yet._
7577
8116
 
8117
+ ### SystemActionEvent
8118
+
8119
+ ```ts
8120
+ type SystemActionEvent = {
8121
+ kind: "systemAction";
8122
+ procedureId: string;
8123
+ title: string;
8124
+ summary?: string;
8125
+ details?: readonly GameEventDetail[];
8126
+ };
8127
+ ```
8128
+
8129
+ _No JSDoc summary is available yet._
8130
+
7578
8131
  ### TableOfManifest
7579
8132
 
7580
8133
  ```ts
@@ -7629,21 +8182,6 @@ type TargetKind = "edge" | "vertex" | "space" | "tile" | "card";
7629
8182
 
7630
8183
  _No JSDoc summary is available yet._
7631
8184
 
7632
- ### TerminalOutcome
7633
-
7634
- ```ts
7635
- type TerminalOutcome<
7636
- PlayerId extends string = string,
7637
- Score extends number = number,
7638
- > = {
7639
- winnerPlayerId?: PlayerId;
7640
- finalScores?: Partial<Record<PlayerId, Score>>;
7641
- reason: string;
7642
- };
7643
- ```
7644
-
7645
- _No JSDoc summary is available yet._
7646
-
7647
8185
  ### TiledBoardIdOfTable
7648
8186
 
7649
8187
  ```ts
@@ -8032,6 +8570,34 @@ interface ActionGroupProps {
8032
8570
 
8033
8571
  _No JSDoc summary is available yet._
8034
8572
 
8573
+ ### ActionHelp
8574
+
8575
+ ```ts
8576
+ function ActionHelp({
8577
+ label,
8578
+ help,
8579
+ unavailableReason,
8580
+ className,
8581
+ style,
8582
+ }: ActionHelpProps): react_jsx_runtime.JSX.Element;
8583
+ ```
8584
+
8585
+ _No JSDoc summary is available yet._
8586
+
8587
+ ### ActionHelpProps
8588
+
8589
+ ```ts
8590
+ interface ActionHelpProps {
8591
+ label: ReactNode;
8592
+ help?: ReactNode;
8593
+ unavailableReason?: ReactNode;
8594
+ className?: string;
8595
+ style?: CSSProperties;
8596
+ }
8597
+ ```
8598
+
8599
+ _No JSDoc summary is available yet._
8600
+
8035
8601
  ### ActionPanel
8036
8602
 
8037
8603
  ```ts
@@ -9652,32 +10218,29 @@ interface FoundationColor {
9652
10218
 
9653
10219
  Foundation palette. Components never read this directly; presets map these into {@link SemanticTokens }. Exposed so authors who write a full theme can compose without inventing their own palette type.
9654
10220
 
9655
- ### GameEndDisplay
10221
+ ### GameEventLog
9656
10222
 
9657
10223
  ```ts
9658
- function GameEndDisplay({
9659
- isGameOver,
9660
- scores,
9661
- winnerMessage,
9662
- showDetails,
9663
- onReturnToLobby,
10224
+ function GameEventLog({
10225
+ events,
10226
+ empty,
10227
+ maxVisible,
9664
10228
  className,
9665
- }: GameEndDisplayProps): react_jsx_runtime.JSX.Element | null;
10229
+ style,
10230
+ }: GameEventLogProps): react_jsx_runtime.JSX.Element;
9666
10231
  ```
9667
10232
 
9668
10233
  _No JSDoc summary is available yet._
9669
10234
 
9670
- ### GameEndDisplayProps
10235
+ ### GameEventLogProps
9671
10236
 
9672
10237
  ```ts
9673
- interface GameEndDisplayProps {
9674
- isGameOver: boolean;
9675
- /** Sorted by rank */
9676
- scores: PlayerScore[];
9677
- winnerMessage?: string;
9678
- showDetails?: boolean;
9679
- onReturnToLobby?: () => void;
10238
+ interface GameEventLogProps {
10239
+ events: readonly ProjectedGameEvent[];
10240
+ empty?: ReactNode;
10241
+ maxVisible?: number;
9680
10242
  className?: string;
10243
+ style?: CSSProperties;
9681
10244
  }
9682
10245
  ```
9683
10246
 
@@ -9815,6 +10378,69 @@ function getThemePreset(id: ThemePresetId): Theme | undefined;
9815
10378
 
9816
10379
  Look up a registered preset by id. Returns `undefined` if missing.
9817
10380
 
10381
+ ### GuidanceAction
10382
+
10383
+ ```ts
10384
+ interface GuidanceAction {
10385
+ label: ReactNode;
10386
+ help?: ReactNode;
10387
+ unavailableReason?: ReactNode;
10388
+ }
10389
+ ```
10390
+
10391
+ _No JSDoc summary is available yet._
10392
+
10393
+ ### GuidancePanel
10394
+
10395
+ ```ts
10396
+ function GuidancePanel({
10397
+ phase,
10398
+ actions,
10399
+ className,
10400
+ style,
10401
+ }: GuidancePanelProps): react_jsx_runtime.JSX.Element;
10402
+ ```
10403
+
10404
+ _No JSDoc summary is available yet._
10405
+
10406
+ ### GuidancePanelProps
10407
+
10408
+ ```ts
10409
+ interface GuidancePanelProps {
10410
+ phase: GuidancePhase;
10411
+ actions?: readonly GuidanceAction[];
10412
+ className?: string;
10413
+ style?: CSSProperties;
10414
+ }
10415
+ ```
10416
+
10417
+ _No JSDoc summary is available yet._
10418
+
10419
+ ### GuidancePhase
10420
+
10421
+ ```ts
10422
+ interface GuidancePhase {
10423
+ id: string;
10424
+ label: string;
10425
+ summary?: ReactNode;
10426
+ objective?: ReactNode;
10427
+ }
10428
+ ```
10429
+
10430
+ _No JSDoc summary is available yet._
10431
+
10432
+ ### GuidanceSetupStep
10433
+
10434
+ ```ts
10435
+ interface GuidanceSetupStep {
10436
+ id: string;
10437
+ label: ReactNode;
10438
+ description?: ReactNode;
10439
+ }
10440
+ ```
10441
+
10442
+ _No JSDoc summary is available yet._
10443
+
9818
10444
  ### Hand
9819
10445
 
9820
10446
  ```ts
@@ -10602,6 +11228,32 @@ function normalizeSquareBoardInput<TBoard extends AnySquareBoardInput>(
10602
11228
 
10603
11229
  _No JSDoc summary is available yet._
10604
11230
 
11231
+ ### OutcomeDialog
11232
+
11233
+ ```ts
11234
+ function OutcomeDialog<PlayerId extends string = string>({
11235
+ outcome,
11236
+ playerName,
11237
+ onReturnToLobby,
11238
+ className,
11239
+ }: OutcomeDialogProps<PlayerId>): react_jsx_runtime.JSX.Element | null;
11240
+ ```
11241
+
11242
+ _No JSDoc summary is available yet._
11243
+
11244
+ ### OutcomeDialogProps
11245
+
11246
+ ```ts
11247
+ interface OutcomeDialogProps<PlayerId extends string = string> {
11248
+ outcome?: GameOutcome<PlayerId> | null;
11249
+ playerName: (playerId: PlayerId) => ReactNode;
11250
+ onReturnToLobby?: () => void;
11251
+ className?: string;
11252
+ }
11253
+ ```
11254
+
11255
+ _No JSDoc summary is available yet._
11256
+
10605
11257
  ### Panel
10606
11258
 
10607
11259
  ```ts
@@ -10923,20 +11575,6 @@ type PlayerId = string;
10923
11575
 
10924
11576
  _No JSDoc summary is available yet._
10925
11577
 
10926
- ### PlayerScore
10927
-
10928
- ```ts
10929
- interface PlayerScore {
10930
- playerId: string;
10931
- name: string;
10932
- score: number;
10933
- isWinner?: boolean;
10934
- details?: Record<string, number>;
10935
- }
10936
- ```
10937
-
10938
- End-of-game winner display and scoreboard overlay.
10939
-
10940
11578
  ### PrimaryActionAttention
10941
11579
 
10942
11580
  ```ts
@@ -11006,6 +11644,17 @@ interface PrimaryButtonProps
11006
11644
 
11007
11645
  _No JSDoc summary is available yet._
11008
11646
 
11647
+ ### ProjectedGameEvent
11648
+
11649
+ ```ts
11650
+ type ProjectedGameEvent = GameEvent & {
11651
+ version: number;
11652
+ index: number;
11653
+ };
11654
+ ```
11655
+
11656
+ _No JSDoc summary is available yet._
11657
+
11009
11658
  ### Radius
11010
11659
 
11011
11660
  ```ts
@@ -11296,6 +11945,45 @@ interface SemanticColor { ... }
11296
11945
 
11297
11946
  Semantic colors consumed by every component. These are the _only_ color tokens components should reference. Names describe role ("the surface a player card sits on"), not appearance ("light grey").
11298
11947
 
11948
+ ### SetupChecklist
11949
+
11950
+ ```ts
11951
+ function SetupChecklist({
11952
+ guidance,
11953
+ completedStepIds,
11954
+ className,
11955
+ style,
11956
+ }: SetupChecklistProps): react_jsx_runtime.JSX.Element | null;
11957
+ ```
11958
+
11959
+ _No JSDoc summary is available yet._
11960
+
11961
+ ### SetupChecklistProps
11962
+
11963
+ ```ts
11964
+ interface SetupChecklistProps {
11965
+ guidance?: SetupGuidance | null;
11966
+ completedStepIds?: readonly string[];
11967
+ className?: string;
11968
+ style?: CSSProperties;
11969
+ }
11970
+ ```
11971
+
11972
+ _No JSDoc summary is available yet._
11973
+
11974
+ ### SetupGuidance
11975
+
11976
+ ```ts
11977
+ interface SetupGuidance {
11978
+ profileId: string;
11979
+ name: ReactNode;
11980
+ summary?: ReactNode;
11981
+ steps: readonly GuidanceSetupStep[];
11982
+ }
11983
+ ```
11984
+
11985
+ _No JSDoc summary is available yet._
11986
+
11299
11987
  ### SharedBoardRef
11300
11988
 
11301
11989
  ```ts
@@ -11525,6 +12213,32 @@ interface StagingZoneProps { ... }
11525
12213
 
11526
12214
  _No JSDoc summary is available yet._
11527
12215
 
12216
+ ### StandingsTable
12217
+
12218
+ ```ts
12219
+ function StandingsTable<PlayerId extends string = string>({
12220
+ rows,
12221
+ playerName,
12222
+ provisional,
12223
+ className,
12224
+ }: StandingsTableProps<PlayerId>): react_jsx_runtime.JSX.Element;
12225
+ ```
12226
+
12227
+ _No JSDoc summary is available yet._
12228
+
12229
+ ### StandingsTableProps
12230
+
12231
+ ```ts
12232
+ interface StandingsTableProps<PlayerId extends string = string> {
12233
+ rows: readonly OutcomeStanding<PlayerId>[];
12234
+ playerName: (playerId: PlayerId) => ReactNode;
12235
+ provisional?: boolean;
12236
+ className?: string;
12237
+ }
12238
+ ```
12239
+
12240
+ _No JSDoc summary is available yet._
12241
+
11528
12242
  ### studioTheme
11529
12243
 
11530
12244
  ```ts
@@ -11548,6 +12262,44 @@ function surfaceStyle(
11548
12262
 
11549
12263
  Standard surface card (player card, action panel, hand drawer). The `tone` selects which `surface.*` slot to read; `interactive` adds the hover-elevation transition baseline.
11550
12264
 
12265
+ ### SystemActionEvent
12266
+
12267
+ ```ts
12268
+ interface SystemActionEvent {
12269
+ kind: "systemAction";
12270
+ procedureId: string;
12271
+ title: string;
12272
+ summary?: string;
12273
+ details?: readonly GameEventDetail[];
12274
+ }
12275
+ ```
12276
+
12277
+ _No JSDoc summary is available yet._
12278
+
12279
+ ### SystemActionSummary
12280
+
12281
+ ```ts
12282
+ function SystemActionSummary({
12283
+ event,
12284
+ className,
12285
+ style,
12286
+ }: SystemActionSummaryProps): react_jsx_runtime.JSX.Element;
12287
+ ```
12288
+
12289
+ _No JSDoc summary is available yet._
12290
+
12291
+ ### SystemActionSummaryProps
12292
+
12293
+ ```ts
12294
+ interface SystemActionSummaryProps {
12295
+ event: SystemActionEvent;
12296
+ className?: string;
12297
+ style?: CSSProperties;
12298
+ }
12299
+ ```
12300
+
12301
+ _No JSDoc summary is available yet._
12302
+
11551
12303
  ### tabletopTheme
11552
12304
 
11553
12305
  ```ts
@@ -12264,6 +13016,34 @@ interface ActionGroupProps {
12264
13016
 
12265
13017
  _No JSDoc summary is available yet._
12266
13018
 
13019
+ ### ActionHelp
13020
+
13021
+ ```ts
13022
+ function ActionHelp({
13023
+ label,
13024
+ help,
13025
+ unavailableReason,
13026
+ className,
13027
+ style,
13028
+ }: ActionHelpProps): react_jsx_runtime.JSX.Element;
13029
+ ```
13030
+
13031
+ _No JSDoc summary is available yet._
13032
+
13033
+ ### ActionHelpProps
13034
+
13035
+ ```ts
13036
+ interface ActionHelpProps {
13037
+ label: ReactNode;
13038
+ help?: ReactNode;
13039
+ unavailableReason?: ReactNode;
13040
+ className?: string;
13041
+ style?: CSSProperties;
13042
+ }
13043
+ ```
13044
+
13045
+ _No JSDoc summary is available yet._
13046
+
12267
13047
  ### ActionPanel
12268
13048
 
12269
13049
  ```ts
@@ -13429,32 +14209,29 @@ interface ErrorBoundaryProps {
13429
14209
 
13430
14210
  _No JSDoc summary is available yet._
13431
14211
 
13432
- ### GameEndDisplay
14212
+ ### GameEventLog
13433
14213
 
13434
14214
  ```ts
13435
- function GameEndDisplay({
13436
- isGameOver,
13437
- scores,
13438
- winnerMessage,
13439
- showDetails,
13440
- onReturnToLobby,
14215
+ function GameEventLog({
14216
+ events,
14217
+ empty,
14218
+ maxVisible,
13441
14219
  className,
13442
- }: GameEndDisplayProps): react_jsx_runtime.JSX.Element | null;
14220
+ style,
14221
+ }: GameEventLogProps): react_jsx_runtime.JSX.Element;
13443
14222
  ```
13444
14223
 
13445
14224
  _No JSDoc summary is available yet._
13446
14225
 
13447
- ### GameEndDisplayProps
14226
+ ### GameEventLogProps
13448
14227
 
13449
14228
  ```ts
13450
- interface GameEndDisplayProps {
13451
- isGameOver: boolean;
13452
- /** Sorted by rank */
13453
- scores: PlayerScore[];
13454
- winnerMessage?: string;
13455
- showDetails?: boolean;
13456
- onReturnToLobby?: () => void;
14229
+ interface GameEventLogProps {
14230
+ events: readonly ProjectedGameEvent[];
14231
+ empty?: ReactNode;
14232
+ maxVisible?: number;
13457
14233
  className?: string;
14234
+ style?: CSSProperties;
13458
14235
  }
13459
14236
  ```
13460
14237
 
@@ -13484,6 +14261,69 @@ interface GameSkeletonProps {
13484
14261
 
13485
14262
  GameSkeleton - Loading state component
13486
14263
 
14264
+ ### GuidanceAction
14265
+
14266
+ ```ts
14267
+ interface GuidanceAction {
14268
+ label: ReactNode;
14269
+ help?: ReactNode;
14270
+ unavailableReason?: ReactNode;
14271
+ }
14272
+ ```
14273
+
14274
+ _No JSDoc summary is available yet._
14275
+
14276
+ ### GuidancePanel
14277
+
14278
+ ```ts
14279
+ function GuidancePanel({
14280
+ phase,
14281
+ actions,
14282
+ className,
14283
+ style,
14284
+ }: GuidancePanelProps): react_jsx_runtime.JSX.Element;
14285
+ ```
14286
+
14287
+ _No JSDoc summary is available yet._
14288
+
14289
+ ### GuidancePanelProps
14290
+
14291
+ ```ts
14292
+ interface GuidancePanelProps {
14293
+ phase: GuidancePhase;
14294
+ actions?: readonly GuidanceAction[];
14295
+ className?: string;
14296
+ style?: CSSProperties;
14297
+ }
14298
+ ```
14299
+
14300
+ _No JSDoc summary is available yet._
14301
+
14302
+ ### GuidancePhase
14303
+
14304
+ ```ts
14305
+ interface GuidancePhase {
14306
+ id: string;
14307
+ label: string;
14308
+ summary?: ReactNode;
14309
+ objective?: ReactNode;
14310
+ }
14311
+ ```
14312
+
14313
+ _No JSDoc summary is available yet._
14314
+
14315
+ ### GuidanceSetupStep
14316
+
14317
+ ```ts
14318
+ interface GuidanceSetupStep {
14319
+ id: string;
14320
+ label: ReactNode;
14321
+ description?: ReactNode;
14322
+ }
14323
+ ```
14324
+
14325
+ _No JSDoc summary is available yet._
14326
+
13487
14327
  ### Hand
13488
14328
 
13489
14329
  ```ts
@@ -13987,6 +14827,32 @@ interface NetworkPiece {
13987
14827
 
13988
14828
  _No JSDoc summary is available yet._
13989
14829
 
14830
+ ### OutcomeDialog
14831
+
14832
+ ```ts
14833
+ function OutcomeDialog<PlayerId extends string = string>({
14834
+ outcome,
14835
+ playerName,
14836
+ onReturnToLobby,
14837
+ className,
14838
+ }: OutcomeDialogProps<PlayerId>): react_jsx_runtime.JSX.Element | null;
14839
+ ```
14840
+
14841
+ _No JSDoc summary is available yet._
14842
+
14843
+ ### OutcomeDialogProps
14844
+
14845
+ ```ts
14846
+ interface OutcomeDialogProps<PlayerId extends string = string> {
14847
+ outcome?: GameOutcome<PlayerId> | null;
14848
+ playerName: (playerId: PlayerId) => ReactNode;
14849
+ onReturnToLobby?: () => void;
14850
+ className?: string;
14851
+ }
14852
+ ```
14853
+
14854
+ _No JSDoc summary is available yet._
14855
+
13990
14856
  ### Panel
13991
14857
 
13992
14858
  ```ts
@@ -14198,20 +15064,6 @@ interface PlayAreaProps<CardData extends ViewCard = ViewCard> {
14198
15064
 
14199
15065
  _No JSDoc summary is available yet._
14200
15066
 
14201
- ### PlayerScore
14202
-
14203
- ```ts
14204
- interface PlayerScore {
14205
- playerId: string;
14206
- name: string;
14207
- score: number;
14208
- isWinner?: boolean;
14209
- details?: Record<string, number>;
14210
- }
14211
- ```
14212
-
14213
- End-of-game winner display and scoreboard overlay.
14214
-
14215
15067
  ### PrimaryActionAttention
14216
15068
 
14217
15069
  ```ts
@@ -14281,6 +15133,17 @@ interface PrimaryButtonProps
14281
15133
 
14282
15134
  _No JSDoc summary is available yet._
14283
15135
 
15136
+ ### ProjectedGameEvent
15137
+
15138
+ ```ts
15139
+ type ProjectedGameEvent = GameEvent & {
15140
+ version: number;
15141
+ index: number;
15142
+ };
15143
+ ```
15144
+
15145
+ _No JSDoc summary is available yet._
15146
+
14284
15147
  ### ResourceCounter
14285
15148
 
14286
15149
  ```ts
@@ -14538,6 +15401,45 @@ function SelectTrigger({
14538
15401
 
14539
15402
  _No JSDoc summary is available yet._
14540
15403
 
15404
+ ### SetupChecklist
15405
+
15406
+ ```ts
15407
+ function SetupChecklist({
15408
+ guidance,
15409
+ completedStepIds,
15410
+ className,
15411
+ style,
15412
+ }: SetupChecklistProps): react_jsx_runtime.JSX.Element | null;
15413
+ ```
15414
+
15415
+ _No JSDoc summary is available yet._
15416
+
15417
+ ### SetupChecklistProps
15418
+
15419
+ ```ts
15420
+ interface SetupChecklistProps {
15421
+ guidance?: SetupGuidance | null;
15422
+ completedStepIds?: readonly string[];
15423
+ className?: string;
15424
+ style?: CSSProperties;
15425
+ }
15426
+ ```
15427
+
15428
+ _No JSDoc summary is available yet._
15429
+
15430
+ ### SetupGuidance
15431
+
15432
+ ```ts
15433
+ interface SetupGuidance {
15434
+ profileId: string;
15435
+ name: ReactNode;
15436
+ summary?: ReactNode;
15437
+ steps: readonly GuidanceSetupStep[];
15438
+ }
15439
+ ```
15440
+
15441
+ _No JSDoc summary is available yet._
15442
+
14541
15443
  ### SlotDefinition
14542
15444
 
14543
15445
  ```ts
@@ -14705,6 +15607,70 @@ interface StagingZoneProps { ... }
14705
15607
 
14706
15608
  _No JSDoc summary is available yet._
14707
15609
 
15610
+ ### StandingsTable
15611
+
15612
+ ```ts
15613
+ function StandingsTable<PlayerId extends string = string>({
15614
+ rows,
15615
+ playerName,
15616
+ provisional,
15617
+ className,
15618
+ }: StandingsTableProps<PlayerId>): react_jsx_runtime.JSX.Element;
15619
+ ```
15620
+
15621
+ _No JSDoc summary is available yet._
15622
+
15623
+ ### StandingsTableProps
15624
+
15625
+ ```ts
15626
+ interface StandingsTableProps<PlayerId extends string = string> {
15627
+ rows: readonly OutcomeStanding<PlayerId>[];
15628
+ playerName: (playerId: PlayerId) => ReactNode;
15629
+ provisional?: boolean;
15630
+ className?: string;
15631
+ }
15632
+ ```
15633
+
15634
+ _No JSDoc summary is available yet._
15635
+
15636
+ ### SystemActionEvent
15637
+
15638
+ ```ts
15639
+ interface SystemActionEvent {
15640
+ kind: "systemAction";
15641
+ procedureId: string;
15642
+ title: string;
15643
+ summary?: string;
15644
+ details?: readonly GameEventDetail[];
15645
+ }
15646
+ ```
15647
+
15648
+ _No JSDoc summary is available yet._
15649
+
15650
+ ### SystemActionSummary
15651
+
15652
+ ```ts
15653
+ function SystemActionSummary({
15654
+ event,
15655
+ className,
15656
+ style,
15657
+ }: SystemActionSummaryProps): react_jsx_runtime.JSX.Element;
15658
+ ```
15659
+
15660
+ _No JSDoc summary is available yet._
15661
+
15662
+ ### SystemActionSummaryProps
15663
+
15664
+ ```ts
15665
+ interface SystemActionSummaryProps {
15666
+ event: SystemActionEvent;
15667
+ className?: string;
15668
+ style?: CSSProperties;
15669
+ }
15670
+ ```
15671
+
15672
+ _No JSDoc summary is available yet._
15673
+
14708
15674
  ### ThemedButton
14709
15675
 
14710
15676
  ```ts
@@ -15554,6 +16520,21 @@ _No JSDoc summary is available yet._
15554
16520
 
15555
16521
  ## @dreamboard-games/sdk/runtime
15556
16522
 
16523
+ ### BoardGridInteractionFilter
16524
+
16525
+ ```ts
16526
+ type BoardGridInteractionFilter<Key extends string = string> =
16527
+ | "auto"
16528
+ | false
16529
+ | {
16530
+ edge?: readonly Key[];
16531
+ vertex?: readonly Key[];
16532
+ space?: readonly Key[];
16533
+ };
16534
+ ```
16535
+
16536
+ _No JSDoc summary is available yet._
16537
+
15557
16538
  ### BoardHexGridProps
15558
16539
 
15559
16540
  ```ts
@@ -15601,6 +16582,27 @@ type BoardSpaceTargetProps<Target extends string = BoardTargetKey> = Omit<
15601
16582
 
15602
16583
  _No JSDoc summary is available yet._
15603
16584
 
16585
+ ### BoardSquareGridInteractionFilter
16586
+
16587
+ ```ts
16588
+ type BoardSquareGridInteractionFilter = BoardGridInteractionFilter<string>;
16589
+ ```
16590
+
16591
+ _No JSDoc summary is available yet._
16592
+
16593
+ ### BoardSquareGridProps
16594
+
16595
+ ```ts
16596
+ type BoardSquareGridProps<TBoard extends AnySquareBoardInput> = Omit<
16597
+ SquareGridBoardProps<TBoard>,
16598
+ "interactiveEdges" | "interactiveVertices" | "interactiveSpaces"
16599
+ > & {
16600
+ interactions?: BoardSquareGridInteractionFilter;
16601
+ };
16602
+ ```
16603
+
16604
+ _No JSDoc summary is available yet._
16605
+
15604
16606
  ### ClientParamSchemaMap
15605
16607
 
15606
16608
  ```ts
@@ -15640,8 +16642,15 @@ function createWorkspaceUIContract<
15640
16642
  Resource extends string,
15641
16643
  Card,
15642
16644
  HexBoards extends Record<string, unknown>,
16645
+ SquareBoards extends Record<string, unknown> = Record<string, unknown>,
15643
16646
  >(
15644
- options: WorkspaceContractOptions<Contract, Resource, Card, HexBoards>,
16647
+ options: WorkspaceContractOptions<
16648
+ Contract,
16649
+ Resource,
16650
+ Card,
16651
+ HexBoards,
16652
+ SquareBoards
16653
+ >,
15645
16654
  ): WorkspaceUI;
15646
16655
  ```
15647
16656
 
@@ -15666,6 +16675,25 @@ interface DreamboardUIRegister {
15666
16675
 
15667
16676
  _No JSDoc summary is available yet._
15668
16677
 
16678
+ ### GameEvent
16679
+
16680
+ ```ts
16681
+ type GameEvent = SystemActionEvent;
16682
+ ```
16683
+
16684
+ _No JSDoc summary is available yet._
16685
+
16686
+ ### GameEventDetail
16687
+
16688
+ ```ts
16689
+ interface GameEventDetail {
16690
+ label: string;
16691
+ value: string | number | boolean;
16692
+ }
16693
+ ```
16694
+
16695
+ _No JSDoc summary is available yet._
16696
+
15669
16697
  ### GameMeState
15670
16698
 
15671
16699
  ```ts
@@ -15772,11 +16800,11 @@ _No JSDoc summary is available yet._
15772
16800
 
15773
16801
  ```ts
15774
16802
  interface PluginRuntimeClient {
15775
- getSession(): v | null;
16803
+ getSession(): w | null;
15776
16804
  subscribeSession(listener: () => void): () => void;
15777
- getFrame(): o | null;
16805
+ getFrame(): p | null;
15778
16806
  subscribeFrame(listener: () => void): () => void;
15779
- validateInteraction(interactionId: string, params: unknown): Promise<G>;
16807
+ validateInteraction(interactionId: string, params: unknown): Promise<M>;
15780
16808
  submitInteraction(interactionId: string, params: unknown): Promise<void>;
15781
16809
  disconnect(): void;
15782
16810
  }
@@ -15810,7 +16838,7 @@ _No JSDoc summary is available yet._
15810
16838
  ```ts
15811
16839
  interface PluginTransport {
15812
16840
  start(onMessage: (message: H) => void): () => void;
15813
- send(message: x): void;
16841
+ send(message: y): void;
15814
16842
  }
15815
16843
  ```
15816
16844
 
@@ -15822,12 +16850,24 @@ _No JSDoc summary is available yet._
15822
16850
  interface PostMessagePluginTransportOptions {
15823
16851
  readonly targetWindow?: Window;
15824
16852
  readonly parentWindow?: Window;
16853
+ readonly bundledSdkVersion?: string;
15825
16854
  readonly onInvalidMessage?: (reason: string, value: unknown) => void;
15826
16855
  }
15827
16856
  ```
15828
16857
 
15829
16858
  _No JSDoc summary is available yet._
15830
16859
 
16860
+ ### ProjectedGameEvent
16861
+
16862
+ ```ts
16863
+ type ProjectedGameEvent = GameEvent & {
16864
+ version: number;
16865
+ index: number;
16866
+ };
16867
+ ```
16868
+
16869
+ _No JSDoc summary is available yet._
16870
+
15831
16871
  ### RegisteredUI
15832
16872
 
15833
16873
  ```ts
@@ -15870,6 +16910,20 @@ interface RuntimeIdFactory {
15870
16910
 
15871
16911
  _No JSDoc summary is available yet._
15872
16912
 
16913
+ ### SystemActionEvent
16914
+
16915
+ ```ts
16916
+ interface SystemActionEvent {
16917
+ kind: "systemAction";
16918
+ procedureId: string;
16919
+ title: string;
16920
+ summary?: string;
16921
+ details?: readonly GameEventDetail[];
16922
+ }
16923
+ ```
16924
+
16925
+ _No JSDoc summary is available yet._
16926
+
15873
16927
  ### TypedGame
15874
16928
 
15875
16929
  ```ts
@@ -16147,6 +17201,7 @@ const Board: {
16147
17201
  State: typeof BoardState;
16148
17202
  HexGrid: typeof BoardHexGrid;
16149
17203
  HexView: typeof BoardHexView;
17204
+ SquareGrid: typeof BoardSquareGrid;
16150
17205
  Target: typeof BoardTarget;
16151
17206
  SpaceTarget: typeof BoardSpaceTarget;
16152
17207
  EdgeTarget: typeof BoardEdgeTarget;
@@ -16177,6 +17232,21 @@ type BoardEdgeTargetProps<Target extends string = BoardTargetKey> = Omit<
16177
17232
 
16178
17233
  _No JSDoc summary is available yet._
16179
17234
 
17235
+ ### BoardGridInteractionFilter
17236
+
17237
+ ```ts
17238
+ type BoardGridInteractionFilter<Key extends string = string> =
17239
+ | "auto"
17240
+ | false
17241
+ | {
17242
+ edge?: readonly Key[];
17243
+ vertex?: readonly Key[];
17244
+ space?: readonly Key[];
17245
+ };
17246
+ ```
17247
+
17248
+ _No JSDoc summary is available yet._
17249
+
16180
17250
  ### BoardHexGrid
16181
17251
 
16182
17252
  ```ts
@@ -16196,14 +17266,7 @@ _No JSDoc summary is available yet._
16196
17266
  ### BoardHexGridInteractionFilter
16197
17267
 
16198
17268
  ```ts
16199
- type BoardHexGridInteractionFilter =
16200
- | "auto"
16201
- | false
16202
- | {
16203
- edge?: readonly string[];
16204
- vertex?: readonly string[];
16205
- space?: readonly string[];
16206
- };
17269
+ type BoardHexGridInteractionFilter = BoardGridInteractionFilter<string>;
16207
17270
  ```
16208
17271
 
16209
17272
  _No JSDoc summary is available yet._
@@ -16315,6 +17378,39 @@ type BoardSpaceTargetProps<Target extends string = BoardTargetKey> = Omit<
16315
17378
 
16316
17379
  _No JSDoc summary is available yet._
16317
17380
 
17381
+ ### BoardSquareGrid
17382
+
17383
+ ```ts
17384
+ function BoardSquareGrid<const TBoard extends AnySquareBoardInput>({
17385
+ board,
17386
+ interactions,
17387
+ ...props
17388
+ }: BoardSquareGridProps<TBoard>): react_jsx_runtime.JSX.Element;
17389
+ ```
17390
+
17391
+ _No JSDoc summary is available yet._
17392
+
17393
+ ### BoardSquareGridInteractionFilter
17394
+
17395
+ ```ts
17396
+ type BoardSquareGridInteractionFilter = BoardGridInteractionFilter<string>;
17397
+ ```
17398
+
17399
+ _No JSDoc summary is available yet._
17400
+
17401
+ ### BoardSquareGridProps
17402
+
17403
+ ```ts
17404
+ type BoardSquareGridProps<TBoard extends AnySquareBoardInput> = Omit<
17405
+ SquareGridBoardProps<TBoard>,
17406
+ "interactiveEdges" | "interactiveVertices" | "interactiveSpaces"
17407
+ > & {
17408
+ interactions?: BoardSquareGridInteractionFilter;
17409
+ };
17410
+ ```
17411
+
17412
+ _No JSDoc summary is available yet._
17413
+
16318
17414
  ### BoardState
16319
17415
 
16320
17416
  ```ts
@@ -16765,6 +17861,30 @@ interface GameViewportProps extends HTMLAttributes<HTMLDivElement> {
16765
17861
 
16766
17862
  _No JSDoc summary is available yet._
16767
17863
 
17864
+ ### HandStagingView
17865
+
17866
+ ```ts
17867
+ function HandStagingView({
17868
+ zone,
17869
+ renderCard,
17870
+ renderEmptySlot,
17871
+ label,
17872
+ cardSize,
17873
+ ariaLabel,
17874
+ className,
17875
+ }: HandStagingViewProps): react_jsx_runtime.JSX.Element | null;
17876
+ ```
17877
+
17878
+ Dreamboard-aware staging surface for a many-select card collection (e.g. the cards you've chosen to pass). Projects the live draft into a fixed, always-visible row of slots (empty placeholders until something is staged); tapping a staged card routes an `activate` intent, which toggles it back out of the collection so it returns to the hand. Adds no draft logic — the presentational layout/theming lives in the SDK `StagingZone`.
17879
+
17880
+ ### HandStagingViewProps
17881
+
17882
+ ```ts
17883
+ interface HandStagingViewProps { ... }
17884
+ ```
17885
+
17886
+ _No JSDoc summary is available yet._
17887
+
16768
17888
  ### HandSurfaceView
16769
17889
 
16770
17890
  ```ts
@@ -17133,6 +18253,7 @@ function InteractionSubmit({
17133
18253
  params,
17134
18254
  onSubmitSuccess,
17135
18255
  onSubmitError,
18256
+ style,
17136
18257
  ...props
17137
18258
  }: InteractionSubmitProps): react.ReactElement<
17138
18259
  unknown,
@@ -18306,6 +19427,21 @@ _No JSDoc summary is available yet._
18306
19427
 
18307
19428
  ## @dreamboard-games/sdk/runtime/workspace-contract
18308
19429
 
19430
+ ### BoardGridInteractionFilter
19431
+
19432
+ ```ts
19433
+ type BoardGridInteractionFilter<Key extends string = string> =
19434
+ | "auto"
19435
+ | false
19436
+ | {
19437
+ edge?: readonly Key[];
19438
+ vertex?: readonly Key[];
19439
+ space?: readonly Key[];
19440
+ };
19441
+ ```
19442
+
19443
+ _No JSDoc summary is available yet._
19444
+
18309
19445
  ### BoardHexGridProps
18310
19446
 
18311
19447
  ```ts
@@ -18353,6 +19489,27 @@ type BoardSpaceTargetProps<Target extends string = BoardTargetKey> = Omit<
18353
19489
 
18354
19490
  _No JSDoc summary is available yet._
18355
19491
 
19492
+ ### BoardSquareGridInteractionFilter
19493
+
19494
+ ```ts
19495
+ type BoardSquareGridInteractionFilter = BoardGridInteractionFilter<string>;
19496
+ ```
19497
+
19498
+ _No JSDoc summary is available yet._
19499
+
19500
+ ### BoardSquareGridProps
19501
+
19502
+ ```ts
19503
+ type BoardSquareGridProps<TBoard extends AnySquareBoardInput> = Omit<
19504
+ SquareGridBoardProps<TBoard>,
19505
+ "interactiveEdges" | "interactiveVertices" | "interactiveSpaces"
19506
+ > & {
19507
+ interactions?: BoardSquareGridInteractionFilter;
19508
+ };
19509
+ ```
19510
+
19511
+ _No JSDoc summary is available yet._
19512
+
18356
19513
  ### ClientParamSchemaMap
18357
19514
 
18358
19515
  ```ts
@@ -18372,8 +19529,15 @@ function createWorkspaceUIContract<
18372
19529
  Resource extends string,
18373
19530
  Card,
18374
19531
  HexBoards extends Record<string, unknown>,
19532
+ SquareBoards extends Record<string, unknown> = Record<string, unknown>,
18375
19533
  >(
18376
- options: WorkspaceContractOptions<Contract, Resource, Card, HexBoards>,
19534
+ options: WorkspaceContractOptions<
19535
+ Contract,
19536
+ Resource,
19537
+ Card,
19538
+ HexBoards,
19539
+ SquareBoards
19540
+ >,
18377
19541
  ): WorkspaceUI;
18378
19542
  ```
18379
19543
 
@@ -19062,10 +20226,7 @@ _No JSDoc summary is available yet._
19062
20226
  ### GENERATED_WORKSPACE_PATH_PATTERNS
19063
20227
 
19064
20228
  ```ts
19065
- const GENERATED_WORKSPACE_PATH_PATTERNS: {
19066
- prefix: string;
19067
- suffix: string;
19068
- }[];
20229
+ const GENERATED_WORKSPACE_PATH_PATTERNS: readonly GeneratedWorkspacePathPattern[];
19069
20230
  ```
19070
20231
 
19071
20232
  _No JSDoc summary is available yet._
@@ -19213,7 +20374,7 @@ _No JSDoc summary is available yet._
19213
20374
  ### REDUCER_CONTRACT_VERSION
19214
20375
 
19215
20376
  ```ts
19216
- const REDUCER_CONTRACT_VERSION: "0.2.1";
20377
+ const REDUCER_CONTRACT_VERSION: "0.3.0";
19217
20378
  ```
19218
20379
 
19219
20380
  The wire-protocol version this package implements. Bumped in lockstep with any breaking change to schema/reducer-runtime.schema.json. At bundle load time hosts refuse bundles whose major version differs.
@@ -19244,6 +20405,14 @@ _No JSDoc summary is available yet._
19244
20405
 
19245
20406
  ## @dreamboard-games/sdk/testing
19246
20407
 
20408
+ ### activate
20409
+
20410
+ ```ts
20411
+ function activate(options: ReplayStepOptions): UIScenarioReplayStep;
20412
+ ```
20413
+
20414
+ _No JSDoc summary is available yet._
20415
+
19247
20416
  ### assertDeterministicUIScenarioFixture
19248
20417
 
19249
20418
  ```ts
@@ -19255,6 +20424,17 @@ function assertDeterministicUIScenarioFixture(
19255
20424
 
19256
20425
  _No JSDoc summary is available yet._
19257
20426
 
20427
+ ### assertStep
20428
+
20429
+ ```ts
20430
+ function assertStep(
20431
+ stepId: string,
20432
+ expect: UIStepExpectation,
20433
+ ): UIScenarioReplayStep;
20434
+ ```
20435
+
20436
+ _No JSDoc summary is available yet._
20437
+
19258
20438
  ### assertSupportedBrowserInteractionProtocol
19259
20439
 
19260
20440
  ```ts
@@ -19375,7 +20555,7 @@ _No JSDoc summary is available yet._
19375
20555
  ```ts
19376
20556
  interface CompilePluginProtocolTapeOptions {
19377
20557
  readonly trace: ReducerScenarioTrace;
19378
- readonly session: v;
20558
+ readonly session: w;
19379
20559
  }
19380
20560
  ```
19381
20561
 
@@ -19437,7 +20617,7 @@ _No JSDoc summary is available yet._
19437
20617
 
19438
20618
  ```ts
19439
20619
  interface CreateFixtureHostHarnessOptions {
19440
- readonly tape: u;
20620
+ readonly tape: v;
19441
20621
  readonly strict?: boolean;
19442
20622
  readonly latencyMs?: number;
19443
20623
  readonly channelId?: string;
@@ -19551,6 +20731,16 @@ function defineScenario<
19551
20731
 
19552
20732
  _No JSDoc summary is available yet._
19553
20733
 
20734
+ ### defineUIScenario
20735
+
20736
+ ```ts
20737
+ function defineUIScenario<const TScenario extends UIScenarioDefinition>(
20738
+ scenario: TScenario,
20739
+ ): Readonly<TScenario>;
20740
+ ```
20741
+
20742
+ _No JSDoc summary is available yet._
20743
+
19554
20744
  ### DeterministicIdFactory
19555
20745
 
19556
20746
  ```ts
@@ -19608,6 +20798,14 @@ function digestUIScenarioFixture(fixture: UIScenarioFixture): string;
19608
20798
 
19609
20799
  _No JSDoc summary is available yet._
19610
20800
 
20801
+ ### drag
20802
+
20803
+ ```ts
20804
+ function drag(options: DragReplayStepOptions): UIScenarioReplayStep;
20805
+ ```
20806
+
20807
+ _No JSDoc summary is available yet._
20808
+
19611
20809
  ### ExpectFn
19612
20810
 
19613
20811
  ```ts
@@ -19624,6 +20822,14 @@ type ExpectMatchers = ...;
19624
20822
 
19625
20823
  _No JSDoc summary is available yet._
19626
20824
 
20825
+ ### fill
20826
+
20827
+ ```ts
20828
+ function fill(options: FillReplayStepOptions): UIScenarioReplayStep;
20829
+ ```
20830
+
20831
+ _No JSDoc summary is available yet._
20832
+
19627
20833
  ### FixtureEnvironmentInit
19628
20834
 
19629
20835
  ```ts
@@ -19677,7 +20883,7 @@ _No JSDoc summary is available yet._
19677
20883
  ```ts
19678
20884
  interface FixtureHostHarness {
19679
20885
  readonly transport: PluginTransport;
19680
- readonly tape: u;
20886
+ readonly tape: v;
19681
20887
  reset(): void;
19682
20888
  flush(): Promise<void>;
19683
20889
  advanceHost(): Promise<void>;
@@ -19800,7 +21006,7 @@ _No JSDoc summary is available yet._
19800
21006
  ### PluginProtocolTape
19801
21007
 
19802
21008
  ```ts
19803
- type PluginProtocolTape = u;
21009
+ type PluginProtocolTape = v;
19804
21010
  ```
19805
21011
 
19806
21012
  _No JSDoc summary is available yet._
@@ -19809,9 +21015,9 @@ _No JSDoc summary is available yet._
19809
21015
 
19810
21016
  ```ts
19811
21017
  const pluginProtocolTapeSchema: z.ZodType<
19812
- u,
21018
+ v,
19813
21019
  unknown,
19814
- z.core.$ZodTypeInternals<u, unknown>
21020
+ z.core.$ZodTypeInternals<v, unknown>
19815
21021
  >;
19816
21022
  ```
19817
21023
 
@@ -19835,6 +21041,25 @@ declare const portableSemanticReplayStepSchema: ...;
19835
21041
 
19836
21042
  _No JSDoc summary is available yet._
19837
21043
 
21044
+ ### press
21045
+
21046
+ ```ts
21047
+ function press(options: ReplayStepOptions): UIScenarioReplayStep;
21048
+ ```
21049
+
21050
+ _No JSDoc summary is available yet._
21051
+
21052
+ ### ProtocolUIScenarioAuthority
21053
+
21054
+ ```ts
21055
+ interface ProtocolUIScenarioAuthority {
21056
+ readonly kind: "protocol";
21057
+ readonly tape: PluginProtocolTape;
21058
+ }
21059
+ ```
21060
+
21061
+ _No JSDoc summary is available yet._
21062
+
19838
21063
  ### ReducerScenarioBundle
19839
21064
 
19840
21065
  ```ts
@@ -19936,6 +21161,23 @@ interface ReducerScenarioViewer {
19936
21161
 
19937
21162
  _No JSDoc summary is available yet._
19938
21163
 
21164
+ ### ReducerUIScenarioAuthority
21165
+
21166
+ ```ts
21167
+ interface ReducerUIScenarioAuthority {
21168
+ readonly kind: "reducer";
21169
+ readonly referenceGame: unknown;
21170
+ readonly coverage: unknown;
21171
+ readonly bundle: unknown;
21172
+ readonly initialState: unknown;
21173
+ readonly viewer: unknown;
21174
+ readonly playerIds?: readonly string[];
21175
+ readonly operations: readonly unknown[];
21176
+ }
21177
+ ```
21178
+
21179
+ _No JSDoc summary is available yet._
21180
+
19939
21181
  ### RejectionExpectation
19940
21182
 
19941
21183
  ```ts
@@ -20011,6 +21253,14 @@ type StaleContractArtifactKind = "base-states" | "session-state";
20011
21253
 
20012
21254
  _No JSDoc summary is available yet._
20013
21255
 
21256
+ ### submit
21257
+
21258
+ ```ts
21259
+ function submit(options: ReplayStepOptions): UIScenarioReplayStep;
21260
+ ```
21261
+
21262
+ _No JSDoc summary is available yet._
21263
+
20014
21264
  ### TestRunner
20015
21265
 
20016
21266
  ```ts
@@ -20054,7 +21304,7 @@ _No JSDoc summary is available yet._
20054
21304
  ### UIFixtureFrame
20055
21305
 
20056
21306
  ```ts
20057
- type UIFixtureFrame = s;
21307
+ type UIFixtureFrame = t;
20058
21308
  ```
20059
21309
 
20060
21310
  _No JSDoc summary is available yet._
@@ -20066,9 +21316,9 @@ const uiFixtureFrameSchema: z.ZodObject<
20066
21316
  {
20067
21317
  id: z.ZodString;
20068
21318
  frame: z.ZodType<
20069
- o<unknown, string, string, string>,
21319
+ p<unknown, string, string, string>,
20070
21320
  unknown,
20071
- z.core.$ZodTypeInternals<o<unknown, string, string, string>, unknown>
21321
+ z.core.$ZodTypeInternals<p<unknown, string, string, string>, unknown>
20072
21322
  >;
20073
21323
  projectionDigest: z.ZodString;
20074
21324
  },
@@ -20081,7 +21331,7 @@ _No JSDoc summary is available yet._
20081
21331
  ### UIFixtureProtocolStep
20082
21332
 
20083
21333
  ```ts
20084
- type UIFixtureProtocolStep = t;
21334
+ type UIFixtureProtocolStep = u;
20085
21335
  ```
20086
21336
 
20087
21337
  _No JSDoc summary is available yet._
@@ -20164,6 +21414,53 @@ const uiResolvedReplayIdentitySchema: z.ZodObject<
20164
21414
 
20165
21415
  _No JSDoc summary is available yet._
20166
21416
 
21417
+ ### UIScenarioAuthority
21418
+
21419
+ ```ts
21420
+ type UIScenarioAuthority =
21421
+ | ProtocolUIScenarioAuthority
21422
+ | ReducerUIScenarioAuthority;
21423
+ ```
21424
+
21425
+ _No JSDoc summary is available yet._
21426
+
21427
+ ### UIScenarioAuthorityKind
21428
+
21429
+ ```ts
21430
+ type UIScenarioAuthorityKind = "protocol" | "reducer";
21431
+ ```
21432
+
21433
+ _No JSDoc summary is available yet._
21434
+
21435
+ ### UIScenarioDefinition
21436
+
21437
+ ```ts
21438
+ interface UIScenarioDefinition {
21439
+ readonly id: string;
21440
+ readonly title?: string;
21441
+ readonly contracts: readonly string[];
21442
+ readonly capabilities: readonly string[];
21443
+ readonly sourceFiles: readonly string[];
21444
+ readonly environment?: UIScenarioEnvironmentDefinition;
21445
+ readonly authority: UIScenarioAuthority;
21446
+ readonly replay: readonly UIScenarioReplayStep[];
21447
+ }
21448
+ ```
21449
+
21450
+ _No JSDoc summary is available yet._
21451
+
21452
+ ### UIScenarioEnvironmentDefinition
21453
+
21454
+ ```ts
21455
+ interface UIScenarioEnvironmentDefinition {
21456
+ readonly viewport?: "desktop" | "tablet" | "phone";
21457
+ readonly browsers?: readonly ("chromium" | "webkit")[];
21458
+ readonly input?: readonly ("mouse" | "touch" | "keyboard")[];
21459
+ }
21460
+ ```
21461
+
21462
+ _No JSDoc summary is available yet._
21463
+
20167
21464
  ### UIScenarioFixture
20168
21465
 
20169
21466
  ```ts
@@ -20247,6 +21544,75 @@ declare const uiStepExpectationSchema: z.ZodObject<
20247
21544
 
20248
21545
  _No JSDoc summary is available yet._
20249
21546
 
21547
+ ## @dreamboard-games/sdk/testing-runtime
21548
+
21549
+ ### CandidateVerificationBase
21550
+
21551
+ ```ts
21552
+ type CandidateVerificationBase =
21553
+ | BaseStateArtifact
21554
+ | (BaseDefinition & Partial<BaseStateArtifact>);
21555
+ ```
21556
+
21557
+ _No JSDoc summary is available yet._
21558
+
21559
+ ### CandidateVerificationInput
21560
+
21561
+ ```ts
21562
+ type CandidateVerificationInput = ...;
21563
+ ```
21564
+
21565
+ _No JSDoc summary is available yet._
21566
+
21567
+ ### CandidateVerificationResult
21568
+
21569
+ ```ts
21570
+ type CandidateVerificationResult = {
21571
+ readonly status: "passed" | "failed";
21572
+ readonly scenarioSummary: {
21573
+ readonly total: number;
21574
+ readonly passed: number;
21575
+ readonly failed: number;
21576
+ readonly scenarios: readonly CandidateVerificationScenarioResult[];
21577
+ };
21578
+ };
21579
+ ```
21580
+
21581
+ _No JSDoc summary is available yet._
21582
+
21583
+ ### CandidateVerificationScenario
21584
+
21585
+ ```ts
21586
+ type CandidateVerificationScenario = ScenarioDefinition;
21587
+ ```
21588
+
21589
+ _No JSDoc summary is available yet._
21590
+
21591
+ ### CandidateVerificationScenarioResult
21592
+
21593
+ ```ts
21594
+ type CandidateVerificationScenarioResult = {
21595
+ readonly id: string;
21596
+ readonly status: "passed" | "failed";
21597
+ readonly diagnostic?: {
21598
+ readonly kind: "assertion";
21599
+ readonly message: string;
21600
+ };
21601
+ };
21602
+ ```
21603
+
21604
+ _No JSDoc summary is available yet._
21605
+
21606
+ ### runCandidateVerification
21607
+
21608
+ ```ts
21609
+ function runCandidateVerification(
21610
+ input: CandidateVerificationInput,
21611
+ ): Promise<CandidateVerificationResult>;
21612
+ ```
21613
+
21614
+ _No JSDoc summary is available yet._
21615
+
20250
21616
  ## @dreamboard-games/sdk/browser-interaction
20251
21617
 
20252
21618
  ### actuatorIdentityKey