@playdrop/playdrop-cli 0.16.2 → 0.16.11

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 (383) hide show
  1. package/bin/playdrop +1 -2
  2. package/config/client-meta.json +4 -4
  3. package/dist/apiClient.d.ts +2 -2
  4. package/dist/apiClient.js +16 -20
  5. package/dist/appUrls.d.ts +2 -2
  6. package/dist/appUrls.js +31 -33
  7. package/dist/apps/build.d.ts +2 -2
  8. package/dist/apps/build.js +83 -83
  9. package/dist/apps/index.d.ts +7 -7
  10. package/dist/apps/index.js +8 -8
  11. package/dist/apps/loadCheck.d.ts +28 -16
  12. package/dist/apps/loadCheck.js +411 -279
  13. package/dist/apps/registration.d.ts +3 -3
  14. package/dist/apps/registration.js +1 -1
  15. package/dist/apps/staticHtml.d.ts +3 -3
  16. package/dist/apps/staticHtml.js +90 -91
  17. package/dist/apps/surfaceProfiles.d.ts +2 -2
  18. package/dist/apps/surfaceProfiles.js +6 -6
  19. package/dist/apps/upload.d.ts +5 -5
  20. package/dist/apps/upload.js +75 -81
  21. package/dist/apps/validate.d.ts +2 -2
  22. package/dist/apps/validate.js +18 -22
  23. package/dist/assetSpecs.d.ts +2 -2
  24. package/dist/assetSpecs.js +35 -35
  25. package/dist/assets/model-artifacts.d.ts +1 -1
  26. package/dist/assets/model-artifacts.js +81 -77
  27. package/dist/assets/model-worker.d.ts +1 -1
  28. package/dist/assets/model-worker.js +6 -6
  29. package/dist/browser.js +9 -9
  30. package/dist/catalogue-utils.d.ts +1 -1
  31. package/dist/catalogue-utils.js +26 -26
  32. package/dist/catalogue.d.ts +21 -16
  33. package/dist/catalogue.js +509 -413
  34. package/dist/clientInfo.d.ts +1 -1
  35. package/dist/clientInfo.js +28 -28
  36. package/dist/commandContext.d.ts +5 -5
  37. package/dist/commandContext.js +19 -23
  38. package/dist/commands/accounts.js +6 -6
  39. package/dist/commands/ads.js +16 -16
  40. package/dist/commands/agents.d.ts +2 -2
  41. package/dist/commands/agents.js +131 -127
  42. package/dist/commands/boosts.js +41 -31
  43. package/dist/commands/browse.d.ts +2 -2
  44. package/dist/commands/browse.js +168 -128
  45. package/dist/commands/build.js +9 -9
  46. package/dist/commands/captureListing.d.ts +8 -8
  47. package/dist/commands/captureListing.js +292 -332
  48. package/dist/commands/changelog.js +1 -1
  49. package/dist/commands/chat.js +51 -53
  50. package/dist/commands/check.d.ts +1 -1
  51. package/dist/commands/check.js +44 -44
  52. package/dist/commands/clients.d.ts +3 -3
  53. package/dist/commands/clients.js +67 -64
  54. package/dist/commands/comments.js +36 -29
  55. package/dist/commands/create.js +305 -312
  56. package/dist/commands/createRemixContent.d.ts +1 -1
  57. package/dist/commands/createRemixContent.js +65 -60
  58. package/dist/commands/creations.js +205 -135
  59. package/dist/commands/credits.js +37 -27
  60. package/dist/commands/detail.js +40 -34
  61. package/dist/commands/dev.js +103 -126
  62. package/dist/commands/devBrowser.js +74 -65
  63. package/dist/commands/devRuntimeAssets.d.ts +4 -4
  64. package/dist/commands/devRuntimeAssets.js +38 -40
  65. package/dist/commands/devServer.d.ts +4 -4
  66. package/dist/commands/devServer.js +183 -174
  67. package/dist/commands/devShared.d.ts +3 -3
  68. package/dist/commands/devShared.js +31 -31
  69. package/dist/commands/doctor.d.ts +5 -5
  70. package/dist/commands/doctor.js +63 -57
  71. package/dist/commands/documentation.js +42 -32
  72. package/dist/commands/feedback.js +59 -42
  73. package/dist/commands/format.js +9 -9
  74. package/dist/commands/generation.d.ts +2 -2
  75. package/dist/commands/generation.js +344 -326
  76. package/dist/commands/init.d.ts +4 -4
  77. package/dist/commands/init.js +64 -61
  78. package/dist/commands/login.d.ts +2 -2
  79. package/dist/commands/login.js +42 -62
  80. package/dist/commands/logout.js +4 -4
  81. package/dist/commands/marketing.d.ts +8 -8
  82. package/dist/commands/marketing.js +246 -297
  83. package/dist/commands/notes.js +19 -19
  84. package/dist/commands/notifications.js +34 -22
  85. package/dist/commands/npmProcess.js +3 -3
  86. package/dist/commands/ownedRuntimeImageValidation.d.ts +1 -1
  87. package/dist/commands/ownedRuntimeImageValidation.js +19 -17
  88. package/dist/commands/play.js +12 -21
  89. package/dist/commands/publicPages.js +8 -4
  90. package/dist/commands/review.js +123 -110
  91. package/dist/commands/search.js +107 -88
  92. package/dist/commands/tags.js +10 -12
  93. package/dist/commands/taskCaptureSession.d.ts +3 -3
  94. package/dist/commands/taskCaptureSession.js +3 -3
  95. package/dist/commands/tweaks.js +25 -23
  96. package/dist/commands/upgrade.js +40 -31
  97. package/dist/commands/upload-content.d.ts +5 -5
  98. package/dist/commands/upload-content.js +130 -122
  99. package/dist/commands/upload-graph.d.ts +1 -1
  100. package/dist/commands/upload-graph.js +7 -11
  101. package/dist/commands/upload.d.ts +7 -7
  102. package/dist/commands/upload.js +196 -217
  103. package/dist/commands/validate.js +33 -32
  104. package/dist/commands/versionsBrowse.js +61 -51
  105. package/dist/commands/whoami.js +11 -14
  106. package/dist/commands/worker/archive-staging.d.ts +9 -0
  107. package/dist/commands/worker/archive-staging.js +257 -0
  108. package/dist/commands/worker/instrument-evidence.d.ts +1 -1
  109. package/dist/commands/worker/instrument-evidence.js +41 -43
  110. package/dist/commands/worker/provider-telemetry.d.ts +2 -1
  111. package/dist/commands/worker/provider-telemetry.js +181 -64
  112. package/dist/commands/worker/runtime.d.ts +18 -3
  113. package/dist/commands/worker/runtime.js +291 -239
  114. package/dist/commands/worker.d.ts +83 -22
  115. package/dist/commands/worker.js +1980 -1411
  116. package/dist/commands/workspaces.d.ts +2 -2
  117. package/dist/commands/workspaces.js +57 -57
  118. package/dist/config.js +23 -20
  119. package/dist/devAuth.d.ts +3 -3
  120. package/dist/devAuth.js +20 -17
  121. package/dist/environment.d.ts +1 -1
  122. package/dist/environment.js +34 -34
  123. package/dist/errors.d.ts +1 -1
  124. package/dist/errors.js +7 -7
  125. package/dist/externalAssetPackValidation.d.ts +1 -1
  126. package/dist/externalAssetPackValidation.js +9 -9
  127. package/dist/http.d.ts +1 -1
  128. package/dist/http.js +9 -9
  129. package/dist/index.js +657 -664
  130. package/dist/listingCaptureLease.js +23 -23
  131. package/dist/listingPreflight.d.ts +2 -2
  132. package/dist/listingPreflight.js +33 -33
  133. package/dist/messages.js +6 -14
  134. package/dist/output.js +9 -9
  135. package/dist/playwright.d.ts +1 -1
  136. package/dist/playwright.js +35 -40
  137. package/dist/proxyFetch.js +30 -27
  138. package/dist/recorderRelease.js +8 -8
  139. package/dist/refs.d.ts +5 -5
  140. package/dist/refs.js +40 -37
  141. package/dist/sessionCookie.js +15 -21
  142. package/dist/shellProbe.js +5 -5
  143. package/dist/taskSelection.d.ts +3 -3
  144. package/dist/taskSelection.js +67 -62
  145. package/dist/taskUtils.d.ts +1 -1
  146. package/dist/taskUtils.js +4 -4
  147. package/dist/tweakStaleness.d.ts +3 -3
  148. package/dist/tweakStaleness.js +8 -8
  149. package/dist/uploadLog.d.ts +3 -3
  150. package/dist/uploadLog.js +51 -51
  151. package/dist/versionCompare.js +3 -3
  152. package/dist/workerAppProject.d.ts +1 -1
  153. package/dist/workerAppProject.js +10 -17
  154. package/dist/workspaceAuth.d.ts +1 -1
  155. package/dist/workspaceAuth.js +28 -22
  156. package/node_modules/@playdrop/ai-client/dist/index.d.ts +35 -35
  157. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
  158. package/node_modules/@playdrop/api-client/dist/client.d.ts +34 -33
  159. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  160. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts +1 -1
  161. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts.map +1 -1
  162. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +2 -2
  163. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
  164. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +2 -2
  165. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
  166. package/node_modules/@playdrop/api-client/dist/domains/admin.js +4 -1
  167. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +4 -3
  168. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  169. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +12 -0
  170. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +2 -2
  171. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
  172. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +4 -4
  173. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  174. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +4 -4
  175. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -1
  176. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -4
  177. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  178. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts +2 -2
  179. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts.map +1 -1
  180. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +2 -2
  181. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  182. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts +3 -3
  183. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts.map +1 -1
  184. package/node_modules/@playdrop/api-client/dist/domains/free-credits.d.ts +2 -2
  185. package/node_modules/@playdrop/api-client/dist/domains/free-credits.d.ts.map +1 -1
  186. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts +2 -2
  187. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts.map +1 -1
  188. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +2 -2
  189. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -1
  190. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -2
  191. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
  192. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +3 -3
  193. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  194. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +2 -2
  195. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts +2 -2
  196. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -1
  197. package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts +2 -2
  198. package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts.map +1 -1
  199. package/node_modules/@playdrop/api-client/dist/index.d.ts +19 -18
  200. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  201. package/node_modules/@playdrop/api-client/dist/index.js +7 -2
  202. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +1 -1
  203. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +47 -47
  204. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +1 -1
  205. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +3 -3
  206. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +32 -47
  207. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +1 -1
  208. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +16 -18
  209. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +1 -1
  210. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +2 -2
  211. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +4 -4
  212. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +1 -1
  213. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +3 -3
  214. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +2 -2
  215. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +44 -45
  216. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +1 -1
  217. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +1 -1
  218. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +2 -2
  219. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +40 -44
  220. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +1 -1
  221. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +2 -2
  222. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +30 -34
  223. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +1 -1
  224. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +4 -4
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +1 -1
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +3 -3
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +23 -20
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +1 -1
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +3 -3
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +3 -3
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +1 -1
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +21 -21
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +1 -1
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +1 -1
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +2 -2
  236. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +19 -19
  237. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +1 -1
  238. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +12 -16
  239. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +1 -1
  240. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +1 -1
  241. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +38 -41
  242. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +1 -1
  243. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +1 -1
  244. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +54 -56
  245. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +1 -1
  246. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +3 -3
  247. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +39 -45
  248. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +1 -1
  249. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +2 -2
  250. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +39 -43
  251. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +1 -1
  252. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +3 -3
  253. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +35 -35
  254. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +1 -1
  255. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +1 -1
  256. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +18 -18
  257. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +1 -1
  258. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +3 -3
  259. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +50 -48
  260. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +1 -1
  261. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +1 -1
  262. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +22 -26
  263. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +1 -1
  264. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +2 -2
  265. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +8 -8
  266. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +1 -1
  267. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +2 -2
  268. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +23 -28
  269. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +1 -1
  270. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +8 -8
  271. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +1 -1
  272. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +93 -95
  273. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +1 -1
  274. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +1 -1
  275. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +2 -2
  276. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +1 -1
  277. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +1 -1
  278. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +2 -7
  279. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +1 -1
  280. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +3 -3
  281. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +4 -4
  282. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +3 -3
  283. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +6 -6
  284. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +9 -1
  285. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +3 -3
  286. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +17 -17
  287. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +9 -9
  288. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +3 -3
  289. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +1 -1
  290. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +2 -2
  291. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +1 -1
  292. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +1 -1
  293. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +2 -2
  294. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +1 -1
  295. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +3 -3
  296. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +4 -4
  297. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +2 -2
  298. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +1 -1
  299. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +1 -1
  300. package/node_modules/@playdrop/config/client-meta.json +4 -4
  301. package/node_modules/@playdrop/config/dist/src/client-meta.d.ts +1 -1
  302. package/node_modules/@playdrop/config/dist/src/client-meta.d.ts.map +1 -1
  303. package/node_modules/@playdrop/config/dist/src/client-meta.js +10 -10
  304. package/node_modules/@playdrop/config/dist/src/constants.js +10 -10
  305. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +1 -1
  306. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
  307. package/node_modules/@playdrop/config/dist/src/creator-plans.js +27 -28
  308. package/node_modules/@playdrop/config/dist/src/deployment.d.ts +4 -4
  309. package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
  310. package/node_modules/@playdrop/config/dist/src/deployment.js +42 -41
  311. package/node_modules/@playdrop/config/dist/src/game-arena.js +12 -12
  312. package/node_modules/@playdrop/config/dist/src/index.d.ts +9 -9
  313. package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -1
  314. package/node_modules/@playdrop/config/dist/src/index.js +24 -25
  315. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +4 -4
  316. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
  317. package/node_modules/@playdrop/config/dist/src/public-deployment.js +41 -39
  318. package/node_modules/@playdrop/config/dist/src/runtime-client-meta.js +1 -3
  319. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts.map +1 -1
  320. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +23 -25
  321. package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts +5 -5
  322. package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts.map +1 -1
  323. package/node_modules/@playdrop/config/dist/src/server/fastify.js +44 -46
  324. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts +1 -1
  325. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
  326. package/node_modules/@playdrop/config/dist/src/server/logging.js +6 -8
  327. package/node_modules/@playdrop/config/dist/src/types.d.ts +2 -2
  328. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +12 -12
  329. package/node_modules/@playdrop/config/dist/test/deployment.test.js +59 -59
  330. package/node_modules/@playdrop/config/dist/test/fastify.test.js +4 -4
  331. package/node_modules/@playdrop/config/dist/test/game-arena.test.js +8 -8
  332. package/node_modules/@playdrop/config/dist/test/logging.test.js +6 -6
  333. package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.js +57 -57
  334. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  335. package/node_modules/@playdrop/types/dist/agent-task-playtest.d.ts.map +1 -1
  336. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
  337. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
  338. package/node_modules/@playdrop/types/dist/api.d.ts +314 -250
  339. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  340. package/node_modules/@playdrop/types/dist/api.js +40 -59
  341. package/node_modules/@playdrop/types/dist/app-capability-filters.d.ts +2 -2
  342. package/node_modules/@playdrop/types/dist/app-playtest-tape.d.ts +6 -6
  343. package/node_modules/@playdrop/types/dist/app-playtest-tape.d.ts.map +1 -1
  344. package/node_modules/@playdrop/types/dist/app-review.d.ts +2 -2
  345. package/node_modules/@playdrop/types/dist/app-review.d.ts.map +1 -1
  346. package/node_modules/@playdrop/types/dist/app-review.js +1 -6
  347. package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -1
  348. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +5 -5
  349. package/node_modules/@playdrop/types/dist/asset-spec.d.ts +4 -4
  350. package/node_modules/@playdrop/types/dist/asset.d.ts +11 -11
  351. package/node_modules/@playdrop/types/dist/attachment-policy.d.ts.map +1 -1
  352. package/node_modules/@playdrop/types/dist/chat.d.ts +3 -3
  353. package/node_modules/@playdrop/types/dist/creator-public-image.d.ts.map +1 -1
  354. package/node_modules/@playdrop/types/dist/graph.d.ts +4 -4
  355. package/node_modules/@playdrop/types/dist/index.d.ts +25 -25
  356. package/node_modules/@playdrop/types/dist/instrument-evidence.d.ts +2 -2
  357. package/node_modules/@playdrop/types/dist/instrument-evidence.d.ts.map +1 -1
  358. package/node_modules/@playdrop/types/dist/instrument-evidence.js +2 -11
  359. package/node_modules/@playdrop/types/dist/locale.d.ts +2 -2
  360. package/node_modules/@playdrop/types/dist/locale.d.ts.map +1 -1
  361. package/node_modules/@playdrop/types/dist/locale.js +2 -17
  362. package/node_modules/@playdrop/types/dist/owned-assets.d.ts +2 -2
  363. package/node_modules/@playdrop/types/dist/owned-assets.d.ts.map +1 -1
  364. package/node_modules/@playdrop/types/dist/player-meta.d.ts +3 -3
  365. package/node_modules/@playdrop/types/dist/player-meta.d.ts.map +1 -1
  366. package/node_modules/@playdrop/types/dist/playtest-notes.d.ts +11 -11
  367. package/node_modules/@playdrop/types/dist/playtest-notes.d.ts.map +1 -1
  368. package/node_modules/@playdrop/types/dist/playtrade.d.ts +8 -5
  369. package/node_modules/@playdrop/types/dist/playtrade.d.ts.map +1 -1
  370. package/node_modules/@playdrop/types/dist/realtime.d.ts +1 -1
  371. package/node_modules/@playdrop/types/dist/tweaks.d.ts +4 -4
  372. package/node_modules/@playdrop/types/dist/tweaks.d.ts.map +1 -1
  373. package/node_modules/@playdrop/types/dist/tweaks.js +12 -2
  374. package/node_modules/@playdrop/types/dist/version.d.ts +14 -14
  375. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  376. package/node_modules/@playdrop/types/dist/version.js +4 -1
  377. package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
  378. package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +2 -2
  379. package/node_modules/@playdrop/vox-three/dist/src/vox.js +20 -18
  380. package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
  381. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +11 -14
  382. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
  383. package/package.json +1 -1
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VALID_VIDEO_CONTENT_TYPES = exports.VALID_IMAGE_CONTENT_TYPES = exports.MAX_VERSION_TOTAL_BYTES = exports.MAX_VERSION_VIDEO_BYTES = exports.MAX_VERSION_SCREENSHOT_BYTES = exports.MAX_VERSION_HERO_BYTES = exports.MAX_VERSION_ICON_BYTES = exports.MAX_VERSION_BUNDLE_BYTES = exports.MAX_APP_SERVER_BYTES = exports.MAX_APP_ECS_BYTES = exports.MAX_APP_SOURCE_BYTES = exports.ENGAGEMENT_HEADER_NAMES = exports.CLIENT_HEADER_NAMES = void 0;
4
4
  exports.CLIENT_HEADER_NAMES = {
5
- client: 'x-playdrop-client',
6
- clientVersion: 'x-playdrop-client-version',
7
- clientBuild: 'x-playdrop-client-build',
8
- platform: 'x-playdrop-platform',
9
- platformVersion: 'x-playdrop-platform-version',
5
+ client: "x-playdrop-client",
6
+ clientVersion: "x-playdrop-client-version",
7
+ clientBuild: "x-playdrop-client-build",
8
+ platform: "x-playdrop-platform",
9
+ platformVersion: "x-playdrop-platform-version",
10
10
  };
11
11
  exports.ENGAGEMENT_HEADER_NAMES = {
12
- anonymousId: 'x-playdrop-anon-id',
13
- sessionId: 'x-playdrop-session-id',
14
- acquisitionFeedContext: 'x-playdrop-acquisition-feed-context',
12
+ anonymousId: "x-playdrop-anon-id",
13
+ sessionId: "x-playdrop-session-id",
14
+ acquisitionFeedContext: "x-playdrop-acquisition-feed-context",
15
15
  };
16
16
  exports.MAX_APP_SOURCE_BYTES = 50 * 1024 * 1024;
17
17
  exports.MAX_APP_ECS_BYTES = 512 * 1024;
@@ -22,5 +22,5 @@ exports.MAX_VERSION_HERO_BYTES = 2 * 1024 * 1024;
22
22
  exports.MAX_VERSION_SCREENSHOT_BYTES = 2 * 1024 * 1024;
23
23
  exports.MAX_VERSION_VIDEO_BYTES = 50 * 1024 * 1024;
24
24
  exports.MAX_VERSION_TOTAL_BYTES = 200 * 1024 * 1024;
25
- exports.VALID_IMAGE_CONTENT_TYPES = ['image/png'];
26
- exports.VALID_VIDEO_CONTENT_TYPES = ['video/mp4'];
25
+ exports.VALID_IMAGE_CONTENT_TYPES = ["image/png"];
26
+ exports.VALID_VIDEO_CONTENT_TYPES = ["video/mp4"];
@@ -1,5 +1,5 @@
1
1
  export declare const CREATOR_PLAN_TIER_VALUES: readonly ["BASIC", "PLUS", "PRO"];
2
- export type CreatorPlanTier = typeof CREATOR_PLAN_TIER_VALUES[number];
2
+ export type CreatorPlanTier = (typeof CREATOR_PLAN_TIER_VALUES)[number];
3
3
  export type CreatorPlanDefinition = {
4
4
  tier: CreatorPlanTier;
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"creator-plans.d.ts","sourceRoot":"","sources":["../../src/creator-plans.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,mCAAoC,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAIF,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAW7F;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CA4B/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAI7D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,qBAAqB,CAErF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,eAAe,CAE7F;AAsED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,IAAiB,GAAG,IAAI,CAsBtE"}
1
+ {"version":3,"file":"creator-plans.d.ts","sourceRoot":"","sources":["../../src/creator-plans.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,mCAAoC,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAIF,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAW7F;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CA4B/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAI7D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,qBAAqB,CAErF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,eAAe,CAE7F;AA+DD,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,IAAiB,GAAG,IAAI,CAsBtE"}
@@ -6,7 +6,7 @@ exports.isCreatorPlanTier = isCreatorPlanTier;
6
6
  exports.getCreatorPlanDefinition = getCreatorPlanDefinition;
7
7
  exports.higherCreatorPlanTier = higherCreatorPlanTier;
8
8
  exports.getNextCreatorPlanResetAt = getNextCreatorPlanResetAt;
9
- exports.CREATOR_PLAN_TIER_VALUES = ['BASIC', 'PLUS', 'PRO'];
9
+ exports.CREATOR_PLAN_TIER_VALUES = ["BASIC", "PLUS", "PRO"];
10
10
  const GIB = 1024n * 1024n * 1024n;
11
11
  exports.CREATOR_REFERRAL_REWARD = {
12
12
  credits: 100,
@@ -16,7 +16,7 @@ exports.CREATOR_REFERRAL_REWARD = {
16
16
  };
17
17
  function resolveCreatorReferralBonus(successfulReferrals) {
18
18
  if (!Number.isInteger(successfulReferrals) || successfulReferrals < 0) {
19
- throw new Error('invalid_successful_referral_count');
19
+ throw new Error("invalid_successful_referral_count");
20
20
  }
21
21
  const rewardedReferrals = Math.min(successfulReferrals, exports.CREATOR_REFERRAL_REWARD.maxReferrals);
22
22
  return {
@@ -28,8 +28,8 @@ function resolveCreatorReferralBonus(successfulReferrals) {
28
28
  }
29
29
  exports.CREATOR_PLAN_CATALOG = {
30
30
  BASIC: {
31
- tier: 'BASIC',
32
- name: 'Basic',
31
+ tier: "BASIC",
32
+ name: "Basic",
33
33
  monthlyPriceCents: 0,
34
34
  weeklyGenerations: 5,
35
35
  maxConcurrentTasks: 1,
@@ -37,8 +37,8 @@ exports.CREATOR_PLAN_CATALOG = {
37
37
  maxStoredContentBytes: GIB,
38
38
  },
39
39
  PLUS: {
40
- tier: 'PLUS',
41
- name: 'Plus',
40
+ tier: "PLUS",
41
+ name: "Plus",
42
42
  monthlyPriceCents: 2000,
43
43
  weeklyGenerations: 50,
44
44
  maxConcurrentTasks: 5,
@@ -46,8 +46,8 @@ exports.CREATOR_PLAN_CATALOG = {
46
46
  maxStoredContentBytes: 10n * GIB,
47
47
  },
48
48
  PRO: {
49
- tier: 'PRO',
50
- name: 'Pro',
49
+ tier: "PRO",
50
+ name: "Pro",
51
51
  monthlyPriceCents: 10000,
52
52
  weeklyGenerations: 500,
53
53
  maxConcurrentTasks: 10,
@@ -61,7 +61,7 @@ exports.CREATOR_PLAN_RANK = {
61
61
  PRO: 2,
62
62
  };
63
63
  function isCreatorPlanTier(value) {
64
- return typeof value === 'string' && exports.CREATOR_PLAN_TIER_VALUES.includes(value);
64
+ return typeof value === "string" && exports.CREATOR_PLAN_TIER_VALUES.includes(value);
65
65
  }
66
66
  function getCreatorPlanDefinition(tier) {
67
67
  return exports.CREATOR_PLAN_CATALOG[tier];
@@ -69,32 +69,32 @@ function getCreatorPlanDefinition(tier) {
69
69
  function higherCreatorPlanTier(a, b) {
70
70
  return exports.CREATOR_PLAN_RANK[a] >= exports.CREATOR_PLAN_RANK[b] ? a : b;
71
71
  }
72
- const CREATOR_PLAN_RESET_TIME_ZONE = 'America/New_York';
72
+ const CREATOR_PLAN_RESET_TIME_ZONE = "America/New_York";
73
73
  function zonedDateParts(date) {
74
- const parts = new Intl.DateTimeFormat('en-US', {
74
+ const parts = new Intl.DateTimeFormat("en-US", {
75
75
  timeZone: CREATOR_PLAN_RESET_TIME_ZONE,
76
- year: 'numeric',
77
- month: '2-digit',
78
- day: '2-digit',
79
- hour: '2-digit',
80
- minute: '2-digit',
81
- second: '2-digit',
82
- hourCycle: 'h23',
76
+ year: "numeric",
77
+ month: "2-digit",
78
+ day: "2-digit",
79
+ hour: "2-digit",
80
+ minute: "2-digit",
81
+ second: "2-digit",
82
+ hourCycle: "h23",
83
83
  }).formatToParts(date);
84
84
  const read = (type) => {
85
85
  const value = Number(parts.find((part) => part.type === type)?.value);
86
86
  if (!Number.isInteger(value)) {
87
- throw new Error('creator_plan_reset_time_conversion_failed');
87
+ throw new Error("creator_plan_reset_time_conversion_failed");
88
88
  }
89
89
  return value;
90
90
  };
91
91
  return {
92
- year: read('year'),
93
- month: read('month'),
94
- day: read('day'),
95
- hour: read('hour'),
96
- minute: read('minute'),
97
- second: read('second'),
92
+ year: read("year"),
93
+ month: read("month"),
94
+ day: read("day"),
95
+ hour: read("hour"),
96
+ minute: read("minute"),
97
+ second: read("second"),
98
98
  };
99
99
  }
100
100
  function localDateTimeToUtc(parts) {
@@ -113,14 +113,13 @@ function localDateTimeToUtc(parts) {
113
113
  }
114
114
  function getNextCreatorPlanResetAt(now = new Date()) {
115
115
  if (Number.isNaN(now.getTime())) {
116
- throw new Error('invalid_creator_plan_reset_reference_time');
116
+ throw new Error("invalid_creator_plan_reset_reference_time");
117
117
  }
118
118
  const local = zonedDateParts(now);
119
119
  const localDate = new Date(Date.UTC(local.year, local.month - 1, local.day));
120
120
  const friday = 5;
121
121
  let daysUntilFriday = (friday - localDate.getUTCDay() + 7) % 7;
122
- const isPastFridayReset = daysUntilFriday === 0
123
- && (local.hour > 17 || (local.hour === 17 && (local.minute > 0 || local.second > 0)));
122
+ const isPastFridayReset = daysUntilFriday === 0 && (local.hour > 17 || (local.hour === 17 && (local.minute > 0 || local.second > 0)));
124
123
  if (isPastFridayReset || (daysUntilFriday === 0 && local.hour === 17 && local.minute === 0 && local.second === 0)) {
125
124
  daysUntilFriday = 7;
126
125
  }
@@ -1,9 +1,9 @@
1
- export type PlaydropDeployRole = 'prod' | 'preview';
2
- export type PlaydropDeploySlot = 'blue' | 'green';
1
+ export type PlaydropDeployRole = "prod" | "preview";
2
+ export type PlaydropDeploySlot = "blue" | "green";
3
3
  export type PlaydropPublicSurface = PlaydropDeployRole | PlaydropDeploySlot;
4
4
  export interface StructuredLogFields {
5
5
  environment: string;
6
- slot: PlaydropDeploySlot | 'none';
6
+ slot: PlaydropDeploySlot | "none";
7
7
  service: string;
8
8
  release_version: string;
9
9
  build_number: number;
@@ -19,7 +19,7 @@ export declare function resolveDeploySlot(env?: NodeJS.ProcessEnv): PlaydropDepl
19
19
  export declare function resolvePublicSurface(env?: NodeJS.ProcessEnv): PlaydropPublicSurface;
20
20
  export declare function resolveEnvironmentName(env?: NodeJS.ProcessEnv): string;
21
21
  export declare function isBackgroundWorkEnabled(env?: NodeJS.ProcessEnv): boolean;
22
- export declare function resolveSeoIndexingMode(env?: NodeJS.ProcessEnv): 'public' | 'private' | 'noindex';
22
+ export declare function resolveSeoIndexingMode(env?: NodeJS.ProcessEnv): "public" | "private" | "noindex";
23
23
  export declare function resolveWebOrigin(env?: NodeJS.ProcessEnv): string;
24
24
  export declare function resolveApiOrigin(env?: NodeJS.ProcessEnv): string;
25
25
  export declare function resolveRealtimeOrigin(env?: NodeJS.ProcessEnv): string;
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../src/deployment.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAM5E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,cAAc,EAAE,qBAAqB,CAAC;CACvC;AA8DD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,GAAG,IAAI,CAOxF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,GAAG,IAAI,CAEjG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,CAUhG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOnF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAUrF;AAED,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAYlC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAU7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM7E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAMlF;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CAYrH"}
1
+ {"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../src/deployment.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAM5E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAiED,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,GAAG,IAAI,CAOxF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAE1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,GAAG,IAAI,CAEjG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,CAUhG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOnF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAUrF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAY7G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAU7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM7E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOlF;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CAYrH"}
@@ -20,24 +20,26 @@ exports.resolveAiOrigin = resolveAiOrigin;
20
20
  exports.resolveStructuredLogFields = resolveStructuredLogFields;
21
21
  const fs_1 = __importDefault(require("fs"));
22
22
  const client_meta_1 = require("./client-meta");
23
- const DEPLOY_ROLE_VALUES = new Set(['prod', 'preview']);
24
- const DEPLOY_SLOT_VALUES = new Set(['blue', 'green']);
25
- const PUBLIC_SURFACE_VALUES = new Set(['prod', 'preview', 'blue', 'green']);
23
+ const DEPLOY_ROLE_VALUES = new Set(["prod", "preview"]);
24
+ const DEPLOY_SLOT_VALUES = new Set(["blue", "green"]);
25
+ const PUBLIC_SURFACE_VALUES = new Set(["prod", "preview", "blue", "green"]);
26
26
  function normalizeValue(value) {
27
- if (typeof value !== 'string') {
27
+ if (typeof value !== "string") {
28
28
  return null;
29
29
  }
30
30
  const normalized = value.trim().toLowerCase();
31
31
  return normalized.length > 0 ? normalized : null;
32
32
  }
33
33
  function normalizeOrigin(value) {
34
- return value.trim().replace(/\/+$/, '');
34
+ return value.trim().replace(/\/+$/, "");
35
35
  }
36
36
  function buildDefaultOrigin(params) {
37
37
  const { servicePrefix, surface, websocket = false } = params;
38
- const protocol = websocket ? 'wss' : 'https';
39
- const host = surface === 'prod'
40
- ? servicePrefix ? `${servicePrefix}.playdrop.ai` : 'www.playdrop.ai'
38
+ const protocol = websocket ? "wss" : "https";
39
+ const host = surface === "prod"
40
+ ? servicePrefix
41
+ ? `${servicePrefix}.playdrop.ai`
42
+ : "www.playdrop.ai"
41
43
  : servicePrefix
42
44
  ? `${servicePrefix}.${surface}.playdrop.ai`
43
45
  : `${surface}.playdrop.ai`;
@@ -48,16 +50,16 @@ function parseBoolean(value) {
48
50
  if (!normalized) {
49
51
  return null;
50
52
  }
51
- if (normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on') {
53
+ if (normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on") {
52
54
  return true;
53
55
  }
54
- if (normalized === '0' || normalized === 'false' || normalized === 'no' || normalized === 'off') {
56
+ if (normalized === "0" || normalized === "false" || normalized === "no" || normalized === "off") {
55
57
  return false;
56
58
  }
57
59
  return null;
58
60
  }
59
61
  function resolveSlotStatePath(env = process.env) {
60
- const raw = typeof env['PLAYDROP_SLOT_STATE_PATH'] === 'string' ? env['PLAYDROP_SLOT_STATE_PATH'].trim() : '';
62
+ const raw = typeof env["PLAYDROP_SLOT_STATE_PATH"] === "string" ? env["PLAYDROP_SLOT_STATE_PATH"].trim() : "";
61
63
  return raw.length > 0 ? raw : null;
62
64
  }
63
65
  function readActiveSlotFromStateFile(env = process.env) {
@@ -66,7 +68,7 @@ function readActiveSlotFromStateFile(env = process.env) {
66
68
  return null;
67
69
  }
68
70
  try {
69
- const raw = fs_1.default.readFileSync(slotStatePath, 'utf8');
71
+ const raw = fs_1.default.readFileSync(slotStatePath, "utf8");
70
72
  const parsed = JSON.parse(raw);
71
73
  return parseDeploySlot(parsed?.activeSlot);
72
74
  }
@@ -104,33 +106,32 @@ function parsePublicSurface(value) {
104
106
  return normalized;
105
107
  }
106
108
  function resolveDeployRole(env = process.env) {
107
- return parseDeployRole(env['PLAYDROP_DEPLOY_ROLE'])
108
- ?? (env['NODE_ENV'] === 'production' ? 'prod' : 'preview');
109
+ return parseDeployRole(env["PLAYDROP_DEPLOY_ROLE"]) ?? (env["NODE_ENV"] === "production" ? "prod" : "preview");
109
110
  }
110
111
  function resolveDeploySlot(env = process.env) {
111
- return parseDeploySlot(env['PLAYDROP_SLOT']);
112
+ return parseDeploySlot(env["PLAYDROP_SLOT"]);
112
113
  }
113
114
  function resolvePublicSurface(env = process.env) {
114
- const explicit = parsePublicSurface(env['PLAYDROP_PUBLIC_SURFACE']);
115
+ const explicit = parsePublicSurface(env["PLAYDROP_PUBLIC_SURFACE"]);
115
116
  if (explicit) {
116
117
  return explicit;
117
118
  }
118
119
  const role = resolveDeployRole(env);
119
- if (role === 'preview') {
120
- return 'preview';
120
+ if (role === "preview") {
121
+ return "preview";
121
122
  }
122
- return 'prod';
123
+ return "prod";
123
124
  }
124
125
  function resolveEnvironmentName(env = process.env) {
125
- const explicit = typeof env['PLAYDROP_ENVIRONMENT'] === 'string' ? env['PLAYDROP_ENVIRONMENT'].trim() : '';
126
+ const explicit = typeof env["PLAYDROP_ENVIRONMENT"] === "string" ? env["PLAYDROP_ENVIRONMENT"].trim() : "";
126
127
  if (explicit.length > 0) {
127
128
  return explicit;
128
129
  }
129
- const nodeEnv = typeof env['NODE_ENV'] === 'string' ? env['NODE_ENV'].trim() : '';
130
- return nodeEnv.length > 0 ? nodeEnv : 'development';
130
+ const nodeEnv = typeof env["NODE_ENV"] === "string" ? env["NODE_ENV"].trim() : "";
131
+ return nodeEnv.length > 0 ? nodeEnv : "development";
131
132
  }
132
133
  function isBackgroundWorkEnabled(env = process.env) {
133
- const explicit = parseBoolean(env['PLAYDROP_BACKGROUND_WORKERS_ENABLED']);
134
+ const explicit = parseBoolean(env["PLAYDROP_BACKGROUND_WORKERS_ENABLED"]);
134
135
  if (explicit !== null) {
135
136
  return explicit;
136
137
  }
@@ -138,59 +139,59 @@ function isBackgroundWorkEnabled(env = process.env) {
138
139
  if (currentSlotActive !== null) {
139
140
  return currentSlotActive;
140
141
  }
141
- return resolveDeployRole(env) === 'prod';
142
+ return resolveDeployRole(env) === "prod";
142
143
  }
143
144
  function resolveSeoIndexingMode(env = process.env) {
144
- const explicit = normalizeValue(env['PLAYDROP_SEO_INDEXING']);
145
- if (explicit === 'public') {
146
- return 'public';
145
+ const explicit = normalizeValue(env["PLAYDROP_SEO_INDEXING"]);
146
+ if (explicit === "public") {
147
+ return "public";
147
148
  }
148
- if (explicit === 'private') {
149
- return 'private';
149
+ if (explicit === "private") {
150
+ return "private";
150
151
  }
151
- if (explicit === 'noindex') {
152
- return 'noindex';
152
+ if (explicit === "noindex") {
153
+ return "noindex";
153
154
  }
154
- return resolveDeployRole(env) === 'prod' ? 'public' : 'noindex';
155
+ return resolveDeployRole(env) === "prod" ? "public" : "noindex";
155
156
  }
156
157
  function resolveWebOrigin(env = process.env) {
157
- const explicit = typeof env['PLAYDROP_PUBLIC_ORIGIN'] === 'string' ? env['PLAYDROP_PUBLIC_ORIGIN'].trim() : '';
158
+ const explicit = typeof env["PLAYDROP_PUBLIC_ORIGIN"] === "string" ? env["PLAYDROP_PUBLIC_ORIGIN"].trim() : "";
158
159
  if (explicit.length > 0) {
159
160
  return normalizeOrigin(explicit);
160
161
  }
161
- const legacy = typeof env['PLAYDROP_WEB_BASE_URL'] === 'string' ? env['PLAYDROP_WEB_BASE_URL'].trim() : '';
162
+ const legacy = typeof env["PLAYDROP_WEB_BASE_URL"] === "string" ? env["PLAYDROP_WEB_BASE_URL"].trim() : "";
162
163
  if (legacy.length > 0) {
163
164
  return normalizeOrigin(legacy);
164
165
  }
165
166
  return buildDefaultOrigin({ surface: resolvePublicSurface(env) });
166
167
  }
167
168
  function resolveApiOrigin(env = process.env) {
168
- const explicit = typeof env['PLAYDROP_API_BASE_URL'] === 'string' ? env['PLAYDROP_API_BASE_URL'].trim() : '';
169
+ const explicit = typeof env["PLAYDROP_API_BASE_URL"] === "string" ? env["PLAYDROP_API_BASE_URL"].trim() : "";
169
170
  if (explicit.length > 0) {
170
171
  return normalizeOrigin(explicit);
171
172
  }
172
- return buildDefaultOrigin({ servicePrefix: 'api', surface: resolvePublicSurface(env) });
173
+ return buildDefaultOrigin({ servicePrefix: "api", surface: resolvePublicSurface(env) });
173
174
  }
174
175
  function resolveRealtimeOrigin(env = process.env) {
175
- const explicit = typeof env['PLAYDROP_REALTIME_BASE_URL'] === 'string' ? env['PLAYDROP_REALTIME_BASE_URL'].trim() : '';
176
+ const explicit = typeof env["PLAYDROP_REALTIME_BASE_URL"] === "string" ? env["PLAYDROP_REALTIME_BASE_URL"].trim() : "";
176
177
  if (explicit.length > 0) {
177
178
  return normalizeOrigin(explicit);
178
179
  }
179
- return buildDefaultOrigin({ servicePrefix: 'play', surface: resolvePublicSurface(env), websocket: true });
180
+ return buildDefaultOrigin({ servicePrefix: "play", surface: resolvePublicSurface(env), websocket: true });
180
181
  }
181
182
  function resolveAiOrigin(env = process.env) {
182
- const explicit = typeof env['PLAYDROP_AI_BASE_URL'] === 'string' ? env['PLAYDROP_AI_BASE_URL'].trim() : '';
183
+ const explicit = typeof env["PLAYDROP_AI_BASE_URL"] === "string" ? env["PLAYDROP_AI_BASE_URL"].trim() : "";
183
184
  if (explicit.length > 0) {
184
185
  return normalizeOrigin(explicit);
185
186
  }
186
- return buildDefaultOrigin({ servicePrefix: 'ai', surface: resolvePublicSurface(env) });
187
+ return buildDefaultOrigin({ servicePrefix: "ai", surface: resolvePublicSurface(env) });
187
188
  }
188
189
  function resolveStructuredLogFields(service, env = process.env) {
189
190
  const slot = resolveDeploySlot(env);
190
191
  const release = (0, client_meta_1.loadClientReleaseMeta)();
191
192
  return {
192
193
  environment: resolveEnvironmentName(env),
193
- slot: slot ?? 'none',
194
+ slot: slot ?? "none",
194
195
  service,
195
196
  release_version: release.version,
196
197
  build_number: release.build,
@@ -4,27 +4,27 @@ exports.GAME_ARENA_ROUND_ONE = void 0;
4
4
  exports.resolveGameArenaRevealAt = resolveGameArenaRevealAt;
5
5
  exports.areGameArenaStandingsRevealed = areGameArenaStandingsRevealed;
6
6
  exports.GAME_ARENA_ROUND_ONE = Object.freeze({
7
- id: 'round-1',
8
- label: 'Round 1',
9
- modelsLabel: 'Opus 5 vs Sol 5.6',
10
- description: 'Opus 5 vs Sol 5.6 · casual games',
11
- revealAt: '2026-08-16T17:00:00-04:00',
12
- revealLabel: 'Sunday · 5:00 PM ET',
13
- comparisonMode: 'BARE_SOL_OPUS',
14
- opusModel: 'opus-max',
15
- solModel: 'gpt-5.6-sol-xhigh',
7
+ id: "round-1",
8
+ label: "Round 1",
9
+ modelsLabel: "Opus 5 vs Sol 5.6",
10
+ description: "Opus 5 vs Sol 5.6 · casual games",
11
+ revealAt: "2026-08-16T17:00:00-04:00",
12
+ revealLabel: "Sunday · 5:00 PM ET",
13
+ comparisonMode: "BARE_SOL_OPUS",
14
+ opusModel: "opus-max",
15
+ solModel: "gpt-5.6-sol-xhigh",
16
16
  });
17
17
  function resolveGameArenaRevealAt(envValue) {
18
18
  const value = envValue?.trim() || exports.GAME_ARENA_ROUND_ONE.revealAt;
19
19
  if (Number.isNaN(Date.parse(value)))
20
- throw new Error('invalid_game_arena_reveal_at');
20
+ throw new Error("invalid_game_arena_reveal_at");
21
21
  return value;
22
22
  }
23
23
  function areGameArenaStandingsRevealed(revealAt, now = Date.now()) {
24
24
  const target = Date.parse(revealAt);
25
25
  if (Number.isNaN(target))
26
- throw new Error('invalid_game_arena_reveal_at');
26
+ throw new Error("invalid_game_arena_reveal_at");
27
27
  if (!Number.isFinite(now))
28
- throw new Error('invalid_game_arena_now');
28
+ throw new Error("invalid_game_arena_now");
29
29
  return now >= target;
30
30
  }
@@ -1,16 +1,16 @@
1
- import { CLIENT_HEADER_NAMES } from './constants';
2
- import type { ClientMetaConfig, ClientRuntimeInfo, ClientValidationResult } from './types';
1
+ import { CLIENT_HEADER_NAMES } from "./constants";
2
+ import type { ClientMetaConfig, ClientRuntimeInfo, ClientValidationResult } from "./types";
3
3
  export declare function loadClientMeta(): ClientMetaConfig;
4
4
  export declare function getClientVersion(): string;
5
5
  export declare function getClientBuild(): number;
6
6
  export declare function getClientVersionLabel(): string;
7
- export * from './constants';
8
- export * from './creator-plans';
9
- export * from './deployment';
10
- export * from './game-arena';
11
- export * from './server/fastify';
12
- export * from './server/logging';
13
- export * from './types';
7
+ export * from "./constants";
8
+ export * from "./creator-plans";
9
+ export * from "./deployment";
10
+ export * from "./game-arena";
11
+ export * from "./server/fastify";
12
+ export * from "./server/logging";
13
+ export * from "./types";
14
14
  export { CLIENT_HEADER_NAMES };
15
15
  export declare function createClientHeaderRecord(info: ClientRuntimeInfo): Record<string, string>;
16
16
  export declare function validateClientEnvironment(info: ClientRuntimeInfo): ClientValidationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxF;AAwBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB,CAqEzF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAA+B,MAAM,SAAS,CAAC;AAExH,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxF;AAwBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB,CAoEzF"}
@@ -50,7 +50,7 @@ function createClientHeaderRecord(info) {
50
50
  headers[constants_1.CLIENT_HEADER_NAMES.client] = info.client;
51
51
  if (info.clientVersion)
52
52
  headers[constants_1.CLIENT_HEADER_NAMES.clientVersion] = String(info.clientVersion);
53
- if (info.clientBuild !== undefined && info.clientBuild !== null && `${info.clientBuild}`.trim() !== '') {
53
+ if (info.clientBuild !== undefined && info.clientBuild !== null && `${info.clientBuild}`.trim() !== "") {
54
54
  headers[constants_1.CLIENT_HEADER_NAMES.clientBuild] = String(info.clientBuild);
55
55
  }
56
56
  if (info.platform)
@@ -77,14 +77,14 @@ function collectMissingHeaders(info) {
77
77
  .map((entry) => entry.header);
78
78
  }
79
79
  function resolveClientRule(meta, clientKey) {
80
- return meta.clients[clientKey] ?? meta.clients['all'];
80
+ return meta.clients[clientKey] ?? meta.clients["all"];
81
81
  }
82
82
  function validateClientEnvironment(info) {
83
83
  const normalized = normalizeRuntimeInfo(info);
84
84
  if (!normalized) {
85
85
  return {
86
86
  ok: false,
87
- code: 'missing_client_metadata',
87
+ code: "missing_client_metadata",
88
88
  provided: null,
89
89
  missingHeaders: collectMissingHeaders(info),
90
90
  };
@@ -95,31 +95,30 @@ function validateClientEnvironment(info) {
95
95
  if (!clientRule) {
96
96
  return {
97
97
  ok: false,
98
- code: 'unsupported_client',
99
- provided: normalized
98
+ code: "unsupported_client",
99
+ provided: normalized,
100
100
  };
101
101
  }
102
- const minimumVersion = clientRule.minimumVersion && clientRule.minimumVersion !== 'any'
103
- ? clientRule.minimumVersion
104
- : undefined;
102
+ const minimumVersion = clientRule.minimumVersion && clientRule.minimumVersion !== "any" ? clientRule.minimumVersion : undefined;
105
103
  if (minimumVersion) {
106
104
  const compare = compareVersions(normalized.clientVersion, minimumVersion);
107
105
  if (compare < 0) {
108
106
  return {
109
107
  ok: false,
110
- code: 'unsupported_client_version',
108
+ code: "unsupported_client_version",
111
109
  ...(minimumVersion ? { requiredVersion: minimumVersion } : {}),
112
- ...(typeof clientRule.minimumBuild === 'number' ? { requiredBuild: clientRule.minimumBuild } : {}),
110
+ ...(typeof clientRule.minimumBuild === "number" ? { requiredBuild: clientRule.minimumBuild } : {}),
113
111
  provided: normalized,
114
112
  };
115
113
  }
116
114
  }
117
- const shouldCheckBuild = typeof clientRule.minimumBuild === 'number' && (!minimumVersion || compareVersions(normalized.clientVersion, minimumVersion) === 0);
118
- if (shouldCheckBuild && typeof clientRule.minimumBuild === 'number') {
115
+ const shouldCheckBuild = typeof clientRule.minimumBuild === "number" &&
116
+ (!minimumVersion || compareVersions(normalized.clientVersion, minimumVersion) === 0);
117
+ if (shouldCheckBuild && typeof clientRule.minimumBuild === "number") {
119
118
  if (normalized.clientBuild < clientRule.minimumBuild) {
120
119
  return {
121
120
  ok: false,
122
- code: 'unsupported_client_build',
121
+ code: "unsupported_client_build",
123
122
  ...(minimumVersion ? { requiredVersion: minimumVersion } : {}),
124
123
  requiredBuild: clientRule.minimumBuild,
125
124
  provided: normalized,
@@ -127,14 +126,14 @@ function validateClientEnvironment(info) {
127
126
  }
128
127
  }
129
128
  const platformKey = normalized.platform;
130
- const platformRule = meta.platforms?.[platformKey] ?? meta.platforms?.['unknown'];
131
- if (platformRule && platformRule.minimumVersion && platformRule.minimumVersion !== 'any') {
129
+ const platformRule = meta.platforms?.[platformKey] ?? meta.platforms?.["unknown"];
130
+ if (platformRule && platformRule.minimumVersion && platformRule.minimumVersion !== "any") {
132
131
  if (compareVersions(normalized.platformVersion, platformRule.minimumVersion) < 0) {
133
132
  return {
134
133
  ok: false,
135
- code: 'unsupported_platform_version',
134
+ code: "unsupported_platform_version",
136
135
  requiredPlatformVersion: platformRule.minimumVersion,
137
- provided: normalized
136
+ provided: normalized,
138
137
  };
139
138
  }
140
139
  }
@@ -143,15 +142,15 @@ function validateClientEnvironment(info) {
143
142
  function normalizeRuntimeInfo(info) {
144
143
  if (!info)
145
144
  return null;
146
- const client = (info.client || '').trim().toLowerCase();
147
- const clientVersion = (info.clientVersion || '').trim();
148
- const platform = (info.platform || '').trim().toLowerCase();
149
- const platformVersion = (info.platformVersion || '').trim();
145
+ const client = (info.client || "").trim().toLowerCase();
146
+ const clientVersion = (info.clientVersion || "").trim();
147
+ const platform = (info.platform || "").trim().toLowerCase();
148
+ const platformVersion = (info.platformVersion || "").trim();
150
149
  if (!client || !clientVersion || !platform || !platformVersion) {
151
150
  return null;
152
151
  }
153
152
  const buildValue = info.clientBuild;
154
- if (buildValue === undefined || buildValue === null || `${buildValue}`.trim() === '') {
153
+ if (buildValue === undefined || buildValue === null || `${buildValue}`.trim() === "") {
155
154
  return null;
156
155
  }
157
156
  const parsedBuild = Number(buildValue);
@@ -163,12 +162,12 @@ function normalizeRuntimeInfo(info) {
163
162
  clientVersion,
164
163
  clientBuild: parsedBuild,
165
164
  platform,
166
- platformVersion
165
+ platformVersion,
167
166
  };
168
167
  }
169
168
  function compareVersions(a, b) {
170
- const pa = a.split('.').map((part) => parseInt(part, 10) || 0);
171
- const pb = b.split('.').map((part) => parseInt(part, 10) || 0);
169
+ const pa = a.split(".").map((part) => parseInt(part, 10) || 0);
170
+ const pb = b.split(".").map((part) => parseInt(part, 10) || 0);
172
171
  const length = Math.max(pa.length, pb.length);
173
172
  for (let i = 0; i < length; i++) {
174
173
  const na = pa[i] ?? 0;
@@ -1,9 +1,9 @@
1
- export type PlaydropDeployRole = 'prod' | 'preview';
2
- export type PlaydropDeploySlot = 'blue' | 'green';
1
+ export type PlaydropDeployRole = "prod" | "preview";
2
+ export type PlaydropDeploySlot = "blue" | "green";
3
3
  export type PlaydropPublicSurface = PlaydropDeployRole | PlaydropDeploySlot;
4
4
  export interface StructuredLogFields {
5
5
  environment: string;
6
- slot: PlaydropDeploySlot | 'none';
6
+ slot: PlaydropDeploySlot | "none";
7
7
  service: string;
8
8
  release_version: string;
9
9
  build_number: number;
@@ -17,7 +17,7 @@ export declare function resolveDeployRole(env?: NodeJS.ProcessEnv): PlaydropDepl
17
17
  export declare function resolveDeploySlot(env?: NodeJS.ProcessEnv): PlaydropDeploySlot | null;
18
18
  export declare function resolvePublicSurface(env?: NodeJS.ProcessEnv): PlaydropPublicSurface;
19
19
  export declare function resolveEnvironmentName(env?: NodeJS.ProcessEnv): string;
20
- export declare function resolveSeoIndexingMode(env?: NodeJS.ProcessEnv): 'public' | 'private' | 'noindex';
20
+ export declare function resolveSeoIndexingMode(env?: NodeJS.ProcessEnv): "public" | "private" | "noindex";
21
21
  export declare function resolveWebOrigin(env?: NodeJS.ProcessEnv): string;
22
22
  export declare function resolveApiOrigin(env?: NodeJS.ProcessEnv): string;
23
23
  export declare function resolveRealtimeOrigin(env?: NodeJS.ProcessEnv): string;
@@ -1 +1 @@
1
- {"version":3,"file":"public-deployment.d.ts","sourceRoot":"","sources":["../../src/public-deployment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAsCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,GAAG,IAAI,CAEjG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,CAMhG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOnF;AAED,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAYlC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAU7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM7E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAMlF;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,mBAAmB,CAiBrB"}
1
+ {"version":3,"file":"public-deployment.d.ts","sourceRoot":"","sources":["../../src/public-deployment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAyCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAE1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,GAAG,IAAI,CAEjG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,CAMhG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOnF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAY7G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAU7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM7E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOlF;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CAmBrH"}