@dreamboard-games/cli 0.1.30-alpha.2 → 0.1.30-alpha.20

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 (136) hide show
  1. package/README.md +25 -107
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs +1682 -0
  3. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -0
  4. package/dist/agent-verifier/chunk-4I2WWAPK.mjs +399 -0
  5. package/dist/agent-verifier/chunk-4I2WWAPK.mjs.map +1 -0
  6. package/dist/agent-verifier/chunk-BWBN2TDJ.mjs +2811 -0
  7. package/dist/agent-verifier/chunk-BWBN2TDJ.mjs.map +1 -0
  8. package/dist/agent-verifier/chunk-DQUYBIGQ.mjs +353 -0
  9. package/dist/agent-verifier/chunk-DQUYBIGQ.mjs.map +1 -0
  10. package/dist/agent-verifier/chunk-F2DIOJJZ.mjs +302 -0
  11. package/dist/agent-verifier/chunk-F2DIOJJZ.mjs.map +1 -0
  12. package/dist/agent-verifier/chunk-GCFGAFYC.mjs +720 -0
  13. package/dist/agent-verifier/chunk-GCFGAFYC.mjs.map +1 -0
  14. package/dist/agent-verifier/chunk-GWRZRWCF.mjs +107 -0
  15. package/dist/agent-verifier/chunk-GWRZRWCF.mjs.map +1 -0
  16. package/dist/agent-verifier/chunk-H6XDQJ3N.mjs +11 -0
  17. package/dist/agent-verifier/chunk-HUBV22JQ.mjs +89 -0
  18. package/dist/agent-verifier/chunk-HUBV22JQ.mjs.map +1 -0
  19. package/dist/agent-verifier/chunk-IWB4L2HV.mjs +273 -0
  20. package/dist/agent-verifier/chunk-IWB4L2HV.mjs.map +1 -0
  21. package/dist/agent-verifier/chunk-JZTH3EMV.mjs +14523 -0
  22. package/dist/agent-verifier/chunk-JZTH3EMV.mjs.map +1 -0
  23. package/dist/agent-verifier/chunk-KDAQ4CZY.mjs +192 -0
  24. package/dist/agent-verifier/chunk-KDAQ4CZY.mjs.map +1 -0
  25. package/dist/agent-verifier/chunk-M7UVBANQ.mjs +58 -0
  26. package/dist/agent-verifier/chunk-M7UVBANQ.mjs.map +1 -0
  27. package/dist/agent-verifier/chunk-MYMVXTZT.mjs +766 -0
  28. package/dist/agent-verifier/chunk-MYMVXTZT.mjs.map +1 -0
  29. package/dist/agent-verifier/chunk-OJFZVGEL.mjs +492 -0
  30. package/dist/agent-verifier/chunk-OJFZVGEL.mjs.map +1 -0
  31. package/dist/agent-verifier/chunk-QD4SQNUP.mjs +75 -0
  32. package/dist/agent-verifier/chunk-QD4SQNUP.mjs.map +1 -0
  33. package/dist/agent-verifier/chunk-RDYXWXXC.mjs +47 -0
  34. package/dist/agent-verifier/chunk-RDYXWXXC.mjs.map +1 -0
  35. package/dist/agent-verifier/chunk-TIDX3YLW.mjs +158 -0
  36. package/dist/agent-verifier/chunk-TIDX3YLW.mjs.map +1 -0
  37. package/dist/agent-verifier/chunk-TTB7AIHZ.mjs +214 -0
  38. package/dist/agent-verifier/chunk-TTB7AIHZ.mjs.map +1 -0
  39. package/dist/agent-verifier/chunk-UXGTT25Q.mjs +59 -0
  40. package/dist/agent-verifier/chunk-UXGTT25Q.mjs.map +1 -0
  41. package/dist/agent-verifier/chunk-YE7UAO3T.mjs +129 -0
  42. package/dist/agent-verifier/chunk-YE7UAO3T.mjs.map +1 -0
  43. package/dist/agent-verifier/chunk-ZEELHSY3.mjs +20 -0
  44. package/dist/agent-verifier/chunk-ZEELHSY3.mjs.map +1 -0
  45. package/dist/agent-verifier/global-config-IXZLY4BS.mjs +19 -0
  46. package/dist/agent-verifier/keychain-backend-UF3Z26JM.mjs +140 -0
  47. package/dist/agent-verifier/keychain-backend-UF3Z26JM.mjs.map +1 -0
  48. package/dist/agent-verifier/local-files-OF4QFISU.mjs +45 -0
  49. package/dist/agent-verifier/local-files-OF4QFISU.mjs.map +1 -0
  50. package/dist/agent-verifier/local-typecheck-DHVLM37Z.mjs +150 -0
  51. package/dist/agent-verifier/local-typecheck-DHVLM37Z.mjs.map +1 -0
  52. package/dist/agent-verifier/materialize-workspace-VS5RHSBO.mjs +90 -0
  53. package/dist/agent-verifier/materialize-workspace-VS5RHSBO.mjs.map +1 -0
  54. package/dist/agent-verifier/project-state-XKUSCFSV.mjs +33 -0
  55. package/dist/agent-verifier/project-state-XKUSCFSV.mjs.map +1 -0
  56. package/dist/agent-verifier/prompt-VKHMCQT6.mjs +756 -0
  57. package/dist/agent-verifier/prompt-VKHMCQT6.mjs.map +1 -0
  58. package/dist/agent-verifier/reducer-bundle-preflight-GLUJKTWU.mjs +312 -0
  59. package/dist/agent-verifier/reducer-bundle-preflight-GLUJKTWU.mjs.map +1 -0
  60. package/dist/agent-verifier/reducer-contract-preflight-WVQQPW5F.mjs +46 -0
  61. package/dist/agent-verifier/reducer-contract-preflight-WVQQPW5F.mjs.map +1 -0
  62. package/dist/agent-verifier/reducer-native-test-harness-H6G6RBRY.mjs +3436 -0
  63. package/dist/agent-verifier/reducer-native-test-harness-H6G6RBRY.mjs.map +1 -0
  64. package/dist/agent-verifier/static-scaffold-C36KROJA.mjs +24 -0
  65. package/dist/agent-verifier/static-scaffold-C36KROJA.mjs.map +1 -0
  66. package/dist/agent-verifier/workspace-codegen-SPPVHURX.mjs +10 -0
  67. package/dist/agent-verifier/workspace-codegen-SPPVHURX.mjs.map +1 -0
  68. package/dist/agent-verifier/workspace-dependencies-5HEEKZFP.mjs +17 -0
  69. package/dist/agent-verifier/workspace-dependencies-5HEEKZFP.mjs.map +1 -0
  70. package/dist/authoring-compatibility-internal.js +12 -0
  71. package/dist/authoring-compatibility-internal.js.map +1 -0
  72. package/dist/chunk-2H7UOFLK.js +11 -0
  73. package/dist/chunk-2H7UOFLK.js.map +1 -0
  74. package/dist/chunk-5PJWUB6W.js +4281 -0
  75. package/dist/chunk-5PJWUB6W.js.map +1 -0
  76. package/dist/{chunk-TAQKH67O.js → chunk-EJGB3IR7.js} +2700 -7338
  77. package/dist/chunk-EJGB3IR7.js.map +1 -0
  78. package/dist/chunk-EQNBQVIW.js +204 -0
  79. package/dist/chunk-EQNBQVIW.js.map +1 -0
  80. package/dist/chunk-UI7NWSYA.js +334 -0
  81. package/dist/chunk-UI7NWSYA.js.map +1 -0
  82. package/dist/{global-config-S4ZIPECE.js → global-config-GK2UC2X6.js} +4 -3
  83. package/dist/global-config-GK2UC2X6.js.map +1 -0
  84. package/dist/index.js +3411 -6433
  85. package/dist/index.js.map +1 -1
  86. package/dist/internal.js +15 -9
  87. package/dist/{keychain-backend-HDF4TZDL.js → keychain-backend-GO34KGTG.js} +12 -7
  88. package/dist/keychain-backend-GO34KGTG.js.map +1 -0
  89. package/dist/{prompt-NDV3AE5L.js → prompt-GMZABCJC.js} +2 -2
  90. package/package.json +11 -20
  91. package/release/authoring-release-set.json +38 -0
  92. package/skills/dreamboard/SKILL.md +30 -28
  93. package/skills/dreamboard/references/building-your-first-game.md +15 -15
  94. package/skills/dreamboard/references/cli.md +48 -47
  95. package/skills/dreamboard/references/manifest-authoring.md +11 -3
  96. package/skills/dreamboard/references/quickstart.md +16 -13
  97. package/skills/dreamboard/references/testing.md +10 -10
  98. package/dist/chunk-N7XPNNUI.js +0 -432
  99. package/dist/chunk-N7XPNNUI.js.map +0 -1
  100. package/dist/chunk-SEGVTWSK.js +0 -44
  101. package/dist/chunk-TAQKH67O.js.map +0 -1
  102. package/dist/dev-host/components/drawer.tsx +0 -132
  103. package/dist/dev-host/components/input.tsx +0 -21
  104. package/dist/dev-host/dev-api-proxy-plugin.ts +0 -328
  105. package/dist/dev-host/dev-author-dom-warnings.ts +0 -100
  106. package/dist/dev-host/dev-diagnostics.ts +0 -62
  107. package/dist/dev-host/dev-fallback-stylesheet.ts +0 -53
  108. package/dist/dev-host/dev-hmr-guard-plugin.ts +0 -47
  109. package/dist/dev-host/dev-host-controller.ts +0 -674
  110. package/dist/dev-host/dev-host-player-query.ts +0 -17
  111. package/dist/dev-host/dev-host-session-transport.ts +0 -52
  112. package/dist/dev-host/dev-host-storage.ts +0 -56
  113. package/dist/dev-host/dev-log-relay-plugin.ts +0 -510
  114. package/dist/dev-host/dev-runtime-config.ts +0 -14
  115. package/dist/dev-host/dev-runtime-platform.ts +0 -335
  116. package/dist/dev-host/dev-virtual-modules-plugin.ts +0 -64
  117. package/dist/dev-host/host-main.css +0 -224
  118. package/dist/dev-host/host-main.tsx +0 -948
  119. package/dist/dev-host/index.html +0 -56
  120. package/dist/dev-host/lib/utils.ts +0 -6
  121. package/dist/dev-host/plugin-main.ts +0 -61
  122. package/dist/dev-host/plugin.html +0 -24
  123. package/dist/dev-host/shared-styles.css +0 -144
  124. package/dist/dev-host/start-dev-server.ts +0 -140
  125. package/dist/dev-host/virtual-modules.d.ts +0 -27
  126. package/dist/keychain-backend-HDF4TZDL.js.map +0 -1
  127. package/skills/dreamboard/scripts/events-extract.mjs +0 -218
  128. /package/dist/{chunk-SEGVTWSK.js.map → agent-verifier/chunk-H6XDQJ3N.mjs.map} +0 -0
  129. /package/dist/{global-config-S4ZIPECE.js.map → agent-verifier/global-config-IXZLY4BS.mjs.map} +0 -0
  130. /package/dist/{prompt-NDV3AE5L.js.map → prompt-GMZABCJC.js.map} +0 -0
  131. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.framework.json +0 -0
  132. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.json +0 -0
  133. /package/{dist/scaffold → scaffold}/assets/static/ui/index.tsx +0 -0
  134. /package/{dist/scaffold → scaffold}/assets/static/ui/style.css +0 -0
  135. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.framework.json +0 -0
  136. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.json +0 -0
@@ -0,0 +1,2811 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ external_exports
4
+ } from "./chunk-JZTH3EMV.mjs";
5
+ import {
6
+ createRepoLocalPackageResolutionPlugin
7
+ } from "./chunk-TTB7AIHZ.mjs";
8
+ import {
9
+ client
10
+ } from "./chunk-MYMVXTZT.mjs";
11
+ import {
12
+ loadProjectAuthoringAdapter,
13
+ normalizeOwnedProjectPath,
14
+ workspacePathExists,
15
+ writeWorkspaceJsonFile,
16
+ writeWorkspaceTextFile
17
+ } from "./chunk-OJFZVGEL.mjs";
18
+ import {
19
+ MANIFEST_FILE,
20
+ MATERIALIZED_MANIFEST_FILE
21
+ } from "./chunk-M7UVBANQ.mjs";
22
+
23
+ // src/utils/crypto.ts
24
+ import crypto from "crypto";
25
+ function hashContent(content) {
26
+ return crypto.createHash("sha256").update(content, "utf8").digest("hex");
27
+ }
28
+
29
+ // ../../packages/api-client/dist/sdk.gen.js
30
+ var createProjectSession = (options) => (options.client ?? client).post({
31
+ security: [{ scheme: "bearer", type: "http" }],
32
+ url: "/api/projects/{projectId}/sessions",
33
+ ...options,
34
+ headers: {
35
+ "Content-Type": "application/json",
36
+ ...options.headers
37
+ }
38
+ });
39
+ var createProjectSessionFromReducerSnapshot = (options) => (options.client ?? client).post({
40
+ security: [{ scheme: "bearer", type: "http" }],
41
+ url: "/api/projects/{projectId}/sessions/from-reducer-snapshot",
42
+ ...options,
43
+ headers: {
44
+ "Content-Type": "application/json",
45
+ ...options.headers
46
+ }
47
+ });
48
+ var getSessionSnapshot = (options) => (options.client ?? client).get({
49
+ security: [{ scheme: "bearer", type: "http" }],
50
+ url: "/api/sessions/{sessionId}/snapshot",
51
+ ...options
52
+ });
53
+ var startGame = (options) => (options.client ?? client).post({
54
+ security: [{ scheme: "bearer", type: "http" }],
55
+ url: "/api/sessions/{sessionId}/start",
56
+ ...options
57
+ });
58
+ var createGameplayCapability = (options) => (options.client ?? client).post({
59
+ security: [{ scheme: "bearer", type: "http" }],
60
+ url: "/api/sessions/{sessionId}/players/{playerId}/gameplay-capability",
61
+ ...options
62
+ });
63
+
64
+ // ../../packages/api-client/dist/zod.gen.js
65
+ var zApiVersionResponse = external_exports.object({
66
+ deploymentId: external_exports.string(),
67
+ backendRevision: external_exports.string(),
68
+ uiSdkVersion: external_exports.string()
69
+ });
70
+ var zCurrentAuthUserResponse = external_exports.object({
71
+ id: external_exports.uuid(),
72
+ provider: external_exports.string(),
73
+ providerSubject: external_exports.string(),
74
+ ownerScopeId: external_exports.uuid(),
75
+ email: external_exports.optional(external_exports.string())
76
+ });
77
+ var zProblemType = external_exports.enum([
78
+ "urn:dreamboard:problem:action-rejected",
79
+ "urn:dreamboard:problem:active-job-conflict",
80
+ "urn:dreamboard:problem:authoring-state-base-missing",
81
+ "urn:dreamboard:problem:authoring-state-drift",
82
+ "urn:dreamboard:problem:forbidden",
83
+ "urn:dreamboard:problem:game-slug-conflict",
84
+ "urn:dreamboard:problem:internal-error",
85
+ "urn:dreamboard:problem:project-deleted",
86
+ "urn:dreamboard:problem:project-id-invalid",
87
+ "urn:dreamboard:problem:project-not-found",
88
+ "urn:dreamboard:problem:project-owner-scope-forbidden",
89
+ "urn:dreamboard:problem:project-slug-conflict",
90
+ "urn:dreamboard:problem:resource-not-found",
91
+ "urn:dreamboard:problem:revision-head-conflict",
92
+ "urn:dreamboard:problem:source-revision-base-missing",
93
+ "urn:dreamboard:problem:source-revision-drift",
94
+ "urn:dreamboard:problem:source-revision-not-found",
95
+ "urn:dreamboard:problem:state-conflict",
96
+ "urn:dreamboard:problem:too-many-requests",
97
+ "urn:dreamboard:problem:unauthorized",
98
+ "urn:dreamboard:problem:validation-failed"
99
+ ]);
100
+ var zProblemViolation = external_exports.object({
101
+ field: external_exports.optional(external_exports.string()),
102
+ code: external_exports.optional(external_exports.string()),
103
+ message: external_exports.string()
104
+ });
105
+ var zProblemDetails = external_exports.object({
106
+ type: zProblemType,
107
+ title: external_exports.string(),
108
+ status: external_exports.int(),
109
+ detail: external_exports.string(),
110
+ instance: external_exports.optional(external_exports.string()),
111
+ requestId: external_exports.optional(external_exports.string()),
112
+ retryable: external_exports.optional(external_exports.boolean()),
113
+ context: external_exports.optional(external_exports.record(external_exports.string(), external_exports.string())),
114
+ violations: external_exports.optional(external_exports.array(zProblemViolation)),
115
+ timestamp: external_exports.optional(external_exports.iso.datetime())
116
+ });
117
+ var zTokenExchangeAudience = external_exports.enum(["dreamboard-api", "dreamboard-git"]);
118
+ var zTokenExchangeRequest = external_exports.object({
119
+ audience: zTokenExchangeAudience
120
+ });
121
+ var zTokenExchangeResponse = external_exports.object({
122
+ accessToken: external_exports.string(),
123
+ tokenType: external_exports.enum(["Bearer"]),
124
+ audience: zTokenExchangeAudience,
125
+ expiresIn: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })
126
+ });
127
+ var zCreateBillingCheckoutSessionRequest = external_exports.object({
128
+ planKey: external_exports.optional(external_exports.string()).default("designer"),
129
+ successUrl: external_exports.optional(external_exports.string()),
130
+ cancelUrl: external_exports.optional(external_exports.string())
131
+ });
132
+ var zBillingSessionResponse = external_exports.object({
133
+ id: external_exports.string(),
134
+ url: external_exports.string()
135
+ });
136
+ var zCreateBillingPortalSessionRequest = external_exports.object({
137
+ returnUrl: external_exports.optional(external_exports.string())
138
+ });
139
+ var zBillingEntitlement = external_exports.object({
140
+ key: external_exports.string(),
141
+ active: external_exports.boolean(),
142
+ source: external_exports.string(),
143
+ expiresAt: external_exports.optional(external_exports.iso.datetime())
144
+ });
145
+ var zCurrentBillingEntitlementsResponse = external_exports.object({
146
+ checkoutEnabled: external_exports.boolean(),
147
+ portalEnabled: external_exports.boolean(),
148
+ planKey: external_exports.optional(external_exports.string()),
149
+ subscriptionStatus: external_exports.optional(external_exports.string()),
150
+ currentPeriodEnd: external_exports.optional(external_exports.iso.datetime()),
151
+ entitlements: external_exports.array(zBillingEntitlement)
152
+ });
153
+ var zGameMetadata = external_exports.object({
154
+ minPlayers: external_exports.optional(external_exports.int().gte(1).lte(20)),
155
+ maxPlayers: external_exports.optional(external_exports.int().gte(1).lte(20)),
156
+ playTimeMinMinutes: external_exports.optional(external_exports.int().gte(1)),
157
+ playTimeMaxMinutes: external_exports.optional(external_exports.int().gte(1)),
158
+ difficulty: external_exports.optional(external_exports.int().gte(1).lte(5))
159
+ });
160
+ var zProjectHead = external_exports.object({
161
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
162
+ });
163
+ var zProject = external_exports.object({
164
+ projectId: external_exports.uuid(),
165
+ slug: external_exports.string(),
166
+ name: external_exports.string(),
167
+ description: external_exports.optional(external_exports.string()),
168
+ metadata: external_exports.optional(zGameMetadata),
169
+ public: external_exports.boolean().default(false),
170
+ previewStorageKey: external_exports.optional(external_exports.string()),
171
+ initialProjectionKey: external_exports.optional(external_exports.string()),
172
+ verified: external_exports.boolean().default(false),
173
+ verifiedAt: external_exports.optional(external_exports.iso.datetime()),
174
+ createdAt: external_exports.iso.datetime(),
175
+ updatedAt: external_exports.iso.datetime(),
176
+ head: external_exports.optional(zProjectHead)
177
+ });
178
+ var zExtractGameSpecRequest = external_exports.object({
179
+ ruleText: external_exports.string().min(1).max(5e4)
180
+ });
181
+ var zGameSpecPlayers = external_exports.object({
182
+ min: external_exports.int().gte(1).lte(20),
183
+ max: external_exports.int().gte(1).lte(20)
184
+ });
185
+ var zGameSpecComponent = external_exports.enum([
186
+ "deck",
187
+ "dice",
188
+ "board",
189
+ "resource",
190
+ "token",
191
+ "tracker"
192
+ ]);
193
+ var zGameSpecComponentItem = external_exports.object({
194
+ name: external_exports.string().min(1).max(100),
195
+ notes: external_exports.optional(external_exports.string().max(500))
196
+ });
197
+ var zGameSpecComponentSpec = external_exports.object({
198
+ kind: zGameSpecComponent,
199
+ name: external_exports.string().min(1).max(100),
200
+ notes: external_exports.optional(external_exports.string().max(500)),
201
+ items: external_exports.optional(external_exports.array(zGameSpecComponentItem).max(100))
202
+ });
203
+ var zGameSpecForm = external_exports.object({
204
+ name: external_exports.string().min(1).max(200),
205
+ players: zGameSpecPlayers,
206
+ components: external_exports.array(zGameSpecComponentSpec).max(50),
207
+ winCondition: external_exports.string().max(2e3),
208
+ additionalRules: external_exports.string().min(1).max(5e4)
209
+ });
210
+ var zExtractGameSpecResponse = external_exports.object({
211
+ gameSpec: zGameSpecForm
212
+ });
213
+ var zEnsureProjectRequest = external_exports.object({
214
+ slug: external_exports.string().min(1).max(200),
215
+ name: external_exports.string().min(1).max(200),
216
+ description: external_exports.optional(external_exports.string().max(1e3)),
217
+ updateAlias: external_exports.optional(external_exports.boolean()).default(false)
218
+ });
219
+ var zDeleteProjectResponse = external_exports.object({
220
+ deleted: external_exports.boolean()
221
+ });
222
+ var zUpdateProjectRequest = external_exports.object({
223
+ slug: external_exports.optional(external_exports.string().min(1).max(200)),
224
+ name: external_exports.optional(external_exports.string().min(1).max(200)),
225
+ description: external_exports.optional(external_exports.string().max(1e3)),
226
+ public: external_exports.optional(external_exports.boolean()),
227
+ metadata: external_exports.optional(zGameMetadata)
228
+ });
229
+ var zProjectRepositoryProvisioningState = external_exports.enum([
230
+ "REQUESTED",
231
+ "PROVISIONING",
232
+ "READY",
233
+ "ERROR",
234
+ "DELETING",
235
+ "DELETED"
236
+ ]);
237
+ var zProjectRepository = external_exports.object({
238
+ repoBindingId: external_exports.uuid(),
239
+ cloneUrl: external_exports.url(),
240
+ defaultBranch: external_exports.string(),
241
+ headCommit: external_exports.string(),
242
+ provisioningState: zProjectRepositoryProvisioningState,
243
+ desiredGeneration: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
244
+ observedGeneration: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
245
+ retryable: external_exports.boolean(),
246
+ errorCode: external_exports.optional(external_exports.string())
247
+ });
248
+ var zProjectBuildTargetProfile = external_exports.enum(["preview", "release"]);
249
+ var zEnsureProjectBuildRequest = external_exports.object({
250
+ commitOid: external_exports.string().regex(/^[a-f0-9]{40,64}$/),
251
+ targetProfile: zProjectBuildTargetProfile
252
+ });
253
+ var zProjectCompiledArtifactStatus = external_exports.enum([
254
+ "PENDING",
255
+ "SUCCEEDED",
256
+ "FAILED"
257
+ ]);
258
+ var zProjectBuild = external_exports.object({
259
+ buildRecipeId: external_exports.uuid(),
260
+ buildRecipeDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
261
+ gameRevisionId: external_exports.uuid(),
262
+ gitSourceRevisionId: external_exports.uuid(),
263
+ commitOid: external_exports.string(),
264
+ treeOid: external_exports.string(),
265
+ targetProfile: zProjectBuildTargetProfile,
266
+ compiledArtifactId: external_exports.uuid(),
267
+ compiledArtifactStatus: zProjectCompiledArtifactStatus,
268
+ compiledArtifactDigest: external_exports.union([
269
+ external_exports.string(),
270
+ external_exports.null()
271
+ ]),
272
+ storageKey: external_exports.union([
273
+ external_exports.string(),
274
+ external_exports.null()
275
+ ]),
276
+ workJobId: external_exports.union([
277
+ external_exports.uuid(),
278
+ external_exports.null()
279
+ ]),
280
+ enqueued: external_exports.boolean()
281
+ });
282
+ var zProjectCommitSourceValidationStatus = external_exports.enum([
283
+ "PENDING",
284
+ "SUCCEEDED",
285
+ "FAILED"
286
+ ]);
287
+ var zProjectCommitSourceStatus = external_exports.object({
288
+ observed: external_exports.boolean(),
289
+ gitSourceRevisionId: external_exports.union([
290
+ external_exports.uuid(),
291
+ external_exports.null()
292
+ ]),
293
+ treeOid: external_exports.union([
294
+ external_exports.string(),
295
+ external_exports.null()
296
+ ]),
297
+ refName: external_exports.union([
298
+ external_exports.string(),
299
+ external_exports.null()
300
+ ]),
301
+ validationStatus: external_exports.union([
302
+ zProjectCommitSourceValidationStatus,
303
+ external_exports.null()
304
+ ]),
305
+ validationDiagnostics: external_exports.union([
306
+ external_exports.record(external_exports.string(), external_exports.unknown()),
307
+ external_exports.null()
308
+ ]),
309
+ observedAt: external_exports.union([
310
+ external_exports.iso.datetime(),
311
+ external_exports.null()
312
+ ])
313
+ });
314
+ var zProjectCommitGameRevisionStatus = external_exports.object({
315
+ gameRevisionId: external_exports.union([
316
+ external_exports.uuid(),
317
+ external_exports.null()
318
+ ]),
319
+ revisionDigest: external_exports.union([
320
+ external_exports.string(),
321
+ external_exports.null()
322
+ ]),
323
+ sourceTreeHash: external_exports.union([
324
+ external_exports.string(),
325
+ external_exports.null()
326
+ ])
327
+ });
328
+ var zProjectCommitBuildStatus = external_exports.object({
329
+ targetProfile: zProjectBuildTargetProfile,
330
+ buildRecipeDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
331
+ buildRecipe: external_exports.record(external_exports.string(), external_exports.unknown()),
332
+ buildRecipeId: external_exports.union([
333
+ external_exports.uuid(),
334
+ external_exports.null()
335
+ ]),
336
+ compiledArtifactId: external_exports.union([
337
+ external_exports.uuid(),
338
+ external_exports.null()
339
+ ]),
340
+ compiledArtifactStatus: external_exports.union([
341
+ zProjectCompiledArtifactStatus,
342
+ external_exports.null()
343
+ ]),
344
+ compiledArtifactDigest: external_exports.union([
345
+ external_exports.string(),
346
+ external_exports.null()
347
+ ]),
348
+ storageKey: external_exports.union([
349
+ external_exports.string(),
350
+ external_exports.null()
351
+ ]),
352
+ diagnostics: external_exports.union([
353
+ external_exports.record(external_exports.string(), external_exports.unknown()),
354
+ external_exports.null()
355
+ ])
356
+ });
357
+ var zProjectPreviewStatus = external_exports.enum([
358
+ "PENDING_RETENTION",
359
+ "ACTIVE",
360
+ "EXPIRED"
361
+ ]);
362
+ var zProjectPreview = external_exports.object({
363
+ previewId: external_exports.uuid(),
364
+ gameRevisionId: external_exports.uuid(),
365
+ compiledArtifactId: external_exports.uuid(),
366
+ status: zProjectPreviewStatus,
367
+ sourceRef: external_exports.union([
368
+ external_exports.string(),
369
+ external_exports.null()
370
+ ]),
371
+ retentionRef: external_exports.union([
372
+ external_exports.string(),
373
+ external_exports.null()
374
+ ]),
375
+ expiresAt: external_exports.iso.datetime(),
376
+ createdAt: external_exports.iso.datetime()
377
+ });
378
+ var zProjectReleaseStatus = external_exports.enum([
379
+ "PENDING_RETENTION",
380
+ "ACTIVE",
381
+ "REVOKED"
382
+ ]);
383
+ var zProjectCommitReleaseStatus = external_exports.object({
384
+ releaseId: external_exports.uuid(),
385
+ gameRevisionId: external_exports.uuid(),
386
+ compiledArtifactId: external_exports.uuid(),
387
+ status: zProjectReleaseStatus,
388
+ retentionRef: external_exports.union([
389
+ external_exports.string(),
390
+ external_exports.null()
391
+ ]),
392
+ current: external_exports.boolean(),
393
+ createdAt: external_exports.iso.datetime()
394
+ });
395
+ var zProjectCommitStatus = external_exports.object({
396
+ projectId: external_exports.uuid(),
397
+ commitOid: external_exports.string().regex(/^[a-f0-9]{40,64}$/),
398
+ source: zProjectCommitSourceStatus,
399
+ gameRevision: zProjectCommitGameRevisionStatus,
400
+ builds: external_exports.array(zProjectCommitBuildStatus),
401
+ previews: external_exports.array(zProjectPreview),
402
+ releases: external_exports.array(zProjectCommitReleaseStatus)
403
+ });
404
+ var zCreateProjectPreviewRequest = external_exports.object({
405
+ commitOid: external_exports.string().regex(/^[a-f0-9]{40,64}$/)
406
+ });
407
+ var zPublishProjectReleaseRequest = external_exports.object({
408
+ commitOid: external_exports.string().regex(/^[a-f0-9]{40,64}$/)
409
+ });
410
+ var zProjectRelease = external_exports.object({
411
+ releaseId: external_exports.uuid(),
412
+ gameRevisionId: external_exports.uuid(),
413
+ compiledArtifactId: external_exports.uuid(),
414
+ status: zProjectReleaseStatus,
415
+ retentionRef: external_exports.union([
416
+ external_exports.string(),
417
+ external_exports.null()
418
+ ]),
419
+ createdAt: external_exports.iso.datetime()
420
+ });
421
+ var zGameRevisionSourceFile = external_exports.object({
422
+ path: external_exports.string().min(1),
423
+ contentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
424
+ byteSize: external_exports.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
425
+ });
426
+ var zCreateGameRevisionSource = external_exports.object({
427
+ files: external_exports.array(zGameRevisionSourceFile)
428
+ });
429
+ var zPlayersDefinition = external_exports.object({
430
+ minPlayers: external_exports.int().gte(1).lte(10),
431
+ maxPlayers: external_exports.int().gte(1).lte(10),
432
+ optimalPlayers: external_exports.optional(external_exports.int().gte(1).lte(10))
433
+ });
434
+ var zDetachedHomeSpec = external_exports.object({
435
+ type: external_exports.enum(["detached"])
436
+ });
437
+ var zZoneHomeSpec = external_exports.object({
438
+ type: external_exports.enum(["zone"]),
439
+ zoneId: external_exports.string()
440
+ });
441
+ var zSpaceHomeSpec = external_exports.object({
442
+ type: external_exports.enum(["space"]),
443
+ boardId: external_exports.string(),
444
+ spaceId: external_exports.string()
445
+ });
446
+ var zContainerHomeSpec = external_exports.object({
447
+ type: external_exports.enum(["container"]),
448
+ boardId: external_exports.string(),
449
+ containerId: external_exports.string()
450
+ });
451
+ var zBoardEdgeRef = external_exports.object({
452
+ spaces: external_exports.array(external_exports.string()).min(1).max(2)
453
+ });
454
+ var zEdgeHomeSpec = external_exports.object({
455
+ type: external_exports.enum(["edge"]),
456
+ boardId: external_exports.string(),
457
+ ref: zBoardEdgeRef
458
+ });
459
+ var zBoardVertexRef = external_exports.object({
460
+ spaces: external_exports.array(external_exports.string()).min(1).max(4)
461
+ });
462
+ var zVertexHomeSpec = external_exports.object({
463
+ type: external_exports.enum(["vertex"]),
464
+ boardId: external_exports.string(),
465
+ ref: zBoardVertexRef
466
+ });
467
+ var zPieceSlotHostRef = external_exports.object({
468
+ kind: external_exports.enum(["piece"]),
469
+ id: external_exports.string()
470
+ });
471
+ var zDieSlotHostRef = external_exports.object({
472
+ kind: external_exports.enum(["die"]),
473
+ id: external_exports.string()
474
+ });
475
+ var zSlotHostRef = external_exports.union([
476
+ external_exports.object({
477
+ kind: external_exports.literal("piece")
478
+ }).and(zPieceSlotHostRef),
479
+ external_exports.object({
480
+ kind: external_exports.literal("die")
481
+ }).and(zDieSlotHostRef)
482
+ ]);
483
+ var zSlotHomeSpec = external_exports.object({
484
+ type: external_exports.enum(["slot"]),
485
+ host: zSlotHostRef,
486
+ slotId: external_exports.string()
487
+ });
488
+ var zComponentHomeSpec = external_exports.union([
489
+ external_exports.object({
490
+ type: external_exports.literal("detached")
491
+ }).and(zDetachedHomeSpec),
492
+ external_exports.object({
493
+ type: external_exports.literal("zone")
494
+ }).and(zZoneHomeSpec),
495
+ external_exports.object({
496
+ type: external_exports.literal("space")
497
+ }).and(zSpaceHomeSpec),
498
+ external_exports.object({
499
+ type: external_exports.literal("container")
500
+ }).and(zContainerHomeSpec),
501
+ external_exports.object({
502
+ type: external_exports.literal("edge")
503
+ }).and(zEdgeHomeSpec),
504
+ external_exports.object({
505
+ type: external_exports.literal("vertex")
506
+ }).and(zVertexHomeSpec),
507
+ external_exports.object({
508
+ type: external_exports.literal("slot")
509
+ }).and(zSlotHomeSpec)
510
+ ]);
511
+ var zPresetCardSetDefinition = external_exports.object({
512
+ id: external_exports.string().min(1),
513
+ presetId: external_exports.string().min(1),
514
+ name: external_exports.string().min(1),
515
+ type: external_exports.enum(["preset"]),
516
+ defaultHome: zComponentHomeSpec
517
+ });
518
+ var zJsonValue = external_exports.union([
519
+ external_exports.string(),
520
+ external_exports.int(),
521
+ external_exports.number(),
522
+ external_exports.boolean(),
523
+ external_exports.null(),
524
+ external_exports.array(external_exports.lazy(() => zJsonValue)),
525
+ external_exports.record(external_exports.string(), external_exports.lazy(() => zJsonValue))
526
+ ]);
527
+ var zPropertySchema = external_exports.object({
528
+ type: external_exports.enum([
529
+ "string",
530
+ "integer",
531
+ "number",
532
+ "boolean",
533
+ "zoneId",
534
+ "cardId",
535
+ "playerId",
536
+ "boardId",
537
+ "edgeId",
538
+ "vertexId",
539
+ "spaceId",
540
+ "pieceId",
541
+ "dieId",
542
+ "resourceId",
543
+ "array",
544
+ "object",
545
+ "record",
546
+ "enum"
547
+ ]),
548
+ description: external_exports.optional(external_exports.string()),
549
+ optional: external_exports.optional(external_exports.boolean()).default(false),
550
+ nullable: external_exports.optional(external_exports.boolean()).default(false),
551
+ default: external_exports.optional(zJsonValue),
552
+ get items() {
553
+ return external_exports.optional(external_exports.lazy(() => zPropertySchema));
554
+ },
555
+ get properties() {
556
+ return external_exports.optional(external_exports.record(external_exports.string(), external_exports.lazy(() => zPropertySchema)));
557
+ },
558
+ enums: external_exports.optional(external_exports.array(external_exports.string())),
559
+ get values() {
560
+ return external_exports.optional(external_exports.lazy(() => zPropertySchema));
561
+ }
562
+ });
563
+ var zObjectSchema = external_exports.object({
564
+ properties: external_exports.record(external_exports.string(), zPropertySchema)
565
+ });
566
+ var zCardPropertySchemaVariants = external_exports.object({
567
+ shared: external_exports.optional(external_exports.record(external_exports.string(), zPropertySchema)),
568
+ variants: external_exports.record(external_exports.string(), zObjectSchema)
569
+ });
570
+ var zCardPropertySchema = external_exports.union([
571
+ zObjectSchema,
572
+ zCardPropertySchemaVariants
573
+ ]);
574
+ var zComponentVisibilitySpec = external_exports.object({
575
+ faceUp: external_exports.optional(external_exports.boolean()).default(true),
576
+ visibleTo: external_exports.optional(external_exports.array(external_exports.string()))
577
+ });
578
+ var zBoardCard = external_exports.object({
579
+ type: external_exports.string(),
580
+ name: external_exports.string(),
581
+ imageUrl: external_exports.optional(external_exports.string()),
582
+ text: external_exports.optional(external_exports.string()),
583
+ count: external_exports.int().gte(1).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
584
+ cardType: external_exports.optional(external_exports.string()),
585
+ home: external_exports.optional(zComponentHomeSpec),
586
+ visibility: external_exports.optional(zComponentVisibilitySpec),
587
+ properties: external_exports.record(external_exports.string(), zJsonValue)
588
+ });
589
+ var zManualCardSetDefinition = external_exports.object({
590
+ id: external_exports.string().min(1),
591
+ name: external_exports.string().min(1),
592
+ type: external_exports.enum(["manual"]),
593
+ cardSchema: zCardPropertySchema,
594
+ defaultHome: zComponentHomeSpec,
595
+ cards: external_exports.array(zBoardCard).min(0)
596
+ });
597
+ var zCardSetDefinition = external_exports.union([
598
+ external_exports.object({
599
+ type: external_exports.literal("preset")
600
+ }).and(zPresetCardSetDefinition),
601
+ external_exports.object({
602
+ type: external_exports.literal("manual")
603
+ }).and(zManualCardSetDefinition)
604
+ ]);
605
+ var zTopologyScope = external_exports.enum(["shared", "perPlayer"]);
606
+ var zZoneVisibility = external_exports.enum([
607
+ "ownerOnly",
608
+ "public",
609
+ "hidden"
610
+ ]);
611
+ var zZoneSpec = external_exports.object({
612
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
613
+ name: external_exports.string(),
614
+ scope: zTopologyScope,
615
+ allowedCardSetIds: external_exports.optional(external_exports.array(external_exports.string())),
616
+ visibility: external_exports.optional(zZoneVisibility).default("public")
617
+ });
618
+ var zBoardSpaceSpec = external_exports.object({
619
+ id: external_exports.string(),
620
+ name: external_exports.optional(external_exports.string()),
621
+ typeId: external_exports.optional(external_exports.string()),
622
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
623
+ });
624
+ var zBoardRelationSpec = external_exports.object({
625
+ id: external_exports.optional(external_exports.string()),
626
+ typeId: external_exports.string(),
627
+ fromSpaceId: external_exports.string(),
628
+ toSpaceId: external_exports.string(),
629
+ directed: external_exports.optional(external_exports.boolean()).default(false),
630
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
631
+ });
632
+ var zBoardHostSpec = external_exports.object({
633
+ type: external_exports.enum(["board"])
634
+ });
635
+ var zSpaceHostSpec = external_exports.object({
636
+ type: external_exports.enum(["space"]),
637
+ spaceId: external_exports.string()
638
+ });
639
+ var zBoardContainerHostSpec = external_exports.union([
640
+ external_exports.object({
641
+ type: external_exports.literal("board")
642
+ }).and(zBoardHostSpec),
643
+ external_exports.object({
644
+ type: external_exports.literal("space")
645
+ }).and(zSpaceHostSpec)
646
+ ]);
647
+ var zBoardContainerSpec = external_exports.object({
648
+ id: external_exports.string(),
649
+ name: external_exports.string(),
650
+ host: zBoardContainerHostSpec,
651
+ allowedCardSetIds: external_exports.optional(external_exports.array(external_exports.string())),
652
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
653
+ });
654
+ var zGenericBoardTemplateSpec = external_exports.object({
655
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
656
+ name: external_exports.string(),
657
+ layout: external_exports.enum(["generic"]),
658
+ typeId: external_exports.optional(external_exports.string()),
659
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
660
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
661
+ relationFieldsSchema: external_exports.optional(zObjectSchema),
662
+ containerFieldsSchema: external_exports.optional(zObjectSchema),
663
+ spaces: external_exports.optional(external_exports.array(zBoardSpaceSpec)).default([]),
664
+ relations: external_exports.optional(external_exports.array(zBoardRelationSpec)).default([]),
665
+ containers: external_exports.optional(external_exports.array(zBoardContainerSpec)).default([])
666
+ });
667
+ var zHexOrientation = external_exports.enum(["pointy-top", "flat-top"]);
668
+ var zHexSpaceSpec = external_exports.object({
669
+ id: external_exports.string(),
670
+ q: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
671
+ r: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
672
+ typeId: external_exports.optional(external_exports.string()),
673
+ label: external_exports.optional(external_exports.string()),
674
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
675
+ });
676
+ var zHexEdgeRef = external_exports.object({
677
+ spaces: external_exports.tuple([external_exports.string(), external_exports.string()])
678
+ });
679
+ var zHexEdgeSpec = external_exports.object({
680
+ ref: zHexEdgeRef,
681
+ typeId: external_exports.optional(external_exports.string()),
682
+ label: external_exports.optional(external_exports.string()),
683
+ tags: external_exports.optional(external_exports.array(external_exports.string())),
684
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
685
+ });
686
+ var zHexVertexRef = external_exports.object({
687
+ spaces: external_exports.tuple([
688
+ external_exports.string(),
689
+ external_exports.string(),
690
+ external_exports.string()
691
+ ])
692
+ });
693
+ var zHexVertexSpec = external_exports.object({
694
+ ref: zHexVertexRef,
695
+ typeId: external_exports.optional(external_exports.string()),
696
+ label: external_exports.optional(external_exports.string()),
697
+ tags: external_exports.optional(external_exports.array(external_exports.string())),
698
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
699
+ });
700
+ var zHexBoardTemplateSpec = external_exports.object({
701
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
702
+ name: external_exports.string(),
703
+ layout: external_exports.enum(["hex"]),
704
+ typeId: external_exports.optional(external_exports.string()),
705
+ orientation: external_exports.optional(zHexOrientation).default("pointy-top"),
706
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
707
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
708
+ edgeFieldsSchema: external_exports.optional(zObjectSchema),
709
+ vertexFieldsSchema: external_exports.optional(zObjectSchema),
710
+ spaces: external_exports.optional(external_exports.array(zHexSpaceSpec)).default([]),
711
+ edges: external_exports.optional(external_exports.array(zHexEdgeSpec)).default([]),
712
+ vertices: external_exports.optional(external_exports.array(zHexVertexSpec)).default([])
713
+ });
714
+ var zSquareSpaceSpec = external_exports.object({
715
+ id: external_exports.string(),
716
+ row: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
717
+ col: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
718
+ typeId: external_exports.optional(external_exports.string()),
719
+ label: external_exports.optional(external_exports.string()),
720
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
721
+ });
722
+ var zSquareEdgeSpec = external_exports.object({
723
+ ref: zBoardEdgeRef,
724
+ typeId: external_exports.optional(external_exports.string()),
725
+ label: external_exports.optional(external_exports.string()),
726
+ tags: external_exports.optional(external_exports.array(external_exports.string())),
727
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
728
+ });
729
+ var zSquareVertexSpec = external_exports.object({
730
+ ref: zBoardVertexRef,
731
+ typeId: external_exports.optional(external_exports.string()),
732
+ label: external_exports.optional(external_exports.string()),
733
+ tags: external_exports.optional(external_exports.array(external_exports.string())),
734
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
735
+ });
736
+ var zSquareBoardTemplateSpec = external_exports.object({
737
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
738
+ name: external_exports.string(),
739
+ layout: external_exports.enum(["square"]),
740
+ typeId: external_exports.optional(external_exports.string()),
741
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
742
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
743
+ relationFieldsSchema: external_exports.optional(zObjectSchema),
744
+ containerFieldsSchema: external_exports.optional(zObjectSchema),
745
+ edgeFieldsSchema: external_exports.optional(zObjectSchema),
746
+ vertexFieldsSchema: external_exports.optional(zObjectSchema),
747
+ spaces: external_exports.optional(external_exports.array(zSquareSpaceSpec)).default([]),
748
+ relations: external_exports.optional(external_exports.array(zBoardRelationSpec)).default([]),
749
+ containers: external_exports.optional(external_exports.array(zBoardContainerSpec)).default([]),
750
+ edges: external_exports.optional(external_exports.array(zSquareEdgeSpec)).default([]),
751
+ vertices: external_exports.optional(external_exports.array(zSquareVertexSpec)).default([])
752
+ });
753
+ var zBoardTemplateSpec = external_exports.union([
754
+ external_exports.object({
755
+ layout: external_exports.literal("generic")
756
+ }).and(zGenericBoardTemplateSpec),
757
+ external_exports.object({
758
+ layout: external_exports.literal("hex")
759
+ }).and(zHexBoardTemplateSpec),
760
+ external_exports.object({
761
+ layout: external_exports.literal("square")
762
+ }).and(zSquareBoardTemplateSpec)
763
+ ]);
764
+ var zGenericBoardSpec = external_exports.object({
765
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
766
+ name: external_exports.string(),
767
+ layout: external_exports.enum(["generic"]),
768
+ typeId: external_exports.optional(external_exports.string()),
769
+ scope: zTopologyScope,
770
+ templateId: external_exports.optional(external_exports.string()),
771
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
772
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
773
+ relationFieldsSchema: external_exports.optional(zObjectSchema),
774
+ containerFieldsSchema: external_exports.optional(zObjectSchema),
775
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
776
+ spaces: external_exports.optional(external_exports.array(zBoardSpaceSpec)).default([]),
777
+ relations: external_exports.optional(external_exports.array(zBoardRelationSpec)).default([]),
778
+ containers: external_exports.optional(external_exports.array(zBoardContainerSpec)).default([])
779
+ });
780
+ var zHexBoardSpec = external_exports.object({
781
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
782
+ name: external_exports.string(),
783
+ layout: external_exports.enum(["hex"]),
784
+ typeId: external_exports.optional(external_exports.string()),
785
+ scope: zTopologyScope,
786
+ templateId: external_exports.optional(external_exports.string()),
787
+ orientation: external_exports.optional(zHexOrientation),
788
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
789
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
790
+ edgeFieldsSchema: external_exports.optional(zObjectSchema),
791
+ vertexFieldsSchema: external_exports.optional(zObjectSchema),
792
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
793
+ spaces: external_exports.optional(external_exports.array(zHexSpaceSpec)).default([]),
794
+ edges: external_exports.optional(external_exports.array(zHexEdgeSpec)).default([]),
795
+ vertices: external_exports.optional(external_exports.array(zHexVertexSpec)).default([])
796
+ });
797
+ var zSquareBoardSpec = external_exports.object({
798
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
799
+ name: external_exports.string(),
800
+ layout: external_exports.enum(["square"]),
801
+ typeId: external_exports.optional(external_exports.string()),
802
+ scope: zTopologyScope,
803
+ templateId: external_exports.optional(external_exports.string()),
804
+ boardFieldsSchema: external_exports.optional(zObjectSchema),
805
+ spaceFieldsSchema: external_exports.optional(zObjectSchema),
806
+ relationFieldsSchema: external_exports.optional(zObjectSchema),
807
+ containerFieldsSchema: external_exports.optional(zObjectSchema),
808
+ edgeFieldsSchema: external_exports.optional(zObjectSchema),
809
+ vertexFieldsSchema: external_exports.optional(zObjectSchema),
810
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
811
+ spaces: external_exports.optional(external_exports.array(zSquareSpaceSpec)).default([]),
812
+ relations: external_exports.optional(external_exports.array(zBoardRelationSpec)).default([]),
813
+ containers: external_exports.optional(external_exports.array(zBoardContainerSpec)).default([]),
814
+ edges: external_exports.optional(external_exports.array(zSquareEdgeSpec)).default([]),
815
+ vertices: external_exports.optional(external_exports.array(zSquareVertexSpec)).default([])
816
+ });
817
+ var zBoardSpec = external_exports.union([
818
+ external_exports.object({
819
+ layout: external_exports.literal("generic")
820
+ }).and(zGenericBoardSpec),
821
+ external_exports.object({
822
+ layout: external_exports.literal("hex")
823
+ }).and(zHexBoardSpec),
824
+ external_exports.object({
825
+ layout: external_exports.literal("square")
826
+ }).and(zSquareBoardSpec)
827
+ ]);
828
+ var zComponentSlotSpec = external_exports.object({
829
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
830
+ name: external_exports.optional(external_exports.string())
831
+ });
832
+ var zPieceTypeSpec = external_exports.object({
833
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
834
+ name: external_exports.string(),
835
+ fieldsSchema: external_exports.optional(zObjectSchema),
836
+ slots: external_exports.optional(external_exports.array(zComponentSlotSpec))
837
+ });
838
+ var zPieceSeedSpec = external_exports.object({
839
+ id: external_exports.optional(external_exports.string()),
840
+ name: external_exports.optional(external_exports.string()),
841
+ typeId: external_exports.string(),
842
+ count: external_exports.optional(external_exports.int().gte(1).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })).default(1),
843
+ ownerId: external_exports.optional(external_exports.string()),
844
+ home: external_exports.optional(zComponentHomeSpec),
845
+ visibility: external_exports.optional(zComponentVisibilitySpec),
846
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
847
+ });
848
+ var zDieTypeSpec = external_exports.object({
849
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
850
+ name: external_exports.string(),
851
+ sides: external_exports.optional(external_exports.int().gte(2).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })).default(6),
852
+ fieldsSchema: external_exports.optional(zObjectSchema),
853
+ slots: external_exports.optional(external_exports.array(zComponentSlotSpec))
854
+ });
855
+ var zDieSeedSpec = external_exports.object({
856
+ id: external_exports.optional(external_exports.string()),
857
+ name: external_exports.optional(external_exports.string()),
858
+ typeId: external_exports.string(),
859
+ count: external_exports.optional(external_exports.int().gte(1).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })).default(1),
860
+ ownerId: external_exports.optional(external_exports.string()),
861
+ home: external_exports.optional(zComponentHomeSpec),
862
+ visibility: external_exports.optional(zComponentVisibilitySpec),
863
+ fields: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue))
864
+ });
865
+ var zResourceDefinition = external_exports.object({
866
+ id: external_exports.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),
867
+ name: external_exports.string(),
868
+ icon: external_exports.optional(external_exports.string())
869
+ });
870
+ var zSetupOptionChoiceSpec = external_exports.object({
871
+ id: external_exports.string(),
872
+ label: external_exports.string(),
873
+ description: external_exports.optional(external_exports.string())
874
+ });
875
+ var zSetupOptionSpec = external_exports.object({
876
+ id: external_exports.string(),
877
+ name: external_exports.string(),
878
+ description: external_exports.optional(external_exports.string()),
879
+ choices: external_exports.optional(external_exports.array(zSetupOptionChoiceSpec)).default([])
880
+ });
881
+ var zSetupProfileSpec = external_exports.object({
882
+ id: external_exports.string(),
883
+ name: external_exports.string(),
884
+ description: external_exports.optional(external_exports.string()),
885
+ optionValues: external_exports.optional(external_exports.record(external_exports.string(), external_exports.string()))
886
+ });
887
+ var zGameTopologyManifest = external_exports.object({
888
+ players: zPlayersDefinition,
889
+ cardSets: external_exports.array(zCardSetDefinition),
890
+ zones: external_exports.optional(external_exports.array(zZoneSpec)).default([]),
891
+ boardTemplates: external_exports.optional(external_exports.array(zBoardTemplateSpec)).default([]),
892
+ boards: external_exports.optional(external_exports.array(zBoardSpec)).default([]),
893
+ pieceTypes: external_exports.optional(external_exports.array(zPieceTypeSpec)).default([]),
894
+ pieceSeeds: external_exports.optional(external_exports.array(zPieceSeedSpec)).default([]),
895
+ dieTypes: external_exports.optional(external_exports.array(zDieTypeSpec)).default([]),
896
+ dieSeeds: external_exports.optional(external_exports.array(zDieSeedSpec)).default([]),
897
+ resources: external_exports.optional(external_exports.array(zResourceDefinition)).default([]),
898
+ setupOptions: external_exports.optional(external_exports.array(zSetupOptionSpec)).default([]),
899
+ setupProfiles: external_exports.optional(external_exports.array(zSetupProfileSpec)).default([])
900
+ });
901
+ var zCreateGameRevisionRequest = external_exports.object({
902
+ baseRevisionDigest: external_exports.optional(external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)),
903
+ scope: external_exports.optional(external_exports.enum(["CANONICAL", "DEV"])),
904
+ source: zCreateGameRevisionSource,
905
+ ruleText: external_exports.string().min(1),
906
+ manifest: zGameTopologyManifest
907
+ });
908
+ var zGameRevision = external_exports.object({
909
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
910
+ sourceTreeHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
911
+ ruleContentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
912
+ manifestContentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
913
+ createdAt: external_exports.iso.datetime()
914
+ });
915
+ var zProjectRevisionSourcesResponse = external_exports.object({
916
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
917
+ sourceRevisionId: external_exports.uuid(),
918
+ sourceTreeHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
919
+ files: external_exports.record(external_exports.string(), external_exports.string()),
920
+ ruleText: external_exports.string(),
921
+ ruleContentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
922
+ manifest: zGameTopologyManifest,
923
+ manifestContentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
924
+ createdAt: external_exports.iso.datetime()
925
+ });
926
+ var zSourceBlobUploadDescriptor = external_exports.object({
927
+ contentHash: external_exports.string(),
928
+ byteSize: external_exports.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
929
+ });
930
+ var zCreateSourceBlobUploadSessionRequest = external_exports.object({
931
+ blobs: external_exports.array(zSourceBlobUploadDescriptor)
932
+ });
933
+ var zSourceBlobUploadTarget = external_exports.object({
934
+ method: external_exports.string(),
935
+ url: external_exports.url(),
936
+ headers: external_exports.record(external_exports.string(), external_exports.string())
937
+ });
938
+ var zSourceBlobUploadSessionEntry = external_exports.object({
939
+ contentHash: external_exports.string(),
940
+ status: external_exports.enum(["exists", "upload_required"]),
941
+ uploadTarget: external_exports.optional(zSourceBlobUploadTarget)
942
+ });
943
+ var zSourceBlobUploadSession = external_exports.object({
944
+ sessionId: external_exports.string(),
945
+ expiresAt: external_exports.iso.datetime(),
946
+ uploads: external_exports.array(zSourceBlobUploadSessionEntry)
947
+ });
948
+ var zQueueCompiledResultJobResponse = external_exports.object({
949
+ jobId: external_exports.uuid()
950
+ });
951
+ var zCompilationDiagnosticSeverity = external_exports.enum(["error", "warning"]);
952
+ var zFileCompilationDiagnostic = external_exports.object({
953
+ type: external_exports.enum(["file"]),
954
+ file: external_exports.string(),
955
+ line: external_exports.int().gte(1),
956
+ column: external_exports.int().gte(1),
957
+ message: external_exports.string(),
958
+ severity: zCompilationDiagnosticSeverity,
959
+ code: external_exports.optional(external_exports.string())
960
+ });
961
+ var zProjectCompilationDiagnosticCategory = external_exports.enum([
962
+ "configuration",
963
+ "module_resolution",
964
+ "project",
965
+ "system",
966
+ "source_validation"
967
+ ]);
968
+ var zProjectCompilationDiagnosticContext = external_exports.object({
969
+ file: external_exports.optional(external_exports.string()),
970
+ details: external_exports.optional(external_exports.string()),
971
+ moduleName: external_exports.optional(external_exports.string()),
972
+ affectedPaths: external_exports.optional(external_exports.array(external_exports.string())),
973
+ expectedSdkVersion: external_exports.optional(external_exports.string()),
974
+ actualSdkVersion: external_exports.optional(external_exports.string())
975
+ });
976
+ var zProjectCompilationDiagnostic = external_exports.object({
977
+ type: external_exports.enum(["project"]),
978
+ category: zProjectCompilationDiagnosticCategory,
979
+ message: external_exports.string(),
980
+ severity: zCompilationDiagnosticSeverity,
981
+ code: external_exports.optional(external_exports.string()),
982
+ context: external_exports.optional(zProjectCompilationDiagnosticContext)
983
+ });
984
+ var zCompilationDiagnostic = external_exports.union([
985
+ external_exports.object({
986
+ type: external_exports.literal("file")
987
+ }).and(zFileCompilationDiagnostic),
988
+ external_exports.object({
989
+ type: external_exports.literal("project")
990
+ }).and(zProjectCompilationDiagnostic)
991
+ ]);
992
+ var zCompiledResultStorageType = external_exports.enum(["local", "object_store"]);
993
+ var zCompiledResult = external_exports.object({
994
+ id: external_exports.uuid(),
995
+ gameId: external_exports.uuid(),
996
+ userId: external_exports.uuid(),
997
+ compilationRequestId: external_exports.optional(external_exports.string()),
998
+ parentResultId: external_exports.optional(external_exports.uuid()),
999
+ lineageRootId: external_exports.optional(external_exports.uuid()),
1000
+ gameRevisionId: external_exports.uuid(),
1001
+ revisionDigest: external_exports.optional(external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)),
1002
+ success: external_exports.boolean().default(true),
1003
+ diagnostics: external_exports.optional(external_exports.array(zCompilationDiagnostic)),
1004
+ appStorageType: zCompiledResultStorageType,
1005
+ appStorageKey: external_exports.optional(external_exports.string()),
1006
+ uiStorageType: zCompiledResultStorageType,
1007
+ uiStorageKey: external_exports.optional(external_exports.string()),
1008
+ artifactStorageFingerprint: external_exports.optional(external_exports.string()),
1009
+ appFingerprint: external_exports.optional(external_exports.string()),
1010
+ uiFingerprint: external_exports.optional(external_exports.string()),
1011
+ sourceRevisionId: external_exports.uuid(),
1012
+ sdkVersion: external_exports.optional(external_exports.string()),
1013
+ createdAt: external_exports.iso.datetime(),
1014
+ lastModifiedAt: external_exports.iso.datetime()
1015
+ });
1016
+ var zListCompiledResultsResponse = external_exports.object({
1017
+ results: external_exports.array(zCompiledResult)
1018
+ });
1019
+ var zUploadInitialProjectionRequest = external_exports.object({
1020
+ projectionJson: external_exports.string()
1021
+ });
1022
+ var zPreviewScreenshotJobResponse = external_exports.object({
1023
+ jobId: external_exports.uuid()
1024
+ });
1025
+ var zSourceChangeMode = external_exports.enum(["incremental", "replace"]);
1026
+ var zSourceFileUpsert = external_exports.object({
1027
+ kind: external_exports.enum(["upsert"]),
1028
+ path: external_exports.string(),
1029
+ contentHash: external_exports.string(),
1030
+ byteSize: external_exports.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1031
+ });
1032
+ var zSourcePathDelete = external_exports.object({
1033
+ kind: external_exports.enum(["delete"]),
1034
+ path: external_exports.string()
1035
+ });
1036
+ var zSourceChangeOperation = external_exports.union([
1037
+ external_exports.object({
1038
+ kind: external_exports.literal("upsert")
1039
+ }).and(zSourceFileUpsert),
1040
+ external_exports.object({
1041
+ kind: external_exports.literal("delete")
1042
+ }).and(zSourcePathDelete)
1043
+ ]);
1044
+ var zCreateSourceRevisionRequest = external_exports.object({
1045
+ baseSourceRevisionId: external_exports.optional(external_exports.uuid()),
1046
+ mode: zSourceChangeMode,
1047
+ changes: external_exports.array(zSourceChangeOperation)
1048
+ });
1049
+ var zEnsureDevCompileRequest = external_exports.object({
1050
+ devFingerprint: external_exports.string(),
1051
+ env: external_exports.string(),
1052
+ sourceRevision: zCreateSourceRevisionRequest,
1053
+ ruleText: external_exports.string(),
1054
+ manifest: zGameTopologyManifest
1055
+ });
1056
+ var zEnsureDevCompileResponse = external_exports.object({
1057
+ reused: external_exports.boolean(),
1058
+ compiledResult: external_exports.optional(zCompiledResult),
1059
+ jobId: external_exports.optional(external_exports.uuid())
1060
+ });
1061
+ var zCreateSessionRequest = external_exports.object({
1062
+ compiledResultId: external_exports.optional(external_exports.uuid()),
1063
+ seed: external_exports.optional(external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })),
1064
+ playerCount: external_exports.optional(external_exports.int()),
1065
+ autoAssignSeats: external_exports.optional(external_exports.boolean()),
1066
+ setupProfileId: external_exports.optional(external_exports.string())
1067
+ });
1068
+ var zSessionActorAuthUser = external_exports.object({
1069
+ kind: external_exports.enum(["AUTH_USER"]),
1070
+ id: external_exports.uuid()
1071
+ });
1072
+ var zSessionActorDemoGuest = external_exports.object({
1073
+ kind: external_exports.enum(["DEMO_GUEST"]),
1074
+ demoActorSessionId: external_exports.uuid()
1075
+ });
1076
+ var zSessionActorPerfOperator = external_exports.object({
1077
+ kind: external_exports.enum(["PERF_OPERATOR"]),
1078
+ perfRunId: external_exports.uuid()
1079
+ });
1080
+ var zSessionActor = external_exports.union([
1081
+ external_exports.object({
1082
+ kind: external_exports.literal("AUTH_USER")
1083
+ }).and(zSessionActorAuthUser),
1084
+ external_exports.object({
1085
+ kind: external_exports.literal("DEMO_GUEST")
1086
+ }).and(zSessionActorDemoGuest),
1087
+ external_exports.object({
1088
+ kind: external_exports.literal("PERF_OPERATOR")
1089
+ }).and(zSessionActorPerfOperator)
1090
+ ]);
1091
+ var zSessionGameSourceUserCompiled = external_exports.object({
1092
+ kind: external_exports.enum(["USER_COMPILED"]),
1093
+ projectId: external_exports.uuid(),
1094
+ revisionDigest: external_exports.string().min(1),
1095
+ compiledResultId: external_exports.uuid()
1096
+ });
1097
+ var zSessionGameSourceDemoRevision = external_exports.object({
1098
+ kind: external_exports.enum(["DEMO_REVISION"]),
1099
+ slug: external_exports.string(),
1100
+ revisionId: external_exports.uuid()
1101
+ });
1102
+ var zSessionGameSource = external_exports.union([
1103
+ external_exports.object({
1104
+ kind: external_exports.literal("USER_COMPILED")
1105
+ }).and(zSessionGameSourceUserCompiled),
1106
+ external_exports.object({
1107
+ kind: external_exports.literal("DEMO_REVISION")
1108
+ }).and(zSessionGameSourceDemoRevision)
1109
+ ]);
1110
+ var zCreateSessionResponse = external_exports.object({
1111
+ sessionId: external_exports.uuid(),
1112
+ shortCode: external_exports.string(),
1113
+ hostActor: zSessionActor,
1114
+ gameSource: zSessionGameSource
1115
+ });
1116
+ var zGameSourcesResponse = external_exports.object({
1117
+ gameRevisionId: external_exports.uuid(),
1118
+ revisionDigest: external_exports.string(),
1119
+ files: external_exports.record(external_exports.string(), external_exports.string()),
1120
+ sourceRevisionId: external_exports.uuid(),
1121
+ treeHash: external_exports.string(),
1122
+ manifestContentHash: external_exports.string(),
1123
+ manifest: zGameTopologyManifest,
1124
+ ruleText: external_exports.string()
1125
+ });
1126
+ var zJobKind = external_exports.enum([
1127
+ "GAME_BUILD",
1128
+ "COMPILE",
1129
+ "PREVIEW_SCREENSHOT"
1130
+ ]);
1131
+ var zJobStatus = external_exports.enum([
1132
+ "PENDING",
1133
+ "RUNNING",
1134
+ "COMPLETED",
1135
+ "FAILED",
1136
+ "CANCELLED",
1137
+ "INTERRUPTED"
1138
+ ]);
1139
+ var zJobSummary = external_exports.object({
1140
+ jobId: external_exports.uuid(),
1141
+ gameId: external_exports.uuid(),
1142
+ projectId: external_exports.optional(external_exports.uuid()),
1143
+ kind: zJobKind,
1144
+ status: zJobStatus,
1145
+ title: external_exports.string(),
1146
+ createdAt: external_exports.iso.datetime(),
1147
+ startedAt: external_exports.optional(external_exports.iso.datetime())
1148
+ });
1149
+ var zActiveJobResponse = external_exports.object({
1150
+ activeJob: external_exports.optional(zJobSummary),
1151
+ hasActiveJob: external_exports.boolean()
1152
+ });
1153
+ var zWorkshopRuleTextResponse = external_exports.object({
1154
+ ruleText: external_exports.string()
1155
+ });
1156
+ var zCompileJobCacheStatus = external_exports.enum(["hit", "miss"]);
1157
+ var zCompileJobCacheSummary = external_exports.object({
1158
+ app: external_exports.optional(zCompileJobCacheStatus),
1159
+ ui: external_exports.optional(zCompileJobCacheStatus)
1160
+ });
1161
+ var zJobNumericMetrics = external_exports.record(external_exports.string(), external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }));
1162
+ var zJobTaskStatus = external_exports.enum([
1163
+ "PENDING",
1164
+ "RUNNING",
1165
+ "COMPLETED",
1166
+ "FAILED"
1167
+ ]);
1168
+ var zJobTaskSummary = external_exports.object({
1169
+ taskKey: external_exports.string(),
1170
+ title: external_exports.string(),
1171
+ status: zJobTaskStatus,
1172
+ latestStatus: external_exports.optional(external_exports.string()),
1173
+ orderIndex: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1174
+ startedAt: external_exports.optional(external_exports.iso.datetime()),
1175
+ completedAt: external_exports.optional(external_exports.iso.datetime())
1176
+ });
1177
+ var zJobDetailResponse = external_exports.object({
1178
+ jobId: external_exports.uuid(),
1179
+ gameId: external_exports.uuid(),
1180
+ projectId: external_exports.optional(external_exports.uuid()),
1181
+ kind: zJobKind,
1182
+ status: zJobStatus,
1183
+ title: external_exports.string(),
1184
+ errorMessage: external_exports.optional(external_exports.string()),
1185
+ createdAt: external_exports.iso.datetime(),
1186
+ startedAt: external_exports.optional(external_exports.iso.datetime()),
1187
+ completedAt: external_exports.optional(external_exports.iso.datetime()),
1188
+ phase: external_exports.optional(external_exports.string()),
1189
+ queuePosition: external_exports.optional(external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })),
1190
+ cache: external_exports.optional(zCompileJobCacheSummary),
1191
+ message: external_exports.optional(external_exports.string()),
1192
+ timings: external_exports.optional(zJobNumericMetrics),
1193
+ memory: external_exports.optional(zJobNumericMetrics),
1194
+ buildPhase: external_exports.optional(external_exports.string()),
1195
+ agentRunId: external_exports.optional(external_exports.string()),
1196
+ tasks: external_exports.array(zJobTaskSummary),
1197
+ createdRuleId: external_exports.optional(external_exports.uuid()),
1198
+ createdManifestId: external_exports.optional(external_exports.uuid()),
1199
+ createdAppScriptId: external_exports.optional(external_exports.uuid()),
1200
+ createdCompiledResultId: external_exports.optional(external_exports.uuid())
1201
+ });
1202
+ var zJobEventBatchResponse = external_exports.object({
1203
+ cursor: external_exports.string(),
1204
+ snapshot: external_exports.optional(zJobDetailResponse),
1205
+ timedOut: external_exports.boolean()
1206
+ });
1207
+ var zCreateGameRunRequest = external_exports.object({
1208
+ gameSpec: zGameSpecForm,
1209
+ ruleText: external_exports.optional(external_exports.string().max(5e4)),
1210
+ parentJobId: external_exports.optional(external_exports.uuid()),
1211
+ retryOfJobId: external_exports.optional(external_exports.uuid())
1212
+ });
1213
+ var zCreateGameRunResponse = external_exports.object({
1214
+ jobId: external_exports.uuid(),
1215
+ gameId: external_exports.uuid()
1216
+ });
1217
+ var zCreateSessionFromReducerSnapshotRequest = external_exports.object({
1218
+ compiledResultId: external_exports.uuid(),
1219
+ seed: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1220
+ playerCount: external_exports.int(),
1221
+ setupProfileId: external_exports.optional(external_exports.string()),
1222
+ baseId: external_exports.string(),
1223
+ scenarioId: external_exports.string(),
1224
+ reducerState: external_exports.record(external_exports.string(), external_exports.unknown()),
1225
+ reducerStateVersion: external_exports.int(),
1226
+ fingerprintMetadata: external_exports.optional(external_exports.record(external_exports.string(), external_exports.string()))
1227
+ });
1228
+ var zSessionSnapshotPhase = external_exports.enum([
1229
+ "lobby",
1230
+ "gameplay",
1231
+ "ended"
1232
+ ]);
1233
+ var zHostSessionStatus = external_exports.enum(["active", "ended"]);
1234
+ var zHistoryEntrySummary = external_exports.object({
1235
+ id: external_exports.string(),
1236
+ generation: external_exports.int(),
1237
+ version: external_exports.int(),
1238
+ timestamp: external_exports.iso.datetime(),
1239
+ description: external_exports.string(),
1240
+ playerId: external_exports.optional(external_exports.string()),
1241
+ actionType: external_exports.optional(external_exports.string()),
1242
+ isCurrent: external_exports.boolean()
1243
+ });
1244
+ var zSessionSnapshotHistory = external_exports.object({
1245
+ entries: external_exports.array(zHistoryEntrySummary),
1246
+ currentIndex: external_exports.int(),
1247
+ canGoBack: external_exports.boolean(),
1248
+ canGoForward: external_exports.boolean()
1249
+ });
1250
+ var zHostSessionContext = external_exports.object({
1251
+ sessionId: external_exports.uuid(),
1252
+ shortCode: external_exports.string(),
1253
+ phase: zSessionSnapshotPhase,
1254
+ status: zHostSessionStatus,
1255
+ hostActor: zSessionActor,
1256
+ gameSource: zSessionGameSource,
1257
+ setupProfileId: external_exports.optional(external_exports.string()),
1258
+ switchablePlayerIds: external_exports.array(external_exports.string()),
1259
+ history: external_exports.optional(zSessionSnapshotHistory)
1260
+ });
1261
+ var zSeatAssignment = external_exports.object({
1262
+ playerId: external_exports.string(),
1263
+ controllerActor: external_exports.optional(zSessionActor),
1264
+ displayName: external_exports.string(),
1265
+ playerColor: external_exports.optional(external_exports.string().regex(/^#[0-9A-Fa-f]{6}$/)),
1266
+ isHost: external_exports.optional(external_exports.boolean()).default(false)
1267
+ });
1268
+ var zHostLobbyView = external_exports.object({
1269
+ seats: external_exports.array(zSeatAssignment),
1270
+ canStart: external_exports.boolean(),
1271
+ hostActor: zSessionActor,
1272
+ setupProfileId: external_exports.optional(external_exports.string())
1273
+ });
1274
+ var zHostLobbySessionSnapshot = external_exports.object({
1275
+ type: external_exports.enum(["lobby"]),
1276
+ context: zHostSessionContext,
1277
+ lobby: zHostLobbyView
1278
+ });
1279
+ var zSimultaneousPhaseSnapshot = external_exports.object({
1280
+ phaseName: external_exports.string(),
1281
+ interactionId: external_exports.string(),
1282
+ actorIds: external_exports.array(external_exports.string()),
1283
+ sealedPlayerIds: external_exports.array(external_exports.string()),
1284
+ pendingPlayerIds: external_exports.array(external_exports.string())
1285
+ });
1286
+ var zHostGameplaySharedView = external_exports.object({
1287
+ activePlayers: external_exports.array(external_exports.string()),
1288
+ currentPhase: external_exports.string(),
1289
+ currentStage: external_exports.union([
1290
+ external_exports.string(),
1291
+ external_exports.null()
1292
+ ]),
1293
+ stageSeats: external_exports.array(external_exports.string()),
1294
+ simultaneousPhase: external_exports.optional(external_exports.union([
1295
+ zSimultaneousPhaseSnapshot,
1296
+ external_exports.null()
1297
+ ])),
1298
+ boardStatic: external_exports.optional(external_exports.union([
1299
+ external_exports.string(),
1300
+ external_exports.null()
1301
+ ])),
1302
+ boardStaticHash: external_exports.optional(external_exports.union([
1303
+ external_exports.string(),
1304
+ external_exports.null()
1305
+ ]))
1306
+ });
1307
+ var zInteractionCommitPolicy = external_exports.object({
1308
+ mode: external_exports.enum(["manual", "autoWhenReady"])
1309
+ });
1310
+ var zSingleInputSelection = external_exports.object({
1311
+ mode: external_exports.literal("single")
1312
+ });
1313
+ var zManyInputSelection = external_exports.object({
1314
+ mode: external_exports.literal("many"),
1315
+ min: external_exports.int(),
1316
+ max: external_exports.optional(external_exports.int()),
1317
+ distinct: external_exports.optional(external_exports.boolean())
1318
+ });
1319
+ var zInputSelection = external_exports.union([
1320
+ external_exports.object({
1321
+ mode: external_exports.literal("single")
1322
+ }).and(zSingleInputSelection),
1323
+ external_exports.object({
1324
+ mode: external_exports.literal("many")
1325
+ }).and(zManyInputSelection)
1326
+ ]);
1327
+ var zInputDomainResolver = external_exports.object({
1328
+ interactionKey: external_exports.optional(external_exports.string()),
1329
+ inputKey: external_exports.string()
1330
+ });
1331
+ var zLazyInputDomainDependencies = external_exports.object({
1332
+ mode: external_exports.enum(["lazy"]),
1333
+ dependsOn: external_exports.array(external_exports.string()),
1334
+ resolver: zInputDomainResolver
1335
+ });
1336
+ var zLazyCardTargetDomain = external_exports.object({
1337
+ type: external_exports.enum(["cardTarget"]),
1338
+ projection: external_exports.enum(["lazy"]),
1339
+ targetKind: external_exports.enum(["card"]),
1340
+ zoneIds: external_exports.array(external_exports.string()),
1341
+ selection: external_exports.optional(zInputSelection),
1342
+ dependencies: zLazyInputDomainDependencies
1343
+ });
1344
+ var zLazyBoardTargetDomain = external_exports.object({
1345
+ type: external_exports.enum(["boardTarget"]),
1346
+ projection: external_exports.enum(["lazy"]),
1347
+ targetKind: external_exports.enum([
1348
+ "edge",
1349
+ "vertex",
1350
+ "space",
1351
+ "tile"
1352
+ ]),
1353
+ boardId: external_exports.string(),
1354
+ valueKind: external_exports.optional(external_exports.enum(["board-id", "player-board-space"])),
1355
+ selection: external_exports.optional(zInputSelection),
1356
+ dependencies: zLazyInputDomainDependencies
1357
+ });
1358
+ var zResourceMapDomainEntry = external_exports.object({
1359
+ resourceId: external_exports.string(),
1360
+ label: external_exports.optional(external_exports.string()),
1361
+ icon: external_exports.optional(external_exports.string()),
1362
+ min: external_exports.int(),
1363
+ max: external_exports.int()
1364
+ });
1365
+ var zResourceMapDomain = external_exports.object({
1366
+ type: external_exports.enum(["resourceMap"]),
1367
+ resources: external_exports.array(zResourceMapDomainEntry),
1368
+ selection: external_exports.optional(zInputSelection)
1369
+ });
1370
+ var zBoundedNumberDomain = external_exports.object({
1371
+ type: external_exports.enum(["boundedNumber"]),
1372
+ min: external_exports.number(),
1373
+ max: external_exports.number(),
1374
+ step: external_exports.optional(external_exports.number()),
1375
+ selection: external_exports.optional(zInputSelection)
1376
+ });
1377
+ var zChoiceDomainOption = external_exports.object({
1378
+ value: external_exports.nullable(external_exports.string()),
1379
+ label: external_exports.string(),
1380
+ icon: external_exports.optional(external_exports.string()),
1381
+ badge: external_exports.optional(external_exports.string()),
1382
+ description: external_exports.optional(external_exports.string()),
1383
+ disabled: external_exports.optional(external_exports.boolean()),
1384
+ disabledReason: external_exports.optional(external_exports.string())
1385
+ });
1386
+ var zAvailableInteractionAvailability = external_exports.object({
1387
+ status: external_exports.enum(["available"])
1388
+ });
1389
+ var zNotYourTurnInteractionAvailability = external_exports.object({
1390
+ status: external_exports.enum(["notYourTurn"]),
1391
+ reason: external_exports.string()
1392
+ });
1393
+ var zInsufficientResourcesInteractionAvailability = external_exports.object({
1394
+ status: external_exports.enum(["insufficientResources"]),
1395
+ reason: external_exports.string(),
1396
+ missingResources: external_exports.record(external_exports.string(), external_exports.int())
1397
+ });
1398
+ var zBlockedInteractionAvailability = external_exports.object({
1399
+ status: external_exports.enum(["blocked"]),
1400
+ reason: external_exports.string(),
1401
+ code: external_exports.optional(external_exports.string())
1402
+ });
1403
+ var zInteractionAvailability = external_exports.union([
1404
+ external_exports.object({
1405
+ status: external_exports.literal("available")
1406
+ }).and(zAvailableInteractionAvailability),
1407
+ external_exports.object({
1408
+ status: external_exports.literal("notYourTurn")
1409
+ }).and(zNotYourTurnInteractionAvailability),
1410
+ external_exports.object({
1411
+ status: external_exports.literal("insufficientResources")
1412
+ }).and(zInsufficientResourcesInteractionAvailability),
1413
+ external_exports.object({
1414
+ status: external_exports.literal("blocked")
1415
+ }).and(zBlockedInteractionAvailability)
1416
+ ]);
1417
+ var zInteractionContextOption = external_exports.object({
1418
+ id: external_exports.string(),
1419
+ label: external_exports.string()
1420
+ });
1421
+ var zInteractionContext = external_exports.object({
1422
+ to: external_exports.string(),
1423
+ title: external_exports.optional(external_exports.string()),
1424
+ payload: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
1425
+ options: external_exports.optional(external_exports.array(zInteractionContextOption))
1426
+ });
1427
+ var zZoneHandles = external_exports.object({
1428
+ cardIds: external_exports.array(external_exports.string()),
1429
+ cardViewsById: external_exports.record(external_exports.string(), external_exports.string()),
1430
+ playableByCardId: external_exports.record(external_exports.string(), external_exports.array(external_exports.string()))
1431
+ });
1432
+ var zHostGameplaySeatView = external_exports.object({
1433
+ actionSetVersion: external_exports.string(),
1434
+ view: external_exports.union([
1435
+ external_exports.string(),
1436
+ external_exports.null()
1437
+ ]),
1438
+ availableInteractionRefs: external_exports.array(external_exports.string()),
1439
+ zones: external_exports.record(external_exports.string(), zZoneHandles)
1440
+ });
1441
+ var zHostEndedSessionSnapshot = external_exports.object({
1442
+ type: external_exports.enum(["ended"]),
1443
+ context: zHostSessionContext,
1444
+ lobby: zHostLobbyView
1445
+ });
1446
+ var zHostSessionSnapshotReason = external_exports.enum([
1447
+ "load",
1448
+ "start",
1449
+ "switch-player",
1450
+ "resync"
1451
+ ]);
1452
+ var zHostSessionLobbyUpdatedEvent = external_exports.object({
1453
+ type: external_exports.enum(["session.lobbyUpdated"]),
1454
+ context: zHostSessionContext,
1455
+ lobby: zHostLobbyView
1456
+ });
1457
+ var zHostSessionEventCausation = external_exports.object({
1458
+ clientActionId: external_exports.optional(external_exports.string())
1459
+ });
1460
+ var zHostSessionHistoryUpdatedEvent = external_exports.object({
1461
+ type: external_exports.enum(["session.historyUpdated"]),
1462
+ context: zHostSessionContext
1463
+ });
1464
+ var zHostSessionEndedEvent = external_exports.object({
1465
+ type: external_exports.enum(["session.ended"]),
1466
+ context: zHostSessionContext,
1467
+ lobby: zHostLobbyView
1468
+ });
1469
+ var zHostSessionErrorEvent = external_exports.object({
1470
+ type: external_exports.enum(["session.error"]),
1471
+ sessionId: external_exports.uuid(),
1472
+ code: external_exports.optional(external_exports.string()),
1473
+ message: external_exports.string(),
1474
+ recoverable: external_exports.boolean()
1475
+ });
1476
+ var zLogMessageDto = external_exports.object({
1477
+ id: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1478
+ type: external_exports.string(),
1479
+ message: external_exports.string(),
1480
+ timestamp: external_exports.iso.datetime()
1481
+ });
1482
+ var zSessionLogBatchResponse = external_exports.object({
1483
+ cursor: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1484
+ logs: external_exports.array(zLogMessageDto),
1485
+ timedOut: external_exports.boolean()
1486
+ });
1487
+ var zGameplayCapabilityResponse = external_exports.object({
1488
+ websocketUrl: external_exports.url(),
1489
+ token: external_exports.string().min(1),
1490
+ expiresAt: external_exports.iso.datetime(),
1491
+ sessionId: external_exports.uuid(),
1492
+ playerId: external_exports.string().min(1),
1493
+ permissions: external_exports.array(external_exports.enum([
1494
+ "observe",
1495
+ "submit",
1496
+ "restore-history"
1497
+ ]))
1498
+ });
1499
+ var zPerfRunTargetClass = external_exports.enum([
1500
+ "local-aws",
1501
+ "staging",
1502
+ "production"
1503
+ ]);
1504
+ var zCreatePerfRunRequest = external_exports.object({
1505
+ laneId: external_exports.string().min(1).max(120),
1506
+ scenario: external_exports.string().min(1).max(200),
1507
+ candidateSha: external_exports.string().min(7).max(64),
1508
+ targetClass: zPerfRunTargetClass,
1509
+ gameSource: zSessionGameSource,
1510
+ players: zPlayersDefinition,
1511
+ playerCount: external_exports.int().gte(1).lte(64),
1512
+ autoAssignSeats: external_exports.optional(external_exports.boolean()).default(true),
1513
+ rngSeed: external_exports.optional(external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })),
1514
+ setupProfileId: external_exports.optional(external_exports.string().min(1).max(120)),
1515
+ sessionCount: external_exports.int().gte(1).lte(1e4),
1516
+ commandsPerSession: external_exports.int().gte(1).lte(1e5),
1517
+ prerequisiteReceipts: external_exports.optional(external_exports.array(external_exports.string().min(1).max(500)).max(50))
1518
+ });
1519
+ var zPerfRunStatus = external_exports.enum([
1520
+ "open",
1521
+ "closed",
1522
+ "expired"
1523
+ ]);
1524
+ var zPerfRunSession = external_exports.object({
1525
+ sessionId: external_exports.uuid(),
1526
+ shortCode: external_exports.string().min(1),
1527
+ playerIds: external_exports.array(external_exports.string().min(1)).min(1)
1528
+ });
1529
+ var zPerfRun = external_exports.object({
1530
+ runId: external_exports.uuid(),
1531
+ status: zPerfRunStatus,
1532
+ callerProvider: external_exports.string().min(1),
1533
+ callerSubject: external_exports.string().min(1),
1534
+ scopes: external_exports.array(external_exports.string()),
1535
+ candidateSha: external_exports.string().min(7).max(64),
1536
+ laneId: external_exports.string().min(1),
1537
+ scenario: external_exports.string().min(1),
1538
+ targetClass: zPerfRunTargetClass,
1539
+ createdAt: external_exports.iso.datetime(),
1540
+ expiresAt: external_exports.iso.datetime(),
1541
+ closedAt: external_exports.optional(external_exports.iso.datetime()),
1542
+ closeOutcome: external_exports.optional(external_exports.string().min(1).max(120)),
1543
+ cleanupRequested: external_exports.optional(external_exports.boolean()),
1544
+ observationBundlePath: external_exports.optional(external_exports.string().max(1e3)),
1545
+ createdSessions: external_exports.array(zPerfRunSession)
1546
+ });
1547
+ var zPerfGameplayPermission = external_exports.enum(["observe", "submit"]);
1548
+ var zIssuePerfCapabilityParticipant = external_exports.object({
1549
+ sessionId: external_exports.uuid(),
1550
+ playerId: external_exports.string().min(1),
1551
+ permissions: external_exports.array(zPerfGameplayPermission).min(1)
1552
+ });
1553
+ var zIssuePerfCapabilitiesRequest = external_exports.object({
1554
+ participants: external_exports.array(zIssuePerfCapabilityParticipant).min(1)
1555
+ });
1556
+ var zPerfGameplayCapability = external_exports.object({
1557
+ token: external_exports.string().min(1),
1558
+ authorityWebSocketUrl: external_exports.url(),
1559
+ expiresAt: external_exports.iso.datetime(),
1560
+ runId: external_exports.uuid(),
1561
+ sessionId: external_exports.uuid(),
1562
+ playerId: external_exports.string().min(1),
1563
+ permissions: external_exports.array(zPerfGameplayPermission).min(1)
1564
+ });
1565
+ var zIssuePerfCapabilitiesResponse = external_exports.object({
1566
+ capabilities: external_exports.array(zPerfGameplayCapability)
1567
+ });
1568
+ var zPerfCommitEvidence = external_exports.object({
1569
+ runId: external_exports.uuid(),
1570
+ sessionId: external_exports.uuid(),
1571
+ clientActionId: external_exports.string().min(1),
1572
+ generation: external_exports.int().gte(0),
1573
+ committedVersion: external_exports.int().gte(0),
1574
+ leaseTerm: external_exports.optional(external_exports.int().gte(0)),
1575
+ ownerTaskId: external_exports.optional(external_exports.string()),
1576
+ stateHash: external_exports.optional(external_exports.string()),
1577
+ committedAt: external_exports.optional(external_exports.iso.datetime())
1578
+ });
1579
+ var zPerfCommitEvidencePage = external_exports.object({
1580
+ runId: external_exports.uuid(),
1581
+ rows: external_exports.array(zPerfCommitEvidence),
1582
+ nextCursor: external_exports.optional(external_exports.string()),
1583
+ complete: external_exports.boolean()
1584
+ });
1585
+ var zPerfTelemetryEvidence = external_exports.object({
1586
+ sequence: external_exports.int().gte(0),
1587
+ runId: external_exports.uuid(),
1588
+ observedAt: external_exports.iso.datetime(),
1589
+ kind: external_exports.enum(["timing", "count"]),
1590
+ name: external_exports.string().min(1),
1591
+ durationMs: external_exports.optional(external_exports.number()),
1592
+ value: external_exports.optional(external_exports.number()),
1593
+ attributes: external_exports.record(external_exports.string(), external_exports.string())
1594
+ });
1595
+ var zPerfTelemetryEvidencePage = external_exports.object({
1596
+ runId: external_exports.uuid(),
1597
+ events: external_exports.array(zPerfTelemetryEvidence),
1598
+ nextCursor: external_exports.optional(external_exports.string()),
1599
+ complete: external_exports.boolean()
1600
+ });
1601
+ var zClosePerfRunRequest = external_exports.object({
1602
+ outcome: external_exports.string().min(1).max(120),
1603
+ cleanupRequested: external_exports.optional(external_exports.boolean()).default(true),
1604
+ observationBundlePath: external_exports.optional(external_exports.string().max(1e3))
1605
+ });
1606
+ var zGameOutcomeReason = external_exports.object({
1607
+ code: external_exports.string().min(1),
1608
+ message: external_exports.optional(external_exports.string().min(1))
1609
+ });
1610
+ var zGameOutcomeResult = external_exports.enum([
1611
+ "win",
1612
+ "draw",
1613
+ "loss",
1614
+ "eliminated"
1615
+ ]);
1616
+ var zGameOutcomeScoreComponent = external_exports.object({
1617
+ id: external_exports.string().min(1),
1618
+ label: external_exports.string().min(1),
1619
+ value: external_exports.number()
1620
+ });
1621
+ var zGameOutcomeTieBreak = external_exports.object({
1622
+ id: external_exports.string().min(1),
1623
+ label: external_exports.string().min(1),
1624
+ value: external_exports.union([
1625
+ external_exports.number(),
1626
+ external_exports.string().min(1)
1627
+ ])
1628
+ });
1629
+ var zGameOutcomeStanding = external_exports.object({
1630
+ playerId: external_exports.string().min(1),
1631
+ rank: external_exports.int().gte(1),
1632
+ result: zGameOutcomeResult,
1633
+ score: external_exports.optional(external_exports.number()),
1634
+ scoreBreakdown: external_exports.optional(external_exports.array(zGameOutcomeScoreComponent)),
1635
+ tieBreaks: external_exports.optional(external_exports.array(zGameOutcomeTieBreak))
1636
+ });
1637
+ var zGameOutcome = external_exports.object({
1638
+ reason: zGameOutcomeReason,
1639
+ standings: external_exports.array(zGameOutcomeStanding).min(1)
1640
+ });
1641
+ var zSessionEndedCallbackRequest = external_exports.object({
1642
+ generation: external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1643
+ version: external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1644
+ stateHash: external_exports.string().min(1),
1645
+ endedAt: external_exports.iso.datetime(),
1646
+ outcome: zGameOutcome
1647
+ });
1648
+ var zSessionEndedCallbackResponse = external_exports.object({
1649
+ applied: external_exports.boolean()
1650
+ });
1651
+ var zUpdateSeatRequest = external_exports.object({
1652
+ displayName: external_exports.optional(external_exports.string().min(1).max(30)),
1653
+ playerColor: external_exports.optional(external_exports.string().regex(/^#[0-9A-Fa-f]{6}$/))
1654
+ });
1655
+ var zDemoGameSummary = external_exports.object({
1656
+ slug: external_exports.string(),
1657
+ name: external_exports.string(),
1658
+ description: external_exports.optional(external_exports.string()),
1659
+ overview: external_exports.optional(external_exports.string()),
1660
+ thumbnailUrl: external_exports.optional(external_exports.string()),
1661
+ creator: external_exports.optional(external_exports.string()),
1662
+ minPlayers: external_exports.optional(external_exports.int().gte(1)),
1663
+ maxPlayers: external_exports.optional(external_exports.int().gte(1)),
1664
+ playTimeMinMinutes: external_exports.optional(external_exports.int().gte(1)),
1665
+ playTimeMaxMinutes: external_exports.optional(external_exports.int().gte(1)),
1666
+ difficulty: external_exports.optional(external_exports.int().gte(1).lte(5)),
1667
+ mechanics: external_exports.optional(external_exports.array(external_exports.string())),
1668
+ categories: external_exports.optional(external_exports.array(external_exports.string())),
1669
+ heroImageUrl: external_exports.optional(external_exports.string()),
1670
+ estimatedMinutes: external_exports.optional(external_exports.int().gte(1)),
1671
+ demoPlayerCount: external_exports.int().gte(1),
1672
+ registrationStatus: external_exports.enum([
1673
+ "PENDING",
1674
+ "REGISTERING",
1675
+ "REGISTERED",
1676
+ "FAILED"
1677
+ ]),
1678
+ playable: external_exports.boolean()
1679
+ });
1680
+ var zDemoGameDetails = zDemoGameSummary.and(external_exports.object({
1681
+ activeRevisionId: external_exports.optional(external_exports.uuid()),
1682
+ bundleFingerprint: external_exports.optional(external_exports.string()),
1683
+ error: external_exports.optional(external_exports.string())
1684
+ }));
1685
+ var zCreateDemoSessionRequest = external_exports.object({
1686
+ seed: external_exports.optional(external_exports.string().regex(/^(0|-?[1-9][0-9]*)$/))
1687
+ });
1688
+ var zDemoSessionSeatBinding = external_exports.object({
1689
+ seat: external_exports.int().gte(0),
1690
+ playerId: external_exports.string().min(1),
1691
+ controllable: external_exports.boolean(),
1692
+ selected: external_exports.boolean()
1693
+ });
1694
+ var zDemoReducerArtifactIdentity = external_exports.object({
1695
+ scheme: external_exports.enum(["dreamboard-reducer-artifact@1"]),
1696
+ digest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
1697
+ });
1698
+ var zDemoSessionResponse = external_exports.object({
1699
+ sessionId: external_exports.uuid(),
1700
+ shortCode: external_exports.string(),
1701
+ demoActorSessionId: external_exports.uuid(),
1702
+ guestSessionSecret: external_exports.string(),
1703
+ seed: external_exports.string().regex(/^(0|-?[1-9][0-9]*)$/),
1704
+ selectedPlayerId: external_exports.optional(external_exports.string()),
1705
+ playerCount: external_exports.int().gte(1),
1706
+ seatBindings: external_exports.array(zDemoSessionSeatBinding).min(1),
1707
+ setupProfileId: external_exports.optional(external_exports.string()),
1708
+ reducerArtifactIdentity: zDemoReducerArtifactIdentity,
1709
+ reducerArtifactHash: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
1710
+ gameSource: zSessionGameSource
1711
+ });
1712
+ var zHistoryUpdatedEvent = external_exports.object({
1713
+ type: external_exports.enum(["history.updated"]),
1714
+ history: zSessionSnapshotHistory
1715
+ });
1716
+ var zGameplayDurableCommitEvidence = external_exports.object({
1717
+ sessionId: external_exports.uuid(),
1718
+ clientActionId: external_exports.string().min(1),
1719
+ generation: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1720
+ committedVersion: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1721
+ leaseTerm: external_exports.optional(external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })),
1722
+ ownerTaskId: external_exports.optional(external_exports.string()),
1723
+ stateHash: external_exports.optional(external_exports.string()),
1724
+ committedAt: external_exports.optional(external_exports.iso.datetime())
1725
+ });
1726
+ var zParameterType = external_exports.enum([
1727
+ "cardId",
1728
+ "cardType",
1729
+ "playerId",
1730
+ "string",
1731
+ "number",
1732
+ "boolean",
1733
+ "zoneId",
1734
+ "pieceId",
1735
+ "dieId",
1736
+ "boardId",
1737
+ "edgeId",
1738
+ "vertexId",
1739
+ "spaceId",
1740
+ "resourceId"
1741
+ ]);
1742
+ var zActionParameterDefinition = external_exports.object({
1743
+ name: external_exports.string(),
1744
+ type: zParameterType,
1745
+ required: external_exports.optional(external_exports.boolean()).default(true),
1746
+ array: external_exports.optional(external_exports.boolean()).default(false),
1747
+ minLength: external_exports.optional(external_exports.int().gte(0)),
1748
+ maxLength: external_exports.optional(external_exports.int().gte(0)),
1749
+ cardSetId: external_exports.optional(external_exports.string()),
1750
+ description: external_exports.optional(external_exports.string())
1751
+ });
1752
+ var zActionDefinition = external_exports.object({
1753
+ actionType: external_exports.string(),
1754
+ displayName: external_exports.string(),
1755
+ description: external_exports.optional(external_exports.string()),
1756
+ parameters: external_exports.array(zActionParameterDefinition),
1757
+ errorCodes: external_exports.optional(external_exports.array(external_exports.string()))
1758
+ });
1759
+ var zCardSetSourceType = external_exports.enum([
1760
+ "preset",
1761
+ "csv",
1762
+ "manual"
1763
+ ]);
1764
+ var zBoardLayout = external_exports.enum([
1765
+ "generic",
1766
+ "hex",
1767
+ "square"
1768
+ ]);
1769
+ var zGame = external_exports.object({
1770
+ id: external_exports.uuid(),
1771
+ projectId: external_exports.uuid(),
1772
+ slug: external_exports.string(),
1773
+ name: external_exports.string().min(1).max(255),
1774
+ description: external_exports.optional(external_exports.string()),
1775
+ ruleText: external_exports.optional(external_exports.string()),
1776
+ public: external_exports.boolean().default(false),
1777
+ createdAt: external_exports.iso.datetime(),
1778
+ updatedAt: external_exports.iso.datetime(),
1779
+ scriptId: external_exports.optional(external_exports.string()),
1780
+ previewStorageKey: external_exports.optional(external_exports.string()),
1781
+ initialProjectionKey: external_exports.optional(external_exports.string()),
1782
+ metadata: external_exports.optional(zGameMetadata),
1783
+ verified: external_exports.boolean().default(false),
1784
+ verifiedAt: external_exports.optional(external_exports.iso.datetime())
1785
+ });
1786
+ var zCreateGameRequest = external_exports.object({
1787
+ slug: external_exports.optional(external_exports.string()),
1788
+ name: external_exports.optional(external_exports.string().max(200)),
1789
+ description: external_exports.optional(external_exports.string().max(1e3)),
1790
+ ruleText: external_exports.optional(external_exports.string().max(5e4)),
1791
+ enhanceRule: external_exports.optional(external_exports.boolean()).default(false)
1792
+ });
1793
+ var zUpdateGameRequest = external_exports.object({
1794
+ name: external_exports.optional(external_exports.string().min(1).max(255)),
1795
+ description: external_exports.optional(external_exports.string()),
1796
+ rule: external_exports.optional(external_exports.string()),
1797
+ public: external_exports.optional(external_exports.boolean()),
1798
+ manifest: external_exports.optional(zGameTopologyManifest),
1799
+ metadata: external_exports.optional(zGameMetadata)
1800
+ });
1801
+ var zDeleteGameResponse = external_exports.object({
1802
+ deleted: external_exports.boolean()
1803
+ });
1804
+ var zSourceRevision = external_exports.object({
1805
+ id: external_exports.uuid(),
1806
+ gameId: external_exports.uuid(),
1807
+ userId: external_exports.uuid(),
1808
+ parentSourceRevisionId: external_exports.optional(external_exports.uuid()),
1809
+ treeHash: external_exports.string(),
1810
+ fileCount: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1811
+ createdAt: external_exports.iso.datetime()
1812
+ });
1813
+ var zQueueCompiledResultJobRequest = external_exports.object({
1814
+ gameRevisionId: external_exports.uuid(),
1815
+ devFingerprint: external_exports.optional(external_exports.string())
1816
+ });
1817
+ var zInputDomain = external_exports.union([
1818
+ external_exports.object({
1819
+ type: external_exports.literal("cardTarget")
1820
+ }).and(external_exports.lazy(() => external_exports.lazy(() => zCardTargetDomain))),
1821
+ external_exports.object({
1822
+ type: external_exports.literal("boardTarget")
1823
+ }).and(external_exports.lazy(() => external_exports.lazy(() => zBoardTargetDomain))),
1824
+ external_exports.object({
1825
+ type: external_exports.literal("resourceMap")
1826
+ }).and(zResourceMapDomain),
1827
+ external_exports.object({
1828
+ type: external_exports.literal("boundedNumber")
1829
+ }).and(zBoundedNumberDomain),
1830
+ external_exports.object({
1831
+ type: external_exports.literal("choice")
1832
+ }).and(external_exports.lazy(() => external_exports.lazy(() => zChoiceDomain))),
1833
+ external_exports.object({
1834
+ type: external_exports.literal("choiceList")
1835
+ }).and(external_exports.lazy(() => external_exports.lazy(() => zChoiceListDomain)))
1836
+ ]);
1837
+ var zInputDomainDependencyCase = external_exports.object({
1838
+ when: external_exports.record(external_exports.string(), external_exports.string()),
1839
+ domain: zInputDomain
1840
+ });
1841
+ var zEagerInputDomainDependencies = external_exports.object({
1842
+ mode: external_exports.enum(["eager"]),
1843
+ dependentCases: external_exports.array(zInputDomainDependencyCase)
1844
+ });
1845
+ var zResolvedCardTargetDomain = external_exports.object({
1846
+ type: external_exports.enum(["cardTarget"]),
1847
+ projection: external_exports.enum(["resolved"]),
1848
+ targetKind: external_exports.enum(["card"]),
1849
+ zoneIds: external_exports.array(external_exports.string()),
1850
+ eligibleTargets: external_exports.array(external_exports.string()),
1851
+ selection: external_exports.optional(zInputSelection),
1852
+ dependencies: external_exports.optional(zEagerInputDomainDependencies)
1853
+ });
1854
+ var zCardTargetDomain = external_exports.union([
1855
+ external_exports.object({
1856
+ projection: external_exports.literal("resolved")
1857
+ }).and(zResolvedCardTargetDomain),
1858
+ external_exports.object({
1859
+ projection: external_exports.literal("lazy")
1860
+ }).and(zLazyCardTargetDomain)
1861
+ ]);
1862
+ var zResolvedBoardTargetDomain = external_exports.object({
1863
+ type: external_exports.enum(["boardTarget"]),
1864
+ projection: external_exports.enum(["resolved"]),
1865
+ targetKind: external_exports.enum([
1866
+ "edge",
1867
+ "vertex",
1868
+ "space",
1869
+ "tile"
1870
+ ]),
1871
+ boardId: external_exports.string(),
1872
+ valueKind: external_exports.optional(external_exports.enum(["board-id", "player-board-space"])),
1873
+ eligibleTargets: external_exports.array(external_exports.string()),
1874
+ selection: external_exports.optional(zInputSelection),
1875
+ dependencies: external_exports.optional(zEagerInputDomainDependencies)
1876
+ });
1877
+ var zBoardTargetDomain = external_exports.union([
1878
+ external_exports.object({
1879
+ projection: external_exports.literal("resolved")
1880
+ }).and(zResolvedBoardTargetDomain),
1881
+ external_exports.object({
1882
+ projection: external_exports.literal("lazy")
1883
+ }).and(zLazyBoardTargetDomain)
1884
+ ]);
1885
+ var zChoiceDomain = external_exports.object({
1886
+ type: external_exports.enum(["choice"]),
1887
+ choices: external_exports.array(zChoiceDomainOption),
1888
+ selection: external_exports.optional(zInputSelection),
1889
+ dependencies: external_exports.optional(zEagerInputDomainDependencies)
1890
+ });
1891
+ var zChoiceListDomain = external_exports.object({
1892
+ type: external_exports.enum(["choiceList"]),
1893
+ choices: external_exports.array(zChoiceDomainOption),
1894
+ min: external_exports.optional(external_exports.number()),
1895
+ max: external_exports.optional(external_exports.number()),
1896
+ selection: external_exports.optional(zInputSelection),
1897
+ dependencies: external_exports.optional(zEagerInputDomainDependencies)
1898
+ });
1899
+ var zInteractionInputDescriptor = external_exports.object({
1900
+ key: external_exports.string(),
1901
+ kind: external_exports.string(),
1902
+ domain: zInputDomain,
1903
+ defaultValue: external_exports.optional(zJsonValue)
1904
+ });
1905
+ var zInteractionDescriptorBase = external_exports.object({
1906
+ phaseName: external_exports.string(),
1907
+ interactionKey: external_exports.string(),
1908
+ interactionId: external_exports.string(),
1909
+ descriptorDigest: external_exports.optional(external_exports.string()),
1910
+ draftDigest: external_exports.optional(external_exports.string()),
1911
+ zoneId: external_exports.optional(external_exports.string()),
1912
+ commit: zInteractionCommitPolicy,
1913
+ inputs: external_exports.array(zInteractionInputDescriptor),
1914
+ cost: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
1915
+ currentResources: external_exports.optional(external_exports.record(external_exports.string(), zJsonValue)),
1916
+ availability: zInteractionAvailability
1917
+ });
1918
+ var zActionInteractionDescriptor = zInteractionDescriptorBase.and(external_exports.object({
1919
+ kind: external_exports.enum(["action"])
1920
+ }));
1921
+ var zPromptInteractionDescriptor = zInteractionDescriptorBase.and(external_exports.object({
1922
+ kind: external_exports.enum(["prompt"]),
1923
+ context: zInteractionContext
1924
+ }));
1925
+ var zInteractionDescriptor = external_exports.union([
1926
+ external_exports.object({
1927
+ kind: external_exports.literal("action")
1928
+ }).and(zActionInteractionDescriptor),
1929
+ external_exports.object({
1930
+ kind: external_exports.literal("prompt")
1931
+ }).and(zPromptInteractionDescriptor)
1932
+ ]);
1933
+ var zHostPlayerGameplayView = external_exports.object({
1934
+ version: external_exports.int(),
1935
+ actionSetVersion: external_exports.string(),
1936
+ perspectivePlayerId: external_exports.string(),
1937
+ controllablePlayerIds: external_exports.array(external_exports.string()),
1938
+ shared: zHostGameplaySharedView,
1939
+ interactionsByRef: external_exports.record(external_exports.string(), zInteractionDescriptor),
1940
+ seats: external_exports.record(external_exports.string(), zHostGameplaySeatView)
1941
+ });
1942
+ var zHostGameplaySessionSnapshot = external_exports.object({
1943
+ type: external_exports.enum(["gameplay"]),
1944
+ context: zHostSessionContext,
1945
+ lobby: zHostLobbyView,
1946
+ gameplay: zHostPlayerGameplayView
1947
+ });
1948
+ var zHostSessionSnapshot = external_exports.union([
1949
+ external_exports.object({
1950
+ type: external_exports.literal("lobby")
1951
+ }).and(zHostLobbySessionSnapshot),
1952
+ external_exports.object({
1953
+ type: external_exports.literal("gameplay")
1954
+ }).and(zHostGameplaySessionSnapshot),
1955
+ external_exports.object({
1956
+ type: external_exports.literal("ended")
1957
+ }).and(zHostEndedSessionSnapshot)
1958
+ ]);
1959
+ var zHostSessionSnapshotEvent = external_exports.object({
1960
+ type: external_exports.enum(["session.snapshot"]),
1961
+ reason: zHostSessionSnapshotReason,
1962
+ snapshot: zHostSessionSnapshot
1963
+ });
1964
+ var zHostSessionGameplayUpdatedEvent = external_exports.object({
1965
+ type: external_exports.enum(["session.gameplayUpdated"]),
1966
+ context: zHostSessionContext,
1967
+ gameplay: zHostPlayerGameplayView,
1968
+ causation: external_exports.optional(zHostSessionEventCausation)
1969
+ });
1970
+ var zHostSessionEvent = external_exports.union([
1971
+ external_exports.object({
1972
+ type: external_exports.literal("session.snapshot")
1973
+ }).and(zHostSessionSnapshotEvent),
1974
+ external_exports.object({
1975
+ type: external_exports.literal("session.lobbyUpdated")
1976
+ }).and(zHostSessionLobbyUpdatedEvent),
1977
+ external_exports.object({
1978
+ type: external_exports.literal("session.gameplayUpdated")
1979
+ }).and(zHostSessionGameplayUpdatedEvent),
1980
+ external_exports.object({
1981
+ type: external_exports.literal("session.historyUpdated")
1982
+ }).and(zHostSessionHistoryUpdatedEvent),
1983
+ external_exports.object({
1984
+ type: external_exports.literal("session.ended")
1985
+ }).and(zHostSessionEndedEvent),
1986
+ external_exports.object({
1987
+ type: external_exports.literal("session.error")
1988
+ }).and(zHostSessionErrorEvent)
1989
+ ]);
1990
+ var zHostSessionEventBatchResponse = external_exports.object({
1991
+ cursor: external_exports.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "Invalid value: Expected int64 to be >= -9223372036854775808" }).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" }),
1992
+ snapshot: external_exports.optional(zHostSessionSnapshot),
1993
+ events: external_exports.array(zHostSessionEvent),
1994
+ timedOut: external_exports.boolean()
1995
+ });
1996
+ var zProjectId = external_exports.uuid();
1997
+ var zGameSlug = external_exports.string();
1998
+ var zRevisionDigest = external_exports.string().regex(/^sha256:[a-f0-9]{64}$/);
1999
+ var zSessionId = external_exports.uuid();
2000
+ var zPlayerId = external_exports.string();
2001
+ var zGameId = external_exports.uuid();
2002
+ var zHealthCheckData = external_exports.object({
2003
+ body: external_exports.optional(external_exports.never()),
2004
+ path: external_exports.optional(external_exports.never()),
2005
+ query: external_exports.optional(external_exports.never())
2006
+ });
2007
+ var zHealthCheckResponse = external_exports.string();
2008
+ var zGetApiVersionData = external_exports.object({
2009
+ body: external_exports.optional(external_exports.never()),
2010
+ path: external_exports.optional(external_exports.never()),
2011
+ query: external_exports.optional(external_exports.never())
2012
+ });
2013
+ var zGetCurrentAuthUserData = external_exports.object({
2014
+ body: external_exports.optional(external_exports.never()),
2015
+ path: external_exports.optional(external_exports.never()),
2016
+ query: external_exports.optional(external_exports.never())
2017
+ });
2018
+ var zExchangeAuthTokenData = external_exports.object({
2019
+ body: zTokenExchangeRequest,
2020
+ path: external_exports.optional(external_exports.never()),
2021
+ query: external_exports.optional(external_exports.never())
2022
+ });
2023
+ var zGetAuthJwksData = external_exports.object({
2024
+ body: external_exports.optional(external_exports.never()),
2025
+ path: external_exports.optional(external_exports.never()),
2026
+ query: external_exports.optional(external_exports.never())
2027
+ });
2028
+ var zCreateBillingCheckoutSessionData = external_exports.object({
2029
+ body: zCreateBillingCheckoutSessionRequest,
2030
+ path: external_exports.optional(external_exports.never()),
2031
+ query: external_exports.optional(external_exports.never())
2032
+ });
2033
+ var zCreateBillingPortalSessionData = external_exports.object({
2034
+ body: zCreateBillingPortalSessionRequest,
2035
+ path: external_exports.optional(external_exports.never()),
2036
+ query: external_exports.optional(external_exports.never())
2037
+ });
2038
+ var zGetCurrentBillingEntitlementsData = external_exports.object({
2039
+ body: external_exports.optional(external_exports.never()),
2040
+ path: external_exports.optional(external_exports.never()),
2041
+ query: external_exports.optional(external_exports.never())
2042
+ });
2043
+ var zReceiveStripeBillingWebhookData = external_exports.object({
2044
+ body: external_exports.optional(external_exports.never()),
2045
+ path: external_exports.optional(external_exports.never()),
2046
+ query: external_exports.optional(external_exports.never())
2047
+ });
2048
+ var zReceiveStripeBillingWebhookResponse = external_exports.void();
2049
+ var zListProjectsData = external_exports.object({
2050
+ body: external_exports.optional(external_exports.never()),
2051
+ path: external_exports.optional(external_exports.never()),
2052
+ query: external_exports.optional(external_exports.never())
2053
+ });
2054
+ var zListProjectsResponse = external_exports.array(zProject);
2055
+ var zExtractGameSpecData = external_exports.object({
2056
+ body: zExtractGameSpecRequest,
2057
+ path: external_exports.optional(external_exports.never()),
2058
+ query: external_exports.optional(external_exports.never())
2059
+ });
2060
+ var zDeleteProjectData = external_exports.object({
2061
+ body: external_exports.optional(external_exports.never()),
2062
+ path: external_exports.object({
2063
+ projectId: external_exports.uuid()
2064
+ }),
2065
+ query: external_exports.optional(external_exports.never())
2066
+ });
2067
+ var zGetProjectData = external_exports.object({
2068
+ body: external_exports.optional(external_exports.never()),
2069
+ path: external_exports.object({
2070
+ projectId: external_exports.uuid()
2071
+ }),
2072
+ query: external_exports.optional(external_exports.never())
2073
+ });
2074
+ var zUpdateProjectData = external_exports.object({
2075
+ body: zUpdateProjectRequest,
2076
+ path: external_exports.object({
2077
+ projectId: external_exports.uuid()
2078
+ }),
2079
+ query: external_exports.optional(external_exports.never())
2080
+ });
2081
+ var zEnsureProjectData = external_exports.object({
2082
+ body: zEnsureProjectRequest,
2083
+ path: external_exports.object({
2084
+ projectId: external_exports.uuid()
2085
+ }),
2086
+ query: external_exports.optional(external_exports.never())
2087
+ });
2088
+ var zGetProjectRepositoryData = external_exports.object({
2089
+ body: external_exports.optional(external_exports.never()),
2090
+ path: external_exports.object({
2091
+ projectId: external_exports.uuid()
2092
+ }),
2093
+ query: external_exports.optional(external_exports.never())
2094
+ });
2095
+ var zEnsureProjectRepositoryData = external_exports.object({
2096
+ body: external_exports.optional(external_exports.never()),
2097
+ path: external_exports.object({
2098
+ projectId: external_exports.uuid()
2099
+ }),
2100
+ query: external_exports.optional(external_exports.never())
2101
+ });
2102
+ var zRetryProjectRepositoryReconciliationData = external_exports.object({
2103
+ body: external_exports.optional(external_exports.never()),
2104
+ path: external_exports.object({
2105
+ projectId: external_exports.uuid()
2106
+ }),
2107
+ query: external_exports.optional(external_exports.never())
2108
+ });
2109
+ var zEnsureProjectBuildData = external_exports.object({
2110
+ body: zEnsureProjectBuildRequest,
2111
+ path: external_exports.object({
2112
+ projectId: external_exports.uuid()
2113
+ }),
2114
+ query: external_exports.optional(external_exports.never())
2115
+ });
2116
+ var zGetProjectCommitStatusData = external_exports.object({
2117
+ body: external_exports.optional(external_exports.never()),
2118
+ path: external_exports.object({
2119
+ projectId: external_exports.uuid(),
2120
+ commitOid: external_exports.string().regex(/^[a-f0-9]{40,64}$/)
2121
+ }),
2122
+ query: external_exports.optional(external_exports.never())
2123
+ });
2124
+ var zGetProjectBuildData = external_exports.object({
2125
+ body: external_exports.optional(external_exports.never()),
2126
+ path: external_exports.object({
2127
+ projectId: external_exports.uuid(),
2128
+ buildRecipeDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
2129
+ }),
2130
+ query: external_exports.optional(external_exports.never())
2131
+ });
2132
+ var zCreateProjectPreviewData = external_exports.object({
2133
+ body: zCreateProjectPreviewRequest,
2134
+ path: external_exports.object({
2135
+ projectId: external_exports.uuid()
2136
+ }),
2137
+ query: external_exports.optional(external_exports.never())
2138
+ });
2139
+ var zPublishProjectReleaseData = external_exports.object({
2140
+ body: zPublishProjectReleaseRequest,
2141
+ path: external_exports.object({
2142
+ projectId: external_exports.uuid()
2143
+ }),
2144
+ query: external_exports.optional(external_exports.never())
2145
+ });
2146
+ var zGetCurrentProjectReleaseData = external_exports.object({
2147
+ body: external_exports.optional(external_exports.never()),
2148
+ path: external_exports.object({
2149
+ projectId: external_exports.uuid()
2150
+ }),
2151
+ query: external_exports.optional(external_exports.never())
2152
+ });
2153
+ var zGetProjectBySlugData = external_exports.object({
2154
+ body: external_exports.optional(external_exports.never()),
2155
+ path: external_exports.object({
2156
+ slug: external_exports.string()
2157
+ }),
2158
+ query: external_exports.optional(external_exports.never())
2159
+ });
2160
+ var zCreateGameRevisionData = external_exports.object({
2161
+ body: zCreateGameRevisionRequest,
2162
+ path: external_exports.object({
2163
+ projectId: external_exports.uuid()
2164
+ }),
2165
+ query: external_exports.optional(external_exports.never())
2166
+ });
2167
+ var zGetProjectRevisionSourcesData = external_exports.object({
2168
+ body: external_exports.optional(external_exports.never()),
2169
+ path: external_exports.object({
2170
+ projectId: external_exports.uuid(),
2171
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
2172
+ }),
2173
+ query: external_exports.optional(external_exports.never())
2174
+ });
2175
+ var zCreateProjectSourceBlobUploadSessionData = external_exports.object({
2176
+ body: zCreateSourceBlobUploadSessionRequest,
2177
+ path: external_exports.object({
2178
+ projectId: external_exports.uuid()
2179
+ }),
2180
+ query: external_exports.optional(external_exports.never())
2181
+ });
2182
+ var zQueueProjectRevisionCompileData = external_exports.object({
2183
+ body: external_exports.optional(external_exports.never()),
2184
+ path: external_exports.object({
2185
+ projectId: external_exports.uuid(),
2186
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
2187
+ }),
2188
+ query: external_exports.optional(external_exports.never())
2189
+ });
2190
+ var zGetLatestProjectCompiledResultData = external_exports.object({
2191
+ body: external_exports.optional(external_exports.never()),
2192
+ path: external_exports.object({
2193
+ projectId: external_exports.uuid()
2194
+ }),
2195
+ query: external_exports.optional(external_exports.object({
2196
+ successOnly: external_exports.optional(external_exports.boolean()).default(false)
2197
+ }))
2198
+ });
2199
+ var zListProjectCompiledResultsData = external_exports.object({
2200
+ body: external_exports.optional(external_exports.never()),
2201
+ path: external_exports.object({
2202
+ projectId: external_exports.uuid()
2203
+ }),
2204
+ query: external_exports.optional(external_exports.object({
2205
+ limit: external_exports.optional(external_exports.int().gte(1).lte(100)).default(10)
2206
+ }))
2207
+ });
2208
+ var zGetProjectCompiledResultData = external_exports.object({
2209
+ body: external_exports.optional(external_exports.never()),
2210
+ path: external_exports.object({
2211
+ projectId: external_exports.uuid(),
2212
+ compiledResultId: external_exports.uuid()
2213
+ }),
2214
+ query: external_exports.optional(external_exports.never())
2215
+ });
2216
+ var zUploadProjectInitialProjectionData = external_exports.object({
2217
+ body: zUploadInitialProjectionRequest,
2218
+ path: external_exports.object({
2219
+ projectId: external_exports.uuid()
2220
+ }),
2221
+ query: external_exports.optional(external_exports.never())
2222
+ });
2223
+ var zUploadProjectInitialProjectionResponse = external_exports.void();
2224
+ var zQueueProjectPreviewScreenshotData = external_exports.object({
2225
+ body: external_exports.optional(external_exports.never()),
2226
+ path: external_exports.object({
2227
+ projectId: external_exports.uuid()
2228
+ }),
2229
+ query: external_exports.optional(external_exports.never())
2230
+ });
2231
+ var zFetchProjectPreviewImageData = external_exports.object({
2232
+ body: external_exports.optional(external_exports.never()),
2233
+ path: external_exports.object({
2234
+ projectId: external_exports.uuid()
2235
+ }),
2236
+ query: external_exports.optional(external_exports.never())
2237
+ });
2238
+ var zFetchProjectPreviewImageResponse = external_exports.string();
2239
+ var zEnsureProjectDevCompileData = external_exports.object({
2240
+ body: zEnsureDevCompileRequest,
2241
+ path: external_exports.object({
2242
+ projectId: external_exports.uuid()
2243
+ }),
2244
+ query: external_exports.optional(external_exports.never())
2245
+ });
2246
+ var zCreateProjectSessionData = external_exports.object({
2247
+ body: zCreateSessionRequest,
2248
+ path: external_exports.object({
2249
+ projectId: external_exports.uuid()
2250
+ }),
2251
+ query: external_exports.optional(external_exports.never())
2252
+ });
2253
+ var zDownloadProjectSourcesData = external_exports.object({
2254
+ body: external_exports.optional(external_exports.never()),
2255
+ path: external_exports.object({
2256
+ projectId: external_exports.uuid()
2257
+ }),
2258
+ query: external_exports.optional(external_exports.never())
2259
+ });
2260
+ var zDownloadProjectSourcesResponse = external_exports.string();
2261
+ var zGetProjectSourcesData = external_exports.object({
2262
+ body: external_exports.optional(external_exports.never()),
2263
+ path: external_exports.object({
2264
+ projectId: external_exports.uuid()
2265
+ }),
2266
+ query: external_exports.optional(external_exports.never())
2267
+ });
2268
+ var zGetProjectActiveJobData = external_exports.object({
2269
+ body: external_exports.optional(external_exports.never()),
2270
+ path: external_exports.object({
2271
+ projectId: external_exports.uuid()
2272
+ }),
2273
+ query: external_exports.optional(external_exports.never())
2274
+ });
2275
+ var zQueryWorkshopRulebookData = external_exports.object({
2276
+ body: external_exports.optional(external_exports.never()),
2277
+ path: external_exports.optional(external_exports.never()),
2278
+ query: external_exports.object({
2279
+ title: external_exports.string().min(1)
2280
+ })
2281
+ });
2282
+ var zGetJobData = external_exports.object({
2283
+ body: external_exports.optional(external_exports.never()),
2284
+ path: external_exports.object({
2285
+ jobId: external_exports.uuid()
2286
+ }),
2287
+ query: external_exports.optional(external_exports.never())
2288
+ });
2289
+ var zGetJobEventBatchData = external_exports.object({
2290
+ body: external_exports.optional(external_exports.never()),
2291
+ path: external_exports.object({
2292
+ jobId: external_exports.uuid()
2293
+ }),
2294
+ query: external_exports.optional(external_exports.object({
2295
+ afterCursor: external_exports.optional(external_exports.string()),
2296
+ waitMs: external_exports.optional(external_exports.int().gte(0).lte(25e3)).default(25e3)
2297
+ }))
2298
+ });
2299
+ var zCreateGameRunData = external_exports.object({
2300
+ body: zCreateGameRunRequest,
2301
+ path: external_exports.optional(external_exports.never()),
2302
+ query: external_exports.optional(external_exports.never())
2303
+ });
2304
+ var zCancelGameRunData = external_exports.object({
2305
+ body: external_exports.optional(external_exports.never()),
2306
+ path: external_exports.object({
2307
+ jobId: external_exports.uuid()
2308
+ }),
2309
+ query: external_exports.optional(external_exports.never())
2310
+ });
2311
+ var zGetSessionLogBatchData = external_exports.object({
2312
+ body: external_exports.optional(external_exports.never()),
2313
+ path: external_exports.object({
2314
+ sessionId: external_exports.uuid()
2315
+ }),
2316
+ query: external_exports.optional(external_exports.object({
2317
+ afterLogId: external_exports.optional(external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })).default(BigInt(0)),
2318
+ waitMs: external_exports.optional(external_exports.int().gte(0).lte(25e3)).default(25e3),
2319
+ limit: external_exports.optional(external_exports.int().gte(1).lte(500)).default(100)
2320
+ }))
2321
+ });
2322
+ var zCreateGameplayCapabilityData = external_exports.object({
2323
+ body: external_exports.optional(external_exports.never()),
2324
+ path: external_exports.object({
2325
+ sessionId: external_exports.uuid(),
2326
+ playerId: external_exports.string()
2327
+ }),
2328
+ query: external_exports.optional(external_exports.never()),
2329
+ headers: external_exports.optional(external_exports.object({
2330
+ "X-Dreamboard-Browser-Origin": external_exports.optional(external_exports.string())
2331
+ }))
2332
+ });
2333
+ var zAddSeatData = external_exports.object({
2334
+ body: external_exports.optional(external_exports.never()),
2335
+ path: external_exports.object({
2336
+ sessionId: external_exports.uuid()
2337
+ }),
2338
+ query: external_exports.optional(external_exports.never())
2339
+ });
2340
+ var zRemoveSeatData = external_exports.object({
2341
+ body: external_exports.optional(external_exports.never()),
2342
+ path: external_exports.object({
2343
+ sessionId: external_exports.uuid(),
2344
+ playerId: external_exports.string()
2345
+ }),
2346
+ query: external_exports.optional(external_exports.never())
2347
+ });
2348
+ var zRemoveSeatResponse = external_exports.void();
2349
+ var zUpdateSeatData = external_exports.object({
2350
+ body: zUpdateSeatRequest,
2351
+ path: external_exports.object({
2352
+ sessionId: external_exports.uuid(),
2353
+ playerId: external_exports.string()
2354
+ }),
2355
+ query: external_exports.optional(external_exports.never())
2356
+ });
2357
+ var zAssignSeatData = external_exports.object({
2358
+ body: external_exports.optional(external_exports.never()),
2359
+ path: external_exports.object({
2360
+ sessionId: external_exports.uuid(),
2361
+ playerId: external_exports.string()
2362
+ }),
2363
+ query: external_exports.optional(external_exports.never())
2364
+ });
2365
+ var zAssignSeatResponse = external_exports.void();
2366
+ var zUnassignSeatData = external_exports.object({
2367
+ body: external_exports.optional(external_exports.never()),
2368
+ path: external_exports.object({
2369
+ sessionId: external_exports.uuid(),
2370
+ playerId: external_exports.string()
2371
+ }),
2372
+ query: external_exports.optional(external_exports.never())
2373
+ });
2374
+ var zUnassignSeatResponse = external_exports.void();
2375
+ var zFetchUiBundleData = external_exports.object({
2376
+ body: external_exports.optional(external_exports.never()),
2377
+ path: external_exports.optional(external_exports.never()),
2378
+ query: external_exports.optional(external_exports.object({
2379
+ gameId: external_exports.optional(external_exports.uuid()),
2380
+ sessionId: external_exports.optional(external_exports.uuid())
2381
+ }))
2382
+ });
2383
+ var zFetchUiBundleResponse = external_exports.string();
2384
+ var zListDemoGamesData = external_exports.object({
2385
+ body: external_exports.optional(external_exports.never()),
2386
+ path: external_exports.optional(external_exports.never()),
2387
+ query: external_exports.optional(external_exports.never())
2388
+ });
2389
+ var zListDemoGamesResponse = external_exports.array(zDemoGameSummary);
2390
+ var zGetDemoGameData = external_exports.object({
2391
+ body: external_exports.optional(external_exports.never()),
2392
+ path: external_exports.object({
2393
+ slug: external_exports.string()
2394
+ }),
2395
+ query: external_exports.optional(external_exports.never())
2396
+ });
2397
+ var zGetDemoGameThumbnailData = external_exports.object({
2398
+ body: external_exports.optional(external_exports.never()),
2399
+ path: external_exports.object({
2400
+ slug: external_exports.string()
2401
+ }),
2402
+ query: external_exports.optional(external_exports.never())
2403
+ });
2404
+ var zGetDemoGameThumbnailResponse = external_exports.string();
2405
+ var zCreateDemoGameSessionData = external_exports.object({
2406
+ body: external_exports.optional(zCreateDemoSessionRequest),
2407
+ path: external_exports.object({
2408
+ slug: external_exports.string()
2409
+ }),
2410
+ query: external_exports.optional(external_exports.never())
2411
+ });
2412
+ var zGetDemoSessionLogBatchData = external_exports.object({
2413
+ body: external_exports.optional(external_exports.never()),
2414
+ path: external_exports.object({
2415
+ sessionId: external_exports.uuid()
2416
+ }),
2417
+ query: external_exports.optional(external_exports.object({
2418
+ afterLogId: external_exports.optional(external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })).default(BigInt(0)),
2419
+ waitMs: external_exports.optional(external_exports.int().gte(0).lte(25e3)).default(25e3),
2420
+ limit: external_exports.optional(external_exports.int().gte(1).lte(500)).default(100)
2421
+ }))
2422
+ });
2423
+ var zCreateDemoGameplayCapabilityData = external_exports.object({
2424
+ body: external_exports.optional(external_exports.never()),
2425
+ path: external_exports.object({
2426
+ sessionId: external_exports.uuid(),
2427
+ playerId: external_exports.string()
2428
+ }),
2429
+ query: external_exports.optional(external_exports.never()),
2430
+ headers: external_exports.optional(external_exports.object({
2431
+ "X-Dreamboard-Browser-Origin": external_exports.optional(external_exports.string())
2432
+ }))
2433
+ });
2434
+ var zFetchDemoUiBundleData = external_exports.object({
2435
+ body: external_exports.optional(external_exports.never()),
2436
+ path: external_exports.optional(external_exports.never()),
2437
+ query: external_exports.object({
2438
+ sessionId: external_exports.uuid()
2439
+ })
2440
+ });
2441
+ var zFetchDemoUiBundleResponse = external_exports.string();
2442
+ var zCreateProjectSessionFromReducerSnapshotData = external_exports.object({
2443
+ body: zCreateSessionFromReducerSnapshotRequest,
2444
+ path: external_exports.object({
2445
+ projectId: external_exports.uuid()
2446
+ }),
2447
+ query: external_exports.optional(external_exports.never())
2448
+ });
2449
+ var zGetSessionByShortCodeData = external_exports.object({
2450
+ body: external_exports.optional(external_exports.never()),
2451
+ path: external_exports.object({
2452
+ shortCode: external_exports.string()
2453
+ }),
2454
+ query: external_exports.optional(external_exports.object({
2455
+ playerId: external_exports.optional(external_exports.string())
2456
+ }))
2457
+ });
2458
+ var zGetSessionSnapshotData = external_exports.object({
2459
+ body: external_exports.optional(external_exports.never()),
2460
+ path: external_exports.object({
2461
+ sessionId: external_exports.uuid()
2462
+ }),
2463
+ query: external_exports.optional(external_exports.object({
2464
+ playerId: external_exports.optional(external_exports.string())
2465
+ }))
2466
+ });
2467
+ var zGetSessionEventBatchData = external_exports.object({
2468
+ body: external_exports.optional(external_exports.never()),
2469
+ path: external_exports.object({
2470
+ sessionId: external_exports.uuid()
2471
+ }),
2472
+ query: external_exports.object({
2473
+ playerId: external_exports.optional(external_exports.string()),
2474
+ afterCursor: external_exports.optional(external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })),
2475
+ waitMs: external_exports.optional(external_exports.int().gte(0).lte(25e3)).default(25e3),
2476
+ clientId: external_exports.string(),
2477
+ clientSource: external_exports.optional(external_exports.string())
2478
+ })
2479
+ });
2480
+ var zStartGameData = external_exports.object({
2481
+ body: external_exports.optional(external_exports.never()),
2482
+ path: external_exports.object({
2483
+ sessionId: external_exports.uuid()
2484
+ }),
2485
+ query: external_exports.optional(external_exports.never())
2486
+ });
2487
+ var zGetDemoSessionByShortCodeData = external_exports.object({
2488
+ body: external_exports.optional(external_exports.never()),
2489
+ path: external_exports.object({
2490
+ shortCode: external_exports.string()
2491
+ }),
2492
+ query: external_exports.optional(external_exports.object({
2493
+ playerId: external_exports.optional(external_exports.string())
2494
+ }))
2495
+ });
2496
+ var zGetDemoSessionSnapshotData = external_exports.object({
2497
+ body: external_exports.optional(external_exports.never()),
2498
+ path: external_exports.object({
2499
+ sessionId: external_exports.uuid()
2500
+ }),
2501
+ query: external_exports.optional(external_exports.object({
2502
+ playerId: external_exports.optional(external_exports.string())
2503
+ }))
2504
+ });
2505
+ var zGetDemoSessionEventBatchData = external_exports.object({
2506
+ body: external_exports.optional(external_exports.never()),
2507
+ path: external_exports.object({
2508
+ sessionId: external_exports.uuid()
2509
+ }),
2510
+ query: external_exports.object({
2511
+ playerId: external_exports.optional(external_exports.string()),
2512
+ afterCursor: external_exports.optional(external_exports.coerce.bigint().gte(BigInt(0)).max(BigInt("9223372036854775807"), { error: "Invalid value: Expected int64 to be <= 9223372036854775807" })),
2513
+ waitMs: external_exports.optional(external_exports.int().gte(0).lte(25e3)).default(25e3),
2514
+ clientId: external_exports.string(),
2515
+ clientSource: external_exports.optional(external_exports.string())
2516
+ })
2517
+ });
2518
+ var zStartDemoGameData = external_exports.object({
2519
+ body: external_exports.optional(external_exports.never()),
2520
+ path: external_exports.object({
2521
+ sessionId: external_exports.uuid()
2522
+ }),
2523
+ query: external_exports.optional(external_exports.never())
2524
+ });
2525
+
2526
+ // ../../packages/api-client/dist/generated/problem-types.gen.js
2527
+ var SERVER_PROBLEM_TYPES = {
2528
+ ACTION_REJECTED: "urn:dreamboard:problem:action-rejected",
2529
+ ACTIVE_JOB_CONFLICT: "urn:dreamboard:problem:active-job-conflict",
2530
+ AUTHORING_STATE_BASE_MISSING: "urn:dreamboard:problem:authoring-state-base-missing",
2531
+ AUTHORING_STATE_DRIFT: "urn:dreamboard:problem:authoring-state-drift",
2532
+ FORBIDDEN: "urn:dreamboard:problem:forbidden",
2533
+ GAME_SLUG_CONFLICT: "urn:dreamboard:problem:game-slug-conflict",
2534
+ INTERNAL_ERROR: "urn:dreamboard:problem:internal-error",
2535
+ PROJECT_DELETED: "urn:dreamboard:problem:project-deleted",
2536
+ PROJECT_ID_INVALID: "urn:dreamboard:problem:project-id-invalid",
2537
+ PROJECT_NOT_FOUND: "urn:dreamboard:problem:project-not-found",
2538
+ PROJECT_OWNER_SCOPE_FORBIDDEN: "urn:dreamboard:problem:project-owner-scope-forbidden",
2539
+ PROJECT_SLUG_CONFLICT: "urn:dreamboard:problem:project-slug-conflict",
2540
+ RESOURCE_NOT_FOUND: "urn:dreamboard:problem:resource-not-found",
2541
+ REVISION_HEAD_CONFLICT: "urn:dreamboard:problem:revision-head-conflict",
2542
+ SOURCE_REVISION_BASE_MISSING: "urn:dreamboard:problem:source-revision-base-missing",
2543
+ SOURCE_REVISION_DRIFT: "urn:dreamboard:problem:source-revision-drift",
2544
+ SOURCE_REVISION_NOT_FOUND: "urn:dreamboard:problem:source-revision-not-found",
2545
+ STATE_CONFLICT: "urn:dreamboard:problem:state-conflict",
2546
+ TOO_MANY_REQUESTS: "urn:dreamboard:problem:too-many-requests",
2547
+ UNAUTHORIZED: "urn:dreamboard:problem:unauthorized",
2548
+ VALIDATION_FAILED: "urn:dreamboard:problem:validation-failed"
2549
+ };
2550
+ var CLIENT_PROBLEM_TYPES = {
2551
+ TRANSPORT_ERROR: "urn:dreamboard:problem:transport-error",
2552
+ UNKNOWN_API_ERROR: "urn:dreamboard:problem:unknown-api-error"
2553
+ };
2554
+
2555
+ // src/services/project/manifest-authoring.ts
2556
+ import { mkdtemp, rm, writeFile } from "fs/promises";
2557
+ import { tmpdir } from "os";
2558
+ import path from "path";
2559
+ import { pathToFileURL } from "url";
2560
+ import { build } from "esbuild";
2561
+ function formatIssuePath(pathSegments) {
2562
+ if (pathSegments.length === 0) {
2563
+ return "manifest";
2564
+ }
2565
+ return `manifest${pathSegments.map(
2566
+ (segment) => typeof segment === "number" ? `[${segment}]` : `.${segment}`
2567
+ ).join("")}`;
2568
+ }
2569
+ async function formatManifestValidationError(projectRoot, manifest) {
2570
+ const parsedManifest = zGameTopologyManifest.strict().safeParse(manifest);
2571
+ if (!parsedManifest.success) {
2572
+ const lines = parsedManifest.error.issues.map((issue) => {
2573
+ const issuePath = formatIssuePath(
2574
+ issue.path.filter(
2575
+ (segment) => typeof segment === "string" || typeof segment === "number"
2576
+ )
2577
+ );
2578
+ return `${issuePath}: ${issue.message}`;
2579
+ });
2580
+ return `Invalid manifest:
2581
+ - ${lines.join("\n- ")}`;
2582
+ }
2583
+ const { adapter } = await loadProjectAuthoringAdapter(projectRoot);
2584
+ const validationResult = adapter.validateManifest(
2585
+ parsedManifest.data
2586
+ );
2587
+ if (validationResult.errors.length > 0) {
2588
+ return `Invalid manifest:
2589
+ - ${validationResult.errors.join("\n- ")}`;
2590
+ }
2591
+ if (validationResult.warnings.length > 0) {
2592
+ console.warn(
2593
+ `Manifest warnings:
2594
+ - ${validationResult.warnings.join("\n- ")}`
2595
+ );
2596
+ }
2597
+ return "";
2598
+ }
2599
+ function sortJsonKeys(value) {
2600
+ if (Array.isArray(value)) {
2601
+ return value.map((item) => sortJsonKeys(item));
2602
+ }
2603
+ if (value && typeof value === "object") {
2604
+ return Object.fromEntries(
2605
+ Object.entries(value).sort(([left], [right]) => left.localeCompare(right)).map(([key, item]) => [key, sortJsonKeys(item)])
2606
+ );
2607
+ }
2608
+ return value;
2609
+ }
2610
+ function computeManifestHash(manifest) {
2611
+ return hashContent(JSON.stringify(sortJsonKeys(manifest)));
2612
+ }
2613
+ async function evaluateManifestSource(projectRoot) {
2614
+ if (!await workspacePathExists(projectRoot, MANIFEST_FILE)) {
2615
+ throw new Error(`Missing ${MANIFEST_FILE}.`);
2616
+ }
2617
+ let outputText;
2618
+ try {
2619
+ const buildResult = await build({
2620
+ absWorkingDir: projectRoot,
2621
+ entryPoints: [MANIFEST_FILE],
2622
+ bundle: true,
2623
+ format: "esm",
2624
+ platform: "node",
2625
+ target: ["node24"],
2626
+ write: false,
2627
+ logLevel: "silent",
2628
+ plugins: [createRepoLocalPackageResolutionPlugin()]
2629
+ });
2630
+ outputText = buildResult.outputFiles[0]?.text;
2631
+ } catch (error) {
2632
+ const message = error instanceof Error ? error.message : "Unknown bundle failure";
2633
+ throw new Error(`Failed to evaluate ${MANIFEST_FILE}: ${message}`);
2634
+ }
2635
+ if (!outputText) {
2636
+ throw new Error(
2637
+ `Failed to evaluate ${MANIFEST_FILE}: no bundled module was produced.`
2638
+ );
2639
+ }
2640
+ let moduleRecord;
2641
+ const tempRoot = await mkdtemp(path.join(tmpdir(), "dreamboard-manifest-"));
2642
+ const bundlePath = path.join(tempRoot, "manifest.mjs");
2643
+ try {
2644
+ await writeFile(bundlePath, outputText, "utf8");
2645
+ moduleRecord = await import(`${pathToFileURL(bundlePath).href}?t=${Date.now()}`);
2646
+ } catch (error) {
2647
+ const message = error instanceof Error ? error.message : String(error);
2648
+ throw new Error(`Failed to evaluate ${MANIFEST_FILE}: ${message}`);
2649
+ } finally {
2650
+ await rm(tempRoot, { recursive: true, force: true });
2651
+ }
2652
+ if (moduleRecord.default === void 0) {
2653
+ throw new Error(
2654
+ `${MANIFEST_FILE} must default-export defineTopologyManifest(...).`
2655
+ );
2656
+ }
2657
+ const validationError = await formatManifestValidationError(
2658
+ projectRoot,
2659
+ moduleRecord.default
2660
+ );
2661
+ if (validationError) {
2662
+ throw new Error(validationError);
2663
+ }
2664
+ return moduleRecord.default;
2665
+ }
2666
+ function renderManifestSource(manifest) {
2667
+ return [
2668
+ 'import { defineTopologyManifest } from "@dreamboard-games/sdk/types";',
2669
+ "",
2670
+ "export default defineTopologyManifest(",
2671
+ `${JSON.stringify(manifest, null, 2)}`,
2672
+ ");",
2673
+ ""
2674
+ ].join("\n");
2675
+ }
2676
+ async function materializeManifest(projectRoot) {
2677
+ const manifest = await evaluateManifestSource(projectRoot);
2678
+ await writeWorkspaceJsonFile(
2679
+ projectRoot,
2680
+ MATERIALIZED_MANIFEST_FILE,
2681
+ manifest
2682
+ );
2683
+ return manifest;
2684
+ }
2685
+ async function writeManifestSource(projectRoot, manifest) {
2686
+ await writeWorkspaceTextFile(
2687
+ projectRoot,
2688
+ MANIFEST_FILE,
2689
+ renderManifestSource(manifest)
2690
+ );
2691
+ await writeWorkspaceJsonFile(
2692
+ projectRoot,
2693
+ MATERIALIZED_MANIFEST_FILE,
2694
+ manifest
2695
+ );
2696
+ }
2697
+
2698
+ // src/services/project/scaffold-ownership.generated.ts
2699
+ var SCAFFOLD_OWNERSHIP = {
2700
+ version: 30,
2701
+ allowedPaths: {
2702
+ rootFiles: [
2703
+ ".npmrc",
2704
+ "package.json",
2705
+ "pnpm-lock.yaml",
2706
+ "package-lock.json",
2707
+ "manifest.ts",
2708
+ "manifest.tsconfig.json",
2709
+ "rule.md"
2710
+ ],
2711
+ directoryPrefixes: ["app/", "manifest/", "ui/", "shared/", "test/"]
2712
+ },
2713
+ dynamic: {
2714
+ generatedFiles: [
2715
+ "shared/manifest-literals.ts",
2716
+ "shared/manifest-types.ts",
2717
+ "shared/manifest-static.json",
2718
+ "shared/manifest-runtime.ts",
2719
+ "shared/manifest-contract.ts",
2720
+ "shared/generated/ui-contract.ts",
2721
+ "app/index.ts",
2722
+ "app/tsconfig.framework.json",
2723
+ "ui/tsconfig.framework.json"
2724
+ ],
2725
+ seedFiles: [
2726
+ "app/README.md",
2727
+ "ui/App.tsx",
2728
+ "app/game-contract.ts",
2729
+ "app/authoring.ts",
2730
+ "app/game.ts",
2731
+ "app/setup-profiles.ts",
2732
+ "app/reducer-support.ts",
2733
+ "app/derived.ts",
2734
+ "ui/interaction-routes.tsx",
2735
+ "ui/setup-screen.tsx",
2736
+ "ui/styles.ts",
2737
+ "ui/ui-contract-typing-smoke.tsx"
2738
+ ],
2739
+ seedFilePatterns: [{ prefix: "app/phases/", suffix: ".ts" }]
2740
+ },
2741
+ cliStatic: {
2742
+ exactFiles: [
2743
+ ".npmrc",
2744
+ "package.json",
2745
+ "app/tsconfig.json",
2746
+ "ui/index.tsx",
2747
+ "ui/package.json",
2748
+ "ui/style.css",
2749
+ "ui/tsconfig.json"
2750
+ ],
2751
+ directoryPrefixes: []
2752
+ },
2753
+ preservedUserFiles: []
2754
+ };
2755
+
2756
+ // src/services/project/scaffold-ownership.ts
2757
+ function isAllowedGamePath(filePath) {
2758
+ const path2 = normalizeOwnedProjectPath(filePath);
2759
+ if (path2 === null) return false;
2760
+ if (SCAFFOLD_OWNERSHIP.allowedPaths.rootFiles.includes(path2)) return true;
2761
+ return SCAFFOLD_OWNERSHIP.allowedPaths.directoryPrefixes.some(
2762
+ (prefix) => path2.startsWith(prefix)
2763
+ );
2764
+ }
2765
+ function isDynamicGeneratedPath(filePath) {
2766
+ const path2 = normalizeOwnedProjectPath(filePath);
2767
+ if (path2 === null) return false;
2768
+ return SCAFFOLD_OWNERSHIP.dynamic.generatedFiles.includes(path2);
2769
+ }
2770
+ function isDynamicSeedPath(filePath) {
2771
+ const path2 = normalizeOwnedProjectPath(filePath);
2772
+ if (path2 === null) return false;
2773
+ if (SCAFFOLD_OWNERSHIP.dynamic.seedFiles.includes(path2)) return true;
2774
+ return SCAFFOLD_OWNERSHIP.dynamic.seedFilePatterns.some(
2775
+ (pattern) => path2.startsWith(pattern.prefix) && path2.endsWith(pattern.suffix)
2776
+ );
2777
+ }
2778
+ function isCliStaticPath(filePath) {
2779
+ const path2 = normalizeOwnedProjectPath(filePath);
2780
+ if (path2 === null) return false;
2781
+ if (SCAFFOLD_OWNERSHIP.cliStatic.exactFiles.includes(path2)) return true;
2782
+ return SCAFFOLD_OWNERSHIP.cliStatic.directoryPrefixes.some(
2783
+ (prefix) => path2.startsWith(prefix)
2784
+ );
2785
+ }
2786
+ function isLibraryPath(filePath) {
2787
+ return isDynamicGeneratedPath(filePath) || isCliStaticPath(filePath);
2788
+ }
2789
+ var PRESERVED_USER_FILES = new Set(
2790
+ SCAFFOLD_OWNERSHIP.preservedUserFiles
2791
+ );
2792
+
2793
+ export {
2794
+ hashContent,
2795
+ createProjectSession,
2796
+ createProjectSessionFromReducerSnapshot,
2797
+ getSessionSnapshot,
2798
+ startGame,
2799
+ createGameplayCapability,
2800
+ zProblemDetails,
2801
+ SERVER_PROBLEM_TYPES,
2802
+ CLIENT_PROBLEM_TYPES,
2803
+ computeManifestHash,
2804
+ materializeManifest,
2805
+ writeManifestSource,
2806
+ isAllowedGamePath,
2807
+ isDynamicGeneratedPath,
2808
+ isDynamicSeedPath,
2809
+ isLibraryPath
2810
+ };
2811
+ //# sourceMappingURL=chunk-BWBN2TDJ.mjs.map