@dreamboard-games/sdk 0.5.0-alpha.0 → 0.5.0-alpha.2

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 (113) hide show
  1. package/README.md +127 -0
  2. package/dist/browser-interaction.d.ts +22 -22
  3. package/dist/{chunk-VRRR6QZT.js → chunk-32PFKDV7.js} +170 -406
  4. package/dist/chunk-32PFKDV7.js.map +1 -0
  5. package/dist/{chunk-N33CGX2F.js → chunk-3BAD4VC2.js} +3 -3
  6. package/dist/{chunk-LMHCGCA6.js → chunk-3SKDNDPG.js} +2 -2
  7. package/dist/chunk-5YV2WHJ4.js +25 -0
  8. package/dist/chunk-5YV2WHJ4.js.map +1 -0
  9. package/dist/{chunk-VWTKGIYF.js → chunk-ANRB4XKA.js} +1 -1
  10. package/dist/chunk-ANRB4XKA.js.map +1 -0
  11. package/dist/{chunk-EOEA3I64.js → chunk-BI4G3PM2.js} +7 -7
  12. package/dist/chunk-BI4G3PM2.js.map +1 -0
  13. package/dist/{chunk-KRJPRYEA.js → chunk-EVCLTY4Q.js} +21 -8
  14. package/dist/chunk-EVCLTY4Q.js.map +1 -0
  15. package/dist/{chunk-DQS2EG5E.js → chunk-GDPKTBUR.js} +2 -2
  16. package/dist/{chunk-FL67RDID.js → chunk-H6VDGFL5.js} +128 -128
  17. package/dist/chunk-H6VDGFL5.js.map +1 -0
  18. package/dist/{chunk-6LMESVGT.js → chunk-LR3ZTWQF.js} +3 -3
  19. package/dist/chunk-LR3ZTWQF.js.map +1 -0
  20. package/dist/{chunk-TXELBVTG.js → chunk-PN5O6GG2.js} +2 -2
  21. package/dist/{chunk-533O7C4L.js → chunk-S2JEDVWH.js} +500 -430
  22. package/dist/chunk-S2JEDVWH.js.map +1 -0
  23. package/dist/{chunk-2GQIALJL.js → chunk-UGH54WZ2.js} +6 -2
  24. package/dist/chunk-UGH54WZ2.js.map +1 -0
  25. package/dist/chunk-VCDWP5VL.js +746 -0
  26. package/dist/chunk-VCDWP5VL.js.map +1 -0
  27. package/dist/{chunk-ZSTCUJKZ.js → chunk-Y75CFE77.js} +2 -6
  28. package/dist/chunk-Y75CFE77.js.map +1 -0
  29. package/dist/chunk-Z7QCREWI.js +3435 -0
  30. package/dist/chunk-Z7QCREWI.js.map +1 -0
  31. package/dist/chunk-ZZGN2ATS.js +1941 -0
  32. package/dist/chunk-ZZGN2ATS.js.map +1 -0
  33. package/dist/{components-CNAt5J1p.d.ts → components-gAbIz7hK.d.ts} +2 -18
  34. package/dist/{definitions-bZSBaPjj.d.ts → definitions-BgmV_GhC.d.ts} +3 -3
  35. package/dist/digest.d.ts +2 -2
  36. package/dist/game-CsZScpcn.d.ts +763 -0
  37. package/dist/{index-CR69MyWr.d.ts → index-CcT9Q7N7.d.ts} +1 -1
  38. package/dist/{index.d-Bw8AOcgp.d.ts → index.d-DjzoK7zn.d.ts} +67 -2
  39. package/dist/index.js +1 -2
  40. package/dist/package-set.js +1 -2
  41. package/dist/plugin-runtime-contract.d.ts +4 -4
  42. package/dist/plugin-runtime-contract.js +13 -15
  43. package/dist/{protocol-CVaSqPgX.d.ts → protocol-dYgafTYY.d.ts} +1 -7
  44. package/dist/reducer/advanced.d.ts +12 -11
  45. package/dist/reducer/advanced.js +10 -4
  46. package/dist/reducer-contract.d.ts +10 -2
  47. package/dist/reducer-contract.js +4 -4
  48. package/dist/reducer.d.ts +12 -689
  49. package/dist/reducer.js +19 -1293
  50. package/dist/reducer.js.map +1 -1
  51. package/dist/runtime/primitives.d.ts +4 -4
  52. package/dist/runtime/primitives.js +5 -5
  53. package/dist/runtime/runtime-api.d.ts +2 -2
  54. package/dist/runtime/workspace-contract.d.ts +50 -17
  55. package/dist/runtime/workspace-contract.js +15 -10
  56. package/dist/{runtime-C7Z2acNU.d.ts → runtime-RJ5orDJU.d.ts} +23 -30
  57. package/dist/{plugin-state-BRH3UiUp.d.ts → runtime-api-Bz5pwNU_.d.ts} +86 -4
  58. package/dist/runtime.d.ts +8 -8
  59. package/dist/runtime.js +19 -17
  60. package/dist/runtime.js.map +1 -1
  61. package/dist/schema.d.ts +2 -28
  62. package/dist/testing-compiler.d.ts +4 -4
  63. package/dist/testing-runtime.d.ts +7 -7
  64. package/dist/testing-runtime.js +6 -6
  65. package/dist/testing.d.ts +17 -17
  66. package/dist/testing.js +14 -14
  67. package/dist/{types-q1Guidm5.d.ts → types-DR7DoB1x.d.ts} +1 -1
  68. package/dist/{types-DN4O7kH_.d.ts → types-JWCYHmu7.d.ts} +2 -2
  69. package/dist/types.js +6 -18
  70. package/dist/types.js.map +1 -1
  71. package/dist/ui/components.d.ts +3 -4
  72. package/dist/ui/components.js +1 -5
  73. package/dist/{ui-contract-BC4JpysE.d.ts → ui-contract-GTUPkf8z.d.ts} +175 -176
  74. package/dist/ui.d.ts +4 -5
  75. package/dist/ui.js +2 -6
  76. package/dist/{views-D2Cfzr3h.d.ts → views-BpuWcOyN.d.ts} +101 -48
  77. package/package.json +3 -22
  78. package/dist/authoring/index.d.ts +0 -59
  79. package/dist/authoring/index.js +0 -24
  80. package/dist/authoring/index.js.map +0 -1
  81. package/dist/authoring-compiler.d.ts +0 -27
  82. package/dist/authoring-compiler.js +0 -11
  83. package/dist/authoring-compiler.js.map +0 -1
  84. package/dist/authoring-materialize-cli.d.ts +0 -1
  85. package/dist/authoring-materialize-cli.js +0 -45
  86. package/dist/authoring-materialize-cli.js.map +0 -1
  87. package/dist/chunk-2GQIALJL.js.map +0 -1
  88. package/dist/chunk-533O7C4L.js.map +0 -1
  89. package/dist/chunk-6LMESVGT.js.map +0 -1
  90. package/dist/chunk-EOEA3I64.js.map +0 -1
  91. package/dist/chunk-FL67RDID.js.map +0 -1
  92. package/dist/chunk-HIH6Y4FA.js +0 -7802
  93. package/dist/chunk-HIH6Y4FA.js.map +0 -1
  94. package/dist/chunk-HUK4234C.js +0 -166
  95. package/dist/chunk-HUK4234C.js.map +0 -1
  96. package/dist/chunk-KGV2EUNN.js +0 -532
  97. package/dist/chunk-KGV2EUNN.js.map +0 -1
  98. package/dist/chunk-KRJPRYEA.js.map +0 -1
  99. package/dist/chunk-KWHOFBDM.js +0 -9
  100. package/dist/chunk-KWHOFBDM.js.map +0 -1
  101. package/dist/chunk-VRRR6QZT.js.map +0 -1
  102. package/dist/chunk-VWTKGIYF.js.map +0 -1
  103. package/dist/chunk-XFMSLL3P.js +0 -637
  104. package/dist/chunk-XFMSLL3P.js.map +0 -1
  105. package/dist/chunk-ZSTCUJKZ.js.map +0 -1
  106. package/dist/codegen.d.ts +0 -941
  107. package/dist/codegen.js +0 -44
  108. package/dist/codegen.js.map +0 -1
  109. package/dist/runtime-api-CgPuEVeF.d.ts +0 -86
  110. /package/dist/{chunk-N33CGX2F.js.map → chunk-3BAD4VC2.js.map} +0 -0
  111. /package/dist/{chunk-LMHCGCA6.js.map → chunk-3SKDNDPG.js.map} +0 -0
  112. /package/dist/{chunk-DQS2EG5E.js.map → chunk-GDPKTBUR.js.map} +0 -0
  113. /package/dist/{chunk-TXELBVTG.js.map → chunk-PN5O6GG2.js.map} +0 -0
package/dist/testing.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import { G as SnapshotMatcherHandler, E as ExpectFn, o as ScenarioDefinitionGameLike, x as ScenarioReplayDefinition, h as ScenarioCheckpoint, k as ScenarioCommand } from './definitions-bZSBaPjj.js';
2
- export { A as AssertScenarioOptions, a as ExpectMatchers, I as InteractionAvailabilityLike, b as InteractionDescriptorLike, c as InteractionExplanationLike, R as RejectionExpectation, d as ReplayScenarioOptions, e as RuntimeParamsOfScenarioCommand, S as ScenarioActor, f as ScenarioAssertionContext, g as ScenarioAuthoring, i as ScenarioCheckpointId, j as ScenarioCheckpointSelector, l as ScenarioCommandOf, m as ScenarioCommandTraceEntry, n as ScenarioDefinition, p as ScenarioDefinitionValidationCode, q as ScenarioDefinitionValidationError, r as ScenarioDiagnostics, s as ScenarioFlowDiagnostics, t as ScenarioProbeAccepted, u as ScenarioProbeRejected, v as ScenarioProbeResult, w as ScenarioReplay, y as ScenarioReplayError, z as ScenarioReplayErrorOptions, B as ScenarioReplaySegment, C as ScenarioSchemaOutput, D as ScenarioSeatRef, F as ScenarioSetup, H as createScenarioAuthoring, J as resolveScenarioCheckpoint, K as toScenarioReplayDefinition } from './definitions-bZSBaPjj.js';
1
+ import { G as SnapshotMatcherHandler, E as ExpectFn, o as ScenarioDefinitionGameLike, x as ScenarioReplayDefinition, h as ScenarioCheckpoint, k as ScenarioCommand } from './definitions-BgmV_GhC.js';
2
+ export { A as AssertScenarioOptions, a as ExpectMatchers, I as InteractionAvailabilityLike, b as InteractionDescriptorLike, c as InteractionExplanationLike, R as RejectionExpectation, d as ReplayScenarioOptions, e as RuntimeParamsOfScenarioCommand, S as ScenarioActor, f as ScenarioAssertionContext, g as ScenarioAuthoring, i as ScenarioCheckpointId, j as ScenarioCheckpointSelector, l as ScenarioCommandOf, m as ScenarioCommandTraceEntry, n as ScenarioDefinition, p as ScenarioDefinitionValidationCode, q as ScenarioDefinitionValidationError, r as ScenarioDiagnostics, s as ScenarioFlowDiagnostics, t as ScenarioProbeAccepted, u as ScenarioProbeRejected, v as ScenarioProbeResult, w as ScenarioReplay, y as ScenarioReplayError, z as ScenarioReplayErrorOptions, B as ScenarioReplaySegment, C as ScenarioSchemaOutput, D as ScenarioSeatRef, F as ScenarioSetup, H as createScenarioAuthoring, J as resolveScenarioCheckpoint, K as toScenarioReplayDefinition } from './definitions-BgmV_GhC.js';
3
3
  import { R as ReducerDiagnosticEvent } from './diagnostics-DIi3ina7.js';
4
- import { g as ScenarioIdentity, f as PerspectiveSelector, e as InspectScenarioResult, P as PerspectiveRef, d as InspectNode, i as Sha256Digest, F as FlowDiagnostic, A as ActorRef, a as InspectEntropy, S as ScenarioDispatchTraceEntry } from './types-DN4O7kH_.js';
5
- export { I as InspectAction, b as InspectInteraction, c as InspectInteractionInput, j as assertScenario, p as probeScenarioCommand, r as replayScenario } from './types-DN4O7kH_.js';
6
- import { w as wire, a as ReducerBundleContract } from './index.d-Bw8AOcgp.js';
4
+ import { g as ScenarioIdentity, f as PerspectiveSelector, e as InspectScenarioResult, P as PerspectiveRef, d as InspectNode, i as Sha256Digest, F as FlowDiagnostic, A as ActorRef, a as InspectEntropy, S as ScenarioDispatchTraceEntry } from './types-JWCYHmu7.js';
5
+ export { I as InspectAction, b as InspectInteraction, c as InspectInteractionInput, j as assertScenario, p as probeScenarioCommand, r as replayScenario } from './types-JWCYHmu7.js';
6
+ import { w as wire, a as ReducerBundleContract } from './index.d-DjzoK7zn.js';
7
7
  import { R as RuntimeJson } from './runtime-json-CQ9QbLZ5.js';
8
- import { B, y, z as z$1, v, E } from './protocol-CVaSqPgX.js';
8
+ import { B, y, z as z$1, v, E } from './protocol-dYgafTYY.js';
9
9
  import { z } from 'zod';
10
10
  import { r as BrowserInteractionIntentRequest, l as BrowserInteractionEffectRequest } from './types-DJj5MJkl.js';
11
- import { b as PluginTransport, P as PluginRuntimeClient } from './types-q1Guidm5.js';
11
+ import { b as PluginTransport, P as PluginRuntimeClient } from './types-DR7DoB1x.js';
12
12
  import * as react_jsx_runtime from 'react/jsx-runtime';
13
13
  import react__default from 'react';
14
14
  export { S as StaleContractArtifactError, a as StaleContractArtifactErrorOptions, b as StaleContractArtifactKind, i as isStaleContractArtifactError } from './stale-contract-artifact-error-XLaweZtF.js';
15
- import './views-D2Cfzr3h.js';
16
- import './runtime-C7Z2acNU.js';
15
+ import './views-BpuWcOyN.js';
16
+ import './runtime-RJ5orDJU.js';
17
17
  import './types.js';
18
18
 
19
19
  type CreateExpectApiOptions = {
@@ -232,9 +232,9 @@ declare const uiReplayRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
232
232
  candidateValueKey: z.ZodOptional<z.ZodString>;
233
233
  actuatorKind: z.ZodOptional<z.ZodEnum<{
234
234
  fill: "fill";
235
- click: "click";
236
- keyboard: "keyboard";
237
235
  pointer: "pointer";
236
+ keyboard: "keyboard";
237
+ click: "click";
238
238
  }>>;
239
239
  allowDisabled: z.ZodOptional<z.ZodBoolean>;
240
240
  }, z.core.$strict>, z.ZodObject<{
@@ -298,9 +298,9 @@ declare const portableSemanticReplayStepSchema: z.ZodObject<{
298
298
  candidateValueKey: z.ZodOptional<z.ZodString>;
299
299
  actuatorKind: z.ZodOptional<z.ZodEnum<{
300
300
  fill: "fill";
301
- click: "click";
302
- keyboard: "keyboard";
303
301
  pointer: "pointer";
302
+ keyboard: "keyboard";
303
+ click: "click";
304
304
  }>>;
305
305
  allowDisabled: z.ZodOptional<z.ZodBoolean>;
306
306
  }, z.core.$strict>, z.ZodObject<{
@@ -365,9 +365,9 @@ declare const uiScenarioReplayStepSchema: z.ZodUnion<readonly [z.ZodObject<{
365
365
  candidateValueKey: z.ZodOptional<z.ZodString>;
366
366
  actuatorKind: z.ZodOptional<z.ZodEnum<{
367
367
  fill: "fill";
368
- click: "click";
369
- keyboard: "keyboard";
370
368
  pointer: "pointer";
369
+ keyboard: "keyboard";
370
+ click: "click";
371
371
  }>>;
372
372
  allowDisabled: z.ZodOptional<z.ZodBoolean>;
373
373
  }, z.core.$strict>, z.ZodObject<{
@@ -478,9 +478,9 @@ declare const uiScenarioFixtureSchema: z.ZodObject<{
478
478
  candidateValueKey: z.ZodOptional<z.ZodString>;
479
479
  actuatorKind: z.ZodOptional<z.ZodEnum<{
480
480
  fill: "fill";
481
- click: "click";
482
- keyboard: "keyboard";
483
481
  pointer: "pointer";
482
+ keyboard: "keyboard";
483
+ click: "click";
484
484
  }>>;
485
485
  allowDisabled: z.ZodOptional<z.ZodBoolean>;
486
486
  }, z.core.$strict>, z.ZodObject<{
package/dist/testing.js CHANGED
@@ -1,8 +1,3 @@
1
- import {
2
- PluginRuntimeBoundary,
3
- createPluginRuntimeClient
4
- } from "./chunk-N33CGX2F.js";
5
- import "./chunk-DQS2EG5E.js";
6
1
  import {
7
2
  ScenarioAssertionError,
8
3
  ScenarioDefinitionValidationError,
@@ -20,21 +15,22 @@ import {
20
15
  replayScenario,
21
16
  resolveScenarioCheckpoint,
22
17
  toScenarioReplayDefinition
23
- } from "./chunk-EOEA3I64.js";
18
+ } from "./chunk-BI4G3PM2.js";
24
19
  import {
25
20
  StaleContractArtifactError,
26
21
  isStaleContractArtifactError
27
- } from "./chunk-533O7C4L.js";
28
- import "./chunk-TXELBVTG.js";
29
- import "./chunk-FL67RDID.js";
22
+ } from "./chunk-S2JEDVWH.js";
23
+ import {
24
+ PluginRuntimeBoundary,
25
+ createPluginRuntimeClient
26
+ } from "./chunk-3BAD4VC2.js";
27
+ import "./chunk-PN5O6GG2.js";
28
+ import "./chunk-GDPKTBUR.js";
30
29
  import {
31
30
  BROWSER_INTERACTION_ACTUATOR_KINDS,
32
31
  DREAMBOARD_BROWSER_INTERACTION_PROTOCOL_VERSION,
33
32
  browserInteractionEffectSchema
34
33
  } from "./chunk-WHR5UW3F.js";
35
- import {
36
- RuntimeJsonSchema
37
- } from "./chunk-PF7L4BMG.js";
38
34
  import {
39
35
  DREAMBOARD_PLUGIN_PROTOCOL,
40
36
  DREAMBOARD_PLUGIN_PROTOCOL_VERSION,
@@ -44,8 +40,12 @@ import {
44
40
  computePluginActionSetVersion,
45
41
  digestPluginRuntimeJson,
46
42
  materializePluginGameplayFrame
47
- } from "./chunk-XFMSLL3P.js";
48
- import "./chunk-2GQIALJL.js";
43
+ } from "./chunk-VCDWP5VL.js";
44
+ import "./chunk-H6VDGFL5.js";
45
+ import {
46
+ RuntimeJsonSchema
47
+ } from "./chunk-PF7L4BMG.js";
48
+ import "./chunk-UGH54WZ2.js";
49
49
  import "./chunk-PZ5AY32C.js";
50
50
 
51
51
  // src/testing/inspection/flow-diagnostic.ts
@@ -1,4 +1,4 @@
1
- import { E, v, H, J } from './protocol-CVaSqPgX.js';
1
+ import { E, v, H, J } from './protocol-dYgafTYY.js';
2
2
 
3
3
  interface RuntimeClock {
4
4
  now(): number;
@@ -1,5 +1,5 @@
1
- import { w as wire } from './index.d-Bw8AOcgp.js';
2
- import { h as ScenarioCheckpoint, o as ScenarioDefinitionGameLike, d as ReplayScenarioOptions, A as AssertScenarioOptions, w as ScenarioReplay, l as ScenarioCommandOf, v as ScenarioProbeResult, F as ScenarioSetup, c as InteractionExplanationLike } from './definitions-bZSBaPjj.js';
1
+ import { w as wire } from './index.d-DjzoK7zn.js';
2
+ import { h as ScenarioCheckpoint, o as ScenarioDefinitionGameLike, d as ReplayScenarioOptions, A as AssertScenarioOptions, w as ScenarioReplay, l as ScenarioCommandOf, v as ScenarioProbeResult, F as ScenarioSetup, c as InteractionExplanationLike } from './definitions-BgmV_GhC.js';
3
3
 
4
4
  declare function replayScenario<const Game extends ScenarioDefinitionGameLike>(options: ReplayScenarioOptions<Game>): Promise<ScenarioReplay<Game>>;
5
5
  type ScenarioRuntimeCheckpointMaterialization = {
package/dist/types.js CHANGED
@@ -1,22 +1,10 @@
1
+ import {
2
+ buildTypedRecord,
3
+ defineTopologyManifest,
4
+ expectTypedId,
5
+ isTypedId
6
+ } from "./chunk-5YV2WHJ4.js";
1
7
  import "./chunk-PZ5AY32C.js";
2
-
3
- // ../sdk-types/dist/index.js
4
- function defineTopologyManifest(manifest) {
5
- return manifest;
6
- }
7
- function buildTypedRecord(ids, initial) {
8
- const createValue = typeof initial === "function" ? initial : () => initial;
9
- return Object.fromEntries(ids.map((id) => [id, createValue(id)]));
10
- }
11
- function isTypedId(ids, value) {
12
- return ids.includes(value);
13
- }
14
- function expectTypedId(ids, value, description) {
15
- if (isTypedId(ids, value)) {
16
- return value;
17
- }
18
- throw new Error(`Unknown ${description} '${value}'.`);
19
- }
20
8
  export {
21
9
  buildTypedRecord,
22
10
  defineTopologyManifest,
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../sdk-types/dist/index.js"],"sourcesContent":["// src/authoring.ts\nfunction defineTopologyManifest(manifest) {\n return manifest;\n}\n\n// src/generated-helpers.ts\nfunction buildTypedRecord(ids, initial) {\n const createValue = typeof initial === \"function\" ? initial : () => initial;\n return Object.fromEntries(ids.map((id) => [id, createValue(id)]));\n}\nfunction isTypedId(ids, value) {\n return ids.includes(value);\n}\nfunction expectTypedId(ids, value, description) {\n if (isTypedId(ids, value)) {\n return value;\n }\n throw new Error(`Unknown ${description} '${value}'.`);\n}\nexport {\n buildTypedRecord,\n defineTopologyManifest,\n expectTypedId,\n isTypedId\n};\n"],"mappings":";;;AACA,SAAS,uBAAuB,UAAU;AACxC,SAAO;AACT;AAGA,SAAS,iBAAiB,KAAK,SAAS;AACtC,QAAM,cAAc,OAAO,YAAY,aAAa,UAAU,MAAM;AACpE,SAAO,OAAO,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;AAClE;AACA,SAAS,UAAU,KAAK,OAAO;AAC7B,SAAO,IAAI,SAAS,KAAK;AAC3B;AACA,SAAS,cAAc,KAAK,OAAO,aAAa;AAC9C,MAAI,UAAU,KAAK,KAAK,GAAG;AACzB,WAAO;AAAA,EACT;AACA,QAAM,IAAI,MAAM,WAAW,WAAW,KAAK,KAAK,IAAI;AACtD;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,10 +1,9 @@
1
- export { A as ActionButton, a as ActionButtonProps, b as ActionGroup, c as ActionGroupProps, d as ActionHelp, e as ActionHelpProps, f as ActionPanel, g as ActionPanelProps, C as CardDragSurface, i as CardDragSurfaceContextValue, j as CardDragSurfaceController, k as CardDragSurfaceProps, l as CardDropTargetView, m as CardDropTargetViewProps, n as CardFace, o as CardFaceProps, r as ChromeSuppressionProvider, s as CostDisplay, t as CostDisplayProps, D as DefaultEmptySlot, u as DefaultEmptySlotProps, v as DefaultNetworkEdge, w as DefaultNetworkEdgeProps, x as DefaultNetworkNode, y as DefaultNetworkNodeProps, z as DefaultNetworkPiece, E as DefaultNetworkPieceProps, F as DefaultSlotItem, G as DefaultSlotItemProps, H as DefaultSlotOccupant, I as DefaultSlotOccupantProps, J as DefaultTrackConnection, K as DefaultTrackConnectionProps, L as DefaultTrackJump, M as DefaultTrackJumpProps, N as DefaultTrackPiece, O as DefaultTrackPieceProps, P as DefaultTrackSpace, Q as DefaultTrackSpaceProps, R as DefaultZone, S as DefaultZonePiece, T as DefaultZonePieceProps, U as DefaultZonePieces, V as DefaultZonePiecesProps, W as DefaultZoneProps, X as Dialog, Y as DialogClose, Z as DialogContent, _ as DialogDescription, $ as DialogFooter, a0 as DialogHeader, a1 as DialogOverlay, a2 as DialogPortal, a3 as DialogTitle, a4 as DialogTrigger, a5 as DiceRoller, a6 as DiceRollerProps, a7 as DragPhase, a8 as Drawer, a9 as DrawerClose, aa as DrawerContent, ab as DrawerDescription, ac as DrawerFooter, ad as DrawerHeader, ae as DrawerOverlay, af as DrawerPortal, ag as DrawerTitle, ah as DrawerTrigger, ai as ErrorBoundary, aj as ErrorBoundaryProps, ak as GameEventLog, al as GameEventLogProps, am as GameSkeleton, an as GameSkeletonProps, ao as GuidanceAction, ap as GuidancePanel, aq as GuidancePanelProps, ar as GuidancePhase, as as GuidanceSetupStep, at as Hand, au as HandDock, av as HandDockMode, aw as HandDockPlacement, ax as HandDockPresentation, ay as HandDockProps, az as HandDockToggleContext, aB as HandProps, aC as Input, aD as Label, aE as MoreActions, aF as MoreActionsProps, aG as NetworkEdge, aH as NetworkGraph, aI as NetworkGraphProps, aJ as NetworkNode, aK as NetworkPiece, aL as OutcomeDialog, aM as OutcomeDialogProps, aN as Panel, aO as PanelActions, aP as PanelBody, aQ as PanelDescription, aR as PanelDescriptionProps, aS as PanelHeader, aT as PanelPartProps, aU as PanelRoot, aV as PanelRootProps, aW as PanelTitle, aX as PanelTitleProps, aY as PanelTone, aZ as PhaseIndicator, a_ as PhaseIndicatorProps, a$ as PlayArea, b0 as PlayAreaProps, b1 as PrimaryActionAttention, b2 as PrimaryActionButton, b3 as PrimaryActionButtonProps, b4 as PrimaryButton, b5 as PrimaryButtonProps, b6 as ResourceDefinition, b7 as Select, b8 as SelectContent, b9 as SelectItem, ba as SelectTrigger, bb as SetupChecklist, bc as SetupChecklistProps, bd as SetupGuidance, be as SlotDefinition, bf as SlotOccupant, bg as SlotSystem, bh as SlotSystemProps, bi as StagingZone, bj as StagingZoneProps, bk as StandingsTable, bl as StandingsTableProps, bm as SystemActionSummary, bn as SystemActionSummaryProps, bo as ThemedButton, bp as ThemedButtonProps, bq as Toast, br as ToastActions, bs as ToastActionsProps, bt as ToastActionsValue, bu as ToastNotification, bv as ToastProvider, bw as ToastType, bx as TrackBoard, by as TrackBoardProps, bz as TrackPiece, bA as TrackSpace, bD as ZoneDefinition, bE as ZoneHighlightType, bF as ZoneMap, bG as ZoneMapProps, bH as ZonePiece, bI as ZoneShape, bP as useCardDragSurface, bQ as useChromeSuppression } from '../components-CNAt5J1p.js';
1
+ export { A as ActionButton, a as ActionButtonProps, b as ActionGroup, c as ActionGroupProps, d as ActionHelp, e as ActionHelpProps, f as ActionPanel, g as ActionPanelProps, C as CardDragSurface, i as CardDragSurfaceContextValue, j as CardDragSurfaceController, k as CardDragSurfaceProps, l as CardDropTargetView, m as CardDropTargetViewProps, n as CardFace, o as CardFaceProps, r as ChromeSuppressionProvider, s as CostDisplay, t as CostDisplayProps, D as DefaultEmptySlot, u as DefaultEmptySlotProps, v as DefaultNetworkEdge, w as DefaultNetworkEdgeProps, x as DefaultNetworkNode, y as DefaultNetworkNodeProps, z as DefaultNetworkPiece, E as DefaultNetworkPieceProps, F as DefaultSlotItem, G as DefaultSlotItemProps, H as DefaultSlotOccupant, I as DefaultSlotOccupantProps, J as DefaultTrackConnection, K as DefaultTrackConnectionProps, L as DefaultTrackJump, M as DefaultTrackJumpProps, N as DefaultTrackPiece, O as DefaultTrackPieceProps, P as DefaultTrackSpace, Q as DefaultTrackSpaceProps, R as DefaultZone, S as DefaultZonePiece, T as DefaultZonePieceProps, U as DefaultZonePieces, V as DefaultZonePiecesProps, W as DefaultZoneProps, X as Dialog, Y as DialogClose, Z as DialogContent, _ as DialogDescription, $ as DialogFooter, a0 as DialogHeader, a1 as DialogOverlay, a2 as DialogPortal, a3 as DialogTitle, a4 as DialogTrigger, a5 as DiceRoller, a6 as DiceRollerProps, a7 as DragPhase, a8 as Drawer, a9 as DrawerClose, aa as DrawerContent, ab as DrawerDescription, ac as DrawerFooter, ad as DrawerHeader, ae as DrawerOverlay, af as DrawerPortal, ag as DrawerTitle, ah as DrawerTrigger, ai as ErrorBoundary, aj as ErrorBoundaryProps, ak as GameSkeleton, al as GameSkeletonProps, am as GuidanceAction, an as GuidancePanel, ao as GuidancePanelProps, ap as GuidancePhase, aq as GuidanceSetupStep, ar as Hand, as as HandDock, at as HandDockMode, au as HandDockPlacement, av as HandDockPresentation, aw as HandDockProps, ax as HandDockToggleContext, az as HandProps, aA as Input, aB as Label, aC as MoreActions, aD as MoreActionsProps, aE as NetworkEdge, aF as NetworkGraph, aG as NetworkGraphProps, aH as NetworkNode, aI as NetworkPiece, aJ as OutcomeDialog, aK as OutcomeDialogProps, aL as Panel, aM as PanelActions, aN as PanelBody, aO as PanelDescription, aP as PanelDescriptionProps, aQ as PanelHeader, aR as PanelPartProps, aS as PanelRoot, aT as PanelRootProps, aU as PanelTitle, aV as PanelTitleProps, aW as PanelTone, aX as PhaseIndicator, aY as PhaseIndicatorProps, aZ as PlayArea, a_ as PlayAreaProps, a$ as PrimaryActionAttention, b0 as PrimaryActionButton, b1 as PrimaryActionButtonProps, b2 as PrimaryButton, b3 as PrimaryButtonProps, b4 as ResourceDefinition, b5 as Select, b6 as SelectContent, b7 as SelectItem, b8 as SelectTrigger, b9 as SetupChecklist, ba as SetupChecklistProps, bb as SetupGuidance, bc as SlotDefinition, bd as SlotOccupant, be as SlotSystem, bf as SlotSystemProps, bg as StagingZone, bh as StagingZoneProps, bi as StandingsTable, bj as StandingsTableProps, bk as ThemedButton, bl as ThemedButtonProps, bm as Toast, bn as ToastActions, bo as ToastActionsProps, bp as ToastActionsValue, bq as ToastNotification, br as ToastProvider, bs as ToastType, bt as TrackBoard, bu as TrackBoardProps, bv as TrackPiece, bw as TrackSpace, bz as ZoneDefinition, bA as ZoneHighlightType, bB as ZoneMap, bC as ZoneMapProps, bD as ZonePiece, bE as ZoneShape, bL as useCardDragSurface, bM as useChromeSuppression } from '../components-gAbIz7hK.js';
2
2
  export { H as HandInteractionPolicy, a as HandLayoutKind, b as HandLayoutPolicy, c as HandView, d as HandViewProps } from '../HandView-Bi2lxzQP.js';
3
3
  export { B as BoundResourceCounterRootProps, H as HandRole, M as MobileHandRegistration, a as MobileHandTrayProvider, R as ResourceCounter, b as ResourceCounterComponents, c as ResourceCounterCount, d as ResourceCounterIcon, e as ResourceCounterItem, f as ResourceCounterItemState, g as ResourceCounterLabel, h as ResourceCounterPartProps, i as ResourceCounterProps, j as ResourceCounterRoot, k as ResourceCounterRootProps, l as ResourceDisplayConfig, m as ResourceIconProps, n as createResourceCounter, u as useOverlayInsets, o as useRegisterBottomOverlayInset, p as useRegisterMobileHand } from '../ResourceCounter-BFxJknqp.js';
4
4
  export { D as DefaultChessPiece, i as DefaultChessPieceProps, j as DefaultGridCell, k as DefaultGridCellProps, l as DefaultGridPiece, m as DefaultGridPieceProps, n as DefaultHexEdge, o as DefaultHexEdgeProps, p as DefaultHexTile, q as DefaultHexTileProps, r as DefaultHexVertex, s as DefaultHexVertexProps, E as EdgePosition, z as HexBoardView, I as HexBoardViewTile, J as HexGrid, K as HexGridBoardProps, L as HexGridProps, M as HexOrientation, N as HexTileGeometry, Q as InteractiveHexEdge, R as InteractiveHexVertex, S as InteractiveSquareEdge, T as InteractiveSquareVertex, U as InteractiveTargetLayer, V as InteractiveTargetRenderState, aa as SquareEdgePosition, ab as SquareGrid, ac as SquareGridBoardProps, ad as SquareGridProps, ae as SquareVertexPosition, ak as createHexBoardView, am as hexUtils, aq as toAlgebraic, ar as toNumeric } from '../hex-board-view-aKkblDp6.js';
5
5
  export { k as HexEdgeState, l as HexTileState, m as HexVertexState, y as SquareCellState, z as SquareEdgeState, A as SquarePieceState, F as SquareVertexState } from '../player-state-Cqpyeql0.js';
6
6
  export { CardCollection, ViewCard, ViewSlotOccupant } from '../types.js';
7
- export { P as ProjectedGameEvent, S as SystemActionEvent } from '../plugin-state-BRH3UiUp.js';
8
7
  import 'react/jsx-runtime';
9
8
  import 'react';
10
9
  import 'framer-motion';
@@ -12,7 +11,7 @@ import 'vaul';
12
11
  import '@radix-ui/react-dialog';
13
12
  import '@radix-ui/react-label';
14
13
  import '@radix-ui/react-select';
15
- import '../runtime-C7Z2acNU.js';
14
+ import '../runtime-RJ5orDJU.js';
16
15
  import 'zod';
17
- import './protocol-CVaSqPgX.js';
16
+ import './protocol-dYgafTYY.js';
18
17
  import '../primitive-props-BNHDkgd7.js';
@@ -50,7 +50,6 @@ import {
50
50
  DrawerTitle,
51
51
  DrawerTrigger,
52
52
  ErrorBoundary,
53
- GameEventLog,
54
53
  GameSkeleton,
55
54
  GuidancePanel,
56
55
  Hand,
@@ -89,7 +88,6 @@ import {
89
88
  SquareGrid,
90
89
  StagingZone,
91
90
  StandingsTable,
92
- SystemActionSummary,
93
91
  ThemedButton,
94
92
  Toast,
95
93
  ToastActions,
@@ -106,7 +104,7 @@ import {
106
104
  useOverlayInsets,
107
105
  useRegisterBottomOverlayInset,
108
106
  useRegisterMobileHand
109
- } from "../chunk-VRRR6QZT.js";
107
+ } from "../chunk-32PFKDV7.js";
110
108
  import "../chunk-VDXOF4FW.js";
111
109
  import "../chunk-PZ5AY32C.js";
112
110
  export {
@@ -160,7 +158,6 @@ export {
160
158
  DrawerTitle,
161
159
  DrawerTrigger,
162
160
  ErrorBoundary,
163
- GameEventLog,
164
161
  GameSkeleton,
165
162
  GuidancePanel,
166
163
  Hand,
@@ -199,7 +196,6 @@ export {
199
196
  SquareGrid,
200
197
  StagingZone,
201
198
  StandingsTable,
202
- SystemActionSummary,
203
199
  ThemedButton,
204
200
  Toast,
205
201
  ToastActions,
@@ -1,187 +1,14 @@
1
1
  import * as react from 'react';
2
- import { CSSProperties, ReactNode, HTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, ReactElement } from 'react';
2
+ import { ReactNode, ButtonHTMLAttributes, CSSProperties, HTMLAttributes, InputHTMLAttributes, ReactElement } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { ag as Theme, ai as ThemeOverride, W as InteractiveTargetState$1, A as AnyHexBoardInput, d as BoardSpaceIdOf, K as HexGridBoardProps, z as HexBoardView, a as AnySquareBoardInput, ac as SquareGridBoardProps } from './hex-board-view-aKkblDp6.js';
4
+ import { W as InteractiveTargetState$1, A as AnyHexBoardInput, d as BoardSpaceIdOf, K as HexGridBoardProps, z as HexBoardView, a as AnySquareBoardInput, ac as SquareGridBoardProps, ag as Theme, ai as ThemeOverride } from './hex-board-view-aKkblDp6.js';
5
5
  import { a as ThemePresetId } from './ThemeProvider-CElaL2ik.js';
6
- import { b as InteractionDescriptor, Z as ZoneHandlesSnapshot, I as InputDomain, c as InteractionInputDescriptor } from './plugin-state-BRH3UiUp.js';
6
+ import { b as InteractionDescriptor, Z as ZoneHandlesSnapshot, d as PluginSessionState, P as PlayerId, I as InputDomain, c as InteractionInputDescriptor } from './runtime-api-Bz5pwNU_.js';
7
7
  import { ViewCard } from './types.js';
8
8
  import { P as PrimitiveCommonProps } from './primitive-props-BNHDkgd7.js';
9
9
  import { a as BrowserInteractionAttributeMap } from './attributes-DbvyMbXw.js';
10
- import { a as PluginSessionState, P as PlayerId } from './runtime-api-CgPuEVeF.js';
11
10
  import { t as Player, j as HexColor } from './player-state-Cqpyeql0.js';
12
11
 
13
- interface UIRootProps {
14
- /**
15
- * Preset id, a full Theme, or omitted to defer to the host-mounted theme.
16
- * When omitted, no provider is mounted and existing parent themes apply.
17
- */
18
- theme?: ThemePresetId | Theme;
19
- /** Deep-partial overrides forwarded to the SDK ThemeProvider. */
20
- themeOverride?: ThemeOverride;
21
- /** Forwarded to the SDK ThemeProvider. */
22
- reducedMotion?: "auto" | "force" | "ignore";
23
- /** Forwarded to the SDK ThemeProvider wrapper. */
24
- className?: string;
25
- /** Forwarded to the SDK ThemeProvider wrapper style. */
26
- style?: CSSProperties;
27
- children: ReactNode;
28
- }
29
- /**
30
- * Root provider for generated UI contracts.
31
- *
32
- * Composes the SDK `ThemeProvider` so authors can write
33
- * `<UI.Root theme="tabletop">` and have presentation tokens applied without
34
- * importing `@dreamboard-games/sdk/ui` themselves. The runtime workspace contract
35
- * stacks plugin-state, toast and mobile-hand providers around this.
36
- */
37
- declare function UIRoot({ theme, themeOverride, reducedMotion, className, style, children, }: UIRootProps): react_jsx_runtime.JSX.Element;
38
- declare const UI: {
39
- Root: typeof UIRoot;
40
- };
41
-
42
- interface ZoneContextValue {
43
- zone: string;
44
- snapshot: ZoneHandlesSnapshot | null;
45
- }
46
- interface ZoneCardContextValue {
47
- zone: string;
48
- cardId: string;
49
- }
50
- /**
51
- * An item rendered by a zone primitive. Discriminated by `hidden`:
52
- *
53
- * - `hidden: false` — fully hydrated from the zone projection. Carries the
54
- * authored card type, properties, and reducer-projected interaction state.
55
- * - `hidden: true` — the zone snapshot exposes the card id but withholds its
56
- * contents (e.g. opponent zones, or a zone that is projected count-only).
57
- * The render contract is honest about not knowing the type; authors must
58
- * narrow on `hidden` before reading `cardType` / `properties`.
59
- *
60
- * Replaces the previous silent fallback that widened `cardType` to the
61
- * untyped string `"unknown"` — see SDK Design Principles §2 (strong contracts
62
- * over comments).
63
- */
64
- type ZoneCardRenderItem<CardIdValue extends string = string, CardTypeValue extends string = string, Properties extends Record<string, unknown> = Record<string, unknown>> = HydratedZoneCardRenderItem<CardIdValue, CardTypeValue, Properties> | HiddenZoneCardRenderItem<CardIdValue>;
65
- interface HydratedZoneCardRenderItem<CardIdValue extends string = string, CardTypeValue extends string = string, Properties extends Record<string, unknown> = Record<string, unknown>> extends ViewCard<CardIdValue, CardTypeValue, Properties> {
66
- zone: string;
67
- index: number;
68
- hidden: false;
69
- playable: boolean;
70
- interactions: readonly InteractionDescriptor[];
71
- }
72
- interface HiddenZoneCardRenderItem<CardIdValue extends string = string> {
73
- id: CardIdValue;
74
- zone: string;
75
- index: number;
76
- hidden: true;
77
- }
78
- interface ZonePileContextValue {
79
- zone: string;
80
- label: string;
81
- count: number;
82
- cards: readonly string[];
83
- items: readonly ZoneCardRenderItem[];
84
- hasVisibleCards: boolean;
85
- isHidden: boolean;
86
- description: string | null;
87
- }
88
- declare function useZonePrimitiveContext(): ZoneContextValue;
89
- declare function useOptionalZonePrimitiveContext(): ZoneContextValue | null;
90
- declare function useZoneCardContext(): ZoneCardContextValue | null;
91
- declare function useZonePileContext(): ZonePileContextValue;
92
- interface ZoneRootProps<Zone extends string = ZoneKey> extends PrimitiveCommonProps, HTMLAttributes<HTMLElement> {
93
- zone: Zone;
94
- }
95
- declare function ZoneRoot<Zone extends string = ZoneKey>({ zone, children, ...props }: ZoneRootProps<Zone>): react_jsx_runtime.JSX.Element;
96
- interface ZoneListProps extends Omit<PrimitiveCommonProps, "children">, Omit<HTMLAttributes<HTMLElement>, "children"> {
97
- children?: ReactNode | ((card: ZoneCardRenderItem) => ReactNode);
98
- empty?: ReactNode;
99
- sort?: (a: ZoneCardRenderItem, b: ZoneCardRenderItem) => number;
100
- }
101
- declare function ZoneList({ children, empty, sort, ...props }: ZoneListProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
102
- interface UseZoneCardsOptions {
103
- sort?: (a: ZoneCardRenderItem, b: ZoneCardRenderItem) => number;
104
- }
105
- interface UseZoneCardsResult {
106
- zone: string;
107
- items: readonly ZoneCardRenderItem[];
108
- count: number;
109
- isEmpty: boolean;
110
- }
111
- declare function useZoneCards({ sort, }?: UseZoneCardsOptions): UseZoneCardsResult;
112
- interface ZoneItemProps extends PrimitiveCommonProps, HTMLAttributes<HTMLElement> {
113
- card: string | ZoneCardRenderItem;
114
- }
115
- declare function ZoneItem({ card, children, ...props }: ZoneItemProps): react_jsx_runtime.JSX.Element;
116
- interface ZoneCardAtProps<Zone extends string = ZoneKey> extends Omit<ZoneItemProps, "card" | "children"> {
117
- zone?: Zone;
118
- index: number;
119
- children?: ReactNode | ((card: ZoneCardRenderItem) => ReactNode);
120
- empty?: ReactNode;
121
- }
122
- declare function ZoneCardAt<Zone extends string = ZoneKey>({ zone, ...props }: ZoneCardAtProps<Zone>): react_jsx_runtime.JSX.Element;
123
- type ZoneTopCardProps<Zone extends string = ZoneKey> = Omit<ZoneCardAtProps<Zone>, "index">;
124
- declare function ZoneTopCard<Zone extends string = ZoneKey>(props: ZoneTopCardProps<Zone>): react_jsx_runtime.JSX.Element;
125
- type ZoneCardActionExtraInputs = Record<string, unknown> | ((cardId: string) => Record<string, unknown>);
126
- interface ZoneCardActionProps<Card extends string = string> extends PrimitiveCommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onSelect"> {
127
- card?: Card;
128
- interaction?: string;
129
- input?: string;
130
- extraInputs?: ZoneCardActionExtraInputs;
131
- onSelect?: (result: ZoneCardActionResult) => void;
132
- onSelectError?: (error: unknown) => void;
133
- }
134
- type ZoneCardActionResult = {
135
- status: "none";
136
- } | {
137
- status: "pending";
138
- interactionKey: string;
139
- descriptor: InteractionDescriptor;
140
- missingInputs: readonly string[];
141
- } | {
142
- status: "submitted";
143
- interactionKey: string;
144
- descriptor: InteractionDescriptor;
145
- };
146
- declare function ZoneCardAction<Card extends string = string>({ card, interaction, input, extraInputs, onSelect, onSelectError, disabled, onClick, children, ...props }: ZoneCardActionProps<Card>): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
147
- interface ZonePileRootProps<Zone extends string = ZoneKey> extends Omit<ZoneRootProps<Zone>, "children"> {
148
- label: string;
149
- children?: ReactNode;
150
- hiddenDescription?: string | null;
151
- emptyDescription?: string | null;
152
- visibleDescription?: ((count: number) => string) | null;
153
- }
154
- declare function ZonePileRoot<Zone extends string = ZoneKey>({ zone, label, hiddenDescription, emptyDescription, visibleDescription, children, ...props }: ZonePileRootProps<Zone>): react_jsx_runtime.JSX.Element;
155
- interface ZonePileTriggerProps extends PrimitiveCommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
156
- }
157
- declare function ZonePileTrigger({ children, ...props }: ZonePileTriggerProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
158
- type ZonePileLabelProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
159
- declare function ZonePileLabel({ children, ...props }: ZonePileLabelProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
160
- type ZonePileCountProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
161
- declare function ZonePileCount({ children, ...props }: ZonePileCountProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
162
- type ZonePileDescriptionProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
163
- declare function ZonePileDescription({ children, ...props }: ZonePileDescriptionProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | null;
164
- interface ZonePileCardsProps extends Omit<ZoneListProps, "children"> {
165
- renderCard: (card: ZoneCardRenderItem) => ReactNode;
166
- }
167
- declare function ZonePileCards({ renderCard, ...props }: ZonePileCardsProps): react_jsx_runtime.JSX.Element | null;
168
- declare function createZoneCardRenderItem(zone: string, snapshot: ZoneHandlesSnapshot | null, cardId: string, index: number): ZoneCardRenderItem;
169
- declare const Zone: {
170
- Root: typeof ZoneRoot;
171
- List: typeof ZoneList;
172
- Item: typeof ZoneItem;
173
- CardAt: typeof ZoneCardAt;
174
- TopCard: typeof ZoneTopCard;
175
- CardAction: typeof ZoneCardAction;
176
- PileRoot: typeof ZonePileRoot;
177
- PileTrigger: typeof ZonePileTrigger;
178
- PileLabel: typeof ZonePileLabel;
179
- PileCount: typeof ZonePileCount;
180
- PileDescription: typeof ZonePileDescription;
181
- PileCards: typeof ZonePileCards;
182
- useZoneCards: typeof useZoneCards;
183
- };
184
-
185
12
  type BoardTargetKind = "edge" | "vertex" | "space" | "tile";
186
13
 
187
14
  /**
@@ -364,6 +191,178 @@ declare const Board: {
364
191
  VertexTarget: typeof BoardVertexTarget;
365
192
  };
366
193
 
194
+ interface UIRootProps {
195
+ /**
196
+ * Preset id, a full Theme, or omitted to defer to the host-mounted theme.
197
+ * When omitted, no provider is mounted and existing parent themes apply.
198
+ */
199
+ theme?: ThemePresetId | Theme;
200
+ /** Deep-partial overrides forwarded to the SDK ThemeProvider. */
201
+ themeOverride?: ThemeOverride;
202
+ /** Forwarded to the SDK ThemeProvider. */
203
+ reducedMotion?: "auto" | "force" | "ignore";
204
+ /** Forwarded to the SDK ThemeProvider wrapper. */
205
+ className?: string;
206
+ /** Forwarded to the SDK ThemeProvider wrapper style. */
207
+ style?: CSSProperties;
208
+ children: ReactNode;
209
+ }
210
+ /**
211
+ * Root provider for generated UI contracts.
212
+ *
213
+ * Composes the SDK `ThemeProvider` so authors can write
214
+ * `<UI.Root theme="tabletop">` and have presentation tokens applied without
215
+ * importing `@dreamboard-games/sdk/ui` themselves. The runtime workspace contract
216
+ * stacks plugin-state, toast and mobile-hand providers around this.
217
+ */
218
+ declare function UIRoot({ theme, themeOverride, reducedMotion, className, style, children, }: UIRootProps): react_jsx_runtime.JSX.Element;
219
+ declare const UI: {
220
+ Root: typeof UIRoot;
221
+ };
222
+
223
+ interface ZoneContextValue {
224
+ zone: string;
225
+ snapshot: ZoneHandlesSnapshot | null;
226
+ }
227
+ interface ZoneCardContextValue {
228
+ zone: string;
229
+ cardId: string;
230
+ }
231
+ /**
232
+ * An item rendered by a zone primitive. Discriminated by `hidden`:
233
+ *
234
+ * - `hidden: false` — fully hydrated from the zone projection. Carries the
235
+ * authored card type, properties, and reducer-projected interaction state.
236
+ * - `hidden: true` — the zone snapshot exposes the card id but withholds its
237
+ * contents (e.g. opponent zones, or a zone that is projected count-only).
238
+ * The render contract is honest about not knowing the type; authors must
239
+ * narrow on `hidden` before reading `cardType` / `properties`.
240
+ *
241
+ * Replaces the previous silent fallback that widened `cardType` to the
242
+ * untyped string `"unknown"` — see SDK Design Principles §2 (strong contracts
243
+ * over comments).
244
+ */
245
+ type ZoneCardRenderItem<CardIdValue extends string = string, CardTypeValue extends string = string, Properties extends Record<string, unknown> = Record<string, unknown>> = HydratedZoneCardRenderItem<CardIdValue, CardTypeValue, Properties> | HiddenZoneCardRenderItem<CardIdValue>;
246
+ interface HydratedZoneCardRenderItem<CardIdValue extends string = string, CardTypeValue extends string = string, Properties extends Record<string, unknown> = Record<string, unknown>> extends ViewCard<CardIdValue, CardTypeValue, Properties> {
247
+ zone: string;
248
+ index: number;
249
+ hidden: false;
250
+ playable: boolean;
251
+ interactions: readonly InteractionDescriptor[];
252
+ }
253
+ interface HiddenZoneCardRenderItem<CardIdValue extends string = string> {
254
+ id: CardIdValue;
255
+ zone: string;
256
+ index: number;
257
+ hidden: true;
258
+ }
259
+ interface ZonePileContextValue {
260
+ zone: string;
261
+ label: string;
262
+ count: number;
263
+ cards: readonly string[];
264
+ items: readonly ZoneCardRenderItem[];
265
+ hasVisibleCards: boolean;
266
+ isHidden: boolean;
267
+ description: string | null;
268
+ }
269
+ declare function useZonePrimitiveContext(): ZoneContextValue;
270
+ declare function useOptionalZonePrimitiveContext(): ZoneContextValue | null;
271
+ declare function useZoneCardContext(): ZoneCardContextValue | null;
272
+ declare function useZonePileContext(): ZonePileContextValue;
273
+ interface ZoneRootProps<Zone extends string = ZoneKey> extends PrimitiveCommonProps, HTMLAttributes<HTMLElement> {
274
+ zone: Zone;
275
+ }
276
+ declare function ZoneRoot<Zone extends string = ZoneKey>({ zone, children, ...props }: ZoneRootProps<Zone>): react_jsx_runtime.JSX.Element;
277
+ interface ZoneListProps extends Omit<PrimitiveCommonProps, "children">, Omit<HTMLAttributes<HTMLElement>, "children"> {
278
+ children?: ReactNode | ((card: ZoneCardRenderItem) => ReactNode);
279
+ empty?: ReactNode;
280
+ sort?: (a: ZoneCardRenderItem, b: ZoneCardRenderItem) => number;
281
+ }
282
+ declare function ZoneList({ children, empty, sort, ...props }: ZoneListProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
283
+ interface UseZoneCardsOptions {
284
+ sort?: (a: ZoneCardRenderItem, b: ZoneCardRenderItem) => number;
285
+ }
286
+ interface UseZoneCardsResult {
287
+ zone: string;
288
+ items: readonly ZoneCardRenderItem[];
289
+ count: number;
290
+ isEmpty: boolean;
291
+ }
292
+ declare function useZoneCards({ sort, }?: UseZoneCardsOptions): UseZoneCardsResult;
293
+ interface ZoneItemProps extends PrimitiveCommonProps, HTMLAttributes<HTMLElement> {
294
+ card: string | ZoneCardRenderItem;
295
+ }
296
+ declare function ZoneItem({ card, children, ...props }: ZoneItemProps): react_jsx_runtime.JSX.Element;
297
+ interface ZoneCardAtProps<Zone extends string = ZoneKey> extends Omit<ZoneItemProps, "card" | "children"> {
298
+ zone?: Zone;
299
+ index: number;
300
+ children?: ReactNode | ((card: ZoneCardRenderItem) => ReactNode);
301
+ empty?: ReactNode;
302
+ }
303
+ declare function ZoneCardAt<Zone extends string = ZoneKey>({ zone, ...props }: ZoneCardAtProps<Zone>): react_jsx_runtime.JSX.Element;
304
+ type ZoneTopCardProps<Zone extends string = ZoneKey> = Omit<ZoneCardAtProps<Zone>, "index">;
305
+ declare function ZoneTopCard<Zone extends string = ZoneKey>(props: ZoneTopCardProps<Zone>): react_jsx_runtime.JSX.Element;
306
+ type ZoneCardActionExtraInputs = Record<string, unknown> | ((cardId: string) => Record<string, unknown>);
307
+ interface ZoneCardActionProps<Card extends string = string> extends PrimitiveCommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onSelect"> {
308
+ card?: Card;
309
+ interaction?: string;
310
+ input?: string;
311
+ extraInputs?: ZoneCardActionExtraInputs;
312
+ onSelect?: (result: ZoneCardActionResult) => void;
313
+ onSelectError?: (error: unknown) => void;
314
+ }
315
+ type ZoneCardActionResult = {
316
+ status: "none";
317
+ } | {
318
+ status: "pending";
319
+ interactionKey: string;
320
+ descriptor: InteractionDescriptor;
321
+ missingInputs: readonly string[];
322
+ } | {
323
+ status: "submitted";
324
+ interactionKey: string;
325
+ descriptor: InteractionDescriptor;
326
+ };
327
+ declare function ZoneCardAction<Card extends string = string>({ card, interaction, input, extraInputs, onSelect, onSelectError, disabled, onClick, children, ...props }: ZoneCardActionProps<Card>): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
328
+ interface ZonePileRootProps<Zone extends string = ZoneKey> extends Omit<ZoneRootProps<Zone>, "children"> {
329
+ label: string;
330
+ children?: ReactNode;
331
+ hiddenDescription?: string | null;
332
+ emptyDescription?: string | null;
333
+ visibleDescription?: ((count: number) => string) | null;
334
+ }
335
+ declare function ZonePileRoot<Zone extends string = ZoneKey>({ zone, label, hiddenDescription, emptyDescription, visibleDescription, children, ...props }: ZonePileRootProps<Zone>): react_jsx_runtime.JSX.Element;
336
+ interface ZonePileTriggerProps extends PrimitiveCommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
337
+ }
338
+ declare function ZonePileTrigger({ children, ...props }: ZonePileTriggerProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
339
+ type ZonePileLabelProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
340
+ declare function ZonePileLabel({ children, ...props }: ZonePileLabelProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
341
+ type ZonePileCountProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
342
+ declare function ZonePileCount({ children, ...props }: ZonePileCountProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
343
+ type ZonePileDescriptionProps = PrimitiveCommonProps & HTMLAttributes<HTMLElement>;
344
+ declare function ZonePileDescription({ children, ...props }: ZonePileDescriptionProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | null;
345
+ interface ZonePileCardsProps extends Omit<ZoneListProps, "children"> {
346
+ renderCard: (card: ZoneCardRenderItem) => ReactNode;
347
+ }
348
+ declare function ZonePileCards({ renderCard, ...props }: ZonePileCardsProps): react_jsx_runtime.JSX.Element | null;
349
+ declare function createZoneCardRenderItem(zone: string, snapshot: ZoneHandlesSnapshot | null, cardId: string, index: number): ZoneCardRenderItem;
350
+ declare const Zone: {
351
+ Root: typeof ZoneRoot;
352
+ List: typeof ZoneList;
353
+ Item: typeof ZoneItem;
354
+ CardAt: typeof ZoneCardAt;
355
+ TopCard: typeof ZoneTopCard;
356
+ CardAction: typeof ZoneCardAction;
357
+ PileRoot: typeof ZonePileRoot;
358
+ PileTrigger: typeof ZonePileTrigger;
359
+ PileLabel: typeof ZonePileLabel;
360
+ PileCount: typeof ZonePileCount;
361
+ PileDescription: typeof ZonePileDescription;
362
+ PileCards: typeof ZonePileCards;
363
+ useZoneCards: typeof useZoneCards;
364
+ };
365
+
367
366
  /**
368
367
  * Hook to access plugin session metadata.
369
368
  * Returns session initialization status and IDs.