@dreamboard-games/sdk 0.4.0-alpha.11 → 0.4.0-alpha.13

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 (43) hide show
  1. package/REFERENCE.md +444 -9
  2. package/dist/authoring/index.js +3 -3
  3. package/dist/authoring-compiler.js +4 -4
  4. package/dist/authoring-materialize-cli.js +4 -4
  5. package/dist/{chunk-THTFQZZ3.js → chunk-42HQLHVA.js} +3 -3
  6. package/dist/{chunk-RP6QDQGI.js → chunk-7JBPOJOF.js} +46 -1
  7. package/dist/chunk-7JBPOJOF.js.map +1 -0
  8. package/dist/{chunk-SACZWUA6.js → chunk-HIH6Y4FA.js} +86 -1224
  9. package/dist/{chunk-SACZWUA6.js.map → chunk-HIH6Y4FA.js.map} +1 -1
  10. package/dist/{chunk-RU3Z5J6V.js → chunk-KZFHTUI5.js} +4 -4
  11. package/dist/{chunk-HRWI2DIJ.js → chunk-MLFHVYF7.js} +2 -2
  12. package/dist/{chunk-3OY46H7D.js → chunk-OFIDC7DJ.js} +3 -3
  13. package/dist/{chunk-CP3BF3B2.js → chunk-THWT4V3Z.js} +2 -2
  14. package/dist/{chunk-CP3BF3B2.js.map → chunk-THWT4V3Z.js.map} +1 -1
  15. package/dist/{chunk-4IIY742N.js → chunk-UTSBXZAM.js} +2 -2
  16. package/dist/chunk-VWTKGIYF.js +90 -0
  17. package/dist/chunk-VWTKGIYF.js.map +1 -0
  18. package/dist/codegen.js +1 -1
  19. package/dist/{index-CRfZ21dM.d.ts → index-CR69MyWr.d.ts} +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/package-set.d.ts +2 -2
  22. package/dist/package-set.js +2 -2
  23. package/dist/reducer/advanced.js +7 -82
  24. package/dist/reducer/advanced.js.map +1 -1
  25. package/dist/reducer-contract.js +1 -1
  26. package/dist/reference-game-compiler.js +2 -2
  27. package/dist/reference-game-source-manifest-cli.js +2 -2
  28. package/dist/runtime/workspace-contract.d.ts +342 -10
  29. package/dist/runtime/workspace-contract.js +7 -1
  30. package/dist/runtime.d.ts +1 -1
  31. package/dist/runtime.js +7 -3
  32. package/dist/runtime.js.map +1 -1
  33. package/dist/testing-runtime.js +2 -2
  34. package/dist/testing.d.ts +84 -20
  35. package/dist/testing.js +167 -23
  36. package/dist/testing.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/chunk-RP6QDQGI.js.map +0 -1
  39. /package/dist/{chunk-THTFQZZ3.js.map → chunk-42HQLHVA.js.map} +0 -0
  40. /package/dist/{chunk-RU3Z5J6V.js.map → chunk-KZFHTUI5.js.map} +0 -0
  41. /package/dist/{chunk-HRWI2DIJ.js.map → chunk-MLFHVYF7.js.map} +0 -0
  42. /package/dist/{chunk-3OY46H7D.js.map → chunk-OFIDC7DJ.js.map} +0 -0
  43. /package/dist/{chunk-4IIY742N.js.map → chunk-UTSBXZAM.js.map} +0 -0
package/REFERENCE.md CHANGED
@@ -48,7 +48,7 @@ _No JSDoc summary is available yet._
48
48
 
49
49
  ```ts
50
50
  const DREAMBOARD_SDK_PACKAGES: {
51
- readonly "@dreamboard-games/sdk": "0.4.0-alpha.11";
51
+ readonly "@dreamboard-games/sdk": "0.4.0-alpha.13";
52
52
  };
53
53
  ```
54
54
 
@@ -57,7 +57,7 @@ _No JSDoc summary is available yet._
57
57
  ### DREAMBOARD_SDK_VERSION
58
58
 
59
59
  ```ts
60
- const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.11";
60
+ const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.13";
61
61
  ```
62
62
 
63
63
  _No JSDoc summary is available yet._
@@ -96,7 +96,7 @@ _No JSDoc summary is available yet._
96
96
 
97
97
  ```ts
98
98
  const DREAMBOARD_SDK_PACKAGES: {
99
- readonly "@dreamboard-games/sdk": "0.4.0-alpha.11";
99
+ readonly "@dreamboard-games/sdk": "0.4.0-alpha.13";
100
100
  };
101
101
  ```
102
102
 
@@ -105,7 +105,7 @@ _No JSDoc summary is available yet._
105
105
  ### DREAMBOARD_SDK_VERSION
106
106
 
107
107
  ```ts
108
- const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.11";
108
+ const DREAMBOARD_SDK_VERSION: "0.4.0-alpha.13";
109
109
  ```
110
110
 
111
111
  _No JSDoc summary is available yet._
@@ -20868,6 +20868,14 @@ type ClientParamSchemaMap = Readonly<
20868
20868
 
20869
20869
  _No JSDoc summary is available yet._
20870
20870
 
20871
+ ### createGameUiContract
20872
+
20873
+ ```ts
20874
+ function createGameUiContract(...args: never[]): unknown;
20875
+ ```
20876
+
20877
+ _No JSDoc summary is available yet._
20878
+
20871
20879
  ### createWorkspaceUIContract
20872
20880
 
20873
20881
  ```ts
@@ -20971,6 +20979,224 @@ interface GameTurnState<
20971
20979
 
20972
20980
  _No JSDoc summary is available yet._
20973
20981
 
20982
+ ### GameUiBoardSurface
20983
+
20984
+ ```ts
20985
+ type GameUiBoardSurface<
20986
+ Manifest extends GameUiManifestTypes,
20987
+ _Board extends Manifest["BoardBaseId"] = Manifest["BoardBaseId"],
20988
+ > = WorkspaceBoardSurface<
20989
+ Manifest["SpaceId"],
20990
+ Manifest["EdgeId"],
20991
+ Manifest["VertexId"],
20992
+ Manifest["SpaceId"]
20993
+ > & {
20994
+ readonly __board?: _Board;
20995
+ };
20996
+ ```
20997
+
20998
+ _No JSDoc summary is available yet._
20999
+
21000
+ ### GameUiCardCollectionSurface
21001
+
21002
+ ```ts
21003
+ type GameUiCardCollectionSurface<
21004
+ Manifest extends GameUiManifestTypes,
21005
+ Zones extends readonly Manifest["ZoneId"][] = readonly Manifest["ZoneId"][],
21006
+ > = {
21007
+ readonly Collection: ZoneCardsComponent<Manifest>;
21008
+ readonly Card: ZoneCardComponent<Manifest>;
21009
+ readonly slot: {
21010
+ readonly card: GameUiInteractionSlot & {
21011
+ readonly __zones?: Zones;
21012
+ };
21013
+ };
21014
+ };
21015
+ ```
21016
+
21017
+ _No JSDoc summary is available yet._
21018
+
21019
+ ### GameUiContract
21020
+
21021
+ ```ts
21022
+ type GameUiContract<Game, Manifest extends GameUiManifestTypes> = UiRegistry<
21023
+ Game,
21024
+ Manifest
21025
+ >;
21026
+ ```
21027
+
21028
+ _No JSDoc summary is available yet._
21029
+
21030
+ ### GameUiGameRootState
21031
+
21032
+ ```ts
21033
+ type GameUiGameRootState<
21034
+ Game,
21035
+ Manifest extends GameUiManifestTypes,
21036
+ > = GameRenderState<
21037
+ GameUiView<Game>,
21038
+ Manifest["PlayerId"],
21039
+ GameUiPhaseName<Game>
21040
+ >;
21041
+ ```
21042
+
21043
+ _No JSDoc summary is available yet._
21044
+
21045
+ ### GameUiHandSurface
21046
+
21047
+ ```ts
21048
+ type GameUiHandSurface = ...;
21049
+ ```
21050
+
21051
+ _No JSDoc summary is available yet._
21052
+
21053
+ ### GameUiInteractionDescriptor
21054
+
21055
+ ```ts
21056
+ type GameUiInteractionDescriptor<
21057
+ Game,
21058
+ Key extends GameUiInteractionKey<Game>,
21059
+ > = InteractionDescriptor<Key>;
21060
+ ```
21061
+
21062
+ _No JSDoc summary is available yet._
21063
+
21064
+ ### GameUiInteractionFormSurface
21065
+
21066
+ ```ts
21067
+ type GameUiInteractionFormSurface = ...;
21068
+ ```
21069
+
21070
+ _No JSDoc summary is available yet._
21071
+
21072
+ ### GameUiInteractionKey
21073
+
21074
+ ```ts
21075
+ type GameUiInteractionKey<Game> = {
21076
+ [Phase in GameUiPhaseName<Game>]: `${Phase}.${GameUiInteractionIdForPhase<Game, Phase>}`;
21077
+ }[GameUiPhaseName<Game>];
21078
+ ```
21079
+
21080
+ _No JSDoc summary is available yet._
21081
+
21082
+ ### GameUiInteractionParamsOf
21083
+
21084
+ ```ts
21085
+ type GameUiInteractionParamsOf<
21086
+ Game,
21087
+ Key extends GameUiInteractionKey<Game>,
21088
+ > = ClientParamsOfInteractionOfDefinition<
21089
+ Game,
21090
+ PhaseOfInteractionKey<Game, Key>,
21091
+ IdOfInteractionKey<Game, Key>
21092
+ >;
21093
+ ```
21094
+
21095
+ _No JSDoc summary is available yet._
21096
+
21097
+ ### GameUiInteractionRoutes
21098
+
21099
+ ```ts
21100
+ type GameUiInteractionRoutes<Game> = Partial<{
21101
+ [Key in GameUiInteractionKey<Game>]: {
21102
+ readonly collect: {
21103
+ [Input in GameUiInteractionInputKeys<Game, Key>]: GameUiCollectorSlot<
21104
+ Game,
21105
+ Key,
21106
+ Input
21107
+ >;
21108
+ };
21109
+ };
21110
+ }>;
21111
+ ```
21112
+
21113
+ _No JSDoc summary is available yet._
21114
+
21115
+ ### GameUiManifestTypes
21116
+
21117
+ ```ts
21118
+ interface GameUiManifestTypes { ... }
21119
+ ```
21120
+
21121
+ _No JSDoc summary is available yet._
21122
+
21123
+ ### GameUiMe
21124
+
21125
+ ```ts
21126
+ type GameUiMe<Manifest extends GameUiManifestTypes> = GameMeState<
21127
+ Manifest["PlayerId"]
21128
+ >;
21129
+ ```
21130
+
21131
+ _No JSDoc summary is available yet._
21132
+
21133
+ ### GameUiPhaseName
21134
+
21135
+ ```ts
21136
+ type GameUiPhaseName<Game> = PhaseNamesOfDefinition<Game>;
21137
+ ```
21138
+
21139
+ _No JSDoc summary is available yet._
21140
+
21141
+ ### GameUiPileSurface
21142
+
21143
+ ```ts
21144
+ type GameUiPileSurface<Manifest extends GameUiManifestTypes> = {
21145
+ readonly Pile: ZoneCardsComponent<Manifest>;
21146
+ readonly Card: ZoneCardComponent<Manifest>;
21147
+ };
21148
+ ```
21149
+
21150
+ _No JSDoc summary is available yet._
21151
+
21152
+ ### GameUiPlayers
21153
+
21154
+ ```ts
21155
+ type GameUiPlayers<Manifest extends GameUiManifestTypes> = GamePlayersState<
21156
+ Manifest["PlayerId"]
21157
+ >;
21158
+ ```
21159
+
21160
+ _No JSDoc summary is available yet._
21161
+
21162
+ ### GameUiTurn
21163
+
21164
+ ```ts
21165
+ type GameUiTurn<Game, Manifest extends GameUiManifestTypes> = GameTurnState<
21166
+ Manifest["PlayerId"],
21167
+ GameUiPhaseName<Game>
21168
+ >;
21169
+ ```
21170
+
21171
+ _No JSDoc summary is available yet._
21172
+
21173
+ ### GameUiView
21174
+
21175
+ ```ts
21176
+ type GameUiView<Game> =
21177
+ Extract<"player", GameUiViewName<Game>> extends never
21178
+ ? never
21179
+ : ViewOfDefinition<Game, Extract<"player", GameUiViewName<Game>>>;
21180
+ ```
21181
+
21182
+ _No JSDoc summary is available yet._
21183
+
21184
+ ### GameUiViewName
21185
+
21186
+ ```ts
21187
+ type GameUiViewName<Game> = ViewNamesOfDefinition<Game>;
21188
+ ```
21189
+
21190
+ _No JSDoc summary is available yet._
21191
+
21192
+ ### GameWorkspaceUI
21193
+
21194
+ ```ts
21195
+ type GameWorkspaceUI = ...;
21196
+ ```
21197
+
21198
+ _No JSDoc summary is available yet._
21199
+
20974
21200
  ### ResourceCounterComponents
20975
21201
 
20976
21202
  ```ts
@@ -21853,8 +22079,8 @@ _No JSDoc summary is available yet._
21853
22079
 
21854
22080
  ```ts
21855
22081
  function compareUIParityObservations(
21856
- expected: UIParityObservationV1,
21857
- actual: UIParityObservationV1,
22082
+ expected: UIParityObservation,
22083
+ actual: UIParityObservation,
21858
22084
  ): UIParityComparisonResult;
21859
22085
  ```
21860
22086
 
@@ -21986,7 +22212,22 @@ function createUIParityObservationFromFixture({
21986
22212
  fixtureDigest,
21987
22213
  screenshotsByStepId,
21988
22214
  diagnostics,
21989
- }: CreateUIParityObservationFromFixtureOptions): UIParityObservationV1;
22215
+ }: CreateUIParityObservationFromFixtureOptions): UIParityObservation;
22216
+ ```
22217
+
22218
+ _No JSDoc summary is available yet._
22219
+
22220
+ ### CreateUIParityObservationFromFixtureOptions
22221
+
22222
+ ```ts
22223
+ interface CreateUIParityObservationFromFixtureOptions {
22224
+ readonly fixture: UIScenarioFixture;
22225
+ readonly sdkCandidateDigest: string;
22226
+ readonly environment: UIParityObservationEnvironment;
22227
+ readonly fixtureDigest?: string;
22228
+ readonly screenshotsByStepId?: Readonly<Record<string, string>>;
22229
+ readonly diagnostics?: readonly UIParityDiagnostic[];
22230
+ }
21990
22231
  ```
21991
22232
 
21992
22233
  _No JSDoc summary is available yet._
@@ -22404,10 +22645,26 @@ function isStaleContractArtifactError(
22404
22645
 
22405
22646
  _No JSDoc summary is available yet._
22406
22647
 
22407
- ### parseUIParityObservationV1
22648
+ ### parseUIParityObservation
22649
+
22650
+ ```ts
22651
+ function parseUIParityObservation(value: unknown): UIParityObservation;
22652
+ ```
22653
+
22654
+ _No JSDoc summary is available yet._
22655
+
22656
+ ### parseUIParityRealHostReceipt
22408
22657
 
22409
22658
  ```ts
22410
- function parseUIParityObservationV1(value: unknown): UIParityObservationV1;
22659
+ function parseUIParityRealHostReceipt(value: unknown): UIParityRealHostReceipt;
22660
+ ```
22661
+
22662
+ _No JSDoc summary is available yet._
22663
+
22664
+ ### parseUIParityRunInput
22665
+
22666
+ ```ts
22667
+ function parseUIParityRunInput(value: unknown): UIParityRunInput;
22411
22668
  ```
22412
22669
 
22413
22670
  _No JSDoc summary is available yet._
@@ -23192,6 +23449,184 @@ declare const uiFixtureProtocolStepSchema: ...;
23192
23449
 
23193
23450
  _No JSDoc summary is available yet._
23194
23451
 
23452
+ ### UIParityArtifactReference
23453
+
23454
+ ```ts
23455
+ interface UIParityArtifactReference {
23456
+ readonly path: string;
23457
+ readonly sha256: string;
23458
+ }
23459
+ ```
23460
+
23461
+ _No JSDoc summary is available yet._
23462
+
23463
+ ### UIParityComparisonFailure
23464
+
23465
+ ```ts
23466
+ interface UIParityComparisonFailure {
23467
+ readonly code: UIParityFailureCode;
23468
+ readonly message: string;
23469
+ readonly path: string;
23470
+ readonly expected: unknown;
23471
+ readonly actual: unknown;
23472
+ readonly checkpointIndex?: number;
23473
+ readonly stepId?: string;
23474
+ }
23475
+ ```
23476
+
23477
+ _No JSDoc summary is available yet._
23478
+
23479
+ ### UIParityComparisonResult
23480
+
23481
+ ```ts
23482
+ type UIParityComparisonResult =
23483
+ | {
23484
+ readonly ok: true;
23485
+ }
23486
+ | {
23487
+ readonly ok: false;
23488
+ readonly failure: UIParityComparisonFailure;
23489
+ };
23490
+ ```
23491
+
23492
+ _No JSDoc summary is available yet._
23493
+
23494
+ ### UIParityDiagnostic
23495
+
23496
+ ```ts
23497
+ interface UIParityDiagnostic {
23498
+ readonly code: string;
23499
+ readonly message: string;
23500
+ }
23501
+ ```
23502
+
23503
+ _No JSDoc summary is available yet._
23504
+
23505
+ ### UIParityFailureCode
23506
+
23507
+ ```ts
23508
+ type UIParityFailureCode =
23509
+ | "candidate-mismatch"
23510
+ | "fixture-source-mismatch"
23511
+ | "protocol-mismatch"
23512
+ | "interaction-resolution-mismatch"
23513
+ | "preparation-mismatch"
23514
+ | "draft-mismatch"
23515
+ | "submission-mismatch"
23516
+ | "projection-mismatch"
23517
+ | "semantic-snapshot-mismatch"
23518
+ | "visual-mismatch"
23519
+ | "host-setup-failure";
23520
+ ```
23521
+
23522
+ _No JSDoc summary is available yet._
23523
+
23524
+ ### UIParityObservation
23525
+
23526
+ ```ts
23527
+ interface UIParityObservation { ... }
23528
+ ```
23529
+
23530
+ _No JSDoc summary is available yet._
23531
+
23532
+ ### UIParityObservationCheckpoint
23533
+
23534
+ ```ts
23535
+ interface UIParityObservationCheckpoint { ... }
23536
+ ```
23537
+
23538
+ _No JSDoc summary is available yet._
23539
+
23540
+ ### UIParityObservationEnvironment
23541
+
23542
+ ```ts
23543
+ interface UIParityObservationEnvironment {
23544
+ readonly project: string;
23545
+ readonly viewport: UIParityViewport;
23546
+ }
23547
+ ```
23548
+
23549
+ _No JSDoc summary is available yet._
23550
+
23551
+ ### UIParityObservationProvenance
23552
+
23553
+ ```ts
23554
+ interface UIParityObservationProvenance {
23555
+ readonly kind:
23556
+ | "fixture-expectation"
23557
+ | "source-workbench"
23558
+ | "packed-real-host";
23559
+ readonly evidence?: string;
23560
+ }
23561
+ ```
23562
+
23563
+ _No JSDoc summary is available yet._
23564
+
23565
+ ### UIParityRealHostReceipt
23566
+
23567
+ ```ts
23568
+ interface UIParityRealHostReceipt { ... }
23569
+ ```
23570
+
23571
+ _No JSDoc summary is available yet._
23572
+
23573
+ ### UIParityReceiptComparison
23574
+
23575
+ ```ts
23576
+ interface UIParityReceiptComparison {
23577
+ readonly scenarioId: string;
23578
+ readonly actual: string;
23579
+ readonly comparison: string;
23580
+ readonly evidence?: string;
23581
+ }
23582
+ ```
23583
+
23584
+ _No JSDoc summary is available yet._
23585
+
23586
+ ### UIParityRunInput
23587
+
23588
+ ```ts
23589
+ interface UIParityRunInput {
23590
+ readonly schemaVersion: 2;
23591
+ readonly sdk: {
23592
+ readonly tarball: UIParityArtifactReference;
23593
+ };
23594
+ readonly referenceBundle: UIParityArtifactReference;
23595
+ readonly fixtureBundle: {
23596
+ readonly index: UIParityArtifactReference;
23597
+ readonly scenarios: readonly UIParityRunScenario[];
23598
+ };
23599
+ readonly project: string;
23600
+ }
23601
+ ```
23602
+
23603
+ _No JSDoc summary is available yet._
23604
+
23605
+ ### UIParityRunScenario
23606
+
23607
+ ```ts
23608
+ interface UIParityRunScenario {
23609
+ readonly id: string;
23610
+ readonly fixture: UIParityArtifactReference;
23611
+ readonly renderModule: UIParityArtifactReference;
23612
+ readonly expectation: UIParityArtifactReference;
23613
+ readonly source: UIParityArtifactReference;
23614
+ }
23615
+ ```
23616
+
23617
+ _No JSDoc summary is available yet._
23618
+
23619
+ ### UIParityViewport
23620
+
23621
+ ```ts
23622
+ interface UIParityViewport {
23623
+ readonly width: number;
23624
+ readonly height: number;
23625
+ }
23626
+ ```
23627
+
23628
+ _No JSDoc summary is available yet._
23629
+
23195
23630
  ### UIReplayExecution
23196
23631
 
23197
23632
  ```ts
@@ -7,9 +7,9 @@ import {
7
7
  materializeManifest,
8
8
  projectAuthoringAdapter,
9
9
  validateManifest
10
- } from "../chunk-3OY46H7D.js";
11
- import "../chunk-CP3BF3B2.js";
12
- import "../chunk-SACZWUA6.js";
10
+ } from "../chunk-OFIDC7DJ.js";
11
+ import "../chunk-THWT4V3Z.js";
12
+ import "../chunk-HIH6Y4FA.js";
13
13
  import "../chunk-PZ5AY32C.js";
14
14
  export {
15
15
  GENERATED_WORKSPACE_PATHS,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  materializeWorkspace
3
- } from "./chunk-THTFQZZ3.js";
4
- import "./chunk-3OY46H7D.js";
3
+ } from "./chunk-42HQLHVA.js";
4
+ import "./chunk-OFIDC7DJ.js";
5
5
  import "./chunk-UNVCT5Z7.js";
6
- import "./chunk-CP3BF3B2.js";
7
- import "./chunk-SACZWUA6.js";
6
+ import "./chunk-THWT4V3Z.js";
7
+ import "./chunk-HIH6Y4FA.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  materializeWorkspace
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  materializeWorkspace
4
- } from "./chunk-THTFQZZ3.js";
5
- import "./chunk-3OY46H7D.js";
4
+ } from "./chunk-42HQLHVA.js";
5
+ import "./chunk-OFIDC7DJ.js";
6
6
  import "./chunk-UNVCT5Z7.js";
7
- import "./chunk-CP3BF3B2.js";
8
- import "./chunk-SACZWUA6.js";
7
+ import "./chunk-THWT4V3Z.js";
8
+ import "./chunk-HIH6Y4FA.js";
9
9
  import "./chunk-PZ5AY32C.js";
10
10
 
11
11
  // src/authoring-materialize-cli.ts
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  generateWorkspaceArtifacts
3
- } from "./chunk-3OY46H7D.js";
3
+ } from "./chunk-OFIDC7DJ.js";
4
4
  import {
5
5
  compareReferenceGameCanonicalStrings
6
6
  } from "./chunk-UNVCT5Z7.js";
7
7
  import {
8
8
  WORKSPACE_CODEGEN_OWNERSHIP
9
- } from "./chunk-SACZWUA6.js";
9
+ } from "./chunk-HIH6Y4FA.js";
10
10
 
11
11
  // src/authoring/materialize-workspace.ts
12
12
  import { createHash, randomUUID } from "crypto";
@@ -166,4 +166,4 @@ async function isFile(filePath) {
166
166
  export {
167
167
  materializeWorkspace
168
168
  };
169
- //# sourceMappingURL=chunk-THTFQZZ3.js.map
169
+ //# sourceMappingURL=chunk-42HQLHVA.js.map
@@ -34,6 +34,9 @@ import {
34
34
  import {
35
35
  useAuthoredPluginGameplayFrameSelector
36
36
  } from "./chunk-B33RRZ4O.js";
37
+ import {
38
+ createClientParamSchemasByPhase
39
+ } from "./chunk-5XTAQ4EQ.js";
37
40
 
38
41
  // src/runtime/workspace-contract/index.ts
39
42
  import { Fragment, createElement as createElement6 } from "react";
@@ -769,6 +772,47 @@ function createZoneNamespace(ctx) {
769
772
  };
770
773
  }
771
774
 
775
+ // src/runtime/workspace-contract/game-ui-contract.ts
776
+ function createGameUiContract(options) {
777
+ const uiContract = {
778
+ interactions: {},
779
+ inputs: {},
780
+ prompts: {},
781
+ promptOptions: {},
782
+ players: {},
783
+ zones: {},
784
+ cards: {},
785
+ phases: {},
786
+ boardTargets: {}
787
+ };
788
+ const clientParamSchemasByPhase = createClientParamSchemasByPhase(
789
+ options.game
790
+ );
791
+ const formInputKeysForInteraction = (interaction) => {
792
+ const [phase, id] = interaction.split(".", 2);
793
+ const phaseSpec = phase ? options.game.phases?.[phase] : void 0;
794
+ const phaseRecord = phaseSpec;
795
+ const spec = (id ? phaseRecord?.interactions?.[id] : void 0) ?? (id ? phaseRecord?.cardActions?.[id] : void 0) ?? (id === "submit" ? phaseRecord?.submit : void 0);
796
+ return new Set(
797
+ Object.entries(spec?.inputs ?? {}).filter(
798
+ ([, collector]) => collector.kind === "form" || collector.kind === "prompt"
799
+ ).map(([input]) => input)
800
+ );
801
+ };
802
+ const UI2 = createWorkspaceUIContract({
803
+ uiContract,
804
+ clientParamSchemasByPhase,
805
+ formInputKeysForInteraction,
806
+ resourceIds: options.resourceIds,
807
+ resourcePresentationById: options.resourcePresentationById,
808
+ hexStaticBoards: options.hexStaticBoards,
809
+ squareStaticBoards: options.squareStaticBoards,
810
+ cardIdFromZoneCard: (card) => card.id,
811
+ zoneIdFromZoneCard: (card) => card.zone
812
+ });
813
+ return { uiContract, UI: UI2, clientParamSchemasByPhase };
814
+ }
815
+
772
816
  // src/runtime/workspace-contract/index.ts
773
817
  function createWorkspaceUIContract(options) {
774
818
  const baseUI = createDreamboardUI(options.uiContract);
@@ -872,6 +916,7 @@ function createWorkspaceUIContract(options) {
872
916
  }
873
917
 
874
918
  export {
919
+ createGameUiContract,
875
920
  createWorkspaceUIContract
876
921
  };
877
- //# sourceMappingURL=chunk-RP6QDQGI.js.map
922
+ //# sourceMappingURL=chunk-7JBPOJOF.js.map