@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/README.md CHANGED
@@ -36,6 +36,133 @@ Include the packaged stylesheet when using SDK UI components:
36
36
  import "@dreamboard-games/sdk/ui/plugin-styles.css";
37
37
  ```
38
38
 
39
+ ## Game authoring
40
+
41
+ `createGame(model)` is the single authoring entry point. The **model** is a
42
+ plain object: manifest ids, state schemas, one Zod schema per phase, and error
43
+ codes. The returned value is three things at once:
44
+
45
+ - the **type leaf**: `typeof game.types.State`, `.ErrorCode`, `.PlayerId`,
46
+ `.Queries`, `.Tx` (phantom carriers; reading them at runtime throws),
47
+ - the **factory namespace**: `game.phase(name)`, `phase.define`,
48
+ `phase.interaction`, `phase.inputs.*`, `game.views.*`,
49
+ - the **assembler**: `game.assemble({ initial, initialPhase, phases, views })`.
50
+
51
+ Mutation callbacks (`enter`, `reduce`, `resolve`) receive an open transaction
52
+ `tx`. Mutate through it and finish with a bare `return` (accept), or with
53
+ `tx.transition(name)`, `tx.endGame(outcome)`, or `tx.reject(code)`. Events go
54
+ through `tx.emit(...)`. `state` is the read-only snapshot the callback started
55
+ from; `tx.state` is the current draft.
56
+
57
+ ```ts
58
+ // app/game-model.ts — the model, bound once
59
+ import { z } from "zod";
60
+ import { compileManifest, createGame } from "@dreamboard-games/sdk/reducer";
61
+ import manifest from "../manifest";
62
+ const manifestContract = compileManifest(manifest);
63
+ const { ids } = manifestContract;
64
+
65
+ export const game = createGame({
66
+ manifest: manifestContract,
67
+ state: {
68
+ public: z.object({ currentPlayerId: ids.playerId.nullable() }),
69
+ private: z.object({}),
70
+ hidden: z.object({}),
71
+ },
72
+ phases: {
73
+ setup: z.object({}),
74
+ play: z.object({ leadCardId: ids.cardId.nullable() }),
75
+ },
76
+ errors: { NOT_YOUR_CARD: "Play a card from your own hand." },
77
+ });
78
+
79
+ export type GameState = typeof game.types.State;
80
+ ```
81
+
82
+ ```ts
83
+ // app/phases/play.ts — one phase, one file
84
+ import { game } from "../game-model";
85
+
86
+ const play = game.phase("play");
87
+
88
+ // Inputs name their candidate domain and eligibility predicates directly.
89
+ // `where.errorCode` is checked against `model.errors`.
90
+ const ownCard = play.inputs.card({
91
+ from: ["hand"],
92
+ where: {
93
+ id: "own-card",
94
+ errorCode: "NOT_YOUR_CARD",
95
+ test: ({ q, playerId, targetId }) =>
96
+ q.zone.playerCards(playerId, "hand").includes(targetId),
97
+ },
98
+ });
99
+
100
+ export default play.define({
101
+ kind: "player",
102
+ initialState: () => ({ leadCardId: null }),
103
+ actor: ({ state }) => state.publicState.currentPlayerId,
104
+ interactions: {
105
+ playCard: play.interaction({
106
+ inputs: { cardId: ownCard },
107
+ reduce({ tx, input, q }) {
108
+ // tx.state.phase.leadCardId and input.params.cardId are inferred.
109
+ tx.moveCardFromPlayerZoneToSharedZone({
110
+ playerId: input.playerId,
111
+ fromZoneId: "hand",
112
+ toZoneId: "trick",
113
+ cardId: input.params.cardId,
114
+ });
115
+ tx.patchPhaseState({ leadCardId: input.params.cardId });
116
+ const next = q.player.nextInOrder(input.playerId);
117
+ if (next) tx.setActivePlayers([next]);
118
+ if (q.zone.playerCards(input.playerId, "hand").length === 0) {
119
+ return tx.transition("setup");
120
+ }
121
+ },
122
+ }),
123
+ },
124
+ });
125
+ ```
126
+
127
+ ```ts
128
+ // app/game.ts — assembly
129
+ import { game } from "./game-model";
130
+ import play from "./phases/play";
131
+ import setup from "./phases/setup";
132
+
133
+ export default game.assemble({
134
+ initial: {
135
+ public: ({ playerIds }) => ({ currentPlayerId: playerIds[0] ?? null }),
136
+ private: () => ({}),
137
+ hidden: () => ({}),
138
+ },
139
+ initialPhase: "setup",
140
+ phases: { setup, play },
141
+ views: {
142
+ shared: game.views.empty(),
143
+ player: game.views.player({
144
+ project: ({ state, playerId, q }) => ({
145
+ me: playerId,
146
+ hand: q.zone.playerCards(playerId, "hand"),
147
+ current: state.publicState.currentPlayerId,
148
+ }),
149
+ }),
150
+ },
151
+ });
152
+ ```
153
+
154
+ A missing, extra, or misspelled phase key fails to typecheck at `assemble`
155
+ or at `game.phase(name)`. Rules, views, and tests import `GameState` and
156
+ `typeof game.types.Tx` from the model module; nothing but the test harness
157
+ imports the assembled game, so there is no import cycle.
158
+
159
+ New workspaces keep authored starter code in `app/game.ts` and `ui/App.tsx`.
160
+ Import the manifest directly. `compileManifest(manifest)` provides inferred ID schemas,
161
+ table schemas, fresh initial tables, and board metadata in memory. `createGame`
162
+ also accepts the authored manifest directly. Bind UI primitives with
163
+ `createGameUi(game)` from `@dreamboard-games/sdk/runtime/workspace-contract`.
164
+ No authoring generation step or shared workspace files are needed.
165
+
39
166
  ## Reducer runner contract
40
167
 
41
168
  `createReducerBundle(game)` returns exactly the contract version and four
@@ -29,7 +29,7 @@ declare function gameplayCommitEffect(): GameplaySemanticEffect;
29
29
  declare function gameplayInvokeEffect(): GameplaySemanticEffect;
30
30
 
31
31
  declare function defineBrowserInteractionSurface<Surface extends BrowserInteractionSurface, Intent extends BrowserInteractionIntent>(definition: BrowserInteractionSurfaceDefinition<Surface, Intent>): BrowserInteractionSurfaceDefinition<Surface, Intent>;
32
- declare const gameplayBrowserInteractionSurface: BrowserInteractionSurfaceDefinition<"gameplay", "fill" | "arm" | "reveal" | "invoke" | "select" | "toggle" | "increment" | "decrement" | "submit", string>;
32
+ declare const gameplayBrowserInteractionSurface: BrowserInteractionSurfaceDefinition<"gameplay", "arm" | "reveal" | "invoke" | "select" | "toggle" | "increment" | "decrement" | "fill" | "submit", string>;
33
33
  declare function createBrowserInteractionRegistry(definitions?: readonly BrowserInteractionSurfaceDefinition[]): BrowserInteractionRegistry;
34
34
  declare const defaultBrowserInteractionRegistry: BrowserInteractionRegistry;
35
35
 
@@ -111,8 +111,8 @@ declare const gameplaySemanticEffectSchema: z.ZodUnion<readonly [z.ZodObject<{
111
111
  declare const browserInteractionDiagnosticSchema: z.ZodObject<{
112
112
  code: z.ZodString;
113
113
  severity: z.ZodEnum<{
114
- warning: "warning";
115
114
  error: "error";
115
+ warning: "warning";
116
116
  }>;
117
117
  message: z.ZodString;
118
118
  surface: z.ZodOptional<z.ZodString>;
@@ -190,8 +190,8 @@ declare const browserInteractionActuatorSchema: z.ZodObject<{
190
190
  diagnostics: z.ZodArray<z.ZodObject<{
191
191
  code: z.ZodString;
192
192
  severity: z.ZodEnum<{
193
- warning: "warning";
194
193
  error: "error";
194
+ warning: "warning";
195
195
  }>;
196
196
  message: z.ZodString;
197
197
  surface: z.ZodOptional<z.ZodString>;
@@ -225,8 +225,8 @@ declare const browserInteractionPointerTargetSchema: z.ZodObject<{
225
225
  diagnostics: z.ZodArray<z.ZodObject<{
226
226
  code: z.ZodString;
227
227
  severity: z.ZodEnum<{
228
- warning: "warning";
229
228
  error: "error";
229
+ warning: "warning";
230
230
  }>;
231
231
  message: z.ZodString;
232
232
  surface: z.ZodOptional<z.ZodString>;
@@ -315,8 +315,8 @@ declare const browserGameplayInteractionSchema: z.ZodObject<{
315
315
  diagnostics: z.ZodArray<z.ZodObject<{
316
316
  code: z.ZodString;
317
317
  severity: z.ZodEnum<{
318
- warning: "warning";
319
318
  error: "error";
319
+ warning: "warning";
320
320
  }>;
321
321
  message: z.ZodString;
322
322
  surface: z.ZodOptional<z.ZodString>;
@@ -350,8 +350,8 @@ declare const browserGameplayInteractionSchema: z.ZodObject<{
350
350
  diagnostics: z.ZodArray<z.ZodObject<{
351
351
  code: z.ZodString;
352
352
  severity: z.ZodEnum<{
353
- warning: "warning";
354
353
  error: "error";
354
+ warning: "warning";
355
355
  }>;
356
356
  message: z.ZodString;
357
357
  surface: z.ZodOptional<z.ZodString>;
@@ -365,8 +365,8 @@ declare const browserGameplayInteractionSchema: z.ZodObject<{
365
365
  diagnostics: z.ZodArray<z.ZodObject<{
366
366
  code: z.ZodString;
367
367
  severity: z.ZodEnum<{
368
- warning: "warning";
369
368
  error: "error";
369
+ warning: "warning";
370
370
  }>;
371
371
  message: z.ZodString;
372
372
  surface: z.ZodOptional<z.ZodString>;
@@ -458,8 +458,8 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
458
458
  diagnostics: z.ZodArray<z.ZodObject<{
459
459
  code: z.ZodString;
460
460
  severity: z.ZodEnum<{
461
- warning: "warning";
462
461
  error: "error";
462
+ warning: "warning";
463
463
  }>;
464
464
  message: z.ZodString;
465
465
  surface: z.ZodOptional<z.ZodString>;
@@ -493,8 +493,8 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
493
493
  diagnostics: z.ZodArray<z.ZodObject<{
494
494
  code: z.ZodString;
495
495
  severity: z.ZodEnum<{
496
- warning: "warning";
497
496
  error: "error";
497
+ warning: "warning";
498
498
  }>;
499
499
  message: z.ZodString;
500
500
  surface: z.ZodOptional<z.ZodString>;
@@ -508,8 +508,8 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
508
508
  diagnostics: z.ZodArray<z.ZodObject<{
509
509
  code: z.ZodString;
510
510
  severity: z.ZodEnum<{
511
- warning: "warning";
512
511
  error: "error";
512
+ warning: "warning";
513
513
  }>;
514
514
  message: z.ZodString;
515
515
  surface: z.ZodOptional<z.ZodString>;
@@ -523,8 +523,8 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
523
523
  diagnostics: z.ZodArray<z.ZodObject<{
524
524
  code: z.ZodString;
525
525
  severity: z.ZodEnum<{
526
- warning: "warning";
527
526
  error: "error";
527
+ warning: "warning";
528
528
  }>;
529
529
  message: z.ZodString;
530
530
  surface: z.ZodOptional<z.ZodString>;
@@ -616,8 +616,8 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
616
616
  diagnostics: z.ZodArray<z.ZodObject<{
617
617
  code: z.ZodString;
618
618
  severity: z.ZodEnum<{
619
- warning: "warning";
620
619
  error: "error";
620
+ warning: "warning";
621
621
  }>;
622
622
  message: z.ZodString;
623
623
  surface: z.ZodOptional<z.ZodString>;
@@ -651,8 +651,8 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
651
651
  diagnostics: z.ZodArray<z.ZodObject<{
652
652
  code: z.ZodString;
653
653
  severity: z.ZodEnum<{
654
- warning: "warning";
655
654
  error: "error";
655
+ warning: "warning";
656
656
  }>;
657
657
  message: z.ZodString;
658
658
  surface: z.ZodOptional<z.ZodString>;
@@ -666,8 +666,8 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
666
666
  diagnostics: z.ZodArray<z.ZodObject<{
667
667
  code: z.ZodString;
668
668
  severity: z.ZodEnum<{
669
- warning: "warning";
670
669
  error: "error";
670
+ warning: "warning";
671
671
  }>;
672
672
  message: z.ZodString;
673
673
  surface: z.ZodOptional<z.ZodString>;
@@ -681,8 +681,8 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
681
681
  diagnostics: z.ZodArray<z.ZodObject<{
682
682
  code: z.ZodString;
683
683
  severity: z.ZodEnum<{
684
- warning: "warning";
685
684
  error: "error";
685
+ warning: "warning";
686
686
  }>;
687
687
  message: z.ZodString;
688
688
  surface: z.ZodOptional<z.ZodString>;
@@ -699,8 +699,8 @@ declare const browserUnknownSurfaceSnapshotSchema: z.ZodObject<{
699
699
  diagnostics: z.ZodArray<z.ZodObject<{
700
700
  code: z.ZodString;
701
701
  severity: z.ZodEnum<{
702
- warning: "warning";
703
702
  error: "error";
703
+ warning: "warning";
704
704
  }>;
705
705
  message: z.ZodString;
706
706
  surface: z.ZodOptional<z.ZodString>;
@@ -797,8 +797,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
797
797
  diagnostics: z.ZodArray<z.ZodObject<{
798
798
  code: z.ZodString;
799
799
  severity: z.ZodEnum<{
800
- warning: "warning";
801
800
  error: "error";
801
+ warning: "warning";
802
802
  }>;
803
803
  message: z.ZodString;
804
804
  surface: z.ZodOptional<z.ZodString>;
@@ -832,8 +832,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
832
832
  diagnostics: z.ZodArray<z.ZodObject<{
833
833
  code: z.ZodString;
834
834
  severity: z.ZodEnum<{
835
- warning: "warning";
836
835
  error: "error";
836
+ warning: "warning";
837
837
  }>;
838
838
  message: z.ZodString;
839
839
  surface: z.ZodOptional<z.ZodString>;
@@ -847,8 +847,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
847
847
  diagnostics: z.ZodArray<z.ZodObject<{
848
848
  code: z.ZodString;
849
849
  severity: z.ZodEnum<{
850
- warning: "warning";
851
850
  error: "error";
851
+ warning: "warning";
852
852
  }>;
853
853
  message: z.ZodString;
854
854
  surface: z.ZodOptional<z.ZodString>;
@@ -862,8 +862,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
862
862
  diagnostics: z.ZodArray<z.ZodObject<{
863
863
  code: z.ZodString;
864
864
  severity: z.ZodEnum<{
865
- warning: "warning";
866
865
  error: "error";
866
+ warning: "warning";
867
867
  }>;
868
868
  message: z.ZodString;
869
869
  surface: z.ZodOptional<z.ZodString>;
@@ -879,8 +879,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
879
879
  diagnostics: z.ZodArray<z.ZodObject<{
880
880
  code: z.ZodString;
881
881
  severity: z.ZodEnum<{
882
- warning: "warning";
883
882
  error: "error";
883
+ warning: "warning";
884
884
  }>;
885
885
  message: z.ZodString;
886
886
  surface: z.ZodOptional<z.ZodString>;
@@ -894,8 +894,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
894
894
  diagnostics: z.ZodArray<z.ZodObject<{
895
895
  code: z.ZodString;
896
896
  severity: z.ZodEnum<{
897
- warning: "warning";
898
897
  error: "error";
898
+ warning: "warning";
899
899
  }>;
900
900
  message: z.ZodString;
901
901
  surface: z.ZodOptional<z.ZodString>;