@playdrop/playdrop-cli 0.16.12 → 0.17.0

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 (364) hide show
  1. package/config/client-meta.json +4 -4
  2. package/dist/apiClient.d.ts +1 -2
  3. package/dist/apiClient.js +1 -16
  4. package/dist/appUrls.js +4 -0
  5. package/dist/apps/build.d.ts +12 -4
  6. package/dist/apps/build.js +55 -22
  7. package/dist/apps/index.d.ts +2 -1
  8. package/dist/apps/index.js +4 -1
  9. package/dist/apps/loadCheck.d.ts +5 -1
  10. package/dist/apps/loadCheck.js +52 -18
  11. package/dist/apps/serverBuild.d.ts +17 -0
  12. package/dist/apps/serverBuild.js +155 -0
  13. package/dist/apps/staticHtml.d.ts +1 -0
  14. package/dist/apps/staticHtml.js +19 -10
  15. package/dist/apps/upload.d.ts +12 -2
  16. package/dist/apps/upload.js +127 -46
  17. package/dist/catalogue.d.ts +23 -1
  18. package/dist/catalogue.js +126 -100
  19. package/dist/commandContext.d.ts +6 -3
  20. package/dist/commandContext.js +108 -18
  21. package/dist/commands/build.js +0 -7
  22. package/dist/commands/captureListing.d.ts +3 -0
  23. package/dist/commands/captureListing.js +48 -4
  24. package/dist/commands/chat.d.ts +4 -7
  25. package/dist/commands/chat.js +165 -77
  26. package/dist/commands/check.js +34 -1
  27. package/dist/commands/create.js +30 -263
  28. package/dist/commands/dev.js +37 -3
  29. package/dist/commands/devBrowser.js +2 -2
  30. package/dist/commands/devGameServer.d.ts +16 -0
  31. package/dist/commands/devGameServer.js +237 -0
  32. package/dist/commands/devRuntimeAssets.d.ts +1 -0
  33. package/dist/commands/devRuntimeAssets.js +2 -0
  34. package/dist/commands/devServer.d.ts +3 -0
  35. package/dist/commands/devServer.js +111 -5
  36. package/dist/commands/generation.d.ts +33 -4
  37. package/dist/commands/generation.js +304 -115
  38. package/dist/commands/login.js +23 -7
  39. package/dist/commands/review.d.ts +1 -1
  40. package/dist/commands/review.js +68 -95
  41. package/dist/commands/source.d.ts +19 -0
  42. package/dist/commands/source.js +142 -0
  43. package/dist/commands/tweaks.js +5 -11
  44. package/dist/commands/upload-content.d.ts +1 -1
  45. package/dist/commands/upload-content.js +16 -12
  46. package/dist/commands/upload.d.ts +17 -1
  47. package/dist/commands/upload.js +47 -10
  48. package/dist/commands/worker/archive-staging.d.ts +1 -0
  49. package/dist/commands/worker/archive-staging.js +13 -2
  50. package/dist/commands/worker/e2e-fixtures.d.ts +32 -0
  51. package/dist/commands/worker/e2e-fixtures.js +466 -0
  52. package/dist/commands/worker/game-server-infra.d.ts +80 -0
  53. package/dist/commands/worker/game-server-infra.js +595 -0
  54. package/dist/commands/worker/game-source-git.d.ts +126 -0
  55. package/dist/commands/worker/game-source-git.js +780 -0
  56. package/dist/commands/worker/generation.d.ts +94 -0
  57. package/dist/commands/worker/generation.js +1458 -0
  58. package/dist/commands/worker/provider-telemetry.js +1 -1
  59. package/dist/commands/worker/runtime.d.ts +8 -10
  60. package/dist/commands/worker/runtime.js +53 -48
  61. package/dist/commands/worker.d.ts +79 -19
  62. package/dist/commands/worker.js +1796 -419
  63. package/dist/config.d.ts +2 -0
  64. package/dist/config.js +16 -3
  65. package/dist/environment.d.ts +0 -1
  66. package/dist/environment.js +0 -8
  67. package/dist/index.js +92 -22
  68. package/dist/workerAppProject.d.ts +1 -1
  69. package/dist/workerAppProject.js +15 -2
  70. package/node_modules/@playdrop/api-client/dist/client.d.ts +143 -39
  71. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  72. package/node_modules/@playdrop/api-client/dist/client.js +33 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
  74. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
  75. package/node_modules/@playdrop/api-client/dist/core/request.js +17 -11
  76. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +51 -6
  77. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  78. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +338 -41
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +24 -1
  80. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
  81. package/node_modules/@playdrop/api-client/dist/domains/ai.js +20 -0
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +13 -8
  83. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  84. package/node_modules/@playdrop/api-client/dist/domains/apps.js +158 -90
  85. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -0
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  87. package/node_modules/@playdrop/api-client/dist/domains/assets.js +27 -0
  88. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +152 -21
  89. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  90. package/node_modules/@playdrop/api-client/dist/domains/chat.js +477 -100
  91. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -1
  92. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
  93. package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +9 -0
  94. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +1 -2
  95. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  96. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +0 -11
  97. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts +29 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts.map +1 -0
  99. package/node_modules/@playdrop/api-client/dist/domains/social.js +79 -0
  100. package/node_modules/@playdrop/api-client/dist/index.d.ts +81 -30
  101. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  102. package/node_modules/@playdrop/api-client/dist/index.js +217 -56
  103. package/node_modules/@playdrop/api-client/dist/runtime.d.ts +18 -0
  104. package/node_modules/@playdrop/api-client/dist/runtime.d.ts.map +1 -0
  105. package/node_modules/@playdrop/api-client/dist/runtime.js +54 -0
  106. package/node_modules/@playdrop/api-client/package.json +7 -0
  107. package/node_modules/@playdrop/config/client-meta.json +4 -4
  108. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +11 -0
  109. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
  110. package/node_modules/@playdrop/config/dist/src/creator-plans.js +13 -1
  111. package/node_modules/@playdrop/config/dist/src/deployment.d.ts +0 -1
  112. package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
  113. package/node_modules/@playdrop/config/dist/src/deployment.js +0 -8
  114. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +0 -1
  115. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
  116. package/node_modules/@playdrop/config/dist/src/public-deployment.js +0 -8
  117. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts +1 -1
  118. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +2 -2
  119. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
  120. package/node_modules/@playdrop/config/dist/src/server/logging.js +31 -2
  121. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +10 -0
  122. package/node_modules/@playdrop/config/dist/test/deployment.test.js +0 -4
  123. package/node_modules/@playdrop/config/dist/test/runtime-service-origins.test.js +2 -0
  124. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  125. package/node_modules/@playdrop/config/package.json +6 -0
  126. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts +9 -0
  127. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts.map +1 -0
  128. package/node_modules/@playdrop/game-source-git/dist/src/archive.js +107 -0
  129. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts +29 -0
  130. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts.map +1 -0
  131. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.js +64 -0
  132. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts +8 -0
  133. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts.map +1 -0
  134. package/node_modules/@playdrop/game-source-git/dist/src/export.js +25 -0
  135. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +39 -0
  136. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -0
  137. package/node_modules/@playdrop/game-source-git/dist/src/git.js +195 -0
  138. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts +6 -0
  139. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts.map +1 -0
  140. package/node_modules/@playdrop/game-source-git/dist/src/ignore.js +51 -0
  141. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts +10 -0
  142. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts.map +1 -0
  143. package/node_modules/@playdrop/{boxel-core/dist/src/humanoid/r15 → game-source-git/dist/src}/index.js +9 -4
  144. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts +17 -0
  145. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts.map +1 -0
  146. package/node_modules/@playdrop/game-source-git/dist/src/lock.js +72 -0
  147. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts +10 -0
  148. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts.map +1 -0
  149. package/node_modules/@playdrop/game-source-git/dist/src/materialize.js +99 -0
  150. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts +24 -0
  151. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts.map +1 -0
  152. package/node_modules/@playdrop/game-source-git/dist/src/paths.js +207 -0
  153. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts +66 -0
  154. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts.map +1 -0
  155. package/node_modules/@playdrop/game-source-git/dist/src/repository.js +213 -0
  156. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts +2 -0
  157. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts.map +1 -0
  158. package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +441 -0
  159. package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -0
  160. package/node_modules/@playdrop/game-source-git/package.json +28 -0
  161. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
  162. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
  163. package/node_modules/@playdrop/types/dist/agent-task-terminal.js +15 -9
  164. package/node_modules/@playdrop/types/dist/api.d.ts +730 -166
  165. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  166. package/node_modules/@playdrop/types/dist/api.js +65 -18
  167. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +2 -0
  168. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  169. package/node_modules/@playdrop/types/dist/asset.d.ts +22 -8
  170. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  171. package/node_modules/@playdrop/types/dist/asset.js +26 -26
  172. package/node_modules/@playdrop/types/dist/chat.d.ts +273 -31
  173. package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
  174. package/node_modules/@playdrop/types/dist/chat.js +38 -4
  175. package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
  176. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  177. package/node_modules/@playdrop/types/dist/index.js +7 -1
  178. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts +11 -0
  179. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts.map +1 -0
  180. package/node_modules/@playdrop/types/dist/public-cache-tags.js +78 -0
  181. package/node_modules/@playdrop/types/dist/realtime.d.ts +3 -15
  182. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  183. package/node_modules/@playdrop/types/dist/social.d.ts +64 -0
  184. package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -0
  185. package/node_modules/@playdrop/{boxel-three/dist/src/types.js → types/dist/social.js} +14 -2
  186. package/node_modules/@playdrop/types/dist/spritesheet.d.ts +51 -0
  187. package/node_modules/@playdrop/types/dist/spritesheet.d.ts.map +1 -0
  188. package/node_modules/@playdrop/types/dist/spritesheet.js +73 -0
  189. package/node_modules/@playdrop/types/dist/version.d.ts +86 -58
  190. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  191. package/node_modules/@playdrop/types/dist/version.js +111 -0
  192. package/node_modules/@playdrop/types/package.json +14 -0
  193. package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
  194. package/node_modules/@playdrop/vox-three/dist/src/index.js +1 -1
  195. package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -1
  196. package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +0 -3
  197. package/node_modules/@playdrop/vox-three/dist/src/vox.js +0 -110
  198. package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
  199. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +0 -18
  200. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
  201. package/node_modules/@playdrop/vox-three/package.json +8 -4
  202. package/package.json +9 -11
  203. package/dist/assets/model-artifacts.d.ts +0 -8
  204. package/dist/assets/model-artifacts.js +0 -382
  205. package/dist/assets/model-worker.d.ts +0 -22
  206. package/dist/assets/model-worker.js +0 -123
  207. package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
  208. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
  209. package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
  210. package/node_modules/@playdrop/ai-client/package.json +0 -22
  211. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
  212. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
  213. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
  214. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
  215. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
  216. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
  217. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
  218. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
  219. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
  220. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
  221. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
  222. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
  223. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
  224. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
  236. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
  237. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
  238. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
  239. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  240. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
  241. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
  242. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
  243. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
  244. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
  245. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
  246. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
  247. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
  248. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
  249. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
  250. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
  251. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
  252. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
  253. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
  254. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
  255. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
  256. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
  257. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
  258. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
  259. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
  260. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
  261. package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
  262. package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
  263. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
  264. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
  265. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
  266. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
  267. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
  268. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
  269. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
  270. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
  271. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
  272. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
  273. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
  274. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
  275. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
  276. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
  277. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  278. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
  279. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
  280. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  281. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  282. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
  283. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  284. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
  285. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
  286. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  287. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
  288. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
  289. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
  290. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
  291. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
  292. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
  293. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
  294. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
  295. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
  296. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
  297. package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
  298. package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
  299. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
  300. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
  301. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
  302. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
  303. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
  304. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
  305. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
  306. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
  307. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
  308. package/node_modules/@playdrop/boxel-core/package.json +0 -19
  309. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
  310. package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
  311. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
  312. package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
  313. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
  314. package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
  315. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
  316. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
  317. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
  318. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
  319. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
  320. package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
  321. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
  322. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
  323. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
  324. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
  325. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
  326. package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
  327. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
  328. package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
  329. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
  330. package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
  331. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
  332. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
  333. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
  334. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
  335. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
  336. package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
  337. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
  338. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
  339. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
  340. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
  341. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
  342. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
  343. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
  344. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
  345. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
  346. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
  347. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
  348. package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
  349. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
  350. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
  351. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
  352. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
  353. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
  354. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
  355. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
  356. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
  357. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
  358. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
  359. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
  360. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
  361. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
  362. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
  363. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
  364. package/node_modules/@playdrop/boxel-three/package.json +0 -28
@@ -1,5 +1,5 @@
1
1
  import type { ApiClient } from "@playdrop/api-client";
2
- import type { AgentExecutionTarget, AppSurface, UserResponse } from "@playdrop/types";
2
+ import type { AgentExecutionTarget, AppSurface, FinalizeAppUploadRequest, UserResponse } from "@playdrop/types";
3
3
  import { type AppTask } from "../catalogue";
4
4
  export type UploadCommandOptions = {
5
5
  env?: string;
@@ -27,6 +27,21 @@ export type WorkerAppPublishInput = {
27
27
  webBase?: string | null;
28
28
  token: string;
29
29
  user: UserResponse;
30
+ deterministicE2EFixture?: boolean;
31
+ prepareGitTransition?: (input: {
32
+ appId: number;
33
+ sessionId: string;
34
+ version: string;
35
+ }) => Promise<NonNullable<FinalizeAppUploadRequest["gitTransition"]>>;
36
+ };
37
+ export declare function resolveWorkerHostedValidationPolicy(input: {
38
+ kind: WorkerAppPublishInput["kind"];
39
+ deterministicE2EFixture?: boolean;
40
+ }): {
41
+ runLocalLoadCheck: boolean;
42
+ runStagedUploadLoadCheck: boolean;
43
+ playtestSmokeCheckRequired: boolean;
44
+ skipReview: boolean;
30
45
  };
31
46
  export type WorkerAppPublishResult = {
32
47
  appId: number;
@@ -48,6 +63,7 @@ export type StaticHtmlPublishInput = {
48
63
  token: string;
49
64
  user: UserResponse;
50
65
  taskId?: number;
66
+ prepareGitTransition?: WorkerAppPublishInput["prepareGitTransition"];
51
67
  taskToken?: string;
52
68
  claimedAppName?: string | null;
53
69
  devRouterPort?: number;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveUploadOwner = resolveUploadOwner;
4
4
  exports.resolveDefaultUploadCreator = resolveDefaultUploadCreator;
5
5
  exports.upload = upload;
6
+ exports.resolveWorkerHostedValidationPolicy = resolveWorkerHostedValidationPolicy;
6
7
  exports.assertAgentPrimarySurfaceContract = assertAgentPrimarySurfaceContract;
7
8
  exports.assertAgentNewGamePlaytestContract = assertAgentNewGamePlaytestContract;
8
9
  exports.assertAgentNewGameListingIdentity = assertAgentNewGameListingIdentity;
@@ -26,6 +27,9 @@ const taskSelection_1 = require("../taskSelection");
26
27
  const taskUtils_1 = require("../taskUtils");
27
28
  const uploadLog_1 = require("../uploadLog");
28
29
  const workerAppProject_1 = require("../workerAppProject");
30
+ const listingPreflight_1 = require("../listingPreflight");
31
+ const tweakStaleness_1 = require("../tweakStaleness");
32
+ const e2e_fixtures_1 = require("./worker/e2e-fixtures");
29
33
  const upload_content_1 = require("./upload-content");
30
34
  const appUrls_1 = require("../appUrls");
31
35
  const ownedRuntimeImageValidation_1 = require("./ownedRuntimeImageValidation");
@@ -1236,6 +1240,15 @@ async function upload(pathOrName, options) {
1236
1240
  (0, uploadLog_1.printTaskSummary)(results, warnings, { action: "upload", environment: env });
1237
1241
  (0, uploadLog_1.printPublishedAppNextSteps)(results);
1238
1242
  }
1243
+ function resolveWorkerHostedValidationPolicy(input) {
1244
+ const browserChecksRequired = input.deterministicE2EFixture !== true;
1245
+ return {
1246
+ runLocalLoadCheck: browserChecksRequired,
1247
+ runStagedUploadLoadCheck: browserChecksRequired,
1248
+ playtestSmokeCheckRequired: browserChecksRequired && input.kind === "NEW_GAME",
1249
+ skipReview: !browserChecksRequired,
1250
+ };
1251
+ }
1239
1252
  function assertAgentPrimarySurfaceContract(task, kind) {
1240
1253
  if (!task.primarySurface) {
1241
1254
  throw new Error(`agent_task_primary_surface_required: ${kind} catalogue.json must declare primarySurface.`);
@@ -1303,8 +1316,9 @@ async function prepareWorkerAppProject(input) {
1303
1316
  if (!creatorUsername) {
1304
1317
  throw new Error("agent_task_creator_username_missing");
1305
1318
  }
1306
- if (input.user.username !== creatorUsername && input.user.role !== "ADMIN") {
1307
- throw new Error(`worker_publish_on_behalf_requires_admin: the worker session user "${input.user.username}" cannot publish for "${creatorUsername}".`);
1319
+ if (input.user.username !== creatorUsername &&
1320
+ !(input.user.role === "CLOUD_WORKER" && input.taskId > 0 && input.taskToken.trim())) {
1321
+ throw new Error(`worker_publish_on_behalf_requires_task: the worker session user "${input.user.username}" cannot publish for "${creatorUsername}" without an active Cloud Worker task.`);
1308
1322
  }
1309
1323
  const selection = (0, taskSelection_1.selectTasks)(input.projectDir);
1310
1324
  if (selection.errors.length > 0) {
@@ -1333,7 +1347,11 @@ async function prepareWorkerAppProject(input) {
1333
1347
  if ((input.kind === "NEW_GAME" || input.kind === "REMIX_GAME") && (appTask.type ?? "GAME") !== "GAME") {
1334
1348
  throw new Error(`agent_task_game_type_invalid:${appTask.type ?? "missing"}`);
1335
1349
  }
1336
- const task = (0, workerAppProject_1.prepareWorkerAppTask)(appTask);
1350
+ const task = (0, workerAppProject_1.prepareWorkerAppTask)(appTask, true);
1351
+ const workerContext = (0, listingPreflight_1.readWorkerUploadPreflightContext)(input.projectDir);
1352
+ if (workerContext?.tweaks) {
1353
+ (0, tweakStaleness_1.assertTweakStateMatches)(task, workerContext.tweaks);
1354
+ }
1337
1355
  if (input.kind === "REMIX_GAME") {
1338
1356
  const expectedRemixRef = input.remixSourceRef?.trim() ?? "";
1339
1357
  if (!expectedRemixRef) {
@@ -1349,7 +1367,7 @@ async function prepareWorkerAppProject(input) {
1349
1367
  }
1350
1368
  await (0, apps_1.validateAppTask)(task);
1351
1369
  const isExternal = task.hostingMode === "EXTERNAL" || Boolean(task.externalUrl);
1352
- const artifacts = isExternal ? null : await (0, apps_1.buildApp)(task);
1370
+ const artifacts = isExternal ? null : await (0, apps_1.buildApp)(task, { includeSourceArchive: false });
1353
1371
  await assertWorkerAppLocalUploadPreflight({
1354
1372
  task,
1355
1373
  kind: input.kind,
@@ -1379,6 +1397,19 @@ async function preflightWorkerAppProject(input) {
1379
1397
  async function publishWorkerAppProject(input) {
1380
1398
  const prepared = await prepareWorkerAppProject(input);
1381
1399
  const { task, artifacts, creatorUsername } = prepared;
1400
+ if (input.deterministicE2EFixture) {
1401
+ const fixtureDisplayName = task.displayName?.trim();
1402
+ if (!fixtureDisplayName) {
1403
+ throw new Error("playdrop_e2e_fixture_display_name_missing");
1404
+ }
1405
+ await (0, e2e_fixtures_1.validatePlaydropE2EGameFixture)({
1406
+ projectDir: input.projectDir,
1407
+ taskId: input.taskId,
1408
+ kind: input.kind,
1409
+ displayName: fixtureDisplayName,
1410
+ });
1411
+ }
1412
+ const validationPolicy = resolveWorkerHostedValidationPolicy(input);
1382
1413
  const { app } = await (0, registration_1.ensureRegisteredHostedAppShell)({
1383
1414
  client: input.client,
1384
1415
  creatorUsername,
@@ -1403,12 +1434,14 @@ async function publishWorkerAppProject(input) {
1403
1434
  webBase: normalizePortalBase(input.webBase ?? undefined),
1404
1435
  token: input.token,
1405
1436
  user: input.user,
1406
- runLocalLoadCheck: true,
1407
- runStagedUploadLoadCheck: true,
1437
+ runLocalLoadCheck: validationPolicy.runLocalLoadCheck,
1438
+ runStagedUploadLoadCheck: validationPolicy.runStagedUploadLoadCheck,
1408
1439
  ensureRegisteredAppShell: true,
1409
1440
  agentTaskId: input.taskId,
1410
- playtestSmokeCheckRequired: input.kind === "NEW_GAME",
1441
+ playtestSmokeCheckRequired: validationPolicy.playtestSmokeCheckRequired,
1442
+ skipReview: validationPolicy.skipReview,
1411
1443
  captureSession,
1444
+ prepareGitTransition: input.prepareGitTransition,
1412
1445
  ...(artifacts ? { artifacts } : {}),
1413
1446
  });
1414
1447
  if (!uploadResult.versionCreated || !uploadResult.version) {
@@ -1435,8 +1468,9 @@ async function publishStaticHtmlProject(input) {
1435
1468
  if (!creatorUsername) {
1436
1469
  throw new Error("static_game_publish_creator_username_missing");
1437
1470
  }
1438
- if (input.user.username !== creatorUsername && input.user.role !== "ADMIN") {
1439
- throw new Error(`static_game_publish_on_behalf_requires_admin:${input.user.username}:${creatorUsername}`);
1471
+ if (input.user.username !== creatorUsername &&
1472
+ !(input.user.role === "CLOUD_WORKER" && Number(input.taskId) > 0 && input.taskToken?.trim())) {
1473
+ throw new Error(`static_game_publish_on_behalf_requires_task:${input.user.username}:${creatorUsername}`);
1440
1474
  }
1441
1475
  const prepared = await (0, staticHtml_1.prepareStaticHtmlProject)({
1442
1476
  projectDir: input.projectDir,
@@ -1444,6 +1478,7 @@ async function publishStaticHtmlProject(input) {
1444
1478
  appName: input.claimedAppName?.trim() || undefined,
1445
1479
  primarySurface: input.primarySurface,
1446
1480
  cdnBase: input.cdnBase,
1481
+ gameSourceGit: true,
1447
1482
  });
1448
1483
  try {
1449
1484
  if (input.taskId !== undefined && !input.claimedAppName?.trim()) {
@@ -1485,6 +1520,7 @@ async function publishStaticHtmlProject(input) {
1485
1520
  const captureSession = input.taskId !== undefined && input.taskToken?.trim()
1486
1521
  ? { appId, taskId: input.taskId, taskToken: input.taskToken.trim() }
1487
1522
  : null;
1523
+ const staticArtifacts = prepared.artifacts;
1488
1524
  const { upload, warnings } = await (0, apps_1.runAppPipeline)(input.client, prepared.runtimeTask, {
1489
1525
  creatorUsername,
1490
1526
  apiBase: input.apiBase,
@@ -1499,7 +1535,8 @@ async function publishStaticHtmlProject(input) {
1499
1535
  playtestSmokeCheckRequired: false,
1500
1536
  skipReview: input.skipReview,
1501
1537
  captureSession,
1502
- artifacts: prepared.artifacts,
1538
+ prepareGitTransition: input.prepareGitTransition,
1539
+ artifacts: staticArtifacts,
1503
1540
  });
1504
1541
  if (!upload.version || !Number.isInteger(upload.versionId) || !upload.versionNodeId?.trim()) {
1505
1542
  throw new Error("static_game_publish_version_result_missing");
@@ -1,6 +1,7 @@
1
1
  type WorkspaceArchiveStageInput = {
2
2
  downloadUrl: string;
3
3
  expectedSize: number;
4
+ expectedSha256: string;
4
5
  targetDir: string;
5
6
  timeoutMs: number;
6
7
  };
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractZipArchive = extractZipArchive;
7
7
  exports.stageWorkspaceArchiveInChild = stageWorkspaceArchiveInChild;
8
8
  const node_child_process_1 = require("node:child_process");
9
+ const node_crypto_1 = require("node:crypto");
9
10
  const node_fs_1 = require("node:fs");
10
11
  const promises_1 = require("node:fs/promises");
11
12
  const node_os_1 = __importDefault(require("node:os"));
@@ -27,9 +28,14 @@ function normalizeStageInput(value) {
27
28
  const input = value && typeof value === "object" && !Array.isArray(value) ? value : null;
28
29
  const downloadUrl = typeof input?.downloadUrl === "string" ? input.downloadUrl.trim() : "";
29
30
  const expectedSize = Number(input?.expectedSize);
31
+ const expectedSha256 = typeof input?.expectedSha256 === "string" ? input.expectedSha256.trim().toLowerCase() : "";
30
32
  const targetDir = typeof input?.targetDir === "string" ? input.targetDir.trim() : "";
31
33
  const timeoutMs = Number(input?.timeoutMs);
32
- if (!downloadUrl || !Number.isInteger(expectedSize) || expectedSize <= 0 || !node_path_1.default.isAbsolute(targetDir)) {
34
+ if (!downloadUrl ||
35
+ !Number.isInteger(expectedSize) ||
36
+ expectedSize <= 0 ||
37
+ !/^[0-9a-f]{64}$/.test(expectedSha256) ||
38
+ !node_path_1.default.isAbsolute(targetDir)) {
33
39
  throw new Error("agent_task_workspace_archive_stager_input_invalid");
34
40
  }
35
41
  if (expectedSize > WORKSPACE_ARCHIVE_MAX_DOWNLOAD_BYTES) {
@@ -38,7 +44,7 @@ function normalizeStageInput(value) {
38
44
  if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) {
39
45
  throw new Error("agent_task_workspace_archive_download_timeout_invalid");
40
46
  }
41
- return { downloadUrl, expectedSize, targetDir, timeoutMs };
47
+ return { downloadUrl, expectedSize, expectedSha256, targetDir, timeoutMs };
42
48
  }
43
49
  function assertWorkspaceArchiveExtractionBounds(buffer) {
44
50
  if (buffer.length < ZIP_END_OF_CENTRAL_DIRECTORY_MIN_BYTES) {
@@ -166,6 +172,7 @@ async function downloadAndExtractWorkspaceArchive(input) {
166
172
  }
167
173
  const reader = response.body.getReader();
168
174
  const file = await (0, promises_1.open)(archivePath, "wx");
175
+ const hash = (0, node_crypto_1.createHash)("sha256");
169
176
  let receivedBytes = 0;
170
177
  try {
171
178
  while (true) {
@@ -174,6 +181,7 @@ async function downloadAndExtractWorkspaceArchive(input) {
174
181
  break;
175
182
  }
176
183
  const buffer = Buffer.from(chunk.value);
184
+ hash.update(buffer);
177
185
  if (receivedBytes + buffer.length > input.expectedSize) {
178
186
  throw new Error(`agent_task_workspace_archive_size_mismatch:${receivedBytes + buffer.length}>${input.expectedSize}`);
179
187
  }
@@ -194,6 +202,9 @@ async function downloadAndExtractWorkspaceArchive(input) {
194
202
  if (receivedBytes !== input.expectedSize) {
195
203
  throw new Error(`agent_task_workspace_archive_size_mismatch:${receivedBytes}!=${input.expectedSize}`);
196
204
  }
205
+ if (hash.digest("hex") !== input.expectedSha256) {
206
+ throw new Error("agent_task_workspace_archive_sha_mismatch");
207
+ }
197
208
  const buffer = await (0, promises_1.readFile)(archivePath);
198
209
  await (0, promises_1.mkdir)(extractedDir, { recursive: true });
199
210
  extractZipArchive(new Uint8Array(buffer), extractedDir);
@@ -0,0 +1,32 @@
1
+ import type { AgentTaskGenerationKind, AgentTaskKind } from "@playdrop/types";
2
+ export type PlaydropE2EFixtureKind = "NEW_GAME" | "GAME_UPDATE" | "REMIX_GAME" | "IMAGE" | "MODEL_3D" | "VIDEO" | "SFX" | "SPEECH" | "MUSIC";
3
+ export declare const PLAYDROP_E2E_MARKERS: Readonly<Record<PlaydropE2EFixtureKind, string>>;
4
+ export declare function detectPlaydropE2EFixture(input: string): PlaydropE2EFixtureKind | null;
5
+ export declare function isPlaydropE2EGameKind(kind: AgentTaskKind): kind is Extract<PlaydropE2EFixtureKind, "NEW_GAME" | "GAME_UPDATE" | "REMIX_GAME">;
6
+ export declare function isPlaydropE2EMediaKind(kind: AgentTaskGenerationKind): kind is Extract<PlaydropE2EFixtureKind, "IMAGE" | "MODEL_3D" | "VIDEO" | "SFX" | "SPEECH" | "MUSIC">;
7
+ export declare function buildPlaydropE2EScreeningOutput(prompt: string): Record<string, unknown>;
8
+ export declare function writePlaydropE2EPng(input: {
9
+ filePath: string;
10
+ width: number;
11
+ height: number;
12
+ label: string;
13
+ }): Promise<void>;
14
+ export declare function validatePlaydropE2EGameFixture(input: {
15
+ projectDir: string;
16
+ taskId: number;
17
+ kind: "NEW_GAME" | "GAME_UPDATE" | "REMIX_GAME";
18
+ displayName: string;
19
+ }): Promise<void>;
20
+ export declare function replaceWithPlaydropE2EGameFixture(input: {
21
+ projectDir: string;
22
+ taskId: number;
23
+ kind: "NEW_GAME" | "GAME_UPDATE" | "REMIX_GAME";
24
+ appName: string;
25
+ displayName: string;
26
+ subtitle: string;
27
+ primarySurface: "DESKTOP" | "MOBILE_LANDSCAPE" | "MOBILE_PORTRAIT";
28
+ outputVersion: string;
29
+ remixSourceRef: string | null;
30
+ }): Promise<void>;
31
+ export declare function buildPlaydropE2EMetadata(kind: AgentTaskGenerationKind): Record<string, unknown>;
32
+ export declare function buildPlaydropE2ETriangleGlb(): Buffer;