@playdrop/playdrop-cli 0.16.16 → 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 (363) 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 -0
  25. package/dist/commands/chat.js +133 -8
  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/runtime.d.ts +8 -10
  59. package/dist/commands/worker/runtime.js +51 -45
  60. package/dist/commands/worker.d.ts +79 -19
  61. package/dist/commands/worker.js +1796 -419
  62. package/dist/config.d.ts +2 -0
  63. package/dist/config.js +16 -3
  64. package/dist/environment.d.ts +0 -1
  65. package/dist/environment.js +0 -8
  66. package/dist/index.js +92 -13
  67. package/dist/workerAppProject.d.ts +1 -1
  68. package/dist/workerAppProject.js +15 -2
  69. package/node_modules/@playdrop/api-client/dist/client.d.ts +72 -25
  70. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  71. package/node_modules/@playdrop/api-client/dist/client.js +33 -0
  72. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
  74. package/node_modules/@playdrop/api-client/dist/core/request.js +17 -11
  75. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +51 -6
  76. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  77. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +338 -41
  78. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +24 -1
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
  80. package/node_modules/@playdrop/api-client/dist/domains/ai.js +20 -0
  81. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +13 -8
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  83. package/node_modules/@playdrop/api-client/dist/domains/apps.js +158 -90
  84. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -0
  85. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.js +27 -0
  87. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +35 -3
  88. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  89. package/node_modules/@playdrop/api-client/dist/domains/chat.js +89 -7
  90. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -1
  91. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
  92. package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +9 -0
  93. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +1 -2
  94. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  95. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +0 -11
  96. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts +29 -0
  97. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts.map +1 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/social.js +79 -0
  99. package/node_modules/@playdrop/api-client/dist/index.d.ts +80 -29
  100. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  101. package/node_modules/@playdrop/api-client/dist/index.js +217 -56
  102. package/node_modules/@playdrop/api-client/dist/runtime.d.ts +18 -0
  103. package/node_modules/@playdrop/api-client/dist/runtime.d.ts.map +1 -0
  104. package/node_modules/@playdrop/api-client/dist/runtime.js +54 -0
  105. package/node_modules/@playdrop/api-client/package.json +7 -0
  106. package/node_modules/@playdrop/config/client-meta.json +4 -4
  107. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +11 -0
  108. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
  109. package/node_modules/@playdrop/config/dist/src/creator-plans.js +13 -1
  110. package/node_modules/@playdrop/config/dist/src/deployment.d.ts +0 -1
  111. package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
  112. package/node_modules/@playdrop/config/dist/src/deployment.js +0 -8
  113. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +0 -1
  114. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
  115. package/node_modules/@playdrop/config/dist/src/public-deployment.js +0 -8
  116. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts +1 -1
  117. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +2 -2
  118. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
  119. package/node_modules/@playdrop/config/dist/src/server/logging.js +31 -2
  120. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +10 -0
  121. package/node_modules/@playdrop/config/dist/test/deployment.test.js +0 -4
  122. package/node_modules/@playdrop/config/dist/test/runtime-service-origins.test.js +2 -0
  123. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  124. package/node_modules/@playdrop/config/package.json +6 -0
  125. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts +9 -0
  126. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts.map +1 -0
  127. package/node_modules/@playdrop/game-source-git/dist/src/archive.js +107 -0
  128. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts +29 -0
  129. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts.map +1 -0
  130. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.js +64 -0
  131. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts +8 -0
  132. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts.map +1 -0
  133. package/node_modules/@playdrop/game-source-git/dist/src/export.js +25 -0
  134. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +39 -0
  135. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -0
  136. package/node_modules/@playdrop/game-source-git/dist/src/git.js +195 -0
  137. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts +6 -0
  138. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts.map +1 -0
  139. package/node_modules/@playdrop/game-source-git/dist/src/ignore.js +51 -0
  140. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts +10 -0
  141. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts.map +1 -0
  142. package/node_modules/@playdrop/{boxel-core/dist/src/humanoid/r15 → game-source-git/dist/src}/index.js +9 -4
  143. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts +17 -0
  144. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts.map +1 -0
  145. package/node_modules/@playdrop/game-source-git/dist/src/lock.js +72 -0
  146. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts +10 -0
  147. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts.map +1 -0
  148. package/node_modules/@playdrop/game-source-git/dist/src/materialize.js +99 -0
  149. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts +24 -0
  150. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts.map +1 -0
  151. package/node_modules/@playdrop/game-source-git/dist/src/paths.js +207 -0
  152. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts +66 -0
  153. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts.map +1 -0
  154. package/node_modules/@playdrop/game-source-git/dist/src/repository.js +213 -0
  155. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts +2 -0
  156. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts.map +1 -0
  157. package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +441 -0
  158. package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -0
  159. package/node_modules/@playdrop/game-source-git/package.json +28 -0
  160. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
  161. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
  162. package/node_modules/@playdrop/types/dist/agent-task-terminal.js +15 -9
  163. package/node_modules/@playdrop/types/dist/api.d.ts +728 -164
  164. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  165. package/node_modules/@playdrop/types/dist/api.js +60 -11
  166. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +2 -0
  167. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  168. package/node_modules/@playdrop/types/dist/asset.d.ts +22 -8
  169. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  170. package/node_modules/@playdrop/types/dist/asset.js +26 -26
  171. package/node_modules/@playdrop/types/dist/chat.d.ts +107 -3
  172. package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
  173. package/node_modules/@playdrop/types/dist/chat.js +33 -4
  174. package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
  175. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  176. package/node_modules/@playdrop/types/dist/index.js +7 -1
  177. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts +11 -0
  178. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts.map +1 -0
  179. package/node_modules/@playdrop/types/dist/public-cache-tags.js +78 -0
  180. package/node_modules/@playdrop/types/dist/realtime.d.ts +3 -15
  181. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  182. package/node_modules/@playdrop/types/dist/social.d.ts +64 -0
  183. package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -0
  184. package/node_modules/@playdrop/{boxel-three/dist/src/types.js → types/dist/social.js} +14 -2
  185. package/node_modules/@playdrop/types/dist/spritesheet.d.ts +51 -0
  186. package/node_modules/@playdrop/types/dist/spritesheet.d.ts.map +1 -0
  187. package/node_modules/@playdrop/types/dist/spritesheet.js +73 -0
  188. package/node_modules/@playdrop/types/dist/version.d.ts +86 -58
  189. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  190. package/node_modules/@playdrop/types/dist/version.js +111 -0
  191. package/node_modules/@playdrop/types/package.json +14 -0
  192. package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
  193. package/node_modules/@playdrop/vox-three/dist/src/index.js +1 -1
  194. package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -1
  195. package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +0 -3
  196. package/node_modules/@playdrop/vox-three/dist/src/vox.js +0 -110
  197. package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
  198. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +0 -18
  199. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
  200. package/node_modules/@playdrop/vox-three/package.json +8 -4
  201. package/package.json +9 -11
  202. package/dist/assets/model-artifacts.d.ts +0 -8
  203. package/dist/assets/model-artifacts.js +0 -382
  204. package/dist/assets/model-worker.d.ts +0 -22
  205. package/dist/assets/model-worker.js +0 -123
  206. package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
  207. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
  208. package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
  209. package/node_modules/@playdrop/ai-client/package.json +0 -22
  210. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
  211. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
  212. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
  213. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
  214. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
  215. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
  216. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
  217. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
  218. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
  219. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
  220. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
  221. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
  222. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
  223. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
  224. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
  236. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
  237. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
  238. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  239. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
  240. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
  241. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
  242. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
  243. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
  244. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
  245. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
  246. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
  247. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
  248. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
  249. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
  250. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
  251. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
  252. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
  253. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
  254. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
  255. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
  256. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
  257. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
  258. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
  259. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
  260. package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
  261. package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
  262. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
  263. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
  264. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
  265. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
  266. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
  267. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
  268. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
  269. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
  270. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
  271. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
  272. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
  273. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
  274. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
  275. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
  276. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  277. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
  278. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
  279. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  280. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  281. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
  282. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  283. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
  284. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
  285. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  286. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
  287. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
  288. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
  289. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
  290. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
  291. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
  292. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
  293. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
  294. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
  295. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
  296. package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
  297. package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
  298. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
  299. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
  300. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
  301. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
  302. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
  303. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
  304. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
  305. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
  306. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
  307. package/node_modules/@playdrop/boxel-core/package.json +0 -19
  308. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
  309. package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
  310. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
  311. package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
  312. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
  313. package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
  314. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
  315. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
  316. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
  317. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
  318. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
  319. package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
  320. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
  321. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
  322. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
  323. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
  324. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
  325. package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
  326. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
  327. package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
  328. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
  329. package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
  330. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
  331. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
  332. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
  333. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
  334. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
  335. package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
  336. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
  337. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
  338. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
  339. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
  340. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
  341. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
  342. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
  343. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
  344. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
  345. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
  346. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
  347. package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
  348. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
  349. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
  350. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
  351. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
  352. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
  353. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
  354. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
  355. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
  356. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
  357. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
  358. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
  359. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
  360. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
  361. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
  362. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
  363. package/node_modules/@playdrop/boxel-three/package.json +0 -28
package/dist/config.d.ts CHANGED
@@ -4,6 +4,7 @@ export interface CliAccountRef {
4
4
  }
5
5
  export interface CliStoredSession {
6
6
  token: string;
7
+ deviceApiKey?: string;
7
8
  updatedAt: string;
8
9
  }
9
10
  export interface CliAccountSession extends CliAccountRef, CliStoredSession {
@@ -31,6 +32,7 @@ export declare function saveAccountSession(input: {
31
32
  username: string;
32
33
  env: string;
33
34
  token: string;
35
+ deviceApiKey?: string;
34
36
  updatedAt?: string;
35
37
  }): CliConfig;
36
38
  export declare function getOrCreateWorkerKey(): string;
package/dist/config.js CHANGED
@@ -20,7 +20,7 @@ const crypto_1 = require("crypto");
20
20
  const fs_1 = require("fs");
21
21
  const os_1 = __importDefault(require("os"));
22
22
  const path_1 = require("path");
23
- const CONFIG_VERSION = 2;
23
+ const CONFIG_VERSION = 3;
24
24
  function getConfigPath() {
25
25
  const custom = process.env.PLAYDROP_CONFIG_PATH;
26
26
  if (custom)
@@ -77,8 +77,10 @@ function loadConfig() {
77
77
  }
78
78
  function saveConfig(cfg) {
79
79
  const file = getConfigPath();
80
- (0, fs_1.mkdirSync)((0, path_1.dirname)(file), { recursive: true });
81
- (0, fs_1.writeFileSync)(file, JSON.stringify(stripDerivedFields(cfg), null, 2));
80
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(file), { recursive: true, mode: 0o700 });
81
+ (0, fs_1.chmodSync)((0, path_1.dirname)(file), 0o700);
82
+ (0, fs_1.writeFileSync)(file, JSON.stringify(stripDerivedFields(cfg), null, 2), { mode: 0o600 });
83
+ (0, fs_1.chmodSync)(file, 0o600);
82
84
  }
83
85
  function clearConfig() {
84
86
  const file = getConfigPath();
@@ -100,6 +102,9 @@ function listAccountSessions(cfg = loadConfig()) {
100
102
  username,
101
103
  env,
102
104
  token: session.token,
105
+ ...(typeof session.deviceApiKey === "string" && session.deviceApiKey.trim()
106
+ ? { deviceApiKey: session.deviceApiKey.trim() }
107
+ : {}),
103
108
  updatedAt: typeof session.updatedAt === "string" ? session.updatedAt : "",
104
109
  });
105
110
  }
@@ -137,6 +142,9 @@ function findAccountSession(username, env, cfg = loadConfig()) {
137
142
  username: normalizedUsername,
138
143
  env: env.trim(),
139
144
  token: session.token,
145
+ ...(typeof session.deviceApiKey === "string" && session.deviceApiKey.trim()
146
+ ? { deviceApiKey: session.deviceApiKey.trim() }
147
+ : {}),
140
148
  updatedAt: typeof session.updatedAt === "string" ? session.updatedAt : "",
141
149
  };
142
150
  }
@@ -151,6 +159,9 @@ function findAccountSession(username, env, cfg = loadConfig()) {
151
159
  username: normalizedUsername,
152
160
  env: selectedEnv,
153
161
  token: session.token,
162
+ ...(typeof session.deviceApiKey === "string" && session.deviceApiKey.trim()
163
+ ? { deviceApiKey: session.deviceApiKey.trim() }
164
+ : {}),
154
165
  updatedAt: typeof session.updatedAt === "string" ? session.updatedAt : "",
155
166
  };
156
167
  }
@@ -168,6 +179,7 @@ function saveAccountSession(input) {
168
179
  const username = normalizeKey(input.username);
169
180
  const env = normalizeKey(input.env);
170
181
  const token = input.token.trim();
182
+ const deviceApiKey = input.deviceApiKey?.trim() || cfg.accounts?.[username]?.[env]?.deviceApiKey?.trim();
171
183
  if (!username || !env || !token) {
172
184
  throw new Error("invalid_account_session");
173
185
  }
@@ -180,6 +192,7 @@ function saveAccountSession(input) {
180
192
  ...(cfg.accounts?.[username] ?? {}),
181
193
  [env]: {
182
194
  token,
195
+ ...(deviceApiKey ? { deviceApiKey } : {}),
183
196
  updatedAt: input.updatedAt ?? new Date().toISOString(),
184
197
  },
185
198
  },
@@ -4,7 +4,6 @@ export interface EnvironmentConfig {
4
4
  apiBase: string;
5
5
  webBase?: string;
6
6
  cdnBase?: string;
7
- aiBase: string;
8
7
  allowInsecureRequests: boolean;
9
8
  }
10
9
  export declare function resolveEnvironmentConfig(env: string | undefined): EnvironmentConfig | undefined;
@@ -7,37 +7,31 @@ const DEFAULT_ENVIRONMENTS = {
7
7
  apiBase: "http://localhost:4000",
8
8
  webBase: "http://localhost:8080",
9
9
  cdnBase: "http://localhost:8082",
10
- aiBase: "http://localhost:8083",
11
10
  },
12
11
  local: {
13
12
  apiBase: "http://localhost:4000",
14
13
  webBase: "https://www.localhost",
15
14
  cdnBase: "https://assets-local.playdrop.ai",
16
- aiBase: "https://ai.localhost",
17
15
  },
18
16
  prod: {
19
17
  apiBase: "https://api.playdrop.ai",
20
18
  webBase: "https://www.playdrop.ai",
21
19
  cdnBase: "https://assets.playdrop.ai",
22
- aiBase: "https://ai.playdrop.ai",
23
20
  },
24
21
  preview: {
25
22
  apiBase: "https://api.preview.playdrop.ai",
26
23
  webBase: "https://preview.playdrop.ai",
27
24
  cdnBase: "https://assets.playdrop.ai",
28
- aiBase: "https://ai.preview.playdrop.ai",
29
25
  },
30
26
  blue: {
31
27
  apiBase: "https://api.blue.playdrop.ai",
32
28
  webBase: "https://blue.playdrop.ai",
33
29
  cdnBase: "https://assets.playdrop.ai",
34
- aiBase: "https://ai.blue.playdrop.ai",
35
30
  },
36
31
  green: {
37
32
  apiBase: "https://api.green.playdrop.ai",
38
33
  webBase: "https://green.playdrop.ai",
39
34
  cdnBase: "https://assets.playdrop.ai",
40
- aiBase: "https://ai.green.playdrop.ai",
41
35
  },
42
36
  };
43
37
  function normalizeEnvironment(env) {
@@ -71,7 +65,6 @@ function resolveEnvironmentConfig(env) {
71
65
  const upper = normalized.toUpperCase();
72
66
  const apiOverride = process.env[`PLAYDROP_API_BASE_${upper}`] || process.env.PLAYDROP_API_BASE;
73
67
  const webOverride = process.env[`PLAYDROP_WEB_BASE_${upper}`] || process.env.PLAYDROP_WEB_BASE;
74
- const aiOverride = process.env[`PLAYDROP_AI_BASE_${upper}`] || process.env.PLAYDROP_AI_BASE;
75
68
  const insecureOverride = process.env[`PLAYDROP_INSECURE_${upper}`];
76
69
  const cdnOverride = process.env[`PLAYDROP_CDN_BASE_${upper}`] || process.env.PLAYDROP_CDN_BASE;
77
70
  const allowInsecure = insecureOverride === "1" || process.env.PLAYDROP_INSECURE === "1";
@@ -80,7 +73,6 @@ function resolveEnvironmentConfig(env) {
80
73
  apiBase: trimTrailingSlash(apiOverride || defaults.apiBase),
81
74
  webBase: trimTrailingSlash(webOverride || defaults.webBase),
82
75
  cdnBase: trimTrailingSlash(cdnOverride || defaults.cdnBase),
83
- aiBase: trimTrailingSlash(aiOverride || defaults.aiBase),
84
76
  allowInsecureRequests: allowInsecure,
85
77
  };
86
78
  }
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ const browse_1 = require("./commands/browse");
17
17
  const search_1 = require("./commands/search");
18
18
  const tags_1 = require("./commands/tags");
19
19
  const detail_1 = require("./commands/detail");
20
+ const source_1 = require("./commands/source");
20
21
  const play_1 = require("./commands/play");
21
22
  const ads_1 = require("./commands/ads");
22
23
  const comments_1 = require("./commands/comments");
@@ -63,7 +64,7 @@ function printRemovedCommandHint(command) {
63
64
  const replacements = {
64
65
  list: "playdrop browse",
65
66
  generate: "playdrop ai create",
66
- generations: "playdrop ai jobs browse",
67
+ generations: "playdrop ai tasks browse",
67
68
  init: "playdrop workspaces init",
68
69
  create: "playdrop project create app",
69
70
  dev: "playdrop project dev",
@@ -207,6 +208,14 @@ worker
207
208
  json: opts.json,
208
209
  });
209
210
  });
211
+ worker
212
+ .command("fal")
213
+ .description("Configure Fal for generated media tasks")
214
+ .command("configure")
215
+ .description("Store the Fal API key in this worker's local credential file")
216
+ .action(async () => {
217
+ await (0, worker_1.configureWorkerFal)();
218
+ });
210
219
  worker
211
220
  .command("setup")
212
221
  .description("Prepare this machine for PlayDrop worker execution")
@@ -396,17 +405,24 @@ function addChatWriteOptions(command, allowClientKey = true) {
396
405
  .option("--text-file <path>", "Read message text from a file")
397
406
  .option("--event-type <type>", "Structured event type")
398
407
  .option("--event-data-file <path>", "Read structured event JSON from a file")
399
- .option("--as-system", "Publish as playdrop-system (admin only)");
408
+ .option("--as-system", "Publish as playdrop-system (admin only)")
409
+ .option("--attachment <path>", "Attach a supported file (repeatable)", (value, previous = []) => [
410
+ ...previous,
411
+ value,
412
+ ], []);
400
413
  if (allowClientKey)
401
414
  command.option("--client-key <key>", "Idempotency key within the channel");
402
415
  return addChatReadOptions(command);
403
416
  }
404
417
  const chat = program.command("chat").description("Read and write PlayDrop Chat");
405
418
  addChatReadOptions(chat.command("channels").description("List accessible channels")).action(chat_1.listChatChannels);
419
+ addChatReadOptions(chat.command("inbox").description("List accessible conversations")).action(chat_1.listChatInbox);
420
+ addChatReadOptions(chat.command("conversation <conversation-id>").description("Read a conversation")).action(chat_1.readChatConversation);
406
421
  addChatReadOptions(chat.command("read <channel>").description("Read channel messages")).action(chat_1.readChatChannel);
407
422
  addChatReadOptions(chat.command("thread <message-id>").description("Read a message thread")).action(chat_1.readChatThread);
408
423
  addChatWriteOptions(chat.command("send <channel>").description("Send a channel message")).action(chat_1.sendChatMessage);
409
424
  addChatWriteOptions(chat.command("reply <message-id>").description("Reply to a root message")).action(chat_1.replyChatMessage);
425
+ addChatWriteOptions(chat.command("dm <username>").description("Send a direct message")).action(chat_1.sendChatDirectMessage);
410
426
  addChatWriteOptions(chat.command("edit <message-id>").description("Edit a message"), false).action(chat_1.editChatMessage);
411
427
  addChatReadOptions(chat.command("react <message-id> <emoji>").description("Add a reaction")).action(chat_1.reactChatMessage);
412
428
  addChatReadOptions(chat.command("unreact <message-id> <emoji>").description("Remove a reaction")).action(chat_1.unreactChatMessage);
@@ -571,6 +587,40 @@ program
571
587
  .action(async (ref, opts) => {
572
588
  await (0, detail_1.detail)(ref, opts);
573
589
  });
590
+ const asset = program.command("asset").description("Inspect and download assets");
591
+ asset
592
+ .command("detail <ref>")
593
+ .description("Show one exact asset")
594
+ .addOption(createEnvOption())
595
+ .option("--json", "Output JSON")
596
+ .action(async (ref, opts) => {
597
+ await (0, source_1.showExactContentDetail)("asset", ref, opts);
598
+ });
599
+ asset
600
+ .command("source <ref> [directory]")
601
+ .description("Download and extract one exact asset source revision")
602
+ .addOption(createEnvOption())
603
+ .option("--json", "Output JSON")
604
+ .action(async (ref, directory, opts) => {
605
+ await (0, source_1.downloadContentSource)("asset", ref, directory, opts);
606
+ });
607
+ const pack = program.command("pack").description("Inspect and download asset packs");
608
+ pack
609
+ .command("detail <ref>")
610
+ .description("Show one exact asset pack")
611
+ .addOption(createEnvOption())
612
+ .option("--json", "Output JSON")
613
+ .action(async (ref, opts) => {
614
+ await (0, source_1.showExactContentDetail)("pack", ref, opts);
615
+ });
616
+ pack
617
+ .command("source <ref> [directory]")
618
+ .description("Download and extract one exact asset pack source version")
619
+ .addOption(createEnvOption())
620
+ .option("--json", "Output JSON")
621
+ .action(async (ref, directory, opts) => {
622
+ await (0, source_1.downloadContentSource)("pack", ref, directory, opts);
623
+ });
574
624
  program
575
625
  .command("play <ref>")
576
626
  .description("Open one published app in your browser with your current session")
@@ -949,7 +999,10 @@ creationAssetPackVersions
949
999
  });
950
1000
  const ai = program.command("ai").description("AI asset creation");
951
1001
  ai.command("create <type> <prompt>")
952
- .description("Create a new AI-generated asset")
1002
+ .description("Create asynchronous AI text, JSON, or asset generation")
1003
+ .option("--system <prompt>", "System instruction for text or JSON generation")
1004
+ .option("--text-size <size>", "Text or JSON size: small, medium, or large")
1005
+ .option("--schema <jsonOrPath>", "JSON response schema as inline JSON or a JSON file path")
953
1006
  .option("--asset-name <slug>", "Generated asset slug")
954
1007
  .option("--asset-display-name <text>", "Generated asset display name")
955
1008
  .option("--asset-description <text>", "Generated asset description")
@@ -978,6 +1031,9 @@ ai.command("create <type> <prompt>")
978
1031
  .option("--json", "Output JSON")
979
1032
  .action(async (type, prompt, opts) => {
980
1033
  await (0, generation_1.generate)(type, prompt, {
1034
+ system: opts.system,
1035
+ textSize: opts.textSize,
1036
+ responseSchema: opts.schema,
981
1037
  subcategory: opts.subcategory,
982
1038
  assetName: opts.assetName,
983
1039
  assetDisplayName: opts.assetDisplayName,
@@ -1006,16 +1062,16 @@ ai.command("create <type> <prompt>")
1006
1062
  json: opts.json,
1007
1063
  });
1008
1064
  });
1009
- const aiJobs = ai.command("jobs").description("Browse AI generation jobs");
1010
- aiJobs
1065
+ const aiTasks = ai.command("tasks").description("Browse AI generation tasks");
1066
+ aiTasks
1011
1067
  .command("browse")
1012
- .description("Browse AI jobs")
1013
- .option("--type <type>", "image, music, sfx, speech, video, model_3d, or all")
1068
+ .description("Browse AI tasks")
1069
+ .option("--type <type>", "text, json, image, music, sfx, speech, video, model_3d, or all")
1014
1070
  .option("--limit <number>", "Maximum number of results to return")
1015
1071
  .option("--offset <number>", "Result offset")
1016
1072
  .option("--json", "Output JSON")
1017
1073
  .action(async (opts) => {
1018
- await (0, generation_1.browseGenerationJobs)(opts);
1074
+ await (0, generation_1.browseGenerationTasks)(opts);
1019
1075
  });
1020
1076
  ai.command("generations")
1021
1077
  .description("Browse AI generation history")
@@ -1026,12 +1082,33 @@ ai.command("generations")
1026
1082
  .action(async (opts) => {
1027
1083
  await (0, generation_1.generations)(opts);
1028
1084
  });
1029
- aiJobs
1085
+ aiTasks
1030
1086
  .command("detail <id>")
1031
- .description("Show one AI job")
1087
+ .description("Show one AI task")
1088
+ .option("--json", "Output JSON")
1089
+ .action(async (id, opts) => {
1090
+ await (0, generation_1.showGenerationTask)(id, opts);
1091
+ });
1092
+ aiTasks
1093
+ .command("events <id>")
1094
+ .description("Show one AI task event stream")
1095
+ .option("--json", "Output JSON")
1096
+ .action(async (id, opts) => {
1097
+ await (0, generation_1.showGenerationTaskEvents)(id, opts);
1098
+ });
1099
+ aiTasks
1100
+ .command("cancel <id>")
1101
+ .description("Cancel an unfinished AI task")
1102
+ .option("--json", "Output JSON")
1103
+ .action(async (id, opts) => {
1104
+ await (0, generation_1.cancelGenerationTask)(id, opts);
1105
+ });
1106
+ aiTasks
1107
+ .command("clear <id>")
1108
+ .description("Clear a terminal AI task from the creator task list")
1032
1109
  .option("--json", "Output JSON")
1033
1110
  .action(async (id, opts) => {
1034
- await (0, generation_1.showGenerationJob)(id, opts);
1111
+ await (0, generation_1.clearGenerationTask)(id, opts);
1035
1112
  });
1036
1113
  const project = program.command("project").description("Local workspace tooling");
1037
1114
  const internalDevRouter = project.command("_dev-router").description("Internal shared dev router");
@@ -1051,9 +1128,9 @@ project
1051
1128
  const projectCreate = project.command("create").description("Create project resources");
1052
1129
  projectCreate
1053
1130
  .command("app <name>")
1054
- .description("Create a new app from a template or exact remix version")
1131
+ .description("Create a new app from a template")
1055
1132
  .option("--template <ref>", "Template ref")
1056
- .option("--remix <ref>", "Canonical app version ref")
1133
+ .option("--remix <ref>", "Unsupported: app remixes run only through PlayDrop Cloud")
1057
1134
  .action(async (name, opts) => {
1058
1135
  await (0, create_1.create)(name, opts);
1059
1136
  });
@@ -1121,6 +1198,7 @@ const projectCapture = project.command("capture").description("Record game media
1121
1198
  projectCapture
1122
1199
  .argument("[target]")
1123
1200
  .option("--app <name>", "App name when the target is a workspace")
1201
+ .option("--surface <surface>", "Capture one declared surface: desktop, mobile-landscape, or mobile-portrait")
1124
1202
  .option("--duration <seconds>", "Recording duration in seconds")
1125
1203
  .option("--width <pixels>", "Final gameplay width in pixels")
1126
1204
  .option("--height <pixels>", "Final gameplay height in pixels")
@@ -1132,6 +1210,7 @@ projectCapture
1132
1210
  .action(async (target, opts) => {
1133
1211
  await (0, captureListing_1.captureListing)(target, {
1134
1212
  app: opts.app,
1213
+ surface: opts.surface,
1135
1214
  duration: opts.duration,
1136
1215
  width: opts.width,
1137
1216
  height: opts.height,
@@ -1,2 +1,2 @@
1
1
  import type { AppTask } from "./catalogue";
2
- export declare function prepareWorkerAppTask(task: AppTask): AppTask;
2
+ export declare function prepareWorkerAppTask(task: AppTask, gameSourceGit?: boolean): AppTask;
@@ -10,8 +10,20 @@ const WORKER_SOURCE_EXCLUDES = [
10
10
  ".playdrop-task-events/",
11
11
  "bin/playdrop",
12
12
  ];
13
+ const GAME_SOURCE_GIT_SOURCE_EXCLUDES = [
14
+ "PLAYDROP_TASK.md",
15
+ "AGENTS.md",
16
+ "CLAUDE.md",
17
+ ".DS_Store",
18
+ ".playdrop.json",
19
+ "bin/playdrop",
20
+ "next-steps.json",
21
+ "player-feedback.md",
22
+ "platform-feedback.md",
23
+ "source.zip",
24
+ ];
13
25
  const WORKER_BUNDLE_EXCLUDES = [...WORKER_SOURCE_EXCLUDES, "assets/marketing/", "listing/"];
14
- function prepareWorkerAppTask(task) {
26
+ function prepareWorkerAppTask(task, gameSourceGit = false) {
15
27
  const catalogueRelativePath = (0, node_path_1.relative)(task.projectDir, task.catalogueAbsolutePath).replace(/\\/g, "/");
16
28
  const bundleArchiveExcludeRelativeFiles = [
17
29
  ...WORKER_BUNDLE_EXCLUDES,
@@ -20,7 +32,8 @@ function prepareWorkerAppTask(task) {
20
32
  return {
21
33
  ...task,
22
34
  versionVisibility: "PRIVATE",
23
- sourceArchiveExcludeRelativeFiles: WORKER_SOURCE_EXCLUDES,
35
+ sourceArchiveExcludeRelativeFiles: gameSourceGit ? GAME_SOURCE_GIT_SOURCE_EXCLUDES : WORKER_SOURCE_EXCLUDES,
36
+ sourceArchiveGameSourceGit: gameSourceGit,
24
37
  bundleArchiveExcludeRelativeFiles,
25
38
  };
26
39
  }