@playdrop/playdrop-cli 0.16.16 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/client-meta.json +4 -4
- package/dist/apiClient.d.ts +1 -2
- package/dist/apiClient.js +1 -16
- package/dist/appUrls.js +4 -0
- package/dist/apps/build.d.ts +12 -4
- package/dist/apps/build.js +55 -22
- package/dist/apps/index.d.ts +2 -1
- package/dist/apps/index.js +4 -1
- package/dist/apps/loadCheck.d.ts +5 -1
- package/dist/apps/loadCheck.js +52 -18
- package/dist/apps/serverBuild.d.ts +17 -0
- package/dist/apps/serverBuild.js +155 -0
- package/dist/apps/staticHtml.d.ts +1 -0
- package/dist/apps/staticHtml.js +19 -10
- package/dist/apps/upload.d.ts +12 -2
- package/dist/apps/upload.js +127 -46
- package/dist/catalogue.d.ts +23 -1
- package/dist/catalogue.js +126 -100
- package/dist/commandContext.d.ts +6 -3
- package/dist/commandContext.js +108 -18
- package/dist/commands/build.js +0 -7
- package/dist/commands/captureListing.d.ts +3 -0
- package/dist/commands/captureListing.js +48 -4
- package/dist/commands/chat.d.ts +4 -0
- package/dist/commands/chat.js +133 -8
- package/dist/commands/check.js +34 -1
- package/dist/commands/create.js +30 -263
- package/dist/commands/dev.js +37 -3
- package/dist/commands/devBrowser.js +2 -2
- package/dist/commands/devGameServer.d.ts +16 -0
- package/dist/commands/devGameServer.js +237 -0
- package/dist/commands/devRuntimeAssets.d.ts +1 -0
- package/dist/commands/devRuntimeAssets.js +2 -0
- package/dist/commands/devServer.d.ts +3 -0
- package/dist/commands/devServer.js +111 -5
- package/dist/commands/generation.d.ts +33 -4
- package/dist/commands/generation.js +304 -115
- package/dist/commands/login.js +23 -7
- package/dist/commands/review.d.ts +1 -1
- package/dist/commands/review.js +68 -95
- package/dist/commands/source.d.ts +19 -0
- package/dist/commands/source.js +142 -0
- package/dist/commands/tweaks.js +5 -11
- package/dist/commands/upload-content.d.ts +1 -1
- package/dist/commands/upload-content.js +16 -12
- package/dist/commands/upload.d.ts +17 -1
- package/dist/commands/upload.js +47 -10
- package/dist/commands/worker/archive-staging.d.ts +1 -0
- package/dist/commands/worker/archive-staging.js +13 -2
- package/dist/commands/worker/e2e-fixtures.d.ts +32 -0
- package/dist/commands/worker/e2e-fixtures.js +466 -0
- package/dist/commands/worker/game-server-infra.d.ts +80 -0
- package/dist/commands/worker/game-server-infra.js +595 -0
- package/dist/commands/worker/game-source-git.d.ts +126 -0
- package/dist/commands/worker/game-source-git.js +780 -0
- package/dist/commands/worker/generation.d.ts +94 -0
- package/dist/commands/worker/generation.js +1458 -0
- package/dist/commands/worker/runtime.d.ts +8 -10
- package/dist/commands/worker/runtime.js +51 -45
- package/dist/commands/worker.d.ts +79 -19
- package/dist/commands/worker.js +1796 -419
- package/dist/config.d.ts +2 -0
- package/dist/config.js +16 -3
- package/dist/environment.d.ts +0 -1
- package/dist/environment.js +0 -8
- package/dist/index.js +92 -13
- package/dist/workerAppProject.d.ts +1 -1
- package/dist/workerAppProject.js +15 -2
- package/node_modules/@playdrop/api-client/dist/client.d.ts +72 -25
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +33 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/core/request.js +17 -11
- package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +51 -6
- package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +338 -41
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +24 -1
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/ai.js +20 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +13 -8
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.js +158 -90
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -0
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.js +27 -0
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +35 -3
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/chat.js +89 -7
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -1
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +9 -0
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +1 -2
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +0 -11
- package/node_modules/@playdrop/api-client/dist/domains/social.d.ts +29 -0
- package/node_modules/@playdrop/api-client/dist/domains/social.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/social.js +79 -0
- package/node_modules/@playdrop/api-client/dist/index.d.ts +80 -29
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +217 -56
- package/node_modules/@playdrop/api-client/dist/runtime.d.ts +18 -0
- package/node_modules/@playdrop/api-client/dist/runtime.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/runtime.js +54 -0
- package/node_modules/@playdrop/api-client/package.json +7 -0
- package/node_modules/@playdrop/config/client-meta.json +4 -4
- package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +11 -0
- package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/creator-plans.js +13 -1
- package/node_modules/@playdrop/config/dist/src/deployment.d.ts +0 -1
- package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/deployment.js +0 -8
- package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +0 -1
- package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/public-deployment.js +0 -8
- package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts +1 -1
- package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +2 -2
- package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/server/logging.js +31 -2
- package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +10 -0
- package/node_modules/@playdrop/config/dist/test/deployment.test.js +0 -4
- package/node_modules/@playdrop/config/dist/test/runtime-service-origins.test.js +2 -0
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/config/package.json +6 -0
- package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts +9 -0
- package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/archive.js +107 -0
- package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts +29 -0
- package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.js +64 -0
- package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts +8 -0
- package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/export.js +25 -0
- package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +39 -0
- package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/git.js +195 -0
- package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts +6 -0
- package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/ignore.js +51 -0
- package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts +10 -0
- package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts.map +1 -0
- package/node_modules/@playdrop/{boxel-core/dist/src/humanoid/r15 → game-source-git/dist/src}/index.js +9 -4
- package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts +17 -0
- package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/lock.js +72 -0
- package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts +10 -0
- package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/materialize.js +99 -0
- package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts +24 -0
- package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/paths.js +207 -0
- package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts +66 -0
- package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/src/repository.js +213 -0
- package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts +2 -0
- package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts.map +1 -0
- package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +441 -0
- package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@playdrop/game-source-git/package.json +28 -0
- package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/agent-task-terminal.js +15 -9
- package/node_modules/@playdrop/types/dist/api.d.ts +728 -164
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/api.js +60 -11
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts +2 -0
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset.d.ts +22 -8
- package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset.js +26 -26
- package/node_modules/@playdrop/types/dist/chat.d.ts +107 -3
- package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/chat.js +33 -4
- package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
- package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.js +7 -1
- package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts +11 -0
- package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/public-cache-tags.js +78 -0
- package/node_modules/@playdrop/types/dist/realtime.d.ts +3 -15
- package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/social.d.ts +64 -0
- package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -0
- package/node_modules/@playdrop/{boxel-three/dist/src/types.js → types/dist/social.js} +14 -2
- package/node_modules/@playdrop/types/dist/spritesheet.d.ts +51 -0
- package/node_modules/@playdrop/types/dist/spritesheet.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/spritesheet.js +73 -0
- package/node_modules/@playdrop/types/dist/version.d.ts +86 -58
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/version.js +111 -0
- package/node_modules/@playdrop/types/package.json +14 -0
- package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
- package/node_modules/@playdrop/vox-three/dist/src/index.js +1 -1
- package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -1
- package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +0 -3
- package/node_modules/@playdrop/vox-three/dist/src/vox.js +0 -110
- package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +0 -18
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
- package/node_modules/@playdrop/vox-three/package.json +8 -4
- package/package.json +9 -11
- package/dist/assets/model-artifacts.d.ts +0 -8
- package/dist/assets/model-artifacts.js +0 -382
- package/dist/assets/model-worker.d.ts +0 -22
- package/dist/assets/model-worker.js +0 -123
- package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
- package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
- package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
- package/node_modules/@playdrop/ai-client/package.json +0 -22
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
- package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
- package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
- package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
- package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
- package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
- package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
- package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
- package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
- package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/package.json +0 -19
- package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
- package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
- package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
- package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
- package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
- package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
- package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
- package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
- package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
- package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
- package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
- package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
- package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
- package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
- package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
- package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
- package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
- package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
- package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
- package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
- package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
- package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
- package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
- package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
- package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
- package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
- package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
- package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
- package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
- package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
- package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
- package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
- package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
- package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
- package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
- package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
- package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
- package/node_modules/@playdrop/boxel-three/package.json +0 -28
package/config/client-meta.json
CHANGED
package/dist/apiClient.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ApiClient } from "@playdrop/api-client";
|
|
2
|
-
import { type AiClient } from "@playdrop/ai-client";
|
|
3
2
|
type ClientOptions = {
|
|
4
3
|
baseUrl: string;
|
|
5
4
|
token?: string | null;
|
|
5
|
+
tokenProvider?: () => string | null;
|
|
6
6
|
onBehalfCreatorUsername?: string | null;
|
|
7
7
|
agentTaskToken?: string | null;
|
|
8
8
|
agentTaskId?: number | null;
|
|
@@ -15,5 +15,4 @@ export declare function createCliClientHeaders(input: {
|
|
|
15
15
|
agentTaskAttempt?: number | null;
|
|
16
16
|
}): Record<string, string>;
|
|
17
17
|
export declare function createCliApiClient(options: ClientOptions): ApiClient;
|
|
18
|
-
export declare function createCliAiClient(options: ClientOptions): AiClient;
|
|
19
18
|
export {};
|
package/dist/apiClient.js
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createCliClientHeaders = createCliClientHeaders;
|
|
4
4
|
exports.createCliApiClient = createCliApiClient;
|
|
5
|
-
exports.createCliAiClient = createCliAiClient;
|
|
6
5
|
const api_client_1 = require("@playdrop/api-client");
|
|
7
|
-
const ai_client_1 = require("@playdrop/ai-client");
|
|
8
6
|
const clientInfo_1 = require("./clientInfo");
|
|
9
7
|
function readPositiveIntEnv(name) {
|
|
10
8
|
const raw = process.env[name]?.trim();
|
|
@@ -47,7 +45,6 @@ function createCliClientHeaders(input) {
|
|
|
47
45
|
...(creatorUsername
|
|
48
46
|
? {
|
|
49
47
|
"x-playdrop-creator-username": creatorUsername,
|
|
50
|
-
"x-playdrop-ai-paid-by": "creator",
|
|
51
48
|
}
|
|
52
49
|
: {}),
|
|
53
50
|
...(agentTaskToken
|
|
@@ -68,18 +65,6 @@ function createCliApiClient(options) {
|
|
|
68
65
|
agentTaskId: options.agentTaskId,
|
|
69
66
|
agentTaskAttempt: options.agentTaskAttempt,
|
|
70
67
|
}),
|
|
71
|
-
tokenProvider: () => options.token ?? null,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
function createCliAiClient(options) {
|
|
75
|
-
return (0, ai_client_1.createAiClient)({
|
|
76
|
-
baseUrl: options.baseUrl,
|
|
77
|
-
clientHeaders: () => createCliClientHeaders({
|
|
78
|
-
onBehalfCreatorUsername: options.onBehalfCreatorUsername,
|
|
79
|
-
agentTaskToken: options.agentTaskToken,
|
|
80
|
-
agentTaskId: options.agentTaskId,
|
|
81
|
-
agentTaskAttempt: options.agentTaskAttempt,
|
|
82
|
-
}),
|
|
83
|
-
tokenProvider: () => options.token ?? null,
|
|
68
|
+
tokenProvider: options.tokenProvider ?? (() => options.token ?? null),
|
|
84
69
|
});
|
|
85
70
|
}
|
package/dist/appUrls.js
CHANGED
|
@@ -45,12 +45,16 @@ function getAppTypeSlug(type) {
|
|
|
45
45
|
}
|
|
46
46
|
switch (type) {
|
|
47
47
|
case "DEMO":
|
|
48
|
+
case "demo":
|
|
48
49
|
return "demo";
|
|
49
50
|
case "TOOL":
|
|
51
|
+
case "tool":
|
|
50
52
|
return "tool";
|
|
51
53
|
case "TEMPLATE":
|
|
54
|
+
case "template":
|
|
52
55
|
return "template";
|
|
53
56
|
case "GAME":
|
|
57
|
+
case "game":
|
|
54
58
|
default:
|
|
55
59
|
return "game";
|
|
56
60
|
}
|
package/dist/apps/build.d.ts
CHANGED
|
@@ -13,11 +13,19 @@ export type AppBuildMetadata = {
|
|
|
13
13
|
entryPoint?: string;
|
|
14
14
|
};
|
|
15
15
|
export type AppBuildArtifacts = {
|
|
16
|
-
|
|
16
|
+
runtimeFiles: Array<{
|
|
17
|
+
absolutePath: string;
|
|
18
|
+
relativePath: string;
|
|
19
|
+
sizeBytes: number;
|
|
20
|
+
sha256: string;
|
|
21
|
+
}>;
|
|
17
22
|
bundleHash: string;
|
|
18
|
-
sourceFile
|
|
19
|
-
sourceHash
|
|
23
|
+
sourceFile?: File;
|
|
24
|
+
sourceHash?: string;
|
|
20
25
|
metadata: AppBuildMetadata;
|
|
21
26
|
};
|
|
27
|
+
export type BuildAppOptions = {
|
|
28
|
+
includeSourceArchive?: boolean;
|
|
29
|
+
};
|
|
22
30
|
export declare function runNpmScript(projectDir: string, script: string): Promise<void>;
|
|
23
|
-
export declare function buildApp(task: AppTask): Promise<AppBuildArtifacts>;
|
|
31
|
+
export declare function buildApp(task: AppTask, options?: BuildAppOptions): Promise<AppBuildArtifacts>;
|
package/dist/apps/build.js
CHANGED
|
@@ -16,7 +16,7 @@ const BASE_SOURCE_IGNORE_PATTERNS = [
|
|
|
16
16
|
".next/",
|
|
17
17
|
".turbo/",
|
|
18
18
|
".cache/",
|
|
19
|
-
".git
|
|
19
|
+
".git",
|
|
20
20
|
".idea/",
|
|
21
21
|
".svelte-kit/",
|
|
22
22
|
".DS_Store",
|
|
@@ -29,6 +29,24 @@ const BASE_SOURCE_IGNORE_PATTERNS = [
|
|
|
29
29
|
".vercel/",
|
|
30
30
|
".netlify/",
|
|
31
31
|
];
|
|
32
|
+
const GAME_SOURCE_GIT_IGNORE_PATTERNS = [
|
|
33
|
+
".git",
|
|
34
|
+
".next/",
|
|
35
|
+
".playdrop/",
|
|
36
|
+
".playdrop-task-events/",
|
|
37
|
+
".scratch/",
|
|
38
|
+
"build/",
|
|
39
|
+
"coverage/",
|
|
40
|
+
"dist/",
|
|
41
|
+
"evidence/",
|
|
42
|
+
"node_modules/",
|
|
43
|
+
"output/",
|
|
44
|
+
"remix-source/",
|
|
45
|
+
"tasks/",
|
|
46
|
+
"tmp/",
|
|
47
|
+
"transcripts/",
|
|
48
|
+
"*.log",
|
|
49
|
+
];
|
|
32
50
|
const projectBuildCache = new Map();
|
|
33
51
|
const typescriptSourceCache = new Map();
|
|
34
52
|
async function runNpmScript(projectDir, script) {
|
|
@@ -114,10 +132,12 @@ function readIgnorePatterns(projectDir, filename) {
|
|
|
114
132
|
return [];
|
|
115
133
|
}
|
|
116
134
|
}
|
|
117
|
-
function buildIgnoreRules(projectDir) {
|
|
118
|
-
const patterns = [...BASE_SOURCE_IGNORE_PATTERNS];
|
|
119
|
-
|
|
120
|
-
|
|
135
|
+
function buildIgnoreRules(projectDir, gameSourceGit = false) {
|
|
136
|
+
const patterns = gameSourceGit ? [...GAME_SOURCE_GIT_IGNORE_PATTERNS] : [...BASE_SOURCE_IGNORE_PATTERNS];
|
|
137
|
+
if (!gameSourceGit) {
|
|
138
|
+
patterns.push(...readIgnorePatterns(projectDir, ".playdropignore"));
|
|
139
|
+
patterns.push(...readIgnorePatterns(projectDir, ".gitignore"));
|
|
140
|
+
}
|
|
121
141
|
const rules = [];
|
|
122
142
|
for (const rawPattern of patterns) {
|
|
123
143
|
const trimmed = rawPattern.trim();
|
|
@@ -353,7 +373,12 @@ function resolveBundleEntryPoint(task, runtimeRoot) {
|
|
|
353
373
|
return entryPoint;
|
|
354
374
|
}
|
|
355
375
|
function normalizeBundleArchiveExclusions(task, runtimeRoot) {
|
|
356
|
-
const exclusions =
|
|
376
|
+
const exclusions = [
|
|
377
|
+
...(task.bundleArchiveExcludeRelativeFiles ?? []),
|
|
378
|
+
"listing/",
|
|
379
|
+
"server/",
|
|
380
|
+
"owned-assets/",
|
|
381
|
+
];
|
|
357
382
|
const runtimeRootAbsolute = (0, node_path_1.resolve)(runtimeRoot);
|
|
358
383
|
const normalized = [];
|
|
359
384
|
for (const exclusion of exclusions) {
|
|
@@ -530,7 +555,7 @@ function createZipArchive(entries) {
|
|
|
530
555
|
return Buffer.concat(chunks);
|
|
531
556
|
}
|
|
532
557
|
function createSourceArchive(task) {
|
|
533
|
-
const rules = buildIgnoreRules(task.projectDir);
|
|
558
|
+
const rules = buildIgnoreRules(task.projectDir, task.sourceArchiveGameSourceGit);
|
|
534
559
|
const includeFiles = ["README.md", "AGENTS.md"];
|
|
535
560
|
for (const heroPath of [task.listing?.heroPortraitPath, task.listing?.heroLandscapePath]) {
|
|
536
561
|
if (heroPath) {
|
|
@@ -543,7 +568,7 @@ function createSourceArchive(task) {
|
|
|
543
568
|
includeFiles.push(relativeCataloguePath);
|
|
544
569
|
}
|
|
545
570
|
if (task.isTypescriptProject) {
|
|
546
|
-
const cacheKey = [task.projectDir, ...excludedFiles].join("\u0000");
|
|
571
|
+
const cacheKey = [task.projectDir, String(task.sourceArchiveGameSourceGit === true), ...excludedFiles].join("\u0000");
|
|
547
572
|
const cached = typescriptSourceCache.get(cacheKey);
|
|
548
573
|
if (cached) {
|
|
549
574
|
return cached;
|
|
@@ -568,7 +593,7 @@ function createSourceArchive(task) {
|
|
|
568
593
|
const hash = (0, node_crypto_1.createHash)("sha256").update(buffer).digest("hex");
|
|
569
594
|
return { buffer, hash };
|
|
570
595
|
}
|
|
571
|
-
async function buildApp(task) {
|
|
596
|
+
async function buildApp(task, options = {}) {
|
|
572
597
|
await ensureProjectBuild(task);
|
|
573
598
|
if (!(0, node_fs_1.existsSync)(task.filePath) || !(0, node_fs_1.statSync)(task.filePath).isFile()) {
|
|
574
599
|
const locationHint = task.cataloguePath || "catalogue.json";
|
|
@@ -582,16 +607,24 @@ async function buildApp(task) {
|
|
|
582
607
|
buildAdvice,
|
|
583
608
|
].join(" "));
|
|
584
609
|
}
|
|
585
|
-
|
|
586
|
-
const
|
|
587
|
-
const
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
610
|
+
const runtime = collectBundleFiles(task);
|
|
611
|
+
const runtimeHash = (0, node_crypto_1.createHash)("sha256");
|
|
612
|
+
const runtimeFiles = runtime.entries.map((entry) => {
|
|
613
|
+
const content = (0, node_fs_1.readFileSync)(entry.absolutePath);
|
|
614
|
+
const sha256 = (0, node_crypto_1.createHash)("sha256").update(content).digest("hex");
|
|
615
|
+
runtimeHash.update(entry.relativePath).update("\0").update(String(content.length)).update("\0").update(sha256);
|
|
616
|
+
return {
|
|
617
|
+
absolutePath: entry.absolutePath,
|
|
618
|
+
relativePath: entry.relativePath,
|
|
619
|
+
sizeBytes: content.length,
|
|
620
|
+
sha256,
|
|
621
|
+
};
|
|
622
|
+
});
|
|
623
|
+
const bundleHash = runtimeHash.digest("hex");
|
|
624
|
+
const sourceArchive = options.includeSourceArchive === false ? null : createSourceArchive(task);
|
|
625
|
+
const sourceFile = sourceArchive
|
|
626
|
+
? new File([Uint8Array.from(sourceArchive.buffer)], `${task.name}-source.zip`, { type: "application/zip" })
|
|
627
|
+
: undefined;
|
|
595
628
|
const metadata = {};
|
|
596
629
|
if (task.displayName)
|
|
597
630
|
metadata.displayName = task.displayName;
|
|
@@ -612,12 +645,12 @@ async function buildApp(task) {
|
|
|
612
645
|
metadata.primarySurface = task.primarySurface;
|
|
613
646
|
if (task.playtestTapes)
|
|
614
647
|
metadata.playtestTapes = task.playtestTapes;
|
|
615
|
-
metadata.entryPoint =
|
|
648
|
+
metadata.entryPoint = runtime.entryPoint;
|
|
616
649
|
return {
|
|
617
|
-
|
|
650
|
+
runtimeFiles,
|
|
618
651
|
bundleHash,
|
|
619
652
|
sourceFile,
|
|
620
|
-
sourceHash: sourceArchive
|
|
653
|
+
sourceHash: sourceArchive?.hash,
|
|
621
654
|
metadata,
|
|
622
655
|
};
|
|
623
656
|
}
|
package/dist/apps/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { AppTask } from "../catalogue";
|
|
|
4
4
|
import type { TaskCaptureSession } from "../appUrls";
|
|
5
5
|
import { collectAppValidationWarnings, validateAppTask, runFormatScript } from "./validate";
|
|
6
6
|
import { buildApp, type AppBuildArtifacts } from "./build";
|
|
7
|
-
import { prepareAppUploadFiles, uploadApp, type AppUploadResult } from "./upload";
|
|
7
|
+
import { prepareAppUploadFiles, uploadApp, type AppUploadResult, type AppUploadOptions } from "./upload";
|
|
8
8
|
export type AppPipelineResult = {
|
|
9
9
|
artifacts: AppBuildArtifacts | null;
|
|
10
10
|
upload: AppUploadResult;
|
|
@@ -28,6 +28,7 @@ export type AppPipelineOptions = {
|
|
|
28
28
|
playtestSmokeCheckRequired?: boolean;
|
|
29
29
|
captureSession?: TaskCaptureSession | null;
|
|
30
30
|
artifacts?: AppBuildArtifacts;
|
|
31
|
+
prepareGitTransition?: AppUploadOptions["prepareGitTransition"];
|
|
31
32
|
};
|
|
32
33
|
export declare function runAppPipeline(client: ApiClient, task: AppTask, options?: AppPipelineOptions): Promise<AppPipelineResult>;
|
|
33
34
|
export { collectAppValidationWarnings, validateAppTask, buildApp, prepareAppUploadFiles, uploadApp, runFormatScript };
|
package/dist/apps/index.js
CHANGED
|
@@ -30,7 +30,9 @@ async function runAppPipeline(client, task, options) {
|
|
|
30
30
|
agentTaskId: options.agentTaskId,
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
const artifacts = isExternal
|
|
33
|
+
const artifacts = isExternal
|
|
34
|
+
? null
|
|
35
|
+
: (options?.artifacts ?? (await (0, build_1.buildApp)(task, { includeSourceArchive: options?.agentTaskId === undefined })));
|
|
34
36
|
const warnings = (0, validate_1.collectAppValidationWarnings)(task, isExternal ? "source" : "bundle");
|
|
35
37
|
if (!isExternal && options?.runLocalLoadCheck) {
|
|
36
38
|
const creatorUsername = typeof options.creatorUsername === "string" ? options.creatorUsername.trim() : "";
|
|
@@ -69,6 +71,7 @@ async function runAppPipeline(client, task, options) {
|
|
|
69
71
|
playtestProof: options?.playtestProof,
|
|
70
72
|
playtestSmokeCheckRequired: options?.playtestSmokeCheckRequired,
|
|
71
73
|
captureSession: options?.captureSession,
|
|
74
|
+
prepareGitTransition: options?.prepareGitTransition,
|
|
72
75
|
};
|
|
73
76
|
const upload = await (0, upload_1.uploadApp)(client, task, artifacts, uploadOptions);
|
|
74
77
|
return { artifacts, upload, warnings };
|
package/dist/apps/loadCheck.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiClient } from "@playdrop/api-client";
|
|
2
|
-
import { type AppPlaytestTape, type AppPlaytestTapeEvent, type AppSurface, type AppUploadCausalComparison, type AppUploadMachineCausalEvidence, type UserResponse } from "@playdrop/types";
|
|
2
|
+
import { type AppPlaytestTape, type AppPlaytestTapeEvent, type AppSurface, type AppUploadCausalComparison, type AppUploadMachineCausalEvidence, type DevGameServerCredentialResponse, type UserResponse } from "@playdrop/types";
|
|
3
3
|
import type { BrowserContextOptions, Frame, Page } from "playwright-core";
|
|
4
4
|
import type { AppTask } from "../catalogue";
|
|
5
5
|
import { type TaskCaptureSession } from "../appUrls";
|
|
@@ -30,6 +30,7 @@ export type HostedLaunchState = {
|
|
|
30
30
|
errorCode: string | null;
|
|
31
31
|
message: string | null;
|
|
32
32
|
};
|
|
33
|
+
export declare const DEFAULT_HOSTED_LAUNCH_DEADLINE_MS = 15000;
|
|
33
34
|
export declare function formatConsoleValue(value: unknown): string;
|
|
34
35
|
export declare function formatBrowserConsoleMessage(values: unknown[], fallbackText: string): string;
|
|
35
36
|
export declare function isDuplicateBrowserResourceConsoleError(type: string, message: string): boolean;
|
|
@@ -39,6 +40,7 @@ export declare function isExpectedAnonymousSessionProbe(input: {
|
|
|
39
40
|
method: string;
|
|
40
41
|
hasExplicitToken: boolean;
|
|
41
42
|
}): boolean;
|
|
43
|
+
export declare function waitForHostedLaunchDeadline<T>(operation: () => Promise<T>, expectedState: HostedLaunchExpectedState, timeoutMs: number): Promise<T>;
|
|
42
44
|
export declare function waitForHostedLaunchState(waiter: Promise<HostedLaunchState>, expectedState: HostedLaunchExpectedState, timeoutMs: number): Promise<HostedLaunchState>;
|
|
43
45
|
export declare function resolveLoadCheckSurface(surfaceTargets: unknown, primarySurface?: unknown): AppSurface;
|
|
44
46
|
export declare function cloneLoadCheckContextOptions(surface: AppSurface): BrowserContextOptions;
|
|
@@ -51,6 +53,7 @@ export declare function describeHostedLaunchTimeout(page: Pick<Page, "evaluate">
|
|
|
51
53
|
export declare function verifyHostedEditorPhaseRoundTrip(page: Pick<Page, "evaluate">, frame: Pick<Frame, "evaluate" | "waitForFunction">, timeoutMs: number): Promise<void>;
|
|
52
54
|
export declare function formatHostedLoadCheckFailure(taskName: string, result: HostedLoadCheckResult, scope?: "local" | "staged" | "editor" | "final"): string;
|
|
53
55
|
export declare function redactHostedLoadCheckSecrets(text: string, sourceUrl: string): string;
|
|
56
|
+
export declare function formatMountedDevRuntimeFailure(error: unknown): Error;
|
|
54
57
|
export declare function runLocalHostedLoadCheck(input: {
|
|
55
58
|
client: ApiClient;
|
|
56
59
|
apiBase: string;
|
|
@@ -67,6 +70,7 @@ export declare function runLocalHostedLoadCheck(input: {
|
|
|
67
70
|
surface?: AppSurface;
|
|
68
71
|
playtestTape?: AppPlaytestTape;
|
|
69
72
|
postReadyWaitMs?: number;
|
|
73
|
+
gameServerCredential?: DevGameServerCredentialResponse | null;
|
|
70
74
|
}): Promise<HostedLoadCheckResult>;
|
|
71
75
|
export declare function buildUploadedHostedLoadCheckUrl(rawUrl: string, phase?: "play" | "editor"): string;
|
|
72
76
|
export declare function buildUploadedHostedLoadCheckScreenshotPath(task: Pick<AppTask, "name" | "projectDir">, sessionId: string, phase?: "play" | "editor"): string | null;
|
package/dist/apps/loadCheck.js
CHANGED
|
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PLAYDROP_SURFACE_CONTEXT_OPTIONS = void 0;
|
|
6
|
+
exports.DEFAULT_HOSTED_LAUNCH_DEADLINE_MS = exports.PLAYDROP_SURFACE_CONTEXT_OPTIONS = void 0;
|
|
7
7
|
exports.formatConsoleValue = formatConsoleValue;
|
|
8
8
|
exports.formatBrowserConsoleMessage = formatBrowserConsoleMessage;
|
|
9
9
|
exports.isDuplicateBrowserResourceConsoleError = isDuplicateBrowserResourceConsoleError;
|
|
10
10
|
exports.isExpectedAnonymousSessionProbe = isExpectedAnonymousSessionProbe;
|
|
11
|
+
exports.waitForHostedLaunchDeadline = waitForHostedLaunchDeadline;
|
|
11
12
|
exports.waitForHostedLaunchState = waitForHostedLaunchState;
|
|
12
13
|
exports.resolveLoadCheckSurface = resolveLoadCheckSurface;
|
|
13
14
|
exports.cloneLoadCheckContextOptions = cloneLoadCheckContextOptions;
|
|
@@ -18,6 +19,7 @@ exports.describeHostedLaunchTimeout = describeHostedLaunchTimeout;
|
|
|
18
19
|
exports.verifyHostedEditorPhaseRoundTrip = verifyHostedEditorPhaseRoundTrip;
|
|
19
20
|
exports.formatHostedLoadCheckFailure = formatHostedLoadCheckFailure;
|
|
20
21
|
exports.redactHostedLoadCheckSecrets = redactHostedLoadCheckSecrets;
|
|
22
|
+
exports.formatMountedDevRuntimeFailure = formatMountedDevRuntimeFailure;
|
|
21
23
|
exports.runLocalHostedLoadCheck = runLocalHostedLoadCheck;
|
|
22
24
|
exports.buildUploadedHostedLoadCheckUrl = buildUploadedHostedLoadCheckUrl;
|
|
23
25
|
exports.buildUploadedHostedLoadCheckScreenshotPath = buildUploadedHostedLoadCheckScreenshotPath;
|
|
@@ -32,8 +34,8 @@ const node_path_1 = require("node:path");
|
|
|
32
34
|
const sharp_1 = __importDefault(require("sharp"));
|
|
33
35
|
const appUrls_1 = require("../appUrls");
|
|
34
36
|
const devShared_1 = require("../commands/devShared");
|
|
35
|
-
const dev_1 = require("../commands/dev");
|
|
36
37
|
const devServer_1 = require("../commands/devServer");
|
|
38
|
+
const devGameServer_1 = require("../commands/devGameServer");
|
|
37
39
|
const devRuntimeAssets_1 = require("../commands/devRuntimeAssets");
|
|
38
40
|
const devAuth_1 = require("../devAuth");
|
|
39
41
|
const playwright_1 = require("../playwright");
|
|
@@ -43,7 +45,7 @@ const surfaceProfiles_1 = require("./surfaceProfiles");
|
|
|
43
45
|
var surfaceProfiles_2 = require("./surfaceProfiles");
|
|
44
46
|
Object.defineProperty(exports, "PLAYDROP_SURFACE_CONTEXT_OPTIONS", { enumerable: true, get: function () { return surfaceProfiles_2.PLAYDROP_SURFACE_CONTEXT_OPTIONS; } });
|
|
45
47
|
const FRAME_SELECTOR = 'iframe[title="Game"]';
|
|
46
|
-
|
|
48
|
+
exports.DEFAULT_HOSTED_LAUNCH_DEADLINE_MS = 15000;
|
|
47
49
|
const HOSTED_LAUNCH_DIAGNOSTIC_TIMEOUT_MS = 1000;
|
|
48
50
|
const PLAYTEST_INTERACTIVE_MEAN_DELTA_MIN = 0.002;
|
|
49
51
|
const PLAYTEST_INTERACTIVE_CHANGED_PIXEL_RATIO_MIN = 0.01;
|
|
@@ -190,14 +192,16 @@ function formatHostedLaunchError(state) {
|
|
|
190
192
|
function shouldSettleHostedLaunchWaiter(state, expectedState) {
|
|
191
193
|
return state.state === "error" || state.state === expectedState;
|
|
192
194
|
}
|
|
193
|
-
function
|
|
195
|
+
function waitForHostedLaunchDeadline(operation, expectedState, timeoutMs) {
|
|
194
196
|
return new Promise((resolve, reject) => {
|
|
195
197
|
const timeout = setTimeout(() => {
|
|
196
198
|
reject(new Error(expectedState === "ready"
|
|
197
|
-
?
|
|
199
|
+
? `hosted_app_missing_ready: instrument_error:game_ready_timeout: Hosted app did not complete navigation and report sdk.host.ready() within the ${timeoutMs} ms launch deadline.`
|
|
198
200
|
: `hosted_app_gate_missing: Hosted app did not report ${expectedState} before the load-check timeout.`));
|
|
199
201
|
}, timeoutMs);
|
|
200
|
-
|
|
202
|
+
Promise.resolve()
|
|
203
|
+
.then(operation)
|
|
204
|
+
.then((state) => {
|
|
201
205
|
clearTimeout(timeout);
|
|
202
206
|
resolve(state);
|
|
203
207
|
}, (error) => {
|
|
@@ -206,6 +210,9 @@ function waitForHostedLaunchState(waiter, expectedState, timeoutMs) {
|
|
|
206
210
|
});
|
|
207
211
|
});
|
|
208
212
|
}
|
|
213
|
+
function waitForHostedLaunchState(waiter, expectedState, timeoutMs) {
|
|
214
|
+
return waitForHostedLaunchDeadline(() => waiter, expectedState, timeoutMs);
|
|
215
|
+
}
|
|
209
216
|
function normalizeLoadCheckSurface(value) {
|
|
210
217
|
if (typeof value !== "string") {
|
|
211
218
|
return null;
|
|
@@ -607,7 +614,7 @@ function redactHostedLoadCheckSecrets(text, sourceUrl) {
|
|
|
607
614
|
async function runHostedLoadCheck(options) {
|
|
608
615
|
const expectedHostedLaunchState = options.expectedHostedLaunchState ?? "ready";
|
|
609
616
|
const artifactFingerprint = options.artifactFingerprint ?? null;
|
|
610
|
-
const timeoutMs = options.timeoutMs ??
|
|
617
|
+
const timeoutMs = options.timeoutMs ?? exports.DEFAULT_HOSTED_LAUNCH_DEADLINE_MS;
|
|
611
618
|
const errors = [];
|
|
612
619
|
const warnings = [];
|
|
613
620
|
let finalUrl = (0, appUrls_1.redactTaskCaptureSession)(options.targetUrl);
|
|
@@ -819,20 +826,23 @@ async function runHostedLoadCheck(options) {
|
|
|
819
826
|
screenshotPath = await saveScreenshot(page, options.screenshotPath);
|
|
820
827
|
};
|
|
821
828
|
try {
|
|
822
|
-
const response = await page.goto(options.targetUrl, { waitUntil: "domcontentloaded", timeout: 30000 });
|
|
823
|
-
if (response && !response.ok()) {
|
|
824
|
-
errors.push(`[check][navigation] ${response.status()} ${response.statusText()} ${reportTargetUrl}`);
|
|
825
|
-
}
|
|
826
829
|
const readinessTimeoutMs = Math.min(Math.max(timeoutMs, 1000), 30000);
|
|
830
|
+
let response;
|
|
827
831
|
let launchState;
|
|
828
832
|
try {
|
|
829
|
-
launchState = await
|
|
833
|
+
[response, launchState] = await waitForHostedLaunchDeadline(async () => await Promise.all([
|
|
834
|
+
page.goto(options.targetUrl, { waitUntil: "domcontentloaded", timeout: 30000 }),
|
|
835
|
+
hostedLaunchWaiter,
|
|
836
|
+
]), expectedHostedLaunchState, timeoutMs);
|
|
830
837
|
}
|
|
831
838
|
catch (error) {
|
|
832
839
|
const timeoutContext = await describeHostedLaunchTimeout(page, lastHostedLaunchState);
|
|
833
840
|
const detail = error instanceof Error ? error.message : String(error);
|
|
834
841
|
throw new Error(`${detail} ${timeoutContext}`);
|
|
835
842
|
}
|
|
843
|
+
if (response && !response.ok()) {
|
|
844
|
+
errors.push(`[check][navigation] ${response.status()} ${response.statusText()} ${reportTargetUrl}`);
|
|
845
|
+
}
|
|
836
846
|
if (launchState.state === "error") {
|
|
837
847
|
throw new Error(formatHostedLaunchError(launchState));
|
|
838
848
|
}
|
|
@@ -936,6 +946,9 @@ async function startOrReuseMountedDevRuntime(input) {
|
|
|
936
946
|
port: devRouterPort,
|
|
937
947
|
}, 750);
|
|
938
948
|
if (serverAlreadyRunning) {
|
|
949
|
+
if (input.task.server) {
|
|
950
|
+
throw new Error(`server_dev_mount_already_running:${input.creatorUsername}/${input.task.name}`);
|
|
951
|
+
}
|
|
939
952
|
await (0, devServer_1.updateMountedDevRuntimeAssetManifest)({
|
|
940
953
|
creatorUsername: input.creatorUsername,
|
|
941
954
|
appName: input.task.name,
|
|
@@ -944,7 +957,20 @@ async function startOrReuseMountedDevRuntime(input) {
|
|
|
944
957
|
});
|
|
945
958
|
return { handle: null, runtimeAssetManifest };
|
|
946
959
|
}
|
|
960
|
+
let gameServer = null;
|
|
947
961
|
try {
|
|
962
|
+
if (input.task.server) {
|
|
963
|
+
if (!input.gameServerCredential)
|
|
964
|
+
throw new Error("dev_server_credential_required");
|
|
965
|
+
const appBaseUrl = `http://127.0.0.1:${devRouterPort}/apps/dev/${encodeURIComponent(input.creatorUsername)}/${encodeURIComponent(appTypeSlug)}/${encodeURIComponent(input.task.name)}/`;
|
|
966
|
+
const roomsUrl = new URL("_playdrop/rooms", appBaseUrl);
|
|
967
|
+
gameServer = await (0, devGameServer_1.startDevGameServer)({
|
|
968
|
+
task: input.task,
|
|
969
|
+
credential: input.gameServerCredential,
|
|
970
|
+
platformApiUrl: input.apiBase,
|
|
971
|
+
publicAddress: `${roomsUrl.host}${roomsUrl.pathname.replace(/\/$/u, "")}`,
|
|
972
|
+
});
|
|
973
|
+
}
|
|
948
974
|
const handle = await (0, devServer_1.startDevServer)({
|
|
949
975
|
appName: input.task.name,
|
|
950
976
|
appType: appTypeSlug,
|
|
@@ -953,18 +979,25 @@ async function startOrReuseMountedDevRuntime(input) {
|
|
|
953
979
|
port: devRouterPort,
|
|
954
980
|
projectInfo: (0, devShared_1.findProjectInfo)(input.task.filePath),
|
|
955
981
|
runtimeAssetManifest,
|
|
982
|
+
roomsPort: gameServer?.port ?? null,
|
|
983
|
+
roomsProcess: gameServer?.process ?? null,
|
|
956
984
|
});
|
|
957
985
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
958
986
|
return { handle, runtimeAssetManifest };
|
|
959
987
|
}
|
|
960
988
|
catch (error) {
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
989
|
+
if (gameServer?.process.exitCode === null)
|
|
990
|
+
gameServer.process.kill("SIGTERM");
|
|
991
|
+
throw formatMountedDevRuntimeFailure(error);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
function formatMountedDevRuntimeFailure(error) {
|
|
995
|
+
const message = error instanceof Error ? error.message : String(error ?? "mounted_dev_runtime_failed");
|
|
996
|
+
const mountConflict = (0, devServer_1.parseMountConflictError)(message);
|
|
997
|
+
if (mountConflict) {
|
|
998
|
+
return new Error(`A different dev session already owns ${mountConflict.ref}. Active owner pid: ${mountConflict.ownerPid}.`);
|
|
967
999
|
}
|
|
1000
|
+
return error instanceof Error ? error : new Error(message);
|
|
968
1001
|
}
|
|
969
1002
|
async function runLocalHostedLoadCheck(input) {
|
|
970
1003
|
let mountedRuntime = null;
|
|
@@ -975,6 +1008,7 @@ async function runLocalHostedLoadCheck(input) {
|
|
|
975
1008
|
creatorUsername: input.creatorUsername,
|
|
976
1009
|
task: input.task,
|
|
977
1010
|
devRouterPort: input.devRouterPort,
|
|
1011
|
+
gameServerCredential: input.gameServerCredential,
|
|
978
1012
|
});
|
|
979
1013
|
const localDevPort = input.devRouterPort === undefined || input.devRouterPort === devServer_1.DEV_ROUTER_PORT ? null : input.devRouterPort;
|
|
980
1014
|
const localAppMetadata = mountedRuntime.runtimeAssetManifest.response.localAppMetadata;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AppTask } from "../catalogue";
|
|
2
|
+
export declare const GAME_SERVER_RUNTIME_VERSION: "colyseus-0.17-v1";
|
|
3
|
+
export declare const GAME_SERVER_BUNDLE_MAX_BYTES: number;
|
|
4
|
+
export type GameServerManifest = {
|
|
5
|
+
runtimeVersion: typeof GAME_SERVER_RUNTIME_VERSION;
|
|
6
|
+
rooms: string[];
|
|
7
|
+
size: number;
|
|
8
|
+
sha256: string;
|
|
9
|
+
};
|
|
10
|
+
export type GameServerBuild = {
|
|
11
|
+
bundlePath: string;
|
|
12
|
+
manifestPath: string;
|
|
13
|
+
manifest: GameServerManifest;
|
|
14
|
+
};
|
|
15
|
+
export declare function verifyGameServerDependencies(task: AppTask): void;
|
|
16
|
+
export declare function buildGameServer(task: AppTask): Promise<GameServerBuild | null>;
|
|
17
|
+
export declare function formatServerBuildPath(task: AppTask, absolutePath: string): string;
|