@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
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")
@@ -394,31 +403,29 @@ function addChatWriteOptions(command, allowClientKey = true) {
394
403
  command
395
404
  .option("--text <text>", "Message text")
396
405
  .option("--text-file <path>", "Read message text from a file")
397
- .option("--file <path>", "Attach a file", collectRepeatedOption, [])
398
- .option("--link <url>", "Attach an HTTPS link", collectRepeatedOption, [])
399
406
  .option("--event-type <type>", "Structured event type")
400
407
  .option("--event-data-file <path>", "Read structured event JSON from a file")
401
- .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
+ ], []);
402
413
  if (allowClientKey)
403
414
  command.option("--client-key <key>", "Idempotency key within the channel");
404
415
  return addChatReadOptions(command);
405
416
  }
406
417
  const chat = program.command("chat").description("Read and write PlayDrop Chat");
407
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);
408
421
  addChatReadOptions(chat.command("read <channel>").description("Read channel messages")).action(chat_1.readChatChannel);
409
422
  addChatReadOptions(chat.command("thread <message-id>").description("Read a message thread")).action(chat_1.readChatThread);
410
423
  addChatWriteOptions(chat.command("send <channel>").description("Send a channel message")).action(chat_1.sendChatMessage);
411
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);
412
426
  addChatWriteOptions(chat.command("edit <message-id>").description("Edit a message"), false).action(chat_1.editChatMessage);
413
427
  addChatReadOptions(chat.command("react <message-id> <emoji>").description("Add a reaction")).action(chat_1.reactChatMessage);
414
428
  addChatReadOptions(chat.command("unreact <message-id> <emoji>").description("Remove a reaction")).action(chat_1.unreactChatMessage);
415
- const chatAccess = chat.command("access").description("Manage channel access");
416
- addChatReadOptions(chatAccess
417
- .command("grant <channel> <username>")
418
- .description("Grant channel access")
419
- .option("--read-only", "Grant read access without write access")).action(chat_1.grantChatAccess);
420
- addChatReadOptions(chatAccess.command("revoke <channel> <username>").description("Revoke channel access")).action(chat_1.revokeChatAccess);
421
- addChatReadOptions(chat.command("visibility <channel> <visibility>").description("Set public or admin-only visibility")).action(chat_1.setChatVisibility);
422
429
  program
423
430
  .command("doctor")
424
431
  .description("Check PlayDrop setup health")
@@ -580,6 +587,40 @@ program
580
587
  .action(async (ref, opts) => {
581
588
  await (0, detail_1.detail)(ref, opts);
582
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
+ });
583
624
  program
584
625
  .command("play <ref>")
585
626
  .description("Open one published app in your browser with your current session")
@@ -958,7 +999,10 @@ creationAssetPackVersions
958
999
  });
959
1000
  const ai = program.command("ai").description("AI asset creation");
960
1001
  ai.command("create <type> <prompt>")
961
- .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")
962
1006
  .option("--asset-name <slug>", "Generated asset slug")
963
1007
  .option("--asset-display-name <text>", "Generated asset display name")
964
1008
  .option("--asset-description <text>", "Generated asset description")
@@ -987,6 +1031,9 @@ ai.command("create <type> <prompt>")
987
1031
  .option("--json", "Output JSON")
988
1032
  .action(async (type, prompt, opts) => {
989
1033
  await (0, generation_1.generate)(type, prompt, {
1034
+ system: opts.system,
1035
+ textSize: opts.textSize,
1036
+ responseSchema: opts.schema,
990
1037
  subcategory: opts.subcategory,
991
1038
  assetName: opts.assetName,
992
1039
  assetDisplayName: opts.assetDisplayName,
@@ -1015,16 +1062,16 @@ ai.command("create <type> <prompt>")
1015
1062
  json: opts.json,
1016
1063
  });
1017
1064
  });
1018
- const aiJobs = ai.command("jobs").description("Browse AI generation jobs");
1019
- aiJobs
1065
+ const aiTasks = ai.command("tasks").description("Browse AI generation tasks");
1066
+ aiTasks
1020
1067
  .command("browse")
1021
- .description("Browse AI jobs")
1022
- .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")
1023
1070
  .option("--limit <number>", "Maximum number of results to return")
1024
1071
  .option("--offset <number>", "Result offset")
1025
1072
  .option("--json", "Output JSON")
1026
1073
  .action(async (opts) => {
1027
- await (0, generation_1.browseGenerationJobs)(opts);
1074
+ await (0, generation_1.browseGenerationTasks)(opts);
1028
1075
  });
1029
1076
  ai.command("generations")
1030
1077
  .description("Browse AI generation history")
@@ -1035,12 +1082,33 @@ ai.command("generations")
1035
1082
  .action(async (opts) => {
1036
1083
  await (0, generation_1.generations)(opts);
1037
1084
  });
1038
- aiJobs
1085
+ aiTasks
1039
1086
  .command("detail <id>")
1040
- .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")
1041
1109
  .option("--json", "Output JSON")
1042
1110
  .action(async (id, opts) => {
1043
- await (0, generation_1.showGenerationJob)(id, opts);
1111
+ await (0, generation_1.clearGenerationTask)(id, opts);
1044
1112
  });
1045
1113
  const project = program.command("project").description("Local workspace tooling");
1046
1114
  const internalDevRouter = project.command("_dev-router").description("Internal shared dev router");
@@ -1060,9 +1128,9 @@ project
1060
1128
  const projectCreate = project.command("create").description("Create project resources");
1061
1129
  projectCreate
1062
1130
  .command("app <name>")
1063
- .description("Create a new app from a template or exact remix version")
1131
+ .description("Create a new app from a template")
1064
1132
  .option("--template <ref>", "Template ref")
1065
- .option("--remix <ref>", "Canonical app version ref")
1133
+ .option("--remix <ref>", "Unsupported: app remixes run only through PlayDrop Cloud")
1066
1134
  .action(async (name, opts) => {
1067
1135
  await (0, create_1.create)(name, opts);
1068
1136
  });
@@ -1130,6 +1198,7 @@ const projectCapture = project.command("capture").description("Record game media
1130
1198
  projectCapture
1131
1199
  .argument("[target]")
1132
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")
1133
1202
  .option("--duration <seconds>", "Recording duration in seconds")
1134
1203
  .option("--width <pixels>", "Final gameplay width in pixels")
1135
1204
  .option("--height <pixels>", "Final gameplay height in pixels")
@@ -1141,6 +1210,7 @@ projectCapture
1141
1210
  .action(async (target, opts) => {
1142
1211
  await (0, captureListing_1.captureListing)(target, {
1143
1212
  app: opts.app,
1213
+ surface: opts.surface,
1144
1214
  duration: opts.duration,
1145
1215
  width: opts.width,
1146
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
  }