@playdrop/playdrop-cli 0.16.5 → 0.16.12
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/bin/playdrop +1 -2
- package/config/client-meta.json +4 -4
- package/dist/apiClient.d.ts +2 -2
- package/dist/apiClient.js +16 -20
- package/dist/appUrls.d.ts +2 -2
- package/dist/appUrls.js +31 -33
- package/dist/apps/build.d.ts +2 -2
- package/dist/apps/build.js +83 -83
- package/dist/apps/index.d.ts +7 -7
- package/dist/apps/index.js +8 -8
- package/dist/apps/loadCheck.d.ts +28 -16
- package/dist/apps/loadCheck.js +411 -279
- package/dist/apps/registration.d.ts +3 -3
- package/dist/apps/registration.js +1 -1
- package/dist/apps/staticHtml.d.ts +3 -3
- package/dist/apps/staticHtml.js +90 -91
- package/dist/apps/surfaceProfiles.d.ts +2 -2
- package/dist/apps/surfaceProfiles.js +6 -6
- package/dist/apps/upload.d.ts +5 -5
- package/dist/apps/upload.js +75 -81
- package/dist/apps/validate.d.ts +2 -2
- package/dist/apps/validate.js +18 -22
- package/dist/assetSpecs.d.ts +2 -2
- package/dist/assetSpecs.js +35 -35
- package/dist/assets/model-artifacts.d.ts +1 -1
- package/dist/assets/model-artifacts.js +81 -77
- package/dist/assets/model-worker.d.ts +1 -1
- package/dist/assets/model-worker.js +6 -6
- package/dist/browser.js +9 -9
- package/dist/catalogue-utils.d.ts +1 -1
- package/dist/catalogue-utils.js +26 -26
- package/dist/catalogue.d.ts +21 -16
- package/dist/catalogue.js +509 -413
- package/dist/clientInfo.d.ts +1 -1
- package/dist/clientInfo.js +28 -28
- package/dist/commandContext.d.ts +5 -5
- package/dist/commandContext.js +19 -23
- package/dist/commands/accounts.js +6 -6
- package/dist/commands/ads.js +16 -16
- package/dist/commands/agents.d.ts +2 -2
- package/dist/commands/agents.js +131 -127
- package/dist/commands/boosts.js +41 -31
- package/dist/commands/browse.d.ts +2 -2
- package/dist/commands/browse.js +168 -128
- package/dist/commands/build.js +9 -9
- package/dist/commands/captureListing.d.ts +8 -8
- package/dist/commands/captureListing.js +292 -332
- package/dist/commands/changelog.js +1 -1
- package/dist/commands/chat.js +51 -53
- package/dist/commands/check.d.ts +1 -1
- package/dist/commands/check.js +44 -44
- package/dist/commands/clients.d.ts +3 -3
- package/dist/commands/clients.js +67 -64
- package/dist/commands/comments.js +36 -29
- package/dist/commands/create.js +305 -312
- package/dist/commands/createRemixContent.d.ts +1 -1
- package/dist/commands/createRemixContent.js +65 -60
- package/dist/commands/creations.js +205 -135
- package/dist/commands/credits.js +37 -27
- package/dist/commands/detail.js +40 -34
- package/dist/commands/dev.js +103 -126
- package/dist/commands/devBrowser.js +74 -65
- package/dist/commands/devRuntimeAssets.d.ts +4 -4
- package/dist/commands/devRuntimeAssets.js +38 -40
- package/dist/commands/devServer.d.ts +4 -4
- package/dist/commands/devServer.js +183 -174
- package/dist/commands/devShared.d.ts +3 -3
- package/dist/commands/devShared.js +31 -31
- package/dist/commands/doctor.d.ts +5 -5
- package/dist/commands/doctor.js +63 -57
- package/dist/commands/documentation.js +42 -32
- package/dist/commands/feedback.js +59 -42
- package/dist/commands/format.js +9 -9
- package/dist/commands/generation.d.ts +2 -2
- package/dist/commands/generation.js +344 -326
- package/dist/commands/init.d.ts +4 -4
- package/dist/commands/init.js +64 -61
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.js +42 -62
- package/dist/commands/logout.js +4 -4
- package/dist/commands/marketing.d.ts +8 -8
- package/dist/commands/marketing.js +246 -297
- package/dist/commands/notes.js +19 -19
- package/dist/commands/notifications.js +34 -22
- package/dist/commands/npmProcess.js +3 -3
- package/dist/commands/ownedRuntimeImageValidation.d.ts +1 -1
- package/dist/commands/ownedRuntimeImageValidation.js +19 -17
- package/dist/commands/play.js +12 -21
- package/dist/commands/publicPages.js +8 -4
- package/dist/commands/review.js +123 -110
- package/dist/commands/search.js +107 -88
- package/dist/commands/tags.js +10 -12
- package/dist/commands/taskCaptureSession.d.ts +3 -3
- package/dist/commands/taskCaptureSession.js +3 -3
- package/dist/commands/tweaks.js +25 -23
- package/dist/commands/upgrade.js +40 -31
- package/dist/commands/upload-content.d.ts +5 -5
- package/dist/commands/upload-content.js +130 -122
- package/dist/commands/upload-graph.d.ts +1 -1
- package/dist/commands/upload-graph.js +7 -11
- package/dist/commands/upload.d.ts +7 -7
- package/dist/commands/upload.js +196 -217
- package/dist/commands/validate.js +33 -32
- package/dist/commands/versionsBrowse.js +61 -51
- package/dist/commands/whoami.js +11 -14
- package/dist/commands/worker/archive-staging.d.ts +9 -0
- package/dist/commands/worker/archive-staging.js +257 -0
- package/dist/commands/worker/instrument-evidence.d.ts +1 -1
- package/dist/commands/worker/instrument-evidence.js +41 -43
- package/dist/commands/worker/provider-telemetry.d.ts +2 -1
- package/dist/commands/worker/provider-telemetry.js +181 -64
- package/dist/commands/worker/runtime.d.ts +18 -3
- package/dist/commands/worker/runtime.js +291 -239
- package/dist/commands/worker.d.ts +83 -22
- package/dist/commands/worker.js +1980 -1411
- package/dist/commands/workspaces.d.ts +2 -2
- package/dist/commands/workspaces.js +57 -57
- package/dist/config.js +23 -20
- package/dist/devAuth.d.ts +3 -3
- package/dist/devAuth.js +20 -17
- package/dist/environment.d.ts +1 -1
- package/dist/environment.js +34 -34
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +7 -7
- package/dist/externalAssetPackValidation.d.ts +1 -1
- package/dist/externalAssetPackValidation.js +9 -9
- package/dist/http.d.ts +1 -1
- package/dist/http.js +9 -9
- package/dist/index.js +657 -664
- package/dist/listingCaptureLease.js +23 -23
- package/dist/listingPreflight.d.ts +2 -2
- package/dist/listingPreflight.js +33 -33
- package/dist/messages.js +6 -14
- package/dist/output.js +9 -9
- package/dist/playwright.d.ts +1 -1
- package/dist/playwright.js +35 -40
- package/dist/proxyFetch.js +30 -27
- package/dist/recorderRelease.js +8 -8
- package/dist/refs.d.ts +5 -5
- package/dist/refs.js +40 -37
- package/dist/sessionCookie.js +15 -21
- package/dist/shellProbe.js +5 -5
- package/dist/taskSelection.d.ts +3 -3
- package/dist/taskSelection.js +67 -62
- package/dist/taskUtils.d.ts +1 -1
- package/dist/taskUtils.js +4 -4
- package/dist/tweakStaleness.d.ts +3 -3
- package/dist/tweakStaleness.js +8 -8
- package/dist/uploadLog.d.ts +3 -3
- package/dist/uploadLog.js +51 -51
- package/dist/versionCompare.js +3 -3
- package/dist/workerAppProject.d.ts +1 -1
- package/dist/workerAppProject.js +10 -17
- package/dist/workspaceAuth.d.ts +1 -1
- package/dist/workspaceAuth.js +28 -22
- package/node_modules/@playdrop/ai-client/dist/index.d.ts +35 -35
- package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.d.ts +34 -33
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/core/errors.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/core/errors.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.js +4 -1
- package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +4 -3
- 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 +12 -0
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +4 -4
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +4 -4
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -4
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts +3 -3
- package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/free-credits.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/free-credits.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/me.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/me.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +3 -3
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/search.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.d.ts +19 -18
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +7 -2
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +47 -47
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +32 -47
- package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +16 -18
- package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +4 -4
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +44 -45
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +40 -44
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +30 -34
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +4 -4
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +23 -20
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +21 -21
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +19 -19
- package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/materials.js +12 -16
- package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +38 -41
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +54 -56
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/textures.js +39 -45
- package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +39 -43
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +35 -35
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +18 -18
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +3 -3
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +50 -48
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +22 -26
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +8 -8
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +23 -28
- package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +8 -8
- package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js +93 -95
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +2 -2
- package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +2 -7
- package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +3 -3
- package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +4 -4
- package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +3 -3
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +6 -6
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +9 -1
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +3 -3
- package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +17 -17
- package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +9 -9
- package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +3 -3
- package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +2 -2
- package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +2 -2
- package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +3 -3
- package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +4 -4
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +2 -2
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +1 -1
- package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +1 -1
- package/node_modules/@playdrop/config/client-meta.json +4 -4
- package/node_modules/@playdrop/config/dist/src/client-meta.d.ts +1 -1
- package/node_modules/@playdrop/config/dist/src/client-meta.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/client-meta.js +10 -10
- package/node_modules/@playdrop/config/dist/src/constants.js +10 -10
- package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +1 -1
- package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/creator-plans.js +27 -28
- package/node_modules/@playdrop/config/dist/src/deployment.d.ts +4 -4
- package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/deployment.js +42 -41
- package/node_modules/@playdrop/config/dist/src/game-arena.js +12 -12
- package/node_modules/@playdrop/config/dist/src/index.d.ts +9 -9
- package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/index.js +24 -25
- package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +4 -4
- package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/public-deployment.js +41 -39
- package/node_modules/@playdrop/config/dist/src/runtime-client-meta.js +1 -3
- package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +23 -25
- package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts +5 -5
- package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/server/fastify.js +44 -46
- package/node_modules/@playdrop/config/dist/src/server/logging.d.ts +1 -1
- package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/server/logging.js +6 -8
- package/node_modules/@playdrop/config/dist/src/types.d.ts +2 -2
- package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +12 -12
- package/node_modules/@playdrop/config/dist/test/deployment.test.js +59 -59
- package/node_modules/@playdrop/config/dist/test/fastify.test.js +4 -4
- package/node_modules/@playdrop/config/dist/test/game-arena.test.js +8 -8
- package/node_modules/@playdrop/config/dist/test/logging.test.js +6 -6
- package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.js +57 -57
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/types/dist/agent-task-playtest.d.ts.map +1 -1
- 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/api.d.ts +314 -250
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/api.js +40 -59
- package/node_modules/@playdrop/types/dist/app-capability-filters.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/app-playtest-tape.d.ts +6 -6
- package/node_modules/@playdrop/types/dist/app-playtest-tape.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/app-review.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/app-review.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/app-review.js +1 -6
- package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts +5 -5
- package/node_modules/@playdrop/types/dist/asset-spec.d.ts +4 -4
- package/node_modules/@playdrop/types/dist/asset.d.ts +11 -11
- package/node_modules/@playdrop/types/dist/attachment-policy.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/chat.d.ts +3 -3
- package/node_modules/@playdrop/types/dist/creator-public-image.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/graph.d.ts +4 -4
- package/node_modules/@playdrop/types/dist/index.d.ts +25 -25
- package/node_modules/@playdrop/types/dist/instrument-evidence.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/instrument-evidence.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/instrument-evidence.js +2 -11
- package/node_modules/@playdrop/types/dist/locale.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/locale.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/locale.js +2 -17
- package/node_modules/@playdrop/types/dist/owned-assets.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/owned-assets.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/player-meta.d.ts +3 -3
- package/node_modules/@playdrop/types/dist/player-meta.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/playtest-notes.d.ts +11 -11
- package/node_modules/@playdrop/types/dist/playtest-notes.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/playtrade.d.ts +8 -5
- package/node_modules/@playdrop/types/dist/playtrade.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/realtime.d.ts +1 -1
- package/node_modules/@playdrop/types/dist/tweaks.d.ts +4 -4
- package/node_modules/@playdrop/types/dist/tweaks.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/tweaks.js +12 -2
- package/node_modules/@playdrop/types/dist/version.d.ts +14 -14
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/version.js +4 -1
- package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
- package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +2 -2
- package/node_modules/@playdrop/vox-three/dist/src/vox.js +20 -18
- package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +11 -14
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
- package/package.json +1 -1
package/dist/tweakStaleness.js
CHANGED
|
@@ -11,14 +11,14 @@ function assertTweakStateMatches(task, latest) {
|
|
|
11
11
|
if (task.tweaks !== undefined && basedOn === latestId)
|
|
12
12
|
return;
|
|
13
13
|
throw new Error([
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`Code is based on: ${basedOn ??
|
|
17
|
-
`Latest state is: ${latestId ??
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
"Tweak definition is out of date.",
|
|
15
|
+
"",
|
|
16
|
+
`Code is based on: ${basedOn ?? "none"}`,
|
|
17
|
+
`Latest state is: ${latestId ?? "none"}`,
|
|
18
|
+
"",
|
|
19
|
+
"Latest values:",
|
|
20
20
|
JSON.stringify(latest?.values ?? null, null, 2),
|
|
21
|
-
].join(
|
|
21
|
+
].join("\n"));
|
|
22
22
|
}
|
|
23
23
|
async function fetchAndAssertTweakState(client, creatorUsername, task, options = {}) {
|
|
24
24
|
let latest = null;
|
|
@@ -28,7 +28,7 @@ async function fetchAndAssertTweakState(client, creatorUsername, task, options =
|
|
|
28
28
|
catch (error) {
|
|
29
29
|
if (!(error instanceof types_1.ApiError))
|
|
30
30
|
throw error;
|
|
31
|
-
if (error.code !==
|
|
31
|
+
if (error.code !== "tweaks_not_declared" && !(options.allowAppNotFound && error.code === "app_not_found")) {
|
|
32
32
|
throw error;
|
|
33
33
|
}
|
|
34
34
|
}
|
package/dist/uploadLog.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type TaskAction =
|
|
2
|
-
export type TaskStatus =
|
|
1
|
+
export type TaskAction = "validate" | "build" | "format" | "upload";
|
|
2
|
+
export type TaskStatus = "success" | "skipped" | "blocked" | "error";
|
|
3
3
|
export type TaskLogEntry = {
|
|
4
4
|
action: TaskAction;
|
|
5
5
|
status: TaskStatus;
|
|
6
|
-
entityType:
|
|
6
|
+
entityType: "app" | "asset-spec" | "asset" | "owned-asset" | "asset-pack" | "tag-group" | "tag";
|
|
7
7
|
entityId: string;
|
|
8
8
|
catalogue: string;
|
|
9
9
|
detail?: string;
|
package/dist/uploadLog.js
CHANGED
|
@@ -4,42 +4,42 @@ exports.formatTaskLogLine = formatTaskLogLine;
|
|
|
4
4
|
exports.printTaskSummary = printTaskSummary;
|
|
5
5
|
exports.printPublishedAppNextSteps = printPublishedAppNextSteps;
|
|
6
6
|
const STATUS_EMOJI = {
|
|
7
|
-
success:
|
|
8
|
-
skipped:
|
|
9
|
-
blocked:
|
|
10
|
-
error:
|
|
7
|
+
success: "✅",
|
|
8
|
+
skipped: "➖",
|
|
9
|
+
blocked: "⛔",
|
|
10
|
+
error: "❌",
|
|
11
11
|
};
|
|
12
12
|
const ACTION_VERBS = {
|
|
13
13
|
validate: {
|
|
14
|
-
success:
|
|
15
|
-
skipped:
|
|
16
|
-
blocked:
|
|
17
|
-
error:
|
|
14
|
+
success: "validated",
|
|
15
|
+
skipped: "skipped",
|
|
16
|
+
blocked: "blocked",
|
|
17
|
+
error: "",
|
|
18
18
|
},
|
|
19
19
|
build: {
|
|
20
|
-
success:
|
|
21
|
-
skipped:
|
|
22
|
-
blocked:
|
|
23
|
-
error:
|
|
20
|
+
success: "built",
|
|
21
|
+
skipped: "skipped",
|
|
22
|
+
blocked: "blocked",
|
|
23
|
+
error: "",
|
|
24
24
|
},
|
|
25
25
|
format: {
|
|
26
|
-
success:
|
|
27
|
-
skipped:
|
|
28
|
-
blocked:
|
|
29
|
-
error:
|
|
26
|
+
success: "formatted",
|
|
27
|
+
skipped: "skipped",
|
|
28
|
+
blocked: "blocked",
|
|
29
|
+
error: "",
|
|
30
30
|
},
|
|
31
31
|
upload: {
|
|
32
|
-
success:
|
|
33
|
-
skipped:
|
|
34
|
-
blocked:
|
|
35
|
-
error:
|
|
32
|
+
success: "",
|
|
33
|
+
skipped: "",
|
|
34
|
+
blocked: "",
|
|
35
|
+
error: "",
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
function formatLabel(entry) {
|
|
39
39
|
const base = entry.entityType;
|
|
40
|
-
const verb = ACTION_VERBS[entry.action]?.[entry.status] ??
|
|
40
|
+
const verb = ACTION_VERBS[entry.action]?.[entry.status] ?? "";
|
|
41
41
|
const labelParts = verb ? [base, verb] : [base];
|
|
42
|
-
return `${labelParts.join(
|
|
42
|
+
return `${labelParts.join(" ")} ${entry.entityId}`.trim();
|
|
43
43
|
}
|
|
44
44
|
function formatTaskLogLine(entry) {
|
|
45
45
|
const prefix = `${STATUS_EMOJI[entry.status]} ${formatLabel(entry)}`;
|
|
@@ -54,13 +54,13 @@ function summarize(entries) {
|
|
|
54
54
|
let blocked = 0;
|
|
55
55
|
let failed = 0;
|
|
56
56
|
for (const entry of entries) {
|
|
57
|
-
if (entry.status ===
|
|
57
|
+
if (entry.status === "success")
|
|
58
58
|
success += 1;
|
|
59
|
-
if (entry.status ===
|
|
59
|
+
if (entry.status === "skipped")
|
|
60
60
|
skipped += 1;
|
|
61
|
-
if (entry.status ===
|
|
61
|
+
if (entry.status === "blocked")
|
|
62
62
|
blocked += 1;
|
|
63
|
-
if (entry.status ===
|
|
63
|
+
if (entry.status === "error")
|
|
64
64
|
failed += 1;
|
|
65
65
|
}
|
|
66
66
|
return { success, skipped, blocked, failed };
|
|
@@ -75,44 +75,44 @@ function printTaskSummary(entries, warnings, options) {
|
|
|
75
75
|
const { success, skipped, blocked, failed } = summarize(entries);
|
|
76
76
|
const actionLabels = {
|
|
77
77
|
validate: {
|
|
78
|
-
complete:
|
|
79
|
-
error:
|
|
80
|
-
none:
|
|
81
|
-
unit:
|
|
78
|
+
complete: "Validation complete",
|
|
79
|
+
error: "Validation finished with errors",
|
|
80
|
+
none: "No entries validated",
|
|
81
|
+
unit: "validated",
|
|
82
82
|
},
|
|
83
83
|
build: {
|
|
84
|
-
complete:
|
|
85
|
-
error:
|
|
86
|
-
none:
|
|
87
|
-
unit:
|
|
84
|
+
complete: "Build complete",
|
|
85
|
+
error: "Build finished with errors",
|
|
86
|
+
none: "No entries built",
|
|
87
|
+
unit: "built",
|
|
88
88
|
},
|
|
89
89
|
format: {
|
|
90
|
-
complete:
|
|
91
|
-
error:
|
|
92
|
-
none:
|
|
93
|
-
unit:
|
|
90
|
+
complete: "Format complete",
|
|
91
|
+
error: "Format finished with errors",
|
|
92
|
+
none: "No entries formatted",
|
|
93
|
+
unit: "formatted",
|
|
94
94
|
},
|
|
95
95
|
upload: {
|
|
96
|
-
complete:
|
|
97
|
-
error:
|
|
98
|
-
none:
|
|
99
|
-
unit:
|
|
96
|
+
complete: "Upload complete",
|
|
97
|
+
error: "Upload finished with errors",
|
|
98
|
+
none: "No changes uploaded",
|
|
99
|
+
unit: "uploaded",
|
|
100
100
|
},
|
|
101
101
|
};
|
|
102
102
|
const labels = actionLabels[options.action];
|
|
103
103
|
let summaryEmoji;
|
|
104
104
|
let summaryText;
|
|
105
105
|
if (failed > 0 || blocked > 0) {
|
|
106
|
-
summaryEmoji =
|
|
106
|
+
summaryEmoji = "❌";
|
|
107
107
|
summaryText = labels.error;
|
|
108
108
|
process.exitCode = process.exitCode || 1;
|
|
109
109
|
}
|
|
110
110
|
else if (success === 0) {
|
|
111
|
-
summaryEmoji =
|
|
111
|
+
summaryEmoji = "➖";
|
|
112
112
|
summaryText = labels.none;
|
|
113
113
|
}
|
|
114
114
|
else {
|
|
115
|
-
summaryEmoji =
|
|
115
|
+
summaryEmoji = "✅";
|
|
116
116
|
summaryText = labels.complete;
|
|
117
117
|
}
|
|
118
118
|
const parts = [
|
|
@@ -121,21 +121,21 @@ function printTaskSummary(entries, warnings, options) {
|
|
|
121
121
|
`${blocked} blocked`,
|
|
122
122
|
`${failed} failed`,
|
|
123
123
|
];
|
|
124
|
-
if (options.action ===
|
|
124
|
+
if (options.action === "upload" && options.environment) {
|
|
125
125
|
parts[0] = `${parts[0]} (env ${options.environment})`;
|
|
126
126
|
}
|
|
127
|
-
console.log(parts.join(
|
|
127
|
+
console.log(parts.join(", "));
|
|
128
128
|
}
|
|
129
129
|
function printPublishedAppNextSteps(entries) {
|
|
130
|
-
const apps = entries.filter((entry) => entry.status ===
|
|
130
|
+
const apps = entries.filter((entry) => entry.status === "success" && entry.entityType === "app" && entry.playUrl);
|
|
131
131
|
for (const entry of apps) {
|
|
132
132
|
const playUrl = entry.playUrl;
|
|
133
|
-
console.log(
|
|
133
|
+
console.log("");
|
|
134
134
|
console.log(`Next steps for ${entry.entityId}:`);
|
|
135
135
|
console.log(`- Manually test the game at ${playUrl} and make sure it is working and up to spec.`);
|
|
136
136
|
console.log(`- Once satisfied, share the game URL on social media to start having people play it: ${playUrl}`);
|
|
137
|
-
console.log(
|
|
138
|
-
console.log(
|
|
137
|
+
console.log("- Publish the code on GitHub in a public repo with the playable game link in the README.");
|
|
138
|
+
console.log("- Set up automation to check player feedback every day using play count, likes, and comments, then come up with improvement ideas from it.");
|
|
139
139
|
console.log('- Send feedback to Playdrop with "playdrop feedback send" for any bugs or improvement ideas you encountered.');
|
|
140
140
|
}
|
|
141
141
|
}
|
package/dist/versionCompare.js
CHANGED
|
@@ -23,8 +23,8 @@ function compareVersions(left, right) {
|
|
|
23
23
|
function parseVersion(value) {
|
|
24
24
|
return value
|
|
25
25
|
.trim()
|
|
26
|
-
.replace(/^[vV]/,
|
|
27
|
-
.split(
|
|
28
|
-
.map((part) => Number.parseInt(part.split(
|
|
26
|
+
.replace(/^[vV]/, "")
|
|
27
|
+
.split(".")
|
|
28
|
+
.map((part) => Number.parseInt(part.split("-")[0] ?? "0", 10))
|
|
29
29
|
.filter((part) => Number.isFinite(part));
|
|
30
30
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { AppTask } from
|
|
1
|
+
import type { AppTask } from "./catalogue";
|
|
2
2
|
export declare function prepareWorkerAppTask(task: AppTask): AppTask;
|
package/dist/workerAppProject.js
CHANGED
|
@@ -3,30 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prepareWorkerAppTask = prepareWorkerAppTask;
|
|
4
4
|
const node_path_1 = require("node:path");
|
|
5
5
|
const WORKER_SOURCE_EXCLUDES = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
];
|
|
13
|
-
const WORKER_BUNDLE_EXCLUDES = [
|
|
14
|
-
...WORKER_SOURCE_EXCLUDES,
|
|
15
|
-
'assets/marketing/',
|
|
16
|
-
'listing/',
|
|
6
|
+
"PLAYDROP_TASK.md",
|
|
7
|
+
"AGENTS.md",
|
|
8
|
+
"CLAUDE.md",
|
|
9
|
+
".playdrop/",
|
|
10
|
+
".playdrop-task-events/",
|
|
11
|
+
"bin/playdrop",
|
|
17
12
|
];
|
|
13
|
+
const WORKER_BUNDLE_EXCLUDES = [...WORKER_SOURCE_EXCLUDES, "assets/marketing/", "listing/"];
|
|
18
14
|
function prepareWorkerAppTask(task) {
|
|
19
|
-
const catalogueRelativePath = (0, node_path_1.relative)(task.projectDir, task.catalogueAbsolutePath)
|
|
20
|
-
.replace(/\\/g, '/');
|
|
15
|
+
const catalogueRelativePath = (0, node_path_1.relative)(task.projectDir, task.catalogueAbsolutePath).replace(/\\/g, "/");
|
|
21
16
|
const bundleArchiveExcludeRelativeFiles = [
|
|
22
17
|
...WORKER_BUNDLE_EXCLUDES,
|
|
23
|
-
...(catalogueRelativePath && !catalogueRelativePath.startsWith(
|
|
24
|
-
? [catalogueRelativePath]
|
|
25
|
-
: []),
|
|
18
|
+
...(catalogueRelativePath && !catalogueRelativePath.startsWith("../") ? [catalogueRelativePath] : []),
|
|
26
19
|
];
|
|
27
20
|
return {
|
|
28
21
|
...task,
|
|
29
|
-
versionVisibility:
|
|
22
|
+
versionVisibility: "PRIVATE",
|
|
30
23
|
sourceArchiveExcludeRelativeFiles: WORKER_SOURCE_EXCLUDES,
|
|
31
24
|
bundleArchiveExcludeRelativeFiles,
|
|
32
25
|
};
|
package/dist/workspaceAuth.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface ResolvedWorkspaceAuthConfig {
|
|
|
12
12
|
}
|
|
13
13
|
export declare class WorkspaceAuthConfigError extends Error {
|
|
14
14
|
readonly filePath: string;
|
|
15
|
-
constructor(filePath: string, reason:
|
|
15
|
+
constructor(filePath: string, reason: "invalid_json" | "invalid_shape" | "missing_owner_username");
|
|
16
16
|
}
|
|
17
17
|
export declare function findWorkspaceAuthConfig(startPath: string): ResolvedWorkspaceAuthConfig | null;
|
|
18
18
|
export declare function findWorkerTaskWorkspaceAuthConfig(startPath: string): ResolvedWorkspaceAuthConfig | null;
|
package/dist/workspaceAuth.js
CHANGED
|
@@ -8,53 +8,53 @@ const node_path_1 = require("node:path");
|
|
|
8
8
|
class WorkspaceAuthConfigError extends Error {
|
|
9
9
|
constructor(filePath, reason) {
|
|
10
10
|
super(reason);
|
|
11
|
-
this.name =
|
|
11
|
+
this.name = "WorkspaceAuthConfigError";
|
|
12
12
|
this.filePath = filePath;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.WorkspaceAuthConfigError = WorkspaceAuthConfigError;
|
|
16
|
-
const WORKSPACE_AUTH_FILENAME =
|
|
17
|
-
const WORKER_TASK_CONTEXT_PATH = (0, node_path_1.join)(
|
|
16
|
+
const WORKSPACE_AUTH_FILENAME = ".playdrop.json";
|
|
17
|
+
const WORKER_TASK_CONTEXT_PATH = (0, node_path_1.join)(".playdrop", "task.json");
|
|
18
18
|
function normalizeOwnerUsername(value) {
|
|
19
|
-
if (typeof value !==
|
|
19
|
+
if (typeof value !== "string") {
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
const normalized = value.trim();
|
|
23
23
|
return normalized.length > 0 ? normalized : null;
|
|
24
24
|
}
|
|
25
25
|
function normalizeEnv(value) {
|
|
26
|
-
if (typeof value !==
|
|
26
|
+
if (typeof value !== "string") {
|
|
27
27
|
return undefined;
|
|
28
28
|
}
|
|
29
29
|
const normalized = value.trim();
|
|
30
30
|
return normalized.length > 0 ? normalized : undefined;
|
|
31
31
|
}
|
|
32
32
|
function normalizeTaskToken(value) {
|
|
33
|
-
if (typeof value !==
|
|
33
|
+
if (typeof value !== "string") {
|
|
34
34
|
return undefined;
|
|
35
35
|
}
|
|
36
36
|
const normalized = value.trim();
|
|
37
37
|
return normalized.length > 0 ? normalized : undefined;
|
|
38
38
|
}
|
|
39
39
|
function normalizePositiveInteger(value) {
|
|
40
|
-
const parsed = typeof value ===
|
|
40
|
+
const parsed = typeof value === "number" ? value : Number.parseInt(String(value ?? ""), 10);
|
|
41
41
|
return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined;
|
|
42
42
|
}
|
|
43
43
|
function readWorkspaceAuthConfig(filePath) {
|
|
44
44
|
let parsed;
|
|
45
45
|
try {
|
|
46
|
-
const raw = (0, node_fs_1.readFileSync)(filePath,
|
|
46
|
+
const raw = (0, node_fs_1.readFileSync)(filePath, "utf8");
|
|
47
47
|
parsed = JSON.parse(raw);
|
|
48
48
|
}
|
|
49
49
|
catch {
|
|
50
|
-
throw new WorkspaceAuthConfigError(filePath,
|
|
50
|
+
throw new WorkspaceAuthConfigError(filePath, "invalid_json");
|
|
51
51
|
}
|
|
52
|
-
if (!parsed || typeof parsed !==
|
|
53
|
-
throw new WorkspaceAuthConfigError(filePath,
|
|
52
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
53
|
+
throw new WorkspaceAuthConfigError(filePath, "invalid_shape");
|
|
54
54
|
}
|
|
55
55
|
const ownerUsername = normalizeOwnerUsername(parsed.ownerUsername);
|
|
56
56
|
if (!ownerUsername) {
|
|
57
|
-
throw new WorkspaceAuthConfigError(filePath,
|
|
57
|
+
throw new WorkspaceAuthConfigError(filePath, "missing_owner_username");
|
|
58
58
|
}
|
|
59
59
|
return {
|
|
60
60
|
ownerUsername,
|
|
@@ -99,33 +99,39 @@ function findWorkerTaskWorkspaceAuthConfig(startPath) {
|
|
|
99
99
|
if ((0, node_fs_1.existsSync)(candidate) && (0, node_fs_1.statSync)(candidate).isFile()) {
|
|
100
100
|
let parsed;
|
|
101
101
|
try {
|
|
102
|
-
parsed = JSON.parse((0, node_fs_1.readFileSync)(candidate,
|
|
102
|
+
parsed = JSON.parse((0, node_fs_1.readFileSync)(candidate, "utf8"));
|
|
103
103
|
}
|
|
104
104
|
catch {
|
|
105
|
-
throw new WorkspaceAuthConfigError(candidate,
|
|
105
|
+
throw new WorkspaceAuthConfigError(candidate, "invalid_json");
|
|
106
106
|
}
|
|
107
|
-
if (!parsed || typeof parsed !==
|
|
108
|
-
throw new WorkspaceAuthConfigError(candidate,
|
|
107
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
108
|
+
throw new WorkspaceAuthConfigError(candidate, "invalid_shape");
|
|
109
109
|
}
|
|
110
110
|
const document = parsed;
|
|
111
|
-
const task = document.task && typeof document.task ===
|
|
111
|
+
const task = document.task && typeof document.task === "object" && !Array.isArray(document.task)
|
|
112
112
|
? document.task
|
|
113
113
|
: null;
|
|
114
|
-
const worker = document.worker && typeof document.worker ===
|
|
114
|
+
const worker = document.worker && typeof document.worker === "object" && !Array.isArray(document.worker)
|
|
115
115
|
? document.worker
|
|
116
116
|
: null;
|
|
117
|
-
const metadata = task?.metadata && typeof task.metadata ===
|
|
117
|
+
const metadata = task?.metadata && typeof task.metadata === "object" && !Array.isArray(task.metadata)
|
|
118
118
|
? task.metadata
|
|
119
119
|
: null;
|
|
120
|
-
const playdrop = metadata?.playdrop && typeof metadata.playdrop ===
|
|
120
|
+
const playdrop = metadata?.playdrop && typeof metadata.playdrop === "object" && !Array.isArray(metadata.playdrop)
|
|
121
121
|
? metadata.playdrop
|
|
122
122
|
: null;
|
|
123
123
|
const ownerUsername = normalizeOwnerUsername(playdrop?.creatorUsername);
|
|
124
124
|
const taskToken = normalizeTaskToken(task?.token);
|
|
125
125
|
const taskId = normalizePositiveInteger(task?.id);
|
|
126
126
|
const taskAttempt = normalizePositiveInteger(task?.attempt);
|
|
127
|
-
if (document.protocolVersion !== 2 ||
|
|
128
|
-
|
|
127
|
+
if (document.protocolVersion !== 2 ||
|
|
128
|
+
!task ||
|
|
129
|
+
!worker ||
|
|
130
|
+
!ownerUsername ||
|
|
131
|
+
!taskToken ||
|
|
132
|
+
!taskId ||
|
|
133
|
+
!taskAttempt) {
|
|
134
|
+
throw new WorkspaceAuthConfigError(candidate, ownerUsername ? "invalid_shape" : "missing_owner_username");
|
|
129
135
|
}
|
|
130
136
|
return {
|
|
131
137
|
path: candidate,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type { AssetEmbeddedMetadata, AssetMetadataEmbeddingStatus, AssetSpeechMetadata, PlaydropSpeechVoiceId } from
|
|
2
|
-
export type TextGenerationMode =
|
|
3
|
-
export type TextGenerationSize =
|
|
1
|
+
import type { AssetEmbeddedMetadata, AssetMetadataEmbeddingStatus, AssetSpeechMetadata, PlaydropSpeechVoiceId } from "@playdrop/types";
|
|
2
|
+
export type TextGenerationMode = "text";
|
|
3
|
+
export type TextGenerationSize = "small" | "medium" | "large";
|
|
4
4
|
export type ImageAttachment = {
|
|
5
5
|
data?: string;
|
|
6
6
|
mimeType?: string;
|
|
7
7
|
url?: string;
|
|
8
8
|
};
|
|
9
|
-
export type AiImageAspectRatio =
|
|
10
|
-
export type AiImageSize =
|
|
9
|
+
export type AiImageAspectRatio = "1:1" | "3:4" | "9:16" | "4:3" | "16:9";
|
|
10
|
+
export type AiImageSize = "1K" | "4K";
|
|
11
11
|
export type GenerationBilling = {
|
|
12
12
|
amount: number;
|
|
13
|
-
paidBy:
|
|
13
|
+
paidBy: "USER" | "CREATOR";
|
|
14
14
|
generationId: string;
|
|
15
15
|
transactionId: number;
|
|
16
16
|
creditBalance: number;
|
|
@@ -57,7 +57,7 @@ export type GenerateImageResponse = {
|
|
|
57
57
|
generatedAssetDisplayName?: string | null;
|
|
58
58
|
generatedAssetDescription?: string | null;
|
|
59
59
|
model: string;
|
|
60
|
-
mode:
|
|
60
|
+
mode: "image";
|
|
61
61
|
cost: number;
|
|
62
62
|
totalTokenCount: number | null;
|
|
63
63
|
promptTokenCount: number | null;
|
|
@@ -73,7 +73,7 @@ export type GenerateJsonResponse = {
|
|
|
73
73
|
raw: string;
|
|
74
74
|
size: TextGenerationSize;
|
|
75
75
|
model: string;
|
|
76
|
-
mode:
|
|
76
|
+
mode: "json";
|
|
77
77
|
cost: number;
|
|
78
78
|
totalTokenCount: number | null;
|
|
79
79
|
promptTokenCount: number | null;
|
|
@@ -98,7 +98,7 @@ export type GenerateMusicResponse = {
|
|
|
98
98
|
embeddingStatus?: AssetMetadataEmbeddingStatus;
|
|
99
99
|
metadataUrl?: string | null;
|
|
100
100
|
model: string;
|
|
101
|
-
mode:
|
|
101
|
+
mode: "music";
|
|
102
102
|
cost: number;
|
|
103
103
|
generatedAsset?: GeneratedAssetRef;
|
|
104
104
|
createdAt: string;
|
|
@@ -116,7 +116,7 @@ export type GenerateSfxResponse = {
|
|
|
116
116
|
embeddingStatus?: AssetMetadataEmbeddingStatus;
|
|
117
117
|
metadataUrl?: string | null;
|
|
118
118
|
model: string;
|
|
119
|
-
mode:
|
|
119
|
+
mode: "sfx";
|
|
120
120
|
cost: number;
|
|
121
121
|
generatedAsset?: GeneratedAssetRef;
|
|
122
122
|
createdAt: string;
|
|
@@ -133,7 +133,7 @@ export type GenerateSpeechResponse = {
|
|
|
133
133
|
embeddingStatus?: AssetMetadataEmbeddingStatus;
|
|
134
134
|
metadataUrl?: string | null;
|
|
135
135
|
model: string;
|
|
136
|
-
mode:
|
|
136
|
+
mode: "speech";
|
|
137
137
|
cost: number;
|
|
138
138
|
generatedAsset?: GeneratedAssetRef;
|
|
139
139
|
createdAt: string;
|
|
@@ -142,8 +142,8 @@ export type GenerateSpeechResponse = {
|
|
|
142
142
|
export type GenerateVideoResponse = {
|
|
143
143
|
input: string;
|
|
144
144
|
durationSeconds: 4 | 8;
|
|
145
|
-
aspectRatio:
|
|
146
|
-
resolution:
|
|
145
|
+
aspectRatio: "16:9" | "9:16";
|
|
146
|
+
resolution: "720p";
|
|
147
147
|
videoUrl: string;
|
|
148
148
|
videoMimeType: string;
|
|
149
149
|
thumbnailUrl: string | null;
|
|
@@ -153,7 +153,7 @@ export type GenerateVideoResponse = {
|
|
|
153
153
|
generatedAssetDisplayName?: string | null;
|
|
154
154
|
generatedAssetDescription?: string | null;
|
|
155
155
|
model: string;
|
|
156
|
-
mode:
|
|
156
|
+
mode: "video";
|
|
157
157
|
cost: number;
|
|
158
158
|
generatedAsset?: GeneratedAssetRef;
|
|
159
159
|
createdAt: string;
|
|
@@ -161,8 +161,8 @@ export type GenerateVideoResponse = {
|
|
|
161
161
|
};
|
|
162
162
|
export type GenerateModel3DResponse = {
|
|
163
163
|
input: string;
|
|
164
|
-
sourceMode:
|
|
165
|
-
topology:
|
|
164
|
+
sourceMode: "TEXT" | "IMAGE";
|
|
165
|
+
topology: "triangle" | "quad";
|
|
166
166
|
targetPolycount: number;
|
|
167
167
|
shouldRemesh: boolean;
|
|
168
168
|
shouldTexture: boolean;
|
|
@@ -177,13 +177,13 @@ export type GenerateModel3DResponse = {
|
|
|
177
177
|
generatedAssetDisplayName?: string | null;
|
|
178
178
|
generatedAssetDescription?: string | null;
|
|
179
179
|
model: string;
|
|
180
|
-
mode:
|
|
180
|
+
mode: "model_3d";
|
|
181
181
|
cost: number;
|
|
182
182
|
generatedAsset?: GeneratedAssetRef;
|
|
183
183
|
createdAt: string;
|
|
184
184
|
billing: GenerationBilling;
|
|
185
185
|
};
|
|
186
|
-
export type GenerateAssetModality =
|
|
186
|
+
export type GenerateAssetModality = "IMAGE" | "MUSIC" | "SFX" | "SPEECH" | "VIDEO" | "MODEL_3D";
|
|
187
187
|
export type GenerateAssetRequest = {
|
|
188
188
|
modality: GenerateAssetModality;
|
|
189
189
|
input: string;
|
|
@@ -191,7 +191,7 @@ export type GenerateAssetRequest = {
|
|
|
191
191
|
assetName?: string;
|
|
192
192
|
assetDisplayName?: string;
|
|
193
193
|
assetDescription?: string;
|
|
194
|
-
assetVisibility?:
|
|
194
|
+
assetVisibility?: "PRIVATE" | "PUBLIC";
|
|
195
195
|
assetSubcategory?: string;
|
|
196
196
|
attachAppVersionId?: number;
|
|
197
197
|
remixAssetVersionRef?: string;
|
|
@@ -207,14 +207,14 @@ export type GenerateAssetRequest = {
|
|
|
207
207
|
speechProviderVoiceId?: string;
|
|
208
208
|
aspectRatio?: AiImageAspectRatio;
|
|
209
209
|
imageSize?: AiImageSize;
|
|
210
|
-
resolution?:
|
|
211
|
-
sourceMode?:
|
|
212
|
-
topology?:
|
|
210
|
+
resolution?: "720p";
|
|
211
|
+
sourceMode?: "TEXT" | "IMAGE";
|
|
212
|
+
topology?: "triangle" | "quad";
|
|
213
213
|
targetPolycount?: number;
|
|
214
214
|
shouldRemesh?: boolean;
|
|
215
215
|
shouldTexture?: boolean;
|
|
216
216
|
};
|
|
217
|
-
export type GenerationJobStatus =
|
|
217
|
+
export type GenerationJobStatus = "PENDING" | "RUNNING" | "SUCCESS" | "FAILURE";
|
|
218
218
|
export declare const GENERATION_JOB_ETA_BASELINE_SECONDS: Record<GenerateAssetModality, number>;
|
|
219
219
|
export type GenerationJobRecord = {
|
|
220
220
|
id: string;
|
|
@@ -249,7 +249,7 @@ type PaginationMeta = {
|
|
|
249
249
|
};
|
|
250
250
|
type GenerationRecordBase = {
|
|
251
251
|
id: string;
|
|
252
|
-
type:
|
|
252
|
+
type: "text" | "json" | "image" | "music" | "sfx" | "speech" | "video" | "model_3d";
|
|
253
253
|
cost: number;
|
|
254
254
|
createdAt: string;
|
|
255
255
|
};
|
|
@@ -279,21 +279,21 @@ export type ElevenLabsCompositionPlan = {
|
|
|
279
279
|
sections?: ElevenLabsCompositionPlanSection[];
|
|
280
280
|
};
|
|
281
281
|
export type ListTextGenerationRecord = GenerationRecordBase & {
|
|
282
|
-
type:
|
|
282
|
+
type: "text";
|
|
283
283
|
systemPrompt: string | null;
|
|
284
284
|
inputPrompt: string;
|
|
285
285
|
outputText: string;
|
|
286
286
|
modelSize: TextGenerationSize;
|
|
287
287
|
};
|
|
288
288
|
export type ListJsonGenerationRecord = GenerationRecordBase & {
|
|
289
|
-
type:
|
|
289
|
+
type: "json";
|
|
290
290
|
systemPrompt: string | null;
|
|
291
291
|
inputPrompt: string;
|
|
292
292
|
outputSchema: unknown;
|
|
293
293
|
outputJSON: unknown;
|
|
294
294
|
};
|
|
295
295
|
export type ListImageGenerationRecord = GenerationRecordBase & {
|
|
296
|
-
type:
|
|
296
|
+
type: "image";
|
|
297
297
|
inputPrompt: string;
|
|
298
298
|
inputImages: string[];
|
|
299
299
|
outputImage: string | null;
|
|
@@ -308,7 +308,7 @@ export type ListImageGenerationRecord = GenerationRecordBase & {
|
|
|
308
308
|
generatedAsset?: GeneratedAssetRef;
|
|
309
309
|
};
|
|
310
310
|
export type ListMusicGenerationRecord = GenerationRecordBase & {
|
|
311
|
-
type:
|
|
311
|
+
type: "music";
|
|
312
312
|
inputPrompt: string;
|
|
313
313
|
durationMs: number | null;
|
|
314
314
|
forceInstrumental: boolean;
|
|
@@ -325,7 +325,7 @@ export type ListMusicGenerationRecord = GenerationRecordBase & {
|
|
|
325
325
|
generatedAsset?: GeneratedAssetRef;
|
|
326
326
|
};
|
|
327
327
|
export type ListSfxGenerationRecord = GenerationRecordBase & {
|
|
328
|
-
type:
|
|
328
|
+
type: "sfx";
|
|
329
329
|
inputPrompt: string;
|
|
330
330
|
durationSeconds: number | null;
|
|
331
331
|
loop: boolean;
|
|
@@ -339,7 +339,7 @@ export type ListSfxGenerationRecord = GenerationRecordBase & {
|
|
|
339
339
|
generatedAsset?: GeneratedAssetRef;
|
|
340
340
|
};
|
|
341
341
|
export type ListSpeechGenerationRecord = GenerationRecordBase & {
|
|
342
|
-
type:
|
|
342
|
+
type: "speech";
|
|
343
343
|
inputPrompt: string;
|
|
344
344
|
audioUrl: string | null;
|
|
345
345
|
audioMimeType: string | null;
|
|
@@ -352,7 +352,7 @@ export type ListSpeechGenerationRecord = GenerationRecordBase & {
|
|
|
352
352
|
generatedAsset?: GeneratedAssetRef;
|
|
353
353
|
};
|
|
354
354
|
export type ListVideoGenerationRecord = GenerationRecordBase & {
|
|
355
|
-
type:
|
|
355
|
+
type: "video";
|
|
356
356
|
inputPrompt: string;
|
|
357
357
|
durationSeconds: number | null;
|
|
358
358
|
aspectRatio: string | null;
|
|
@@ -369,10 +369,10 @@ export type ListVideoGenerationRecord = GenerationRecordBase & {
|
|
|
369
369
|
generatedAsset?: GeneratedAssetRef;
|
|
370
370
|
};
|
|
371
371
|
export type ListModel3DGenerationRecord = GenerationRecordBase & {
|
|
372
|
-
type:
|
|
372
|
+
type: "model_3d";
|
|
373
373
|
inputPrompt: string;
|
|
374
|
-
sourceMode:
|
|
375
|
-
topology:
|
|
374
|
+
sourceMode: "TEXT" | "IMAGE" | null;
|
|
375
|
+
topology: "triangle" | "quad" | null;
|
|
376
376
|
targetPolycount: number | null;
|
|
377
377
|
shouldRemesh: boolean;
|
|
378
378
|
shouldTexture: boolean;
|
|
@@ -391,7 +391,7 @@ export type ListModel3DGenerationRecord = GenerationRecordBase & {
|
|
|
391
391
|
export type GenerationRecord = ListTextGenerationRecord | ListJsonGenerationRecord | ListImageGenerationRecord | ListMusicGenerationRecord | ListSfxGenerationRecord | ListSpeechGenerationRecord | ListVideoGenerationRecord | ListModel3DGenerationRecord;
|
|
392
392
|
export type ListGenerationsOptions = {
|
|
393
393
|
signal?: AbortSignal;
|
|
394
|
-
type?:
|
|
394
|
+
type?: "text" | "json" | "image" | "music" | "sfx" | "speech" | "video" | "model_3d";
|
|
395
395
|
limit?: number;
|
|
396
396
|
offset?: number;
|
|
397
397
|
};
|