@playdrop/playdrop-cli 0.16.16 → 0.17.1

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 (369) 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 +782 -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/node_modules/@playwright/mcp/node_modules/fsevents/LICENSE +22 -0
  202. package/node_modules/@playwright/mcp/node_modules/fsevents/README.md +83 -0
  203. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.d.ts +46 -0
  204. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.js +82 -0
  205. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.node +0 -0
  206. package/node_modules/@playwright/mcp/node_modules/fsevents/package.json +62 -0
  207. package/package.json +9 -11
  208. package/dist/assets/model-artifacts.d.ts +0 -8
  209. package/dist/assets/model-artifacts.js +0 -382
  210. package/dist/assets/model-worker.d.ts +0 -22
  211. package/dist/assets/model-worker.js +0 -123
  212. package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
  213. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
  214. package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
  215. package/node_modules/@playdrop/ai-client/package.json +0 -22
  216. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
  217. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
  218. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
  219. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
  220. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
  221. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
  222. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
  223. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
  224. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
  236. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
  237. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
  238. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  239. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
  240. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
  241. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
  242. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
  243. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
  244. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  245. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
  246. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
  247. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
  248. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
  249. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
  250. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
  251. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
  252. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
  253. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
  254. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
  255. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
  256. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
  257. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
  258. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
  259. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
  260. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
  261. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
  262. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
  263. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
  264. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
  265. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
  266. package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
  267. package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
  268. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
  269. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
  270. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
  271. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
  272. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
  273. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
  274. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
  275. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
  276. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
  277. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
  278. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
  279. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
  280. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
  281. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
  282. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  283. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
  284. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
  285. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  286. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  287. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
  288. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  289. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
  290. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
  291. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  292. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
  293. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
  294. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
  295. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
  296. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
  297. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
  298. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
  299. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
  300. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
  301. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
  302. package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
  303. package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
  304. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
  305. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
  306. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
  307. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
  308. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
  309. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
  310. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
  311. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
  312. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
  313. package/node_modules/@playdrop/boxel-core/package.json +0 -19
  314. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
  315. package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
  316. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
  317. package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
  318. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
  319. package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
  320. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
  321. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
  322. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
  323. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
  324. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
  325. package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
  326. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
  327. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
  328. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
  329. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
  330. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
  331. package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
  332. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
  333. package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
  334. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
  335. package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
  336. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
  337. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
  338. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
  339. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
  340. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
  341. package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
  342. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
  343. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
  344. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
  345. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
  346. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
  347. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
  348. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
  349. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
  350. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
  351. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
  352. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
  353. package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
  354. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
  355. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
  356. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
  357. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
  358. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
  359. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
  360. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
  361. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
  362. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
  363. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
  364. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
  365. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
  366. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
  367. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
  368. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
  369. 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