@dreamboard-games/cli 0.1.30-alpha.12 → 0.1.30-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +2 -6
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs +18 -17
  3. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -1
  4. package/dist/agent-verifier/{chunk-TLYGTHXU.mjs → chunk-5GCZZ6NW.mjs} +3 -3
  5. package/dist/agent-verifier/{chunk-YR664DJX.mjs → chunk-A67WUYN2.mjs} +42 -68
  6. package/dist/agent-verifier/chunk-A67WUYN2.mjs.map +1 -0
  7. package/dist/agent-verifier/chunk-AXXUGU7Q.mjs +255 -0
  8. package/dist/agent-verifier/chunk-AXXUGU7Q.mjs.map +1 -0
  9. package/dist/agent-verifier/chunk-CO3BRUD6.mjs +342 -0
  10. package/dist/agent-verifier/chunk-CO3BRUD6.mjs.map +1 -0
  11. package/dist/agent-verifier/chunk-DPYC2NDB.mjs +59 -0
  12. package/dist/agent-verifier/chunk-DPYC2NDB.mjs.map +1 -0
  13. package/dist/agent-verifier/{chunk-4GU3PCHV.mjs → chunk-DWLTCUUX.mjs} +576 -393
  14. package/dist/agent-verifier/chunk-DWLTCUUX.mjs.map +1 -0
  15. package/dist/agent-verifier/{chunk-COB56ESI.mjs → chunk-G2ECODRB.mjs} +2 -2
  16. package/dist/agent-verifier/{chunk-6XRC5PWB.mjs → chunk-H3XNWKJU.mjs} +217 -232
  17. package/dist/agent-verifier/chunk-H3XNWKJU.mjs.map +1 -0
  18. package/dist/agent-verifier/{chunk-Z6OZWUIZ.mjs → chunk-HLHT57AW.mjs} +64 -16
  19. package/dist/agent-verifier/chunk-HLHT57AW.mjs.map +1 -0
  20. package/dist/agent-verifier/{chunk-YDIOW2BO.mjs → chunk-INIK6LHK.mjs} +2 -2
  21. package/dist/agent-verifier/{chunk-VLOIZDR6.mjs → chunk-JPN62WDY.mjs} +199 -190
  22. package/dist/agent-verifier/chunk-JPN62WDY.mjs.map +1 -0
  23. package/dist/agent-verifier/{chunk-UWJIZML3.mjs → chunk-LKQ557TJ.mjs} +30 -23
  24. package/dist/agent-verifier/chunk-LKQ557TJ.mjs.map +1 -0
  25. package/dist/agent-verifier/{chunk-NAK77WXW.mjs → chunk-MYMVXTZT.mjs} +4 -5
  26. package/dist/agent-verifier/chunk-MYMVXTZT.mjs.map +1 -0
  27. package/dist/agent-verifier/{chunk-UIJ2NDG6.mjs → chunk-NFL3Z4Z7.mjs} +31 -238
  28. package/dist/agent-verifier/chunk-NFL3Z4Z7.mjs.map +1 -0
  29. package/dist/agent-verifier/{chunk-XKCJBIRY.mjs → chunk-QD4SQNUP.mjs} +2 -2
  30. package/dist/agent-verifier/{chunk-IAYRNVUC.mjs → chunk-RDYXWXXC.mjs} +1 -3
  31. package/dist/agent-verifier/{chunk-QBAF7EYR.mjs → chunk-TTB7AIHZ.mjs} +4 -4
  32. package/dist/agent-verifier/{chunk-QBAF7EYR.mjs.map → chunk-TTB7AIHZ.mjs.map} +1 -1
  33. package/dist/agent-verifier/chunk-V6AQDR7W.mjs +89 -0
  34. package/dist/agent-verifier/chunk-V6AQDR7W.mjs.map +1 -0
  35. package/dist/agent-verifier/{chunk-RHI6S4SU.mjs → chunk-V7ABTZXW.mjs} +1 -3
  36. package/dist/agent-verifier/{chunk-RHI6S4SU.mjs.map → chunk-V7ABTZXW.mjs.map} +1 -1
  37. package/dist/agent-verifier/chunk-WAFBU5U7.mjs +467 -0
  38. package/dist/agent-verifier/chunk-WAFBU5U7.mjs.map +1 -0
  39. package/dist/agent-verifier/{chunk-3IJBOLGT.mjs → chunk-WSIYUUSD.mjs} +2 -2
  40. package/dist/agent-verifier/{compile-WZ7X6I2A.mjs → compile-H6KCBCVH.mjs} +22 -18
  41. package/dist/agent-verifier/compile-H6KCBCVH.mjs.map +1 -0
  42. package/dist/agent-verifier/{global-config-XHL7BCKN.mjs → global-config-6UGFPLDA.mjs} +4 -3
  43. package/dist/agent-verifier/{keychain-backend-A3MRWLPF.mjs → keychain-backend-BQLW5VEC.mjs} +11 -6
  44. package/dist/agent-verifier/keychain-backend-BQLW5VEC.mjs.map +1 -0
  45. package/dist/agent-verifier/{local-files-ZW52HSVT.mjs → local-files-WPHUV6GU.mjs} +6 -6
  46. package/dist/agent-verifier/{materialize-workspace-BKZLLFI4.mjs → materialize-workspace-EHCQB4UU.mjs} +17 -17
  47. package/dist/agent-verifier/materialize-workspace-EHCQB4UU.mjs.map +1 -0
  48. package/dist/agent-verifier/{reducer-bundle-preflight-7NYZF5ZT.mjs → reducer-bundle-preflight-3DSXIELT.mjs} +4 -4
  49. package/dist/agent-verifier/reducer-contract-preflight-FQB7M4PU.mjs +11 -0
  50. package/dist/agent-verifier/{reducer-native-test-harness-D4VWPIAC.mjs → reducer-native-test-harness-GY2CCQWN.mjs} +12 -9
  51. package/dist/agent-verifier/{static-scaffold-JCRBDKEH.mjs → static-scaffold-3O543YTZ.mjs} +7 -9
  52. package/dist/agent-verifier/{sync-ELLJEWMB.mjs → sync-URBFMM6H.mjs} +24 -22
  53. package/dist/agent-verifier/{sync-ELLJEWMB.mjs.map → sync-URBFMM6H.mjs.map} +1 -1
  54. package/dist/agent-verifier/{test-OSXBPLSP.mjs → test-LQAGEQLY.mjs} +19 -17
  55. package/dist/agent-verifier/test-LQAGEQLY.mjs.map +1 -0
  56. package/dist/agent-verifier/{workspace-codegen-WPZHMATU.mjs → workspace-codegen-4IWICKLB.mjs} +3 -3
  57. package/dist/agent-verifier/{workspace-dependencies-ULZZZPNX.mjs → workspace-dependencies-ZMHPHVQV.mjs} +2 -2
  58. package/dist/authoring-compatibility-internal.js +12 -0
  59. package/dist/{agent-verifier/chunk-W2MDP5ZN.mjs → chunk-AVOAT522.js} +118 -21
  60. package/dist/chunk-AVOAT522.js.map +1 -0
  61. package/dist/chunk-EV7Q6BIF.js +4298 -0
  62. package/dist/chunk-EV7Q6BIF.js.map +1 -0
  63. package/dist/chunk-FFO2IJL3.js +204 -0
  64. package/dist/chunk-FFO2IJL3.js.map +1 -0
  65. package/dist/{chunk-P5TITCD3.js → chunk-GS6A7T53.js} +2240 -4554
  66. package/dist/chunk-GS6A7T53.js.map +1 -0
  67. package/dist/{global-config-WPJRXVDO.js → global-config-NLGAFSRU.js} +3 -2
  68. package/dist/global-config-NLGAFSRU.js.map +1 -0
  69. package/dist/index.js +1371 -3545
  70. package/dist/index.js.map +1 -1
  71. package/dist/internal.js +14 -8
  72. package/dist/{keychain-backend-JHTXAKWC.js → keychain-backend-47LZ5IX5.js} +11 -6
  73. package/dist/keychain-backend-47LZ5IX5.js.map +1 -0
  74. package/package.json +9 -19
  75. package/release/authoring-release-set.json +38 -0
  76. package/skills/dreamboard/references/manifest-authoring.md +11 -3
  77. package/dist/agent-verifier/chunk-4GU3PCHV.mjs.map +0 -1
  78. package/dist/agent-verifier/chunk-6XRC5PWB.mjs.map +0 -1
  79. package/dist/agent-verifier/chunk-G42BGGG2.mjs +0 -70
  80. package/dist/agent-verifier/chunk-G42BGGG2.mjs.map +0 -1
  81. package/dist/agent-verifier/chunk-KK47X7RV.mjs +0 -14
  82. package/dist/agent-verifier/chunk-KK47X7RV.mjs.map +0 -1
  83. package/dist/agent-verifier/chunk-NAK77WXW.mjs.map +0 -1
  84. package/dist/agent-verifier/chunk-UIJ2NDG6.mjs.map +0 -1
  85. package/dist/agent-verifier/chunk-UWJIZML3.mjs.map +0 -1
  86. package/dist/agent-verifier/chunk-VLOIZDR6.mjs.map +0 -1
  87. package/dist/agent-verifier/chunk-W2MDP5ZN.mjs.map +0 -1
  88. package/dist/agent-verifier/chunk-YR664DJX.mjs.map +0 -1
  89. package/dist/agent-verifier/chunk-Z6OZWUIZ.mjs.map +0 -1
  90. package/dist/agent-verifier/compile-WZ7X6I2A.mjs.map +0 -1
  91. package/dist/agent-verifier/keychain-backend-A3MRWLPF.mjs.map +0 -1
  92. package/dist/agent-verifier/materialize-workspace-BKZLLFI4.mjs.map +0 -1
  93. package/dist/agent-verifier/reducer-contract-preflight-COD2CO22.mjs +0 -11
  94. package/dist/agent-verifier/test-OSXBPLSP.mjs.map +0 -1
  95. package/dist/chunk-GXM7RRZJ.js +0 -433
  96. package/dist/chunk-GXM7RRZJ.js.map +0 -1
  97. package/dist/chunk-P5TITCD3.js.map +0 -1
  98. package/dist/dev-host/components/drawer.tsx +0 -132
  99. package/dist/dev-host/components/input.tsx +0 -21
  100. package/dist/dev-host/dev-api-proxy-plugin.ts +0 -328
  101. package/dist/dev-host/dev-author-dom-warnings.ts +0 -100
  102. package/dist/dev-host/dev-diagnostics.ts +0 -62
  103. package/dist/dev-host/dev-fallback-stylesheet.ts +0 -53
  104. package/dist/dev-host/dev-hmr-guard-plugin.ts +0 -47
  105. package/dist/dev-host/dev-host-controller.ts +0 -674
  106. package/dist/dev-host/dev-host-player-query.ts +0 -17
  107. package/dist/dev-host/dev-host-session-transport.ts +0 -52
  108. package/dist/dev-host/dev-host-storage.ts +0 -56
  109. package/dist/dev-host/dev-log-relay-plugin.ts +0 -510
  110. package/dist/dev-host/dev-runtime-config.ts +0 -14
  111. package/dist/dev-host/dev-runtime-platform.ts +0 -335
  112. package/dist/dev-host/dev-virtual-modules-plugin.ts +0 -64
  113. package/dist/dev-host/host-main.css +0 -224
  114. package/dist/dev-host/host-main.tsx +0 -954
  115. package/dist/dev-host/index.html +0 -56
  116. package/dist/dev-host/lib/utils.ts +0 -6
  117. package/dist/dev-host/plugin-main.ts +0 -61
  118. package/dist/dev-host/plugin.html +0 -24
  119. package/dist/dev-host/shared-styles.css +0 -144
  120. package/dist/dev-host/start-dev-server.ts +0 -140
  121. package/dist/dev-host/virtual-modules.d.ts +0 -27
  122. package/dist/keychain-backend-JHTXAKWC.js.map +0 -1
  123. /package/dist/agent-verifier/{chunk-TLYGTHXU.mjs.map → chunk-5GCZZ6NW.mjs.map} +0 -0
  124. /package/dist/agent-verifier/{chunk-COB56ESI.mjs.map → chunk-G2ECODRB.mjs.map} +0 -0
  125. /package/dist/agent-verifier/{chunk-YDIOW2BO.mjs.map → chunk-INIK6LHK.mjs.map} +0 -0
  126. /package/dist/agent-verifier/{chunk-XKCJBIRY.mjs.map → chunk-QD4SQNUP.mjs.map} +0 -0
  127. /package/dist/agent-verifier/{chunk-IAYRNVUC.mjs.map → chunk-RDYXWXXC.mjs.map} +0 -0
  128. /package/dist/agent-verifier/{chunk-3IJBOLGT.mjs.map → chunk-WSIYUUSD.mjs.map} +0 -0
  129. /package/dist/agent-verifier/{global-config-XHL7BCKN.mjs.map → global-config-6UGFPLDA.mjs.map} +0 -0
  130. /package/dist/agent-verifier/{local-files-ZW52HSVT.mjs.map → local-files-WPHUV6GU.mjs.map} +0 -0
  131. /package/dist/agent-verifier/{reducer-bundle-preflight-7NYZF5ZT.mjs.map → reducer-bundle-preflight-3DSXIELT.mjs.map} +0 -0
  132. /package/dist/agent-verifier/{reducer-contract-preflight-COD2CO22.mjs.map → reducer-contract-preflight-FQB7M4PU.mjs.map} +0 -0
  133. /package/dist/agent-verifier/{reducer-native-test-harness-D4VWPIAC.mjs.map → reducer-native-test-harness-GY2CCQWN.mjs.map} +0 -0
  134. /package/dist/agent-verifier/{static-scaffold-JCRBDKEH.mjs.map → static-scaffold-3O543YTZ.mjs.map} +0 -0
  135. /package/dist/agent-verifier/{workspace-codegen-WPZHMATU.mjs.map → workspace-codegen-4IWICKLB.mjs.map} +0 -0
  136. /package/dist/agent-verifier/{workspace-dependencies-ULZZZPNX.mjs.map → workspace-dependencies-ZMHPHVQV.mjs.map} +0 -0
  137. /package/dist/{global-config-WPJRXVDO.js.map → authoring-compatibility-internal.js.map} +0 -0
  138. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.framework.json +0 -0
  139. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.json +0 -0
  140. /package/{dist/scaffold → scaffold}/assets/static/ui/index.tsx +0 -0
  141. /package/{dist/scaffold → scaffold}/assets/static/ui/style.css +0 -0
  142. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.framework.json +0 -0
  143. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.json +0 -0
@@ -4,15 +4,17 @@ import {
4
4
  } from "./chunk-JZTH3EMV.mjs";
5
5
  import {
6
6
  createRepoLocalPackageResolutionPlugin
7
- } from "./chunk-QBAF7EYR.mjs";
7
+ } from "./chunk-TTB7AIHZ.mjs";
8
8
  import {
9
9
  client
10
- } from "./chunk-NAK77WXW.mjs";
10
+ } from "./chunk-MYMVXTZT.mjs";
11
11
  import {
12
- exists,
13
- writeJsonFile,
14
- writeTextFile
15
- } from "./chunk-IAYRNVUC.mjs";
12
+ loadProjectAuthoringAdapter,
13
+ normalizeOwnedProjectPath,
14
+ workspacePathExists,
15
+ writeWorkspaceJsonFile,
16
+ writeWorkspaceTextFile
17
+ } from "./chunk-WAFBU5U7.mjs";
16
18
  import {
17
19
  MANIFEST_FILE,
18
20
  MATERIALIZED_MANIFEST_FILE
@@ -73,34 +75,24 @@ var getProjectCompiledResult = (options) => (options.client ?? client).get({
73
75
  url: "/api/projects/{projectId}/compiled-results/{compiledResultId}",
74
76
  ...options
75
77
  });
76
- var createProjectSession = (options) => (options.client ?? client).post({
78
+ var uploadProjectInitialProjection = (options) => (options.client ?? client).put({
77
79
  security: [{ scheme: "bearer", type: "http" }],
78
- url: "/api/projects/{projectId}/sessions",
80
+ url: "/api/projects/{projectId}/preview/initial-projection",
79
81
  ...options,
80
82
  headers: {
81
83
  "Content-Type": "application/json",
82
84
  ...options.headers
83
85
  }
84
86
  });
85
- var listCompiledResults = (options) => (options.client ?? client).get({
86
- security: [{ scheme: "bearer", type: "http" }],
87
- url: "/api/games/{gameId}/compiled-results",
88
- ...options
89
- });
90
- var uploadInitialProjection = (options) => (options.client ?? client).put({
87
+ var createProjectSession = (options) => (options.client ?? client).post({
91
88
  security: [{ scheme: "bearer", type: "http" }],
92
- url: "/api/games/{gameId}/preview/initial-projection",
89
+ url: "/api/projects/{projectId}/sessions",
93
90
  ...options,
94
91
  headers: {
95
92
  "Content-Type": "application/json",
96
93
  ...options.headers
97
94
  }
98
95
  });
99
- var getCompiledResult = (options) => (options.client ?? client).get({
100
- security: [{ scheme: "bearer", type: "http" }],
101
- url: "/api/games/{gameId}/compiled-results/{compiledResultId}",
102
- ...options
103
- });
104
96
  var getJob = (options) => (options.client ?? client).get({
105
97
  security: [{ scheme: "bearer", type: "http" }],
106
98
  url: "/api/jobs/{jobId}",
@@ -184,6 +176,16 @@ var zProblemDetails = external_exports.object({
184
176
  violations: external_exports.optional(external_exports.array(zProblemViolation)),
185
177
  timestamp: external_exports.optional(external_exports.iso.datetime())
186
178
  });
179
+ var zTokenExchangeAudience = external_exports.enum(["dreamboard-api", "dreamboard-git"]);
180
+ var zTokenExchangeRequest = external_exports.object({
181
+ audience: zTokenExchangeAudience
182
+ });
183
+ var zTokenExchangeResponse = external_exports.object({
184
+ accessToken: external_exports.string(),
185
+ tokenType: external_exports.enum(["Bearer"]),
186
+ audience: zTokenExchangeAudience,
187
+ 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" })
188
+ });
187
189
  var zCreateBillingCheckoutSessionRequest = external_exports.object({
188
190
  planKey: external_exports.optional(external_exports.string()).default("designer"),
189
191
  successUrl: external_exports.optional(external_exports.string()),
@@ -217,29 +219,23 @@ var zGameMetadata = external_exports.object({
217
219
  playTimeMaxMinutes: external_exports.optional(external_exports.int().gte(1)),
218
220
  difficulty: external_exports.optional(external_exports.int().gte(1).lte(5))
219
221
  });
220
- var zGame = external_exports.object({
221
- id: external_exports.uuid(),
222
+ var zProjectHead = external_exports.object({
223
+ revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
224
+ });
225
+ var zProject = external_exports.object({
222
226
  projectId: external_exports.uuid(),
223
227
  slug: external_exports.string(),
224
- name: external_exports.string().min(1).max(255),
228
+ name: external_exports.string(),
225
229
  description: external_exports.optional(external_exports.string()),
226
- ruleText: external_exports.optional(external_exports.string()),
230
+ metadata: external_exports.optional(zGameMetadata),
227
231
  public: external_exports.boolean().default(false),
228
- createdAt: external_exports.iso.datetime(),
229
- updatedAt: external_exports.iso.datetime(),
230
- scriptId: external_exports.optional(external_exports.string()),
231
232
  previewStorageKey: external_exports.optional(external_exports.string()),
232
233
  initialProjectionKey: external_exports.optional(external_exports.string()),
233
- metadata: external_exports.optional(zGameMetadata),
234
234
  verified: external_exports.boolean().default(false),
235
- verifiedAt: external_exports.optional(external_exports.iso.datetime())
236
- });
237
- var zCreateGameRequest = external_exports.object({
238
- slug: external_exports.optional(external_exports.string()),
239
- name: external_exports.optional(external_exports.string().max(200)),
240
- description: external_exports.optional(external_exports.string().max(1e3)),
241
- ruleText: external_exports.optional(external_exports.string().max(5e4)),
242
- enhanceRule: external_exports.optional(external_exports.boolean()).default(false)
235
+ verifiedAt: external_exports.optional(external_exports.iso.datetime()),
236
+ createdAt: external_exports.iso.datetime(),
237
+ updatedAt: external_exports.iso.datetime(),
238
+ head: external_exports.optional(zProjectHead)
243
239
  });
244
240
  var zExtractGameSpecRequest = external_exports.object({
245
241
  ruleText: external_exports.string().min(1).max(5e4)
@@ -276,17 +272,41 @@ var zGameSpecForm = external_exports.object({
276
272
  var zExtractGameSpecResponse = external_exports.object({
277
273
  gameSpec: zGameSpecForm
278
274
  });
275
+ var zEnsureProjectRequest = external_exports.object({
276
+ slug: external_exports.string().min(1).max(200),
277
+ name: external_exports.string().min(1).max(200),
278
+ description: external_exports.optional(external_exports.string().max(1e3)),
279
+ updateAlias: external_exports.optional(external_exports.boolean()).default(false)
280
+ });
281
+ var zDeleteProjectResponse = external_exports.object({
282
+ deleted: external_exports.boolean()
283
+ });
284
+ var zUpdateProjectRequest = external_exports.object({
285
+ slug: external_exports.optional(external_exports.string().min(1).max(200)),
286
+ name: external_exports.optional(external_exports.string().min(1).max(200)),
287
+ description: external_exports.optional(external_exports.string().max(1e3)),
288
+ public: external_exports.optional(external_exports.boolean()),
289
+ metadata: external_exports.optional(zGameMetadata)
290
+ });
291
+ var zProjectRepository = external_exports.object({
292
+ repoBindingId: external_exports.uuid(),
293
+ cloneUrl: external_exports.url(),
294
+ defaultBranch: external_exports.string(),
295
+ headCommit: external_exports.string()
296
+ });
297
+ var zGameRevisionSourceFile = external_exports.object({
298
+ path: external_exports.string().min(1),
299
+ contentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
300
+ byteSize: external_exports.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
301
+ });
302
+ var zCreateGameRevisionSource = external_exports.object({
303
+ files: external_exports.array(zGameRevisionSourceFile)
304
+ });
279
305
  var zPlayersDefinition = external_exports.object({
280
306
  minPlayers: external_exports.int().gte(1).lte(10),
281
307
  maxPlayers: external_exports.int().gte(1).lte(10),
282
308
  optimalPlayers: external_exports.optional(external_exports.int().gte(1).lte(10))
283
309
  });
284
- var zPresetCardSetDefinition = external_exports.object({
285
- id: external_exports.string().min(1),
286
- presetId: external_exports.string().min(1),
287
- name: external_exports.string().min(1),
288
- type: external_exports.enum(["preset"])
289
- });
290
310
  var zJsonValue = external_exports.union([
291
311
  external_exports.string(),
292
312
  external_exports.int(),
@@ -420,6 +440,13 @@ var zComponentHomeSpec = external_exports.union([
420
440
  type: external_exports.literal("slot")
421
441
  }).and(zSlotHomeSpec)
422
442
  ]);
443
+ var zPresetCardSetDefinition = external_exports.object({
444
+ id: external_exports.string().min(1),
445
+ presetId: external_exports.string().min(1),
446
+ name: external_exports.string().min(1),
447
+ type: external_exports.enum(["preset"]),
448
+ defaultHome: zComponentHomeSpec
449
+ });
423
450
  var zComponentVisibilitySpec = external_exports.object({
424
451
  faceUp: external_exports.optional(external_exports.boolean()).default(true),
425
452
  visibleTo: external_exports.optional(external_exports.array(external_exports.string()))
@@ -440,6 +467,7 @@ var zManualCardSetDefinition = external_exports.object({
440
467
  name: external_exports.string().min(1),
441
468
  type: external_exports.enum(["manual"]),
442
469
  cardSchema: zCardPropertySchema,
470
+ defaultHome: zComponentHomeSpec,
443
471
  cards: external_exports.array(zBoardCard).min(0)
444
472
  });
445
473
  var zCardSetDefinition = external_exports.union([
@@ -746,41 +774,6 @@ var zGameTopologyManifest = external_exports.object({
746
774
  setupOptions: external_exports.optional(external_exports.array(zSetupOptionSpec)).default([]),
747
775
  setupProfiles: external_exports.optional(external_exports.array(zSetupProfileSpec)).default([])
748
776
  });
749
- var zUpdateGameRequest = external_exports.object({
750
- name: external_exports.optional(external_exports.string().min(1).max(255)),
751
- description: external_exports.optional(external_exports.string()),
752
- rule: external_exports.optional(external_exports.string()),
753
- public: external_exports.optional(external_exports.boolean()),
754
- manifest: external_exports.optional(zGameTopologyManifest),
755
- metadata: external_exports.optional(zGameMetadata)
756
- });
757
- var zDeleteGameResponse = external_exports.object({
758
- deleted: external_exports.boolean()
759
- });
760
- var zEnsureProjectRequest = external_exports.object({
761
- slug: external_exports.string().min(1).max(200),
762
- name: external_exports.string().min(1).max(200),
763
- description: external_exports.optional(external_exports.string().max(1e3)),
764
- updateAlias: external_exports.optional(external_exports.boolean()).default(false)
765
- });
766
- var zProjectHead = external_exports.object({
767
- revisionDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)
768
- });
769
- var zProject = external_exports.object({
770
- projectId: external_exports.uuid(),
771
- slug: external_exports.string(),
772
- name: external_exports.string(),
773
- description: external_exports.optional(external_exports.string()),
774
- head: external_exports.optional(zProjectHead)
775
- });
776
- var zGameRevisionSourceFile = external_exports.object({
777
- path: external_exports.string().min(1),
778
- contentHash: external_exports.string().regex(/^[a-f0-9]{64}$/),
779
- byteSize: external_exports.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
780
- });
781
- var zCreateGameRevisionSource = external_exports.object({
782
- files: external_exports.array(zGameRevisionSourceFile)
783
- });
784
777
  var zCreateGameRevisionRequest = external_exports.object({
785
778
  baseRevisionDigest: external_exports.optional(external_exports.string().regex(/^sha256:[a-f0-9]{64}$/)),
786
779
  scope: external_exports.optional(external_exports.enum(["CANONICAL", "DEV"])),
@@ -899,6 +892,12 @@ var zCompiledResult = external_exports.object({
899
892
  var zListCompiledResultsResponse = external_exports.object({
900
893
  results: external_exports.array(zCompiledResult)
901
894
  });
895
+ var zUploadInitialProjectionRequest = external_exports.object({
896
+ projectionJson: external_exports.string()
897
+ });
898
+ var zPreviewScreenshotJobResponse = external_exports.object({
899
+ jobId: external_exports.uuid()
900
+ });
902
901
  var zSourceChangeMode = external_exports.enum(["incremental", "replace"]);
903
902
  var zSourceFileUpsert = external_exports.object({
904
903
  kind: external_exports.enum(["upsert"]),
@@ -1000,28 +999,6 @@ var zGameSourcesResponse = external_exports.object({
1000
999
  manifest: zGameTopologyManifest,
1001
1000
  ruleText: external_exports.string()
1002
1001
  });
1003
- var zWorkshopRuleTextResponse = external_exports.object({
1004
- ruleText: external_exports.string()
1005
- });
1006
- var zQueueCompiledResultJobRequest = external_exports.object({
1007
- gameRevisionId: external_exports.uuid(),
1008
- devFingerprint: external_exports.optional(external_exports.string())
1009
- });
1010
- var zUploadInitialProjectionRequest = external_exports.object({
1011
- projectionJson: external_exports.string()
1012
- });
1013
- var zPreviewScreenshotJobResponse = external_exports.object({
1014
- jobId: external_exports.uuid()
1015
- });
1016
- var zSourceRevision = external_exports.object({
1017
- id: external_exports.uuid(),
1018
- gameId: external_exports.uuid(),
1019
- userId: external_exports.uuid(),
1020
- parentSourceRevisionId: external_exports.optional(external_exports.uuid()),
1021
- treeHash: external_exports.string(),
1022
- fileCount: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1023
- createdAt: external_exports.iso.datetime()
1024
- });
1025
1002
  var zJobKind = external_exports.enum([
1026
1003
  "GAME_BUILD",
1027
1004
  "COMPILE",
@@ -1049,6 +1026,9 @@ var zActiveJobResponse = external_exports.object({
1049
1026
  activeJob: external_exports.optional(zJobSummary),
1050
1027
  hasActiveJob: external_exports.boolean()
1051
1028
  });
1029
+ var zWorkshopRuleTextResponse = external_exports.object({
1030
+ ruleText: external_exports.string()
1031
+ });
1052
1032
  var zCompileJobCacheStatus = external_exports.enum(["hit", "miss"]);
1053
1033
  var zCompileJobCacheSummary = external_exports.object({
1054
1034
  app: external_exports.optional(zCompileJobCacheStatus),
@@ -1629,6 +1609,54 @@ var zBoardLayout = external_exports.enum([
1629
1609
  "hex",
1630
1610
  "square"
1631
1611
  ]);
1612
+ var zGame = external_exports.object({
1613
+ id: external_exports.uuid(),
1614
+ projectId: external_exports.uuid(),
1615
+ slug: external_exports.string(),
1616
+ name: external_exports.string().min(1).max(255),
1617
+ description: external_exports.optional(external_exports.string()),
1618
+ ruleText: external_exports.optional(external_exports.string()),
1619
+ public: external_exports.boolean().default(false),
1620
+ createdAt: external_exports.iso.datetime(),
1621
+ updatedAt: external_exports.iso.datetime(),
1622
+ scriptId: external_exports.optional(external_exports.string()),
1623
+ previewStorageKey: external_exports.optional(external_exports.string()),
1624
+ initialProjectionKey: external_exports.optional(external_exports.string()),
1625
+ metadata: external_exports.optional(zGameMetadata),
1626
+ verified: external_exports.boolean().default(false),
1627
+ verifiedAt: external_exports.optional(external_exports.iso.datetime())
1628
+ });
1629
+ var zCreateGameRequest = external_exports.object({
1630
+ slug: external_exports.optional(external_exports.string()),
1631
+ name: external_exports.optional(external_exports.string().max(200)),
1632
+ description: external_exports.optional(external_exports.string().max(1e3)),
1633
+ ruleText: external_exports.optional(external_exports.string().max(5e4)),
1634
+ enhanceRule: external_exports.optional(external_exports.boolean()).default(false)
1635
+ });
1636
+ var zUpdateGameRequest = external_exports.object({
1637
+ name: external_exports.optional(external_exports.string().min(1).max(255)),
1638
+ description: external_exports.optional(external_exports.string()),
1639
+ rule: external_exports.optional(external_exports.string()),
1640
+ public: external_exports.optional(external_exports.boolean()),
1641
+ manifest: external_exports.optional(zGameTopologyManifest),
1642
+ metadata: external_exports.optional(zGameMetadata)
1643
+ });
1644
+ var zDeleteGameResponse = external_exports.object({
1645
+ deleted: external_exports.boolean()
1646
+ });
1647
+ var zSourceRevision = external_exports.object({
1648
+ id: external_exports.uuid(),
1649
+ gameId: external_exports.uuid(),
1650
+ userId: external_exports.uuid(),
1651
+ parentSourceRevisionId: external_exports.optional(external_exports.uuid()),
1652
+ treeHash: external_exports.string(),
1653
+ fileCount: external_exports.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1654
+ createdAt: external_exports.iso.datetime()
1655
+ });
1656
+ var zQueueCompiledResultJobRequest = external_exports.object({
1657
+ gameRevisionId: external_exports.uuid(),
1658
+ devFingerprint: external_exports.optional(external_exports.string())
1659
+ });
1632
1660
  var zInputDomain = external_exports.union([
1633
1661
  external_exports.object({
1634
1662
  type: external_exports.literal("cardTarget")
@@ -1808,12 +1836,12 @@ var zHostSessionEventBatchResponse = external_exports.object({
1808
1836
  events: external_exports.array(zHostSessionEvent),
1809
1837
  timedOut: external_exports.boolean()
1810
1838
  });
1811
- var zGameId = external_exports.uuid();
1812
- var zGameSlug = external_exports.string();
1813
1839
  var zProjectId = external_exports.uuid();
1840
+ var zGameSlug = external_exports.string();
1814
1841
  var zRevisionDigest = external_exports.string().regex(/^sha256:[a-f0-9]{64}$/);
1815
1842
  var zSessionId = external_exports.uuid();
1816
1843
  var zPlayerId = external_exports.string();
1844
+ var zGameId = external_exports.uuid();
1817
1845
  var zHealthCheckData = external_exports.object({
1818
1846
  body: external_exports.optional(external_exports.never()),
1819
1847
  path: external_exports.optional(external_exports.never()),
@@ -1830,6 +1858,16 @@ var zGetCurrentAuthUserData = external_exports.object({
1830
1858
  path: external_exports.optional(external_exports.never()),
1831
1859
  query: external_exports.optional(external_exports.never())
1832
1860
  });
1861
+ var zExchangeAuthTokenData = external_exports.object({
1862
+ body: zTokenExchangeRequest,
1863
+ path: external_exports.optional(external_exports.never()),
1864
+ query: external_exports.optional(external_exports.never())
1865
+ });
1866
+ var zGetAuthJwksData = external_exports.object({
1867
+ body: external_exports.optional(external_exports.never()),
1868
+ path: external_exports.optional(external_exports.never()),
1869
+ query: external_exports.optional(external_exports.never())
1870
+ });
1833
1871
  var zCreateBillingCheckoutSessionData = external_exports.object({
1834
1872
  body: zCreateBillingCheckoutSessionRequest,
1835
1873
  path: external_exports.optional(external_exports.never()),
@@ -1851,55 +1889,47 @@ var zReceiveStripeBillingWebhookData = external_exports.object({
1851
1889
  query: external_exports.optional(external_exports.never())
1852
1890
  });
1853
1891
  var zReceiveStripeBillingWebhookResponse = external_exports.void();
1854
- var zListGamesData = external_exports.object({
1892
+ var zListProjectsData = external_exports.object({
1855
1893
  body: external_exports.optional(external_exports.never()),
1856
1894
  path: external_exports.optional(external_exports.never()),
1857
1895
  query: external_exports.optional(external_exports.never())
1858
1896
  });
1859
- var zListGamesResponse = external_exports.array(zGame);
1860
- var zCreateGameData = external_exports.object({
1861
- body: zCreateGameRequest,
1862
- path: external_exports.optional(external_exports.never()),
1863
- query: external_exports.optional(external_exports.never())
1864
- });
1897
+ var zListProjectsResponse = external_exports.array(zProject);
1865
1898
  var zExtractGameSpecData = external_exports.object({
1866
1899
  body: zExtractGameSpecRequest,
1867
1900
  path: external_exports.optional(external_exports.never()),
1868
1901
  query: external_exports.optional(external_exports.never())
1869
1902
  });
1870
- var zDeleteGameData = external_exports.object({
1903
+ var zDeleteProjectData = external_exports.object({
1871
1904
  body: external_exports.optional(external_exports.never()),
1872
1905
  path: external_exports.object({
1873
- gameId: external_exports.uuid()
1906
+ projectId: external_exports.uuid()
1874
1907
  }),
1875
1908
  query: external_exports.optional(external_exports.never())
1876
1909
  });
1877
- var zGetGameData = external_exports.object({
1910
+ var zGetProjectData = external_exports.object({
1878
1911
  body: external_exports.optional(external_exports.never()),
1879
1912
  path: external_exports.object({
1880
- gameId: external_exports.uuid()
1913
+ projectId: external_exports.uuid()
1881
1914
  }),
1882
1915
  query: external_exports.optional(external_exports.never())
1883
1916
  });
1884
- var zUpdateGameData = external_exports.object({
1885
- body: zUpdateGameRequest,
1917
+ var zUpdateProjectData = external_exports.object({
1918
+ body: zUpdateProjectRequest,
1886
1919
  path: external_exports.object({
1887
- gameId: external_exports.uuid()
1920
+ projectId: external_exports.uuid()
1888
1921
  }),
1889
1922
  query: external_exports.optional(external_exports.never())
1890
1923
  });
1891
- var zUpdateGameResponse = external_exports.string();
1892
- var zGetGameBySlugData = external_exports.object({
1893
- body: external_exports.optional(external_exports.never()),
1924
+ var zEnsureProjectData = external_exports.object({
1925
+ body: zEnsureProjectRequest,
1894
1926
  path: external_exports.object({
1895
- slug: external_exports.string()
1927
+ projectId: external_exports.uuid()
1896
1928
  }),
1897
- query: external_exports.optional(external_exports.object({
1898
- includeDeleted: external_exports.optional(external_exports.boolean()).default(false)
1899
- }))
1929
+ query: external_exports.optional(external_exports.never())
1900
1930
  });
1901
- var zEnsureProjectData = external_exports.object({
1902
- body: zEnsureProjectRequest,
1931
+ var zEnsureProjectRepositoryData = external_exports.object({
1932
+ body: external_exports.optional(external_exports.never()),
1903
1933
  path: external_exports.object({
1904
1934
  projectId: external_exports.uuid()
1905
1935
  }),
@@ -1968,118 +1998,71 @@ var zGetProjectCompiledResultData = external_exports.object({
1968
1998
  }),
1969
1999
  query: external_exports.optional(external_exports.never())
1970
2000
  });
1971
- var zEnsureProjectDevCompileData = external_exports.object({
1972
- body: zEnsureDevCompileRequest,
1973
- path: external_exports.object({
1974
- projectId: external_exports.uuid()
1975
- }),
1976
- query: external_exports.optional(external_exports.never())
1977
- });
1978
- var zCreateProjectSessionData = external_exports.object({
1979
- body: zCreateSessionRequest,
2001
+ var zUploadProjectInitialProjectionData = external_exports.object({
2002
+ body: zUploadInitialProjectionRequest,
1980
2003
  path: external_exports.object({
1981
2004
  projectId: external_exports.uuid()
1982
2005
  }),
1983
2006
  query: external_exports.optional(external_exports.never())
1984
2007
  });
1985
- var zDownloadProjectSourcesData = external_exports.object({
2008
+ var zUploadProjectInitialProjectionResponse = external_exports.void();
2009
+ var zQueueProjectPreviewScreenshotData = external_exports.object({
1986
2010
  body: external_exports.optional(external_exports.never()),
1987
2011
  path: external_exports.object({
1988
2012
  projectId: external_exports.uuid()
1989
2013
  }),
1990
2014
  query: external_exports.optional(external_exports.never())
1991
2015
  });
1992
- var zDownloadProjectSourcesResponse = external_exports.string();
1993
- var zGetProjectSourcesData = external_exports.object({
2016
+ var zFetchProjectPreviewImageData = external_exports.object({
1994
2017
  body: external_exports.optional(external_exports.never()),
1995
2018
  path: external_exports.object({
1996
2019
  projectId: external_exports.uuid()
1997
2020
  }),
1998
2021
  query: external_exports.optional(external_exports.never())
1999
2022
  });
2000
- var zQueryWorkshopRulebookData = external_exports.object({
2001
- body: external_exports.optional(external_exports.never()),
2002
- path: external_exports.optional(external_exports.never()),
2003
- query: external_exports.object({
2004
- title: external_exports.string().min(1)
2005
- })
2006
- });
2007
- var zGetLatestCompiledResultData = external_exports.object({
2008
- body: external_exports.optional(external_exports.never()),
2009
- path: external_exports.object({
2010
- gameId: external_exports.uuid()
2011
- }),
2012
- query: external_exports.optional(external_exports.object({
2013
- successOnly: external_exports.optional(external_exports.boolean()).default(false)
2014
- }))
2015
- });
2016
- var zListCompiledResultsData = external_exports.object({
2017
- body: external_exports.optional(external_exports.never()),
2018
- path: external_exports.object({
2019
- gameId: external_exports.uuid()
2020
- }),
2021
- query: external_exports.optional(external_exports.object({
2022
- limit: external_exports.optional(external_exports.int().gte(1).lte(100)).default(10)
2023
- }))
2024
- });
2025
- var zQueueCompiledResultJobData = external_exports.object({
2026
- body: zQueueCompiledResultJobRequest,
2023
+ var zFetchProjectPreviewImageResponse = external_exports.string();
2024
+ var zEnsureProjectDevCompileData = external_exports.object({
2025
+ body: zEnsureDevCompileRequest,
2027
2026
  path: external_exports.object({
2028
- gameId: external_exports.uuid()
2027
+ projectId: external_exports.uuid()
2029
2028
  }),
2030
2029
  query: external_exports.optional(external_exports.never())
2031
2030
  });
2032
- var zUploadInitialProjectionData = external_exports.object({
2033
- body: zUploadInitialProjectionRequest,
2031
+ var zCreateProjectSessionData = external_exports.object({
2032
+ body: zCreateSessionRequest,
2034
2033
  path: external_exports.object({
2035
- gameId: external_exports.uuid()
2034
+ projectId: external_exports.uuid()
2036
2035
  }),
2037
2036
  query: external_exports.optional(external_exports.never())
2038
2037
  });
2039
- var zUploadInitialProjectionResponse = external_exports.void();
2040
- var zQueuePreviewScreenshotData = external_exports.object({
2038
+ var zDownloadProjectSourcesData = external_exports.object({
2041
2039
  body: external_exports.optional(external_exports.never()),
2042
2040
  path: external_exports.object({
2043
- gameId: external_exports.uuid()
2041
+ projectId: external_exports.uuid()
2044
2042
  }),
2045
2043
  query: external_exports.optional(external_exports.never())
2046
2044
  });
2047
- var zFetchPreviewImageData = external_exports.object({
2045
+ var zDownloadProjectSourcesResponse = external_exports.string();
2046
+ var zGetProjectSourcesData = external_exports.object({
2048
2047
  body: external_exports.optional(external_exports.never()),
2049
2048
  path: external_exports.object({
2050
- gameId: external_exports.uuid()
2049
+ projectId: external_exports.uuid()
2051
2050
  }),
2052
2051
  query: external_exports.optional(external_exports.never())
2053
2052
  });
2054
- var zFetchPreviewImageResponse = external_exports.string();
2055
- var zGetCompiledResultData = external_exports.object({
2053
+ var zGetProjectActiveJobData = external_exports.object({
2056
2054
  body: external_exports.optional(external_exports.never()),
2057
2055
  path: external_exports.object({
2058
- gameId: external_exports.uuid(),
2059
- compiledResultId: external_exports.uuid()
2060
- }),
2061
- query: external_exports.optional(external_exports.never())
2062
- });
2063
- var zCreateSourceRevisionData = external_exports.object({
2064
- body: zCreateSourceRevisionRequest,
2065
- path: external_exports.object({
2066
- gameId: external_exports.uuid()
2067
- }),
2068
- query: external_exports.optional(external_exports.never())
2069
- });
2070
- var zCreateSourceBlobUploadSessionData = external_exports.object({
2071
- body: zCreateSourceBlobUploadSessionRequest,
2072
- path: external_exports.object({
2073
- gameId: external_exports.uuid()
2056
+ projectId: external_exports.uuid()
2074
2057
  }),
2075
2058
  query: external_exports.optional(external_exports.never())
2076
2059
  });
2077
- var zGetActiveJobData = external_exports.object({
2060
+ var zQueryWorkshopRulebookData = external_exports.object({
2078
2061
  body: external_exports.optional(external_exports.never()),
2079
- path: external_exports.object({
2080
- gameId: external_exports.uuid()
2081
- }),
2082
- query: external_exports.optional(external_exports.never())
2062
+ path: external_exports.optional(external_exports.never()),
2063
+ query: external_exports.object({
2064
+ title: external_exports.string().min(1)
2065
+ })
2083
2066
  });
2084
2067
  var zGetJobData = external_exports.object({
2085
2068
  body: external_exports.optional(external_exports.never()),
@@ -2110,13 +2093,6 @@ var zCancelGameRunData = external_exports.object({
2110
2093
  }),
2111
2094
  query: external_exports.optional(external_exports.never())
2112
2095
  });
2113
- var zCreateSessionData = external_exports.object({
2114
- body: zCreateSessionRequest,
2115
- path: external_exports.object({
2116
- gameId: external_exports.uuid()
2117
- }),
2118
- query: external_exports.optional(external_exports.never())
2119
- });
2120
2096
  var zGetSessionLogBatchData = external_exports.object({
2121
2097
  body: external_exports.optional(external_exports.never()),
2122
2098
  path: external_exports.object({
@@ -2134,7 +2110,10 @@ var zCreateGameplayCapabilityData = external_exports.object({
2134
2110
  sessionId: external_exports.uuid(),
2135
2111
  playerId: external_exports.string()
2136
2112
  }),
2137
- query: external_exports.optional(external_exports.never())
2113
+ query: external_exports.optional(external_exports.never()),
2114
+ headers: external_exports.optional(external_exports.object({
2115
+ "X-Dreamboard-Browser-Origin": external_exports.optional(external_exports.string())
2116
+ }))
2138
2117
  });
2139
2118
  var zAddSeatData = external_exports.object({
2140
2119
  body: external_exports.optional(external_exports.never()),
@@ -2232,7 +2211,10 @@ var zCreateDemoGameplayCapabilityData = external_exports.object({
2232
2211
  sessionId: external_exports.uuid(),
2233
2212
  playerId: external_exports.string()
2234
2213
  }),
2235
- query: external_exports.optional(external_exports.never())
2214
+ query: external_exports.optional(external_exports.never()),
2215
+ headers: external_exports.optional(external_exports.object({
2216
+ "X-Dreamboard-Browser-Origin": external_exports.optional(external_exports.string())
2217
+ }))
2236
2218
  });
2237
2219
  var zFetchDemoUiBundleData = external_exports.object({
2238
2220
  body: external_exports.optional(external_exports.never()),
@@ -2242,13 +2224,6 @@ var zFetchDemoUiBundleData = external_exports.object({
2242
2224
  })
2243
2225
  });
2244
2226
  var zFetchDemoUiBundleResponse = external_exports.string();
2245
- var zCreateSessionFromReducerSnapshotData = external_exports.object({
2246
- body: zCreateSessionFromReducerSnapshotRequest,
2247
- path: external_exports.object({
2248
- gameId: external_exports.uuid()
2249
- }),
2250
- query: external_exports.optional(external_exports.never())
2251
- });
2252
2227
  var zCreateProjectSessionFromReducerSnapshotData = external_exports.object({
2253
2228
  body: zCreateSessionFromReducerSnapshotRequest,
2254
2229
  path: external_exports.object({
@@ -2368,7 +2343,6 @@ import { tmpdir } from "os";
2368
2343
  import path from "path";
2369
2344
  import { pathToFileURL } from "url";
2370
2345
  import { build } from "esbuild";
2371
- import { validateManifestAuthoring } from "@dreamboard-games/sdk/codegen";
2372
2346
  function formatIssuePath(pathSegments) {
2373
2347
  if (pathSegments.length === 0) {
2374
2348
  return "manifest";
@@ -2377,7 +2351,7 @@ function formatIssuePath(pathSegments) {
2377
2351
  (segment) => typeof segment === "number" ? `[${segment}]` : `.${segment}`
2378
2352
  ).join("")}`;
2379
2353
  }
2380
- function formatManifestValidationError(manifest) {
2354
+ async function formatManifestValidationError(projectRoot, manifest) {
2381
2355
  const parsedManifest = zGameTopologyManifest.strict().safeParse(manifest);
2382
2356
  if (!parsedManifest.success) {
2383
2357
  const lines = parsedManifest.error.issues.map((issue) => {
@@ -2391,7 +2365,8 @@ function formatManifestValidationError(manifest) {
2391
2365
  return `Invalid manifest:
2392
2366
  - ${lines.join("\n- ")}`;
2393
2367
  }
2394
- const validationResult = validateManifestAuthoring(
2368
+ const { adapter } = await loadProjectAuthoringAdapter(projectRoot);
2369
+ const validationResult = adapter.validateManifest(
2395
2370
  parsedManifest.data
2396
2371
  );
2397
2372
  if (validationResult.errors.length > 0) {
@@ -2421,8 +2396,7 @@ function computeManifestHash(manifest) {
2421
2396
  return hashContent(JSON.stringify(sortJsonKeys(manifest)));
2422
2397
  }
2423
2398
  async function evaluateManifestSource(projectRoot) {
2424
- const manifestPath = `${projectRoot}/${MANIFEST_FILE}`;
2425
- if (!await exists(manifestPath)) {
2399
+ if (!await workspacePathExists(projectRoot, MANIFEST_FILE)) {
2426
2400
  throw new Error(`Missing ${MANIFEST_FILE}.`);
2427
2401
  }
2428
2402
  let outputText;
@@ -2465,7 +2439,10 @@ async function evaluateManifestSource(projectRoot) {
2465
2439
  `${MANIFEST_FILE} must default-export defineTopologyManifest(...).`
2466
2440
  );
2467
2441
  }
2468
- const validationError = formatManifestValidationError(moduleRecord.default);
2442
+ const validationError = await formatManifestValidationError(
2443
+ projectRoot,
2444
+ moduleRecord.default
2445
+ );
2469
2446
  if (validationError) {
2470
2447
  throw new Error(validationError);
2471
2448
  }
@@ -2483,15 +2460,24 @@ function renderManifestSource(manifest) {
2483
2460
  }
2484
2461
  async function materializeManifest(projectRoot) {
2485
2462
  const manifest = await evaluateManifestSource(projectRoot);
2486
- await writeJsonFile(`${projectRoot}/${MATERIALIZED_MANIFEST_FILE}`, manifest);
2463
+ await writeWorkspaceJsonFile(
2464
+ projectRoot,
2465
+ MATERIALIZED_MANIFEST_FILE,
2466
+ manifest
2467
+ );
2487
2468
  return manifest;
2488
2469
  }
2489
2470
  async function writeManifestSource(projectRoot, manifest) {
2490
- await writeTextFile(
2491
- `${projectRoot}/${MANIFEST_FILE}`,
2471
+ await writeWorkspaceTextFile(
2472
+ projectRoot,
2473
+ MANIFEST_FILE,
2492
2474
  renderManifestSource(manifest)
2493
2475
  );
2494
- await writeJsonFile(`${projectRoot}/${MATERIALIZED_MANIFEST_FILE}`, manifest);
2476
+ await writeWorkspaceJsonFile(
2477
+ projectRoot,
2478
+ MATERIALIZED_MANIFEST_FILE,
2479
+ manifest
2480
+ );
2495
2481
  }
2496
2482
 
2497
2483
  // src/services/project/scaffold-ownership.generated.ts
@@ -2553,29 +2539,30 @@ var SCAFFOLD_OWNERSHIP = {
2553
2539
  };
2554
2540
 
2555
2541
  // src/services/project/scaffold-ownership.ts
2556
- function normalizeProjectPath(filePath) {
2557
- return filePath.replace(/^\.\//, "").replace(/^\/+/, "").replace(/\\/g, "/");
2558
- }
2559
2542
  function isAllowedGamePath(filePath) {
2560
- const path2 = normalizeProjectPath(filePath);
2543
+ const path2 = normalizeOwnedProjectPath(filePath);
2544
+ if (path2 === null) return false;
2561
2545
  if (SCAFFOLD_OWNERSHIP.allowedPaths.rootFiles.includes(path2)) return true;
2562
2546
  return SCAFFOLD_OWNERSHIP.allowedPaths.directoryPrefixes.some(
2563
2547
  (prefix) => path2.startsWith(prefix)
2564
2548
  );
2565
2549
  }
2566
2550
  function isDynamicGeneratedPath(filePath) {
2567
- const path2 = normalizeProjectPath(filePath);
2551
+ const path2 = normalizeOwnedProjectPath(filePath);
2552
+ if (path2 === null) return false;
2568
2553
  return SCAFFOLD_OWNERSHIP.dynamic.generatedFiles.includes(path2);
2569
2554
  }
2570
2555
  function isDynamicSeedPath(filePath) {
2571
- const path2 = normalizeProjectPath(filePath);
2556
+ const path2 = normalizeOwnedProjectPath(filePath);
2557
+ if (path2 === null) return false;
2572
2558
  if (SCAFFOLD_OWNERSHIP.dynamic.seedFiles.includes(path2)) return true;
2573
2559
  return SCAFFOLD_OWNERSHIP.dynamic.seedFilePatterns.some(
2574
2560
  (pattern) => path2.startsWith(pattern.prefix) && path2.endsWith(pattern.suffix)
2575
2561
  );
2576
2562
  }
2577
2563
  function isCliStaticPath(filePath) {
2578
- const path2 = normalizeProjectPath(filePath);
2564
+ const path2 = normalizeOwnedProjectPath(filePath);
2565
+ if (path2 === null) return false;
2579
2566
  if (SCAFFOLD_OWNERSHIP.cliStatic.exactFiles.includes(path2)) return true;
2580
2567
  return SCAFFOLD_OWNERSHIP.cliStatic.directoryPrefixes.some(
2581
2568
  (prefix) => path2.startsWith(prefix)
@@ -2598,10 +2585,8 @@ export {
2598
2585
  queueProjectRevisionCompile,
2599
2586
  listProjectCompiledResults,
2600
2587
  getProjectCompiledResult,
2588
+ uploadProjectInitialProjection,
2601
2589
  createProjectSession,
2602
- listCompiledResults,
2603
- uploadInitialProjection,
2604
- getCompiledResult,
2605
2590
  getJob,
2606
2591
  createProjectSessionFromReducerSnapshot,
2607
2592
  getSessionSnapshot,
@@ -2618,4 +2603,4 @@ export {
2618
2603
  isDynamicSeedPath,
2619
2604
  isLibraryPath
2620
2605
  };
2621
- //# sourceMappingURL=chunk-6XRC5PWB.mjs.map
2606
+ //# sourceMappingURL=chunk-H3XNWKJU.mjs.map