@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
@@ -22,6 +22,7 @@ __export(agent_tasks_exports, {
22
22
  module.exports = __toCommonJS(agent_tasks_exports);
23
23
  var import_types = require("@playdrop/types");
24
24
  var import_request = require("../core/request.js");
25
+ var import_apps = require("./apps.js");
25
26
  function normalizeAgentTaskId(taskId) {
26
27
  if (!Number.isInteger(taskId) || taskId <= 0) {
27
28
  throw new Error("invalid_agent_task_id");
@@ -102,7 +103,141 @@ function resolveAttachmentFilename(file, filename) {
102
103
  }
103
104
  function buildAgentTasksApiClientMethods(input) {
104
105
  const { request, handleApiError, fetchImpl, includeBrowserCredentials, resolveBaseUrl, resolveUrl, parseResponseBody, resolveToken, getClientHeaders } = input;
106
+ const creationGamesInFlight = /* @__PURE__ */ new Map();
105
107
  return {
108
+ async createAiGenerationTask(body) {
109
+ const response = await request({ method: "POST", path: "/ai/tasks", body });
110
+ if (response.status !== 202)
111
+ handleApiError(response, "create_ai_generation_task");
112
+ return response.body;
113
+ },
114
+ async prepareAiTaskInputUpload(body) {
115
+ const response = await request({ method: "POST", path: "/ai/input-uploads", body });
116
+ if (response.status !== 201)
117
+ handleApiError(response, "prepare_ai_task_input_upload");
118
+ return response.body;
119
+ },
120
+ async finalizeAiTaskInputUpload(uploadId) {
121
+ const normalized = uploadId.trim();
122
+ if (!normalized)
123
+ throw new Error("invalid_ai_task_input_upload_id");
124
+ const response = await request({
125
+ method: "POST",
126
+ path: `/ai/input-uploads/${encodeURIComponent(normalized)}/finalize`
127
+ });
128
+ if (response.status !== 200)
129
+ handleApiError(response, "finalize_ai_task_input_upload");
130
+ return response.body;
131
+ },
132
+ async uploadAiTaskInput(file, fileName) {
133
+ const contentType = file.type.trim().toLowerCase();
134
+ if (!["image/png", "image/jpeg", "image/webp"].includes(contentType)) {
135
+ throw new Error("invalid_ai_task_input_content_type");
136
+ }
137
+ const hashes = await (0, import_apps.hashVerifiedUploadBlob)(file);
138
+ const prepared = await this.prepareAiTaskInputUpload({
139
+ fileName: fileName?.trim() || file.name || "reference-image",
140
+ contentType,
141
+ sizeBytes: file.size,
142
+ ...hashes
143
+ });
144
+ const uploaded = await fetchImpl(prepared.uploadUrl, {
145
+ method: "PUT",
146
+ headers: prepared.uploadHeaders,
147
+ body: file
148
+ });
149
+ if (!uploaded.ok)
150
+ throw new Error(`ai_task_input_upload_failed:${uploaded.status}`);
151
+ await this.finalizeAiTaskInputUpload(prepared.uploadId);
152
+ return { type: "TASK_UPLOAD", uploadId: prepared.uploadId };
153
+ },
154
+ async listAiGenerationTasks(options = {}) {
155
+ const params = new URLSearchParams();
156
+ if (options.status)
157
+ params.set("status", options.status);
158
+ if (options.kind)
159
+ params.set("kind", options.kind);
160
+ if (options.limit !== void 0)
161
+ params.set("limit", String(options.limit));
162
+ if (options.offset !== void 0)
163
+ params.set("offset", String(options.offset));
164
+ const query = params.toString();
165
+ const response = await request({
166
+ method: "GET",
167
+ path: `/ai/tasks${query ? `?${query}` : ""}`
168
+ });
169
+ if (response.status !== 200)
170
+ handleApiError(response, "list_ai_generation_tasks");
171
+ return response.body;
172
+ },
173
+ async getAiGenerationTask(taskId) {
174
+ const id = normalizeAgentTaskId(taskId);
175
+ const response = await request({ method: "GET", path: `/ai/tasks/${id}` });
176
+ if (response.status !== 200)
177
+ handleApiError(response, "get_ai_generation_task");
178
+ return response.body;
179
+ },
180
+ async downloadAiGenerationTaskFile(taskId, options = {}) {
181
+ const id = normalizeAgentTaskId(taskId);
182
+ const params = new URLSearchParams();
183
+ if (typeof options.role === "string" && options.role.trim())
184
+ params.set("role", options.role.trim());
185
+ const query = params.toString();
186
+ const path = `/ai/tasks/${id}/file${query ? `?${query}` : ""}`;
187
+ const headers = new Headers();
188
+ for (const [key, value] of Object.entries(getClientHeaders()))
189
+ headers.set(key, value);
190
+ const token = await resolveToken();
191
+ if (token)
192
+ headers.set("authorization", `Bearer ${token}`);
193
+ const response = await fetchImpl(resolveUrl(resolveBaseUrl(), path), {
194
+ method: "GET",
195
+ headers,
196
+ ...(0, import_request.buildBrowserCredentialsInit)(includeBrowserCredentials)
197
+ });
198
+ if (!response.ok) {
199
+ const parsed = await parseResponseBody(response);
200
+ handleApiError({ status: response.status, body: parsed, headers: response.headers }, "download_ai_generation_task_file");
201
+ }
202
+ return response.blob();
203
+ },
204
+ async listAiGenerationTaskEvents(taskId) {
205
+ const id = normalizeAgentTaskId(taskId);
206
+ const response = await request({ method: "GET", path: `/ai/tasks/${id}/events` });
207
+ if (response.status !== 200)
208
+ handleApiError(response, "list_ai_generation_task_events");
209
+ return response.body;
210
+ },
211
+ async cancelAiGenerationTask(taskId) {
212
+ const id = normalizeAgentTaskId(taskId);
213
+ const response = await request({ method: "POST", path: `/ai/tasks/${id}/cancel` });
214
+ if (response.status !== 200)
215
+ handleApiError(response, "cancel_ai_generation_task");
216
+ return response.body;
217
+ },
218
+ async clearAiGenerationTask(taskId) {
219
+ const id = normalizeAgentTaskId(taskId);
220
+ const response = await request({ method: "DELETE", path: `/ai/tasks/${id}` });
221
+ if (response.status !== 204)
222
+ handleApiError(response, "clear_ai_generation_task");
223
+ },
224
+ async listAiGenerations(options = {}) {
225
+ const params = new URLSearchParams();
226
+ if (options.type)
227
+ params.set("type", options.type);
228
+ if (options.limit !== void 0)
229
+ params.set("limit", String(options.limit));
230
+ if (options.offset !== void 0)
231
+ params.set("offset", String(options.offset));
232
+ const query = params.toString();
233
+ const response = await request({
234
+ method: "GET",
235
+ path: `/ai/generations${query ? `?${query}` : ""}`
236
+ });
237
+ if (response.status !== 200)
238
+ handleApiError(response, "list_ai_generations");
239
+ return response.body;
240
+ },
106
241
  async uploadAgentTaskAttachment(file, description, filename) {
107
242
  const form = new FormData();
108
243
  form.set("file", file, resolveAttachmentFilename(file, filename));
@@ -118,7 +253,7 @@ function buildAgentTasksApiClientMethods(input) {
118
253
  });
119
254
  const body = await parseResponseBody(response);
120
255
  const result = { status: response.status, body, headers: response.headers };
121
- if (response.status !== 201 && response.status !== 200) {
256
+ if (response.status !== 202 && response.status !== 201 && response.status !== 200) {
122
257
  handleApiError(result, "upload_agent_task_attachment");
123
258
  }
124
259
  return body;
@@ -129,7 +264,7 @@ function buildAgentTasksApiClientMethods(input) {
129
264
  path: "/me/agent-tasks",
130
265
  body
131
266
  });
132
- if (response.status !== 201 && response.status !== 200) {
267
+ if (response.status !== 202 && response.status !== 201 && response.status !== 200) {
133
268
  handleApiError(response, "create_new_game_agent_task");
134
269
  }
135
270
  return response.body;
@@ -140,7 +275,7 @@ function buildAgentTasksApiClientMethods(input) {
140
275
  path: "/me/agent-tasks/static-game",
141
276
  body
142
277
  });
143
- if (response.status !== 201 && response.status !== 200) {
278
+ if (response.status !== 202 && response.status !== 201 && response.status !== 200) {
144
279
  handleApiError(response, "create_static_game_agent_task");
145
280
  }
146
281
  return response.body;
@@ -151,7 +286,7 @@ function buildAgentTasksApiClientMethods(input) {
151
286
  path: "/me/agent-tasks/remix-game",
152
287
  body
153
288
  });
154
- if (response.status !== 201 && response.status !== 200) {
289
+ if (response.status !== 202 && response.status !== 201 && response.status !== 200) {
155
290
  handleApiError(response, "create_remix_game_agent_task");
156
291
  }
157
292
  return response.body;
@@ -174,7 +309,7 @@ function buildAgentTasksApiClientMethods(input) {
174
309
  path: `/me/games/${encodeURIComponent(name)}/agent-tasks`,
175
310
  body
176
311
  });
177
- if (response.status !== 201 && response.status !== 200) {
312
+ if (response.status !== 202 && response.status !== 201 && response.status !== 200) {
178
313
  handleApiError(response, "create_app_agent_task");
179
314
  }
180
315
  return response.body;
@@ -190,24 +325,26 @@ function buildAgentTasksApiClientMethods(input) {
190
325
  }
191
326
  return response.body;
192
327
  },
193
- async getAppAgentTaskAvailability(appName) {
328
+ async getAppAgentTaskAvailability(appName, options = {}) {
194
329
  const name = normalizeAppName(appName);
195
330
  const response = await request({
196
331
  method: "GET",
197
- path: `/me/games/${encodeURIComponent(name)}/agent-tasks/availability`
332
+ path: `/me/games/${encodeURIComponent(name)}/agent-tasks/availability`,
333
+ ...options.signal ? { signal: options.signal } : {}
198
334
  });
199
335
  if (response.status !== 200) {
200
336
  handleApiError(response, "get_app_agent_task_availability");
201
337
  }
202
338
  return response.body;
203
339
  },
204
- async getAgentTaskAvailability(kind) {
340
+ async getAgentTaskAvailability(kind, options = {}) {
205
341
  const normalizedKind = normalizeAgentTaskKind(kind);
206
342
  const params = new URLSearchParams();
207
343
  params.set("kind", normalizedKind);
208
344
  const response = await request({
209
345
  method: "GET",
210
- path: `/me/agent-tasks/availability?${params.toString()}`
346
+ path: `/me/agent-tasks/availability?${params.toString()}`,
347
+ ...options.signal ? { signal: options.signal } : {}
211
348
  });
212
349
  if (response.status !== 200) {
213
350
  handleApiError(response, "get_agent_task_availability");
@@ -239,7 +376,8 @@ function buildAgentTasksApiClientMethods(input) {
239
376
  const query = buildCreatorGamesQuery(options);
240
377
  const response = await request({
241
378
  method: "GET",
242
- path: "/me/creator-games" + (query ? `?${query}` : "")
379
+ path: "/me/creator-games" + (query ? `?${query}` : ""),
380
+ ...options.signal ? { signal: options.signal } : {}
243
381
  });
244
382
  if (response.status !== 200) {
245
383
  handleApiError(response, "list_creator_games");
@@ -247,25 +385,51 @@ function buildAgentTasksApiClientMethods(input) {
247
385
  return response.body;
248
386
  },
249
387
  async listCreationGames(etag) {
250
- const headers = await buildAuthorizedHeaders(getClientHeaders, resolveToken);
251
- if (typeof etag === "string" && etag.trim()) {
252
- headers.set("if-none-match", etag.trim());
253
- }
254
- const response = await fetchImpl(resolveUrl(resolveBaseUrl(), "/me/creation/games"), {
255
- method: "GET",
256
- headers,
257
- ...(0, import_request.buildBrowserCredentialsInit)(includeBrowserCredentials)
258
- });
259
- const responseEtag = response.headers.get("etag");
260
- if (response.status === 304) {
261
- return { data: null, etag: responseEtag ?? etag ?? null, notModified: true };
262
- }
263
- const body = await parseResponseBody(response);
264
- const result = { status: response.status, body, headers: response.headers };
265
- if (response.status !== 200) {
266
- handleApiError(result, "list_creation_games");
388
+ const normalizedEtag = typeof etag === "string" && etag.trim() ? etag.trim() : null;
389
+ const requestKey = normalizedEtag ?? "<none>";
390
+ const current = creationGamesInFlight.get(requestKey);
391
+ if (current)
392
+ return current;
393
+ const requestPromise = (async () => {
394
+ const headers = await buildAuthorizedHeaders(getClientHeaders, resolveToken);
395
+ if (normalizedEtag) {
396
+ headers.set("if-none-match", normalizedEtag);
397
+ }
398
+ const response = await fetchImpl(resolveUrl(resolveBaseUrl(), "/me/creation/games"), {
399
+ method: "GET",
400
+ headers,
401
+ ...(0, import_request.buildBrowserCredentialsInit)(includeBrowserCredentials)
402
+ });
403
+ const responseEtag = response.headers.get("etag");
404
+ const eventVersion = response.headers.get("x-playdrop-event-version");
405
+ if (response.status === 304) {
406
+ return {
407
+ data: null,
408
+ etag: responseEtag ?? normalizedEtag,
409
+ eventVersion,
410
+ notModified: true
411
+ };
412
+ }
413
+ const body = await parseResponseBody(response);
414
+ const result = { status: response.status, body, headers: response.headers };
415
+ if (response.status !== 200) {
416
+ handleApiError(result, "list_creation_games");
417
+ }
418
+ return {
419
+ data: body,
420
+ etag: responseEtag,
421
+ eventVersion: eventVersion ?? body.eventVersion,
422
+ notModified: false
423
+ };
424
+ })();
425
+ creationGamesInFlight.set(requestKey, requestPromise);
426
+ try {
427
+ return await requestPromise;
428
+ } finally {
429
+ if (creationGamesInFlight.get(requestKey) === requestPromise) {
430
+ creationGamesInFlight.delete(requestKey);
431
+ }
267
432
  }
268
- return { data: body, etag: responseEtag, notModified: false };
269
433
  },
270
434
  async getCreationConversation(gameRef, options = {}) {
271
435
  const normalizedRef = normalizeCreatorGameRef(gameRef);
@@ -280,7 +444,8 @@ function buildAgentTasksApiClientMethods(input) {
280
444
  }
281
445
  const response = await request({
282
446
  method: "GET",
283
- path: `/me/creation/games/${encodeURIComponent(normalizedRef)}/conversation?${params.toString()}`
447
+ path: `/me/creation/games/${encodeURIComponent(normalizedRef)}/conversation?${params.toString()}`,
448
+ ...options.signal ? { signal: options.signal } : {}
284
449
  });
285
450
  if (response.status !== 200) {
286
451
  handleApiError(response, "get_creation_conversation");
@@ -476,6 +641,94 @@ function buildAgentTasksApiClientMethods(input) {
476
641
  }
477
642
  return response.body;
478
643
  },
644
+ async workerRecordGenerationProviderRequest(taskId, body) {
645
+ const id = normalizeAgentTaskId(taskId);
646
+ const response = await request({
647
+ method: "POST",
648
+ path: `/worker/tasks/${id}/provider-request`,
649
+ body
650
+ });
651
+ if (response.status !== 200)
652
+ handleApiError(response, "worker_record_generation_provider_request");
653
+ return response.body;
654
+ },
655
+ async workerRecordGenerationProviderSubmission(taskId, body) {
656
+ const id = normalizeAgentTaskId(taskId);
657
+ const response = await request({
658
+ method: "POST",
659
+ path: `/worker/tasks/${id}/provider-submission`,
660
+ body
661
+ });
662
+ if (response.status !== 200)
663
+ handleApiError(response, "worker_record_generation_provider_submission");
664
+ return response.body;
665
+ },
666
+ async workerCompleteTaskScreening(taskId, body) {
667
+ const id = normalizeAgentTaskId(taskId);
668
+ const response = await request({
669
+ method: "POST",
670
+ path: `/worker/tasks/${id}/screening-result`,
671
+ body
672
+ });
673
+ if (response.status !== 200)
674
+ handleApiError(response, "worker_complete_task_screening");
675
+ return response.body;
676
+ },
677
+ async workerCompleteGenerationText(taskId, body) {
678
+ const id = normalizeAgentTaskId(taskId);
679
+ const response = await request({
680
+ method: "POST",
681
+ path: `/worker/tasks/${id}/generation/text-result`,
682
+ body
683
+ });
684
+ if (response.status !== 200)
685
+ handleApiError(response, "worker_complete_generation_text");
686
+ return response.body;
687
+ },
688
+ async workerPrepareGenerationUploads(taskId, body) {
689
+ const id = normalizeAgentTaskId(taskId);
690
+ const response = await request({
691
+ method: "POST",
692
+ path: `/worker/tasks/${id}/generation/uploads/prepare`,
693
+ body
694
+ });
695
+ if (response.status !== 200)
696
+ handleApiError(response, "worker_prepare_generation_uploads");
697
+ return response.body;
698
+ },
699
+ async workerCheckpointGenerationUploads(taskId, body) {
700
+ const id = normalizeAgentTaskId(taskId);
701
+ const response = await request({
702
+ method: "POST",
703
+ path: `/worker/tasks/${id}/generation/uploads/checkpoint`,
704
+ body
705
+ });
706
+ if (response.status !== 200)
707
+ handleApiError(response, "worker_checkpoint_generation_uploads");
708
+ return response.body;
709
+ },
710
+ async workerFinalizeGeneration(taskId, body) {
711
+ const id = normalizeAgentTaskId(taskId);
712
+ const response = await request({
713
+ method: "POST",
714
+ path: `/worker/tasks/${id}/generation/uploads/finalize`,
715
+ body
716
+ });
717
+ if (response.status !== 200)
718
+ handleApiError(response, "worker_finalize_generation");
719
+ return response.body;
720
+ },
721
+ async workerFailGeneration(taskId, body) {
722
+ const id = normalizeAgentTaskId(taskId);
723
+ const response = await request({
724
+ method: "POST",
725
+ path: `/worker/tasks/${id}/generation/fail`,
726
+ body
727
+ });
728
+ if (response.status !== 200)
729
+ handleApiError(response, "worker_fail_generation");
730
+ return response.body;
731
+ },
479
732
  async workerClaimAgentTaskSlug(taskId, body) {
480
733
  const id = normalizeAgentTaskId(taskId);
481
734
  const response = await request({
@@ -511,6 +764,18 @@ function buildAgentTasksApiClientMethods(input) {
511
764
  }
512
765
  return response.body;
513
766
  },
767
+ async workerGetAgentTask(taskId, body) {
768
+ const id = normalizeAgentTaskId(taskId);
769
+ const response = await request({
770
+ method: "POST",
771
+ path: `/worker/tasks/${id}/detail`,
772
+ body
773
+ });
774
+ if (response.status !== 200) {
775
+ handleApiError(response, "worker_get_agent_task");
776
+ }
777
+ return response.body;
778
+ },
514
779
  async workerHeartbeatAgentTask(taskId, body) {
515
780
  const id = normalizeAgentTaskId(taskId);
516
781
  const response = await request({
@@ -567,27 +832,62 @@ function buildAgentTasksApiClientMethods(input) {
567
832
  }
568
833
  return body;
569
834
  },
570
- async workerAppendAgentTaskTranscriptChunks(taskId, body) {
835
+ async workerRecordAgentTaskRunTelemetry(taskId, body) {
571
836
  const id = normalizeAgentTaskId(taskId);
572
837
  const response = await request({
573
838
  method: "POST",
574
- path: `/worker/tasks/${id}/transcript-chunks`,
839
+ path: `/worker/tasks/${id}/run-telemetry`,
575
840
  body
576
841
  });
577
- if (response.status !== 201) {
578
- handleApiError(response, "worker_append_agent_task_transcript_chunks");
842
+ if (response.status !== 200) {
843
+ handleApiError(response, "worker_record_agent_task_run_telemetry");
579
844
  }
580
845
  return response.body;
581
846
  },
582
- async workerRecordAgentTaskRunTelemetry(taskId, body) {
847
+ async workerPrepareGameSource(taskId, body) {
583
848
  const id = normalizeAgentTaskId(taskId);
584
849
  const response = await request({
585
850
  method: "POST",
586
- path: `/worker/tasks/${id}/run-telemetry`,
851
+ path: `/worker/tasks/${id}/game-source/prepare`,
587
852
  body
588
853
  });
589
854
  if (response.status !== 200) {
590
- handleApiError(response, "worker_record_agent_task_run_telemetry");
855
+ handleApiError(response, "worker_prepare_game_source");
856
+ }
857
+ return response.body;
858
+ },
859
+ async workerReadGameSourceFiles(taskId, body) {
860
+ const id = normalizeAgentTaskId(taskId);
861
+ const response = await request({
862
+ method: "POST",
863
+ path: `/worker/tasks/${id}/game-source/files/read`,
864
+ body
865
+ });
866
+ if (response.status !== 200)
867
+ handleApiError(response, "worker_read_game_source_files");
868
+ return response.body;
869
+ },
870
+ async workerPrepareAgentTaskTranscript(taskId, body) {
871
+ const id = normalizeAgentTaskId(taskId);
872
+ const response = await request({
873
+ method: "POST",
874
+ path: `/worker/tasks/${id}/transcript-archive/prepare`,
875
+ body
876
+ });
877
+ if (response.status !== 200) {
878
+ handleApiError(response, "worker_prepare_agent_task_transcript");
879
+ }
880
+ return response.body;
881
+ },
882
+ async workerCompleteAgentTaskTranscript(taskId, body) {
883
+ const id = normalizeAgentTaskId(taskId);
884
+ const response = await request({
885
+ method: "POST",
886
+ path: `/worker/tasks/${id}/transcript-archive/complete`,
887
+ body
888
+ });
889
+ if (response.status !== 200) {
890
+ handleApiError(response, "worker_complete_agent_task_transcript");
591
891
  }
592
892
  return response.body;
593
893
  },
@@ -676,11 +976,8 @@ function buildAgentTasksApiClientMethods(input) {
676
976
  async adminGetAgentTaskTranscript(taskId, options = {}) {
677
977
  const id = normalizeAgentTaskId(taskId);
678
978
  const params = new URLSearchParams();
679
- if (typeof options.afterSequence === "number" && Number.isFinite(options.afterSequence)) {
680
- params.set("afterSequence", String(options.afterSequence));
681
- }
682
- if (typeof options.limit === "number" && Number.isFinite(options.limit)) {
683
- params.set("limit", String(options.limit));
979
+ if (typeof options.attempt === "number" && Number.isFinite(options.attempt)) {
980
+ params.set("attempt", String(options.attempt));
684
981
  }
685
982
  const query = params.toString();
686
983
  const response = await request({
@@ -1,4 +1,4 @@
1
- import type { AiGenerationDetailResponse } from "@playdrop/types";
1
+ import type { AgentTaskResponse, AiGenerationDetailResponse } from "@playdrop/types";
2
2
  type ApiResponseLike<T> = {
3
3
  status: number;
4
4
  body: T;
@@ -12,11 +12,34 @@ type RequestExecutor = <T>(input: {
12
12
  signal?: AbortSignal;
13
13
  }) => Promise<ApiResponseLike<T>>;
14
14
  type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
15
+ export type AiAssetGenerationRequest = Record<string, unknown> & {
16
+ modality: "IMAGE" | "MUSIC" | "SFX" | "SPEECH" | "VIDEO" | "MODEL_3D";
17
+ input: string;
18
+ };
19
+ export type AiAssetGenerationQuoteResponse = {
20
+ quote: {
21
+ id: string;
22
+ expiresAt: string;
23
+ items: Array<{
24
+ index: number;
25
+ modality: AiAssetGenerationRequest["modality"];
26
+ amount: number;
27
+ }>;
28
+ totalAmount: number;
29
+ payerUserId: number;
30
+ ownerUserId: number;
31
+ };
32
+ };
33
+ export type AiAssetGenerationConfirmResponse = {
34
+ tasks: AgentTaskResponse[];
35
+ };
15
36
  export declare function buildAiApiClientMethods(input: {
16
37
  request: RequestExecutor;
17
38
  handleApiError: ErrorHandler;
18
39
  }): {
19
40
  fetchAiGeneration(id: string): Promise<AiGenerationDetailResponse>;
41
+ createAiAssetGenerationQuote(appId: number, requests: AiAssetGenerationRequest[]): Promise<AiAssetGenerationQuoteResponse>;
42
+ confirmAiAssetGenerationQuote(appId: number, quoteId: string, requests: AiAssetGenerationRequest[]): Promise<AiAssetGenerationConfirmResponse>;
20
43
  };
21
44
  export {};
22
45
  //# sourceMappingURL=ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/domains/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,KAAK,YAAY,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,KAAK,CAAC;AAE1F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,cAAc,EAAE,YAAY,CAAA;CAAE;0BAIzE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;EAW3E"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/domains/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAErF,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,KAAK,YAAY,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,KAAK,CAAC;AAE1F,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/D,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACtE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChG,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAE9E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,cAAc,EAAE,YAAY,CAAA;CAAE;0BAIzE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;wCAY/D,MAAM,YACH,wBAAwB,EAAE,GACnC,OAAO,CAAC,8BAA8B,CAAC;yCAWjC,MAAM,WACJ,MAAM,YACL,wBAAwB,EAAE,GACnC,OAAO,CAAC,gCAAgC,CAAC;EAU/C"}
@@ -32,6 +32,26 @@ function buildAiApiClientMethods(input) {
32
32
  handleApiError(response, "fetch_ai_generation");
33
33
  }
34
34
  return response.body;
35
+ },
36
+ async createAiAssetGenerationQuote(appId, requests) {
37
+ const response = await request({
38
+ method: "POST",
39
+ path: `/apps/${appId}/ai/assets/quotes`,
40
+ body: { requests }
41
+ });
42
+ if (response.status !== 200)
43
+ handleApiError(response, "create_ai_asset_generation_quote");
44
+ return response.body;
45
+ },
46
+ async confirmAiAssetGenerationQuote(appId, quoteId, requests) {
47
+ const response = await request({
48
+ method: "POST",
49
+ path: `/apps/${appId}/ai/assets/quotes/${encodeURIComponent(quoteId)}/confirm`,
50
+ body: { requests }
51
+ });
52
+ if (response.status !== 202)
53
+ handleApiError(response, "confirm_ai_asset_generation_quote");
54
+ return response.body;
35
55
  }
36
56
  };
37
57
  }
@@ -1,5 +1,4 @@
1
- import type { AbortAppUploadResponse, AppAccessTokenResponse, AppAuthMode, AppBrowseRequest, AppDetailRequest, AppDetailResponse, AppLogEntryRequest, AppLogEntryResponse, AppListingDraftMediaSlot, AppListingDraftResponse, AppMoreCollectionKey, AppMoreCollectionPage, AppMoreCollectionRequest, AppMoreCollectionsRequest, AppMoreCollectionsResponse, AppRuntimeAssetsResponse, AppSourceBundleResponse, AppType, AppUploadLaunchCheckPreviewResponse, AppVersionDetailResponse, AppVersionVisibility, AppTweaksSnapshot, CreatorNotesClearResponse, CreatorNotesResponse, TweakValues, AppVersionsListResponse, AppsListResponse, ContentLicense, ContentRemixRelationsResponse, CreateAppRequest, CreateAppResponse, CreatorAppsBrowseRequest, DeleteAppResponse, DeleteVersionResponse, DevAppAccessTokenResponse, DevPlayerResetResponse, FinalizeAppUploadRequest, FinalizeAppUploadResponse, InitializeAppUploadRequest, InitializeAppUploadResponse, RecordAppUploadCausalCheckRequest, RecordAppUploadCausalCheckResponse, RecordAppUploadMediaCaptureRequest, RecordAppUploadMediaCaptureResponse, RecordAppUploadLaunchCheckRequest, RecordAppUploadLaunchCheckResponse, PublishAppListingDraftResponse, RemixScaffoldResponse, ResolveRuntimeAssetsRequest, ResolveRuntimeAssetsResponse, UpdateAppRequest, UpdateAppListingDraftRequest, UpdateAppResponse, UpdateVersionResponse, UploadAppSessionFileResponse, UploadAppSessionOwnedAssetResponse } from "@playdrop/types";
2
- import type { UploadAppSessionFileOptions, UploadAppSessionOwnedAssetOptions } from "../client.js";
1
+ import type { AbortAppUploadResponse, AppAccessTokenResponse, AppAuthMode, AppBrowseRequest, AppDetailRequest, AppDetailResponse, AppEngagementResponse, AppGameRecommendationsResponse, AppLogEntryRequest, AppLogEntryResponse, AppListingDraftMediaSlot, AppListingDraftResponse, AppRuntimeAssetsResponse, AppSourceBundleResponse, AppType, AppUploadLaunchCheckPreviewResponse, AppVersionDetailResponse, AppVersionVisibility, AppTweaksSnapshot, CreatorNotesClearResponse, CreatorNotesResponse, TweakValues, AppVersionsListResponse, AppsListResponse, ContentLicense, ContentViewerStateResponse, ContentRemixRelationsResponse, CreateAppRequest, CreateAppResponse, CreatorAppsBrowseRequest, DeleteAppResponse, DeleteVersionResponse, DevAppAccessTokenResponse, DevGameServerCredentialResponse, DevPlayerResetResponse, DevSocialFriendsResponse, FinalizeAppUploadRequest, FinalizeAppUploadResponse, InitializeAppUploadRequest, InitializeAppUploadResponse, RecordAppUploadCausalCheckRequest, RecordAppUploadCausalCheckResponse, RecordAppUploadLaunchCheckRequest, RecordAppUploadLaunchCheckResponse, PublishAppListingDraftResponse, ResolveRuntimeAssetsRequest, ResolveRuntimeAssetsResponse, UpdateAppRequest, UpdateAppListingDraftRequest, UpdateAppResponse, UpdateVersionResponse, SignAppUploadObjectsRequest, SignAppUploadObjectsResponse } from "@playdrop/types";
3
2
  type ApiResponseLike<T> = {
4
3
  status: number;
5
4
  body: T;
@@ -14,6 +13,10 @@ type RequestExecutor = <T>(input: {
14
13
  }) => Promise<ApiResponseLike<T>>;
15
14
  type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
16
15
  type ParseResponseBody = <T>(response: Response) => Promise<T>;
16
+ export declare function hashVerifiedUploadBlob(file: Blob): Promise<{
17
+ sha256: string;
18
+ md5Base64: string;
19
+ }>;
17
20
  export declare function buildAppsApiClientMethods(input: {
18
21
  request: RequestExecutor;
19
22
  handleApiError: ErrorHandler;
@@ -34,8 +37,9 @@ export declare function buildAppsApiClientMethods(input: {
34
37
  fetchAppsByType(type: AppType, options?: AppBrowseRequest): Promise<AppsListResponse>;
35
38
  fetchAppsByCreator(creatorUsername: string, options?: CreatorAppsBrowseRequest): Promise<AppsListResponse>;
36
39
  fetchAppBySlug(creatorUsername: string, appName: string, options?: AppDetailRequest): Promise<AppDetailResponse>;
37
- fetchAppMoreCollections(creatorUsername: string, appName: string, options?: AppMoreCollectionsRequest): Promise<AppMoreCollectionsResponse>;
38
- fetchAppMoreCollectionPage(creatorUsername: string, appName: string, collectionKey: AppMoreCollectionKey, options?: AppMoreCollectionRequest): Promise<AppMoreCollectionPage>;
40
+ fetchAppEngagement(creatorUsername: string, appName: string): Promise<AppEngagementResponse>;
41
+ fetchAppViewerState(creatorUsername: string, appName: string): Promise<ContentViewerStateResponse>;
42
+ fetchAppGameRecommendations(creatorUsername: string, appName: string): Promise<AppGameRecommendationsResponse>;
39
43
  requestAppAccessToken(appId: number, options?: {
40
44
  sessionId?: string;
41
45
  version?: string;
@@ -60,19 +64,21 @@ export declare function buildAppsApiClientMethods(input: {
60
64
  }>;
61
65
  publishAppListingDraft(creatorUsername: string, appName: string): Promise<PublishAppListingDraftResponse>;
62
66
  initializeAppUpload(creatorUsername: string, appName: string, requestBody: InitializeAppUploadRequest): Promise<InitializeAppUploadResponse>;
63
- uploadAppSessionFile(creatorUsername: string, appName: string, sessionId: string, fileKey: string, options: UploadAppSessionFileOptions): Promise<UploadAppSessionFileResponse>;
64
- uploadAppSessionOwnedAsset(creatorUsername: string, appName: string, sessionId: string, uploadKey: string, options: UploadAppSessionOwnedAssetOptions): Promise<UploadAppSessionOwnedAssetResponse>;
67
+ signAppUploadObjects(creatorUsername: string, appName: string, sessionId: string, requestBody: SignAppUploadObjectsRequest): Promise<SignAppUploadObjectsResponse>;
65
68
  finalizeAppUpload(creatorUsername: string, appName: string, sessionId: string, requestBody?: FinalizeAppUploadRequest): Promise<FinalizeAppUploadResponse>;
66
69
  fetchAppUploadLaunchCheckPreview(creatorUsername: string, appName: string, sessionId: string): Promise<AppUploadLaunchCheckPreviewResponse>;
67
70
  recordAppUploadLaunchCheck(creatorUsername: string, appName: string, sessionId: string, requestBody: RecordAppUploadLaunchCheckRequest): Promise<RecordAppUploadLaunchCheckResponse>;
68
71
  recordAppUploadCausalCheck(creatorUsername: string, appName: string, sessionId: string, requestBody: RecordAppUploadCausalCheckRequest): Promise<RecordAppUploadCausalCheckResponse>;
69
- recordAppUploadMediaCapture(creatorUsername: string, appName: string, sessionId: string, requestBody: RecordAppUploadMediaCaptureRequest): Promise<RecordAppUploadMediaCaptureResponse>;
70
72
  abortAppUpload(creatorUsername: string, appName: string, sessionId: string): Promise<AbortAppUploadResponse>;
71
73
  fetchAppRelated(creatorUsername: string, appName: string): Promise<ContentRemixRelationsResponse>;
72
74
  requestDevAppAccessToken(appId: number, slot: number, options: {
73
75
  version: string;
74
76
  sessionId?: string;
75
77
  }): Promise<DevAppAccessTokenResponse>;
78
+ requestDevGameServerCredential(appId: number, options: {
79
+ version: string;
80
+ }): Promise<DevGameServerCredentialResponse>;
81
+ listDevSocialFriends(appId: number, currentSlot: number): Promise<DevSocialFriendsResponse>;
76
82
  resetDevPlayer(appId: number, slot: number): Promise<DevPlayerResetResponse>;
77
83
  resetAllDevPlayers(appId: number): Promise<DevPlayerResetResponse>;
78
84
  listAppVersions(creatorUsername: string, appName: string): Promise<AppVersionsListResponse>;
@@ -91,7 +97,6 @@ export declare function buildAppsApiClientMethods(input: {
91
97
  }): Promise<UpdateVersionResponse>;
92
98
  deleteAppVersion(creatorUsername: string, appName: string, version: string): Promise<DeleteVersionResponse>;
93
99
  deleteApp(creatorUsername: string, name: string): Promise<DeleteAppResponse>;
94
- fetchRemixScaffold(creatorUsername: string, appName: string, version?: string): Promise<RemixScaffoldResponse>;
95
100
  };
96
101
  export {};
97
102
  //# sourceMappingURL=apps.d.ts.map