@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
|
@@ -28,10 +28,10 @@ const refs_1 = require("../refs");
|
|
|
28
28
|
const MERGED_PAGE_SIZE = 100;
|
|
29
29
|
function parseBrowseKind(raw) {
|
|
30
30
|
if (!raw || raw.trim().length === 0) {
|
|
31
|
-
return
|
|
31
|
+
return "all";
|
|
32
32
|
}
|
|
33
33
|
const normalized = raw.trim().toLowerCase();
|
|
34
|
-
if (normalized ===
|
|
34
|
+
if (normalized === "app" || normalized === "asset" || normalized === "asset-pack" || normalized === "all") {
|
|
35
35
|
return normalized;
|
|
36
36
|
}
|
|
37
37
|
return null;
|
|
@@ -40,11 +40,11 @@ function parsePositiveInteger(raw, label, fallback) {
|
|
|
40
40
|
if (raw === undefined) {
|
|
41
41
|
return fallback;
|
|
42
42
|
}
|
|
43
|
-
const parsed = typeof raw ===
|
|
43
|
+
const parsed = typeof raw === "number" ? raw : Number.parseInt(String(raw), 10);
|
|
44
44
|
if (!Number.isInteger(parsed) || parsed < 0) {
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
47
|
-
if (label ===
|
|
47
|
+
if (label === "limit" && parsed <= 0) {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
return parsed;
|
|
@@ -55,17 +55,19 @@ async function resolveCreator(client, rawCreator, command) {
|
|
|
55
55
|
creator = (0, refs_1.parseCreatorOption)(rawCreator);
|
|
56
56
|
}
|
|
57
57
|
catch {
|
|
58
|
-
(0, messages_1.printErrorWithHelp)(
|
|
58
|
+
(0, messages_1.printErrorWithHelp)("The --creator value is invalid.", ["Use me or a creator slug without path separators."], {
|
|
59
|
+
command,
|
|
60
|
+
});
|
|
59
61
|
process.exitCode = 1;
|
|
60
62
|
return null;
|
|
61
63
|
}
|
|
62
|
-
if (creator !==
|
|
64
|
+
if (creator !== "me") {
|
|
63
65
|
return creator;
|
|
64
66
|
}
|
|
65
67
|
const response = await client.me();
|
|
66
68
|
const username = response.user?.username?.trim();
|
|
67
69
|
if (!username) {
|
|
68
|
-
(0, messages_1.printErrorWithHelp)(
|
|
70
|
+
(0, messages_1.printErrorWithHelp)("Could not resolve your current creator account.", ['Run "playdrop auth whoami" to confirm your session, then retry.'], { command });
|
|
69
71
|
process.exitCode = 1;
|
|
70
72
|
return null;
|
|
71
73
|
}
|
|
@@ -73,10 +75,12 @@ async function resolveCreator(client, rawCreator, command) {
|
|
|
73
75
|
}
|
|
74
76
|
function parseRevision(raw, command) {
|
|
75
77
|
const normalized = raw.trim().toLowerCase();
|
|
76
|
-
const numeric = normalized.startsWith(
|
|
78
|
+
const numeric = normalized.startsWith("r") ? normalized.slice(1) : normalized;
|
|
77
79
|
const parsed = Number.parseInt(numeric, 10);
|
|
78
80
|
if (!Number.isInteger(parsed) || parsed <= 0) {
|
|
79
|
-
(0, messages_1.printErrorWithHelp)(
|
|
81
|
+
(0, messages_1.printErrorWithHelp)("Revision must be a positive integer or r-prefixed revision label.", ["Example: r2"], {
|
|
82
|
+
command,
|
|
83
|
+
});
|
|
80
84
|
process.exitCode = 1;
|
|
81
85
|
return null;
|
|
82
86
|
}
|
|
@@ -85,44 +89,44 @@ function parseRevision(raw, command) {
|
|
|
85
89
|
function parseVersion(raw, command) {
|
|
86
90
|
const normalized = raw.trim();
|
|
87
91
|
if (!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(normalized)) {
|
|
88
|
-
(0, messages_1.printErrorWithHelp)(
|
|
92
|
+
(0, messages_1.printErrorWithHelp)("Version must use semantic version format x.y.z.", ["Example: 1.2.0"], { command });
|
|
89
93
|
process.exitCode = 1;
|
|
90
94
|
return null;
|
|
91
95
|
}
|
|
92
96
|
return normalized;
|
|
93
97
|
}
|
|
94
98
|
function kindLabel(kind) {
|
|
95
|
-
return kind ===
|
|
99
|
+
return kind === "all" ? "content" : kind === "asset-pack" ? "asset packs" : `${kind}s`;
|
|
96
100
|
}
|
|
97
101
|
function formatCountValue(value) {
|
|
98
|
-
return value.toLocaleString(
|
|
102
|
+
return value.toLocaleString("en-US");
|
|
99
103
|
}
|
|
100
104
|
function buildCountsSuffix(item) {
|
|
101
105
|
const parts = [];
|
|
102
|
-
if (item.kind ===
|
|
103
|
-
if (typeof item.item.viewCount ===
|
|
106
|
+
if (item.kind === "app" && "playCount" in item.item && typeof item.item.playCount === "number") {
|
|
107
|
+
if (typeof item.item.viewCount === "number") {
|
|
104
108
|
parts.push(`view ${formatCountValue(item.item.viewCount)}`);
|
|
105
109
|
}
|
|
106
110
|
parts.push(`launch ${formatCountValue(item.item.playCount)}`);
|
|
107
111
|
}
|
|
108
|
-
if (item.kind ===
|
|
109
|
-
if (
|
|
112
|
+
if (item.kind === "asset") {
|
|
113
|
+
if ("viewCount" in item.item && typeof item.item.viewCount === "number") {
|
|
110
114
|
parts.push(`view ${formatCountValue(item.item.viewCount)}`);
|
|
111
115
|
}
|
|
112
116
|
}
|
|
113
|
-
if (item.kind ===
|
|
117
|
+
if (item.kind === "asset-pack" && "downloadCount" in item.item && typeof item.item.downloadCount === "number") {
|
|
114
118
|
parts.push(`download ${formatCountValue(item.item.downloadCount)}`);
|
|
115
119
|
}
|
|
116
|
-
if (typeof item.item.likeCount ===
|
|
120
|
+
if (typeof item.item.likeCount === "number") {
|
|
117
121
|
parts.push(`like ${formatCountValue(item.item.likeCount)}`);
|
|
118
122
|
}
|
|
119
|
-
if (typeof item.item.remixCount ===
|
|
123
|
+
if (typeof item.item.remixCount === "number") {
|
|
120
124
|
parts.push(`remix ${formatCountValue(item.item.remixCount)}`);
|
|
121
125
|
}
|
|
122
|
-
if (typeof item.item.commentCount ===
|
|
126
|
+
if (typeof item.item.commentCount === "number") {
|
|
123
127
|
parts.push(`comment ${formatCountValue(item.item.commentCount)}`);
|
|
124
128
|
}
|
|
125
|
-
return parts.length > 0 ? ` | ${parts.join(
|
|
129
|
+
return parts.length > 0 ? ` | ${parts.join(" | ")}` : "";
|
|
126
130
|
}
|
|
127
131
|
async function collectPaginatedItems(fetchPage) {
|
|
128
132
|
const items = [];
|
|
@@ -136,7 +140,7 @@ async function collectPaginatedItems(fetchPage) {
|
|
|
136
140
|
break;
|
|
137
141
|
}
|
|
138
142
|
if (page.pagination.limit <= 0) {
|
|
139
|
-
throw new Error(
|
|
143
|
+
throw new Error("invalid_pagination_limit");
|
|
140
144
|
}
|
|
141
145
|
offset += page.pagination.limit;
|
|
142
146
|
}
|
|
@@ -165,10 +169,12 @@ function requirePagination(pagination, context) {
|
|
|
165
169
|
}
|
|
166
170
|
function parseManagedName(raw, command) {
|
|
167
171
|
try {
|
|
168
|
-
return (0, refs_1.parseScopedName)(raw ??
|
|
172
|
+
return (0, refs_1.parseScopedName)(raw ?? "", "name");
|
|
169
173
|
}
|
|
170
174
|
catch {
|
|
171
|
-
(0, messages_1.printErrorWithHelp)(
|
|
175
|
+
(0, messages_1.printErrorWithHelp)("A valid name is required.", ["Names cannot be empty and cannot contain path separators."], {
|
|
176
|
+
command,
|
|
177
|
+
});
|
|
172
178
|
process.exitCode = 1;
|
|
173
179
|
return null;
|
|
174
180
|
}
|
|
@@ -178,10 +184,12 @@ function parseOptionalManagedName(raw, command) {
|
|
|
178
184
|
return undefined;
|
|
179
185
|
}
|
|
180
186
|
try {
|
|
181
|
-
return (0, refs_1.parseScopedName)(raw,
|
|
187
|
+
return (0, refs_1.parseScopedName)(raw, "name");
|
|
182
188
|
}
|
|
183
189
|
catch {
|
|
184
|
-
(0, messages_1.printErrorWithHelp)(
|
|
190
|
+
(0, messages_1.printErrorWithHelp)("The provided name is invalid.", ["Names cannot be empty and cannot contain path separators."], {
|
|
191
|
+
command,
|
|
192
|
+
});
|
|
185
193
|
process.exitCode = 1;
|
|
186
194
|
return null;
|
|
187
195
|
}
|
|
@@ -189,56 +197,73 @@ function parseOptionalManagedName(raw, command) {
|
|
|
189
197
|
async function browseCreations(options = {}) {
|
|
190
198
|
const kind = parseBrowseKind(options.kind);
|
|
191
199
|
if (!kind) {
|
|
192
|
-
(0, messages_1.printErrorWithHelp)(
|
|
200
|
+
(0, messages_1.printErrorWithHelp)("The --kind value is invalid.", ["Use one of: app, asset, asset-pack, all."], {
|
|
201
|
+
command: "creations browse",
|
|
202
|
+
});
|
|
193
203
|
process.exitCode = 1;
|
|
194
204
|
return;
|
|
195
205
|
}
|
|
196
|
-
const limit = parsePositiveInteger(options.limit,
|
|
206
|
+
const limit = parsePositiveInteger(options.limit, "limit", 20);
|
|
197
207
|
if (limit === null) {
|
|
198
|
-
(0, messages_1.printErrorWithHelp)(
|
|
208
|
+
(0, messages_1.printErrorWithHelp)("The --limit value must be a positive integer.", ["Example: --limit 20"], {
|
|
209
|
+
command: "creations browse",
|
|
210
|
+
});
|
|
199
211
|
process.exitCode = 1;
|
|
200
212
|
return;
|
|
201
213
|
}
|
|
202
|
-
const offset = parsePositiveInteger(options.offset,
|
|
214
|
+
const offset = parsePositiveInteger(options.offset, "offset", 0);
|
|
203
215
|
if (offset === null) {
|
|
204
|
-
(0, messages_1.printErrorWithHelp)(
|
|
216
|
+
(0, messages_1.printErrorWithHelp)("The --offset value must be zero or a positive integer.", ["Example: --offset 20"], {
|
|
217
|
+
command: "creations browse",
|
|
218
|
+
});
|
|
205
219
|
process.exitCode = 1;
|
|
206
220
|
return;
|
|
207
221
|
}
|
|
208
|
-
await (0, commandContext_1.withEnvironment)(
|
|
222
|
+
await (0, commandContext_1.withEnvironment)("creations browse", "Browsing your creations", async ({ client }) => {
|
|
209
223
|
try {
|
|
210
|
-
const creator = await resolveCreator(client, options.creator,
|
|
224
|
+
const creator = await resolveCreator(client, options.creator, "creations browse");
|
|
211
225
|
if (!creator) {
|
|
212
226
|
return;
|
|
213
227
|
}
|
|
214
|
-
const usingCurrentCreator = !options.creator || options.creator.trim().toLowerCase() ===
|
|
228
|
+
const usingCurrentCreator = !options.creator || options.creator.trim().toLowerCase() === "me";
|
|
215
229
|
const items = [];
|
|
216
230
|
let pagination;
|
|
217
|
-
if (kind ===
|
|
231
|
+
if (kind === "app") {
|
|
218
232
|
const response = !usingCurrentCreator
|
|
219
233
|
? await client.fetchAppsByCreator(creator, { limit, offset })
|
|
220
234
|
: await client.fetchMyApps({ limit, offset });
|
|
221
|
-
items.push(...(response.apps ?? []).map((item) => ({
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
235
|
+
items.push(...(response.apps ?? []).map((item) => ({
|
|
236
|
+
kind: "app",
|
|
237
|
+
ref: `${item.creatorUsername}/app/${item.name}`,
|
|
238
|
+
item,
|
|
239
|
+
})));
|
|
240
|
+
pagination = requirePagination(response.pagination, "creations_browse_app");
|
|
241
|
+
}
|
|
242
|
+
else if (kind === "asset") {
|
|
225
243
|
const response = await client.listAssetsForCreator(creator, { limit, offset });
|
|
226
|
-
items.push(...(response.assets ?? []).map((item) => ({
|
|
244
|
+
items.push(...(response.assets ?? []).map((item) => ({
|
|
245
|
+
kind: "asset",
|
|
246
|
+
ref: `${item.creatorUsername}/asset/${item.name}`,
|
|
247
|
+
item,
|
|
248
|
+
})));
|
|
227
249
|
pagination = response.pagination;
|
|
228
250
|
}
|
|
229
|
-
else if (kind ===
|
|
251
|
+
else if (kind === "asset-pack") {
|
|
230
252
|
const response = await client.listAssetPacksForCreator(creator, { limit, offset });
|
|
231
|
-
items.push(...(response.packs ?? []).map((item) => ({
|
|
253
|
+
items.push(...(response.packs ?? []).map((item) => ({
|
|
254
|
+
kind: "asset-pack",
|
|
255
|
+
ref: `${item.creatorUsername}/asset-pack/${item.name}`,
|
|
256
|
+
item,
|
|
257
|
+
})));
|
|
232
258
|
pagination = response.pagination;
|
|
233
259
|
}
|
|
234
260
|
else {
|
|
235
261
|
const [appsResponse, assetsResponse, packsResponse] = await Promise.all([
|
|
236
262
|
collectPaginatedItems((pageLimit, pageOffset) => (!usingCurrentCreator
|
|
237
263
|
? client.fetchAppsByCreator(creator, { limit: pageLimit, offset: pageOffset })
|
|
238
|
-
: client.fetchMyApps({ limit: pageLimit, offset: pageOffset }))
|
|
239
|
-
.then((response) => ({
|
|
264
|
+
: client.fetchMyApps({ limit: pageLimit, offset: pageOffset })).then((response) => ({
|
|
240
265
|
items: response.apps ?? [],
|
|
241
|
-
pagination: requirePagination(response.pagination,
|
|
266
|
+
pagination: requirePagination(response.pagination, "creations_browse_all_apps"),
|
|
242
267
|
}))),
|
|
243
268
|
collectPaginatedItems((pageLimit, pageOffset) => client.listAssetsForCreator(creator, { limit: pageLimit, offset: pageOffset }).then((response) => ({
|
|
244
269
|
items: response.assets ?? [],
|
|
@@ -250,9 +275,21 @@ async function browseCreations(options = {}) {
|
|
|
250
275
|
}))),
|
|
251
276
|
]);
|
|
252
277
|
const combined = [
|
|
253
|
-
...
|
|
254
|
-
|
|
255
|
-
|
|
278
|
+
...appsResponse.items.map((item) => ({
|
|
279
|
+
kind: "app",
|
|
280
|
+
ref: `${item.creatorUsername}/app/${item.name}`,
|
|
281
|
+
item,
|
|
282
|
+
})),
|
|
283
|
+
...assetsResponse.items.map((item) => ({
|
|
284
|
+
kind: "asset",
|
|
285
|
+
ref: `${item.creatorUsername}/asset/${item.name}`,
|
|
286
|
+
item,
|
|
287
|
+
})),
|
|
288
|
+
...packsResponse.items.map((item) => ({
|
|
289
|
+
kind: "asset-pack",
|
|
290
|
+
ref: `${item.creatorUsername}/asset-pack/${item.name}`,
|
|
291
|
+
item,
|
|
292
|
+
})),
|
|
256
293
|
];
|
|
257
294
|
const sliced = sliceMergedItems(combined, limit, offset);
|
|
258
295
|
items.push(...sliced.items);
|
|
@@ -270,7 +307,7 @@ async function browseCreations(options = {}) {
|
|
|
270
307
|
console.log('Next: run "playdrop project create app <name>" or "playdrop ai create <type> <prompt>" to create something new.');
|
|
271
308
|
return;
|
|
272
309
|
}
|
|
273
|
-
if (kind ===
|
|
310
|
+
if (kind === "all") {
|
|
274
311
|
console.log(`Creations for @${creator} (apps, then assets, then asset packs):\n`);
|
|
275
312
|
}
|
|
276
313
|
else {
|
|
@@ -282,7 +319,7 @@ async function browseCreations(options = {}) {
|
|
|
282
319
|
console.log('\nNext: run "playdrop detail <creator>/<kind>/<name>" or a "playdrop creations ..." command to manage one item.');
|
|
283
320
|
}
|
|
284
321
|
catch (error) {
|
|
285
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
322
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations browse", "Creation lookup", {
|
|
286
323
|
apiMessage: (apiError) => ({
|
|
287
324
|
problem: `Creation lookup failed with status ${apiError.status}.`,
|
|
288
325
|
suggestions: ['Run "playdrop auth login" and retry.'],
|
|
@@ -295,29 +332,33 @@ async function browseCreations(options = {}) {
|
|
|
295
332
|
});
|
|
296
333
|
}
|
|
297
334
|
async function updateCreationApp(nameArg, options = {}) {
|
|
298
|
-
const name = parseManagedName(nameArg,
|
|
335
|
+
const name = parseManagedName(nameArg, "creations apps update");
|
|
299
336
|
if (!name) {
|
|
300
337
|
return;
|
|
301
338
|
}
|
|
302
339
|
const parsedAppType = options.type ? (0, types_1.parseAppType)(options.type.trim().toUpperCase()) : undefined;
|
|
303
340
|
if (options.type !== undefined && !parsedAppType) {
|
|
304
|
-
(0, messages_1.printErrorWithHelp)(
|
|
341
|
+
(0, messages_1.printErrorWithHelp)("The --type value is invalid.", ["Use one of: game, demo, tool, template."], {
|
|
342
|
+
command: "creations apps update",
|
|
343
|
+
});
|
|
305
344
|
process.exitCode = 1;
|
|
306
345
|
return;
|
|
307
346
|
}
|
|
308
347
|
const appType = parsedAppType ?? undefined;
|
|
309
348
|
if (!options.displayName && !appType) {
|
|
310
|
-
(0, messages_1.printErrorWithHelp)(
|
|
349
|
+
(0, messages_1.printErrorWithHelp)("At least one update field is required.", ["Use --display-name and/or --type."], {
|
|
350
|
+
command: "creations apps update",
|
|
351
|
+
});
|
|
311
352
|
process.exitCode = 1;
|
|
312
353
|
return;
|
|
313
354
|
}
|
|
314
|
-
await (0, commandContext_1.withEnvironment)(
|
|
355
|
+
await (0, commandContext_1.withEnvironment)("creations apps update", "Updating an app", async ({ client }) => {
|
|
315
356
|
try {
|
|
316
|
-
const creator = await resolveCreator(client, options.creator,
|
|
357
|
+
const creator = await resolveCreator(client, options.creator, "creations apps update");
|
|
317
358
|
if (!creator) {
|
|
318
359
|
return;
|
|
319
360
|
}
|
|
320
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
361
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "app", name);
|
|
321
362
|
const response = await client.updateApp(creator, name, {
|
|
322
363
|
displayName: options.displayName?.trim() || undefined,
|
|
323
364
|
type: appType,
|
|
@@ -326,13 +367,15 @@ async function updateCreationApp(nameArg, options = {}) {
|
|
|
326
367
|
(0, output_1.printJson)({ ref: ref.ref, item: response.app });
|
|
327
368
|
return;
|
|
328
369
|
}
|
|
329
|
-
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
370
|
+
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
371
|
+
'Next: run "playdrop detail ' + ref.ref + '" to review the latest metadata.',
|
|
372
|
+
]);
|
|
330
373
|
}
|
|
331
374
|
catch (error) {
|
|
332
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
375
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations apps update", "App update", {
|
|
333
376
|
apiMessage: (apiError) => ({
|
|
334
377
|
problem: `App update failed with status ${apiError.status}.`,
|
|
335
|
-
suggestions: [
|
|
378
|
+
suggestions: ["Check the app name and your permissions, then retry."],
|
|
336
379
|
}),
|
|
337
380
|
});
|
|
338
381
|
if (!handled) {
|
|
@@ -342,29 +385,31 @@ async function updateCreationApp(nameArg, options = {}) {
|
|
|
342
385
|
});
|
|
343
386
|
}
|
|
344
387
|
async function deleteCreationApp(nameArg, options = {}) {
|
|
345
|
-
const name = parseManagedName(nameArg,
|
|
388
|
+
const name = parseManagedName(nameArg, "creations apps delete");
|
|
346
389
|
if (!name) {
|
|
347
390
|
return;
|
|
348
391
|
}
|
|
349
|
-
await (0, commandContext_1.withEnvironment)(
|
|
392
|
+
await (0, commandContext_1.withEnvironment)("creations apps delete", "Deleting an app", async ({ client }) => {
|
|
350
393
|
try {
|
|
351
|
-
const creator = await resolveCreator(client, options.creator,
|
|
394
|
+
const creator = await resolveCreator(client, options.creator, "creations apps delete");
|
|
352
395
|
if (!creator) {
|
|
353
396
|
return;
|
|
354
397
|
}
|
|
355
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
398
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "app", name);
|
|
356
399
|
const response = await client.deleteApp(creator, name);
|
|
357
400
|
if (options.json) {
|
|
358
401
|
(0, output_1.printJson)({ success: Boolean(response.success), ref: ref.ref });
|
|
359
402
|
return;
|
|
360
403
|
}
|
|
361
|
-
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
404
|
+
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
405
|
+
'Next: run "playdrop creations browse --kind app" to review your remaining apps.',
|
|
406
|
+
]);
|
|
362
407
|
}
|
|
363
408
|
catch (error) {
|
|
364
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
409
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations apps delete", "App delete", {
|
|
365
410
|
apiMessage: (apiError) => ({
|
|
366
411
|
problem: `App delete failed with status ${apiError.status}.`,
|
|
367
|
-
suggestions: [
|
|
412
|
+
suggestions: ["Check the app name and your permissions, then retry."],
|
|
368
413
|
}),
|
|
369
414
|
});
|
|
370
415
|
if (!handled) {
|
|
@@ -378,29 +423,29 @@ async function mutateAppVersion(nameArg, versionArg, command, options, mutation,
|
|
|
378
423
|
if (!name) {
|
|
379
424
|
return;
|
|
380
425
|
}
|
|
381
|
-
const version = parseVersion(versionArg ??
|
|
426
|
+
const version = parseVersion(versionArg ?? "", command);
|
|
382
427
|
if (!version) {
|
|
383
428
|
return;
|
|
384
429
|
}
|
|
385
|
-
await (0, commandContext_1.withEnvironment)(command,
|
|
430
|
+
await (0, commandContext_1.withEnvironment)(command, "Updating an app version", async ({ client }) => {
|
|
386
431
|
try {
|
|
387
432
|
const creator = await resolveCreator(client, options.creator, command);
|
|
388
433
|
if (!creator) {
|
|
389
434
|
return;
|
|
390
435
|
}
|
|
391
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
436
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "app", name);
|
|
392
437
|
const response = await mutation(client, creator, name, version);
|
|
393
438
|
if (options.json) {
|
|
394
439
|
(0, output_1.printJson)({ ref: ref.ref, version, result: response });
|
|
395
440
|
return;
|
|
396
441
|
}
|
|
397
|
-
(0, output_1.printSuccess)(successMessage(ref.ref, version), [next.replace(
|
|
442
|
+
(0, output_1.printSuccess)(successMessage(ref.ref, version), [next.replace("{ref}", ref.ref)]);
|
|
398
443
|
}
|
|
399
444
|
catch (error) {
|
|
400
|
-
const handled = (0, errors_1.handleCommandFailure)(error, command,
|
|
445
|
+
const handled = (0, errors_1.handleCommandFailure)(error, command, "App version update", {
|
|
401
446
|
apiMessage: (apiError) => ({
|
|
402
447
|
problem: `App version update failed with status ${apiError.status}.`,
|
|
403
|
-
suggestions: [
|
|
448
|
+
suggestions: ["Check the version string and your permissions, then retry."],
|
|
404
449
|
}),
|
|
405
450
|
});
|
|
406
451
|
if (!handled) {
|
|
@@ -410,43 +455,45 @@ async function mutateAppVersion(nameArg, versionArg, command, options, mutation,
|
|
|
410
455
|
});
|
|
411
456
|
}
|
|
412
457
|
async function setCurrentCreationAppVersion(nameArg, versionArg, options = {}) {
|
|
413
|
-
return mutateAppVersion(nameArg, versionArg,
|
|
458
|
+
return mutateAppVersion(nameArg, versionArg, "creations apps versions set-current", options, (client, creator, name, version) => client.updateAppVersion(creator, name, version, { setAsCurrent: true }), (ref, version) => `${ref} now points to version ${version}.`, 'Next: run "playdrop versions browse {ref}" to inspect version history.');
|
|
414
459
|
}
|
|
415
460
|
async function publishCreationAppVersion(nameArg, versionArg, options = {}) {
|
|
416
|
-
return mutateAppVersion(nameArg, versionArg,
|
|
461
|
+
return mutateAppVersion(nameArg, versionArg, "creations apps versions publish", options, (client, creator, name, version) => client.updateAppVersion(creator, name, version, { visibility: "PUBLIC" }), (ref, version) => `Published version ${version} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
417
462
|
}
|
|
418
463
|
async function unpublishCreationAppVersion(nameArg, versionArg, options = {}) {
|
|
419
|
-
return mutateAppVersion(nameArg, versionArg,
|
|
464
|
+
return mutateAppVersion(nameArg, versionArg, "creations apps versions unpublish", options, (client, creator, name, version) => client.updateAppVersion(creator, name, version, { visibility: "PRIVATE" }), (ref, version) => `Unpublished version ${version} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
420
465
|
}
|
|
421
466
|
async function deleteCreationAppVersion(nameArg, versionArg, options = {}) {
|
|
422
|
-
return mutateAppVersion(nameArg, versionArg,
|
|
467
|
+
return mutateAppVersion(nameArg, versionArg, "creations apps versions delete", options, (client, creator, name, version) => client.deleteAppVersion(creator, name, version), (ref, version) => `Deleted version ${version} from ${ref}.`, 'Next: run "playdrop versions browse {ref}" to review the remaining versions.');
|
|
423
468
|
}
|
|
424
469
|
async function updateCreationAsset(nameArg, options = {}) {
|
|
425
|
-
const name = parseManagedName(nameArg,
|
|
470
|
+
const name = parseManagedName(nameArg, "creations assets update");
|
|
426
471
|
if (!name) {
|
|
427
472
|
return;
|
|
428
473
|
}
|
|
429
|
-
const nextName = parseOptionalManagedName(options.name,
|
|
474
|
+
const nextName = parseOptionalManagedName(options.name, "creations assets update");
|
|
430
475
|
if (nextName === null) {
|
|
431
476
|
return;
|
|
432
477
|
}
|
|
433
478
|
if (options.description !== undefined && options.clearDescription) {
|
|
434
|
-
(0, messages_1.printErrorWithHelp)(
|
|
479
|
+
(0, messages_1.printErrorWithHelp)("Use either --description or --clear-description, not both.", [], {
|
|
480
|
+
command: "creations assets update",
|
|
481
|
+
});
|
|
435
482
|
process.exitCode = 1;
|
|
436
483
|
return;
|
|
437
484
|
}
|
|
438
485
|
if (!nextName && !options.displayName && options.description === undefined && !options.clearDescription) {
|
|
439
|
-
(0, messages_1.printErrorWithHelp)(
|
|
486
|
+
(0, messages_1.printErrorWithHelp)("At least one update field is required.", ["Use --name, --display-name, --description, or --clear-description."], { command: "creations assets update" });
|
|
440
487
|
process.exitCode = 1;
|
|
441
488
|
return;
|
|
442
489
|
}
|
|
443
|
-
await (0, commandContext_1.withEnvironment)(
|
|
490
|
+
await (0, commandContext_1.withEnvironment)("creations assets update", "Updating an asset", async ({ client }) => {
|
|
444
491
|
try {
|
|
445
|
-
const creator = await resolveCreator(client, options.creator,
|
|
492
|
+
const creator = await resolveCreator(client, options.creator, "creations assets update");
|
|
446
493
|
if (!creator) {
|
|
447
494
|
return;
|
|
448
495
|
}
|
|
449
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
496
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset", name);
|
|
450
497
|
const response = await client.updateAsset(creator, name, {
|
|
451
498
|
name: nextName,
|
|
452
499
|
displayName: options.displayName?.trim() || undefined,
|
|
@@ -456,13 +503,17 @@ async function updateCreationAsset(nameArg, options = {}) {
|
|
|
456
503
|
(0, output_1.printJson)({ ref: ref.ref, item: response.asset });
|
|
457
504
|
return;
|
|
458
505
|
}
|
|
459
|
-
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
506
|
+
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
507
|
+
'Next: run "playdrop detail ' +
|
|
508
|
+
`${response.asset.creatorUsername}/asset/${response.asset.name}` +
|
|
509
|
+
'" to review the latest metadata.',
|
|
510
|
+
]);
|
|
460
511
|
}
|
|
461
512
|
catch (error) {
|
|
462
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
513
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations assets update", "Asset update", {
|
|
463
514
|
apiMessage: (apiError) => ({
|
|
464
515
|
problem: `Asset update failed with status ${apiError.status}.`,
|
|
465
|
-
suggestions: [
|
|
516
|
+
suggestions: ["Check the asset name and your permissions, then retry."],
|
|
466
517
|
}),
|
|
467
518
|
});
|
|
468
519
|
if (!handled) {
|
|
@@ -472,29 +523,31 @@ async function updateCreationAsset(nameArg, options = {}) {
|
|
|
472
523
|
});
|
|
473
524
|
}
|
|
474
525
|
async function deleteCreationAsset(nameArg, options = {}) {
|
|
475
|
-
const name = parseManagedName(nameArg,
|
|
526
|
+
const name = parseManagedName(nameArg, "creations assets delete");
|
|
476
527
|
if (!name) {
|
|
477
528
|
return;
|
|
478
529
|
}
|
|
479
|
-
await (0, commandContext_1.withEnvironment)(
|
|
530
|
+
await (0, commandContext_1.withEnvironment)("creations assets delete", "Deleting an asset", async ({ client }) => {
|
|
480
531
|
try {
|
|
481
|
-
const creator = await resolveCreator(client, options.creator,
|
|
532
|
+
const creator = await resolveCreator(client, options.creator, "creations assets delete");
|
|
482
533
|
if (!creator) {
|
|
483
534
|
return;
|
|
484
535
|
}
|
|
485
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
536
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset", name);
|
|
486
537
|
const response = await client.deleteAsset(creator, name);
|
|
487
538
|
if (options.json) {
|
|
488
539
|
(0, output_1.printJson)({ success: Boolean(response.success), ref: ref.ref });
|
|
489
540
|
return;
|
|
490
541
|
}
|
|
491
|
-
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
542
|
+
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
543
|
+
'Next: run "playdrop creations browse --kind asset" to review your remaining assets.',
|
|
544
|
+
]);
|
|
492
545
|
}
|
|
493
546
|
catch (error) {
|
|
494
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
547
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations assets delete", "Asset delete", {
|
|
495
548
|
apiMessage: (apiError) => ({
|
|
496
549
|
problem: `Asset delete failed with status ${apiError.status}.`,
|
|
497
|
-
suggestions: [
|
|
550
|
+
suggestions: ["Check the asset name and your permissions, then retry."],
|
|
498
551
|
}),
|
|
499
552
|
});
|
|
500
553
|
if (!handled) {
|
|
@@ -508,29 +561,29 @@ async function mutateAssetVersion(nameArg, revisionArg, command, options, mutati
|
|
|
508
561
|
if (!name) {
|
|
509
562
|
return;
|
|
510
563
|
}
|
|
511
|
-
const revision = parseRevision(revisionArg ??
|
|
564
|
+
const revision = parseRevision(revisionArg ?? "", command);
|
|
512
565
|
if (revision === null) {
|
|
513
566
|
return;
|
|
514
567
|
}
|
|
515
|
-
await (0, commandContext_1.withEnvironment)(command,
|
|
568
|
+
await (0, commandContext_1.withEnvironment)(command, "Updating an asset revision", async ({ client }) => {
|
|
516
569
|
try {
|
|
517
570
|
const creator = await resolveCreator(client, options.creator, command);
|
|
518
571
|
if (!creator) {
|
|
519
572
|
return;
|
|
520
573
|
}
|
|
521
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
574
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset", name);
|
|
522
575
|
const response = await mutation(client, creator, name, revision);
|
|
523
576
|
if (options.json) {
|
|
524
577
|
(0, output_1.printJson)({ ref: ref.ref, revision, result: response });
|
|
525
578
|
return;
|
|
526
579
|
}
|
|
527
|
-
(0, output_1.printSuccess)(successMessage(ref.ref, revision), [next.replace(
|
|
580
|
+
(0, output_1.printSuccess)(successMessage(ref.ref, revision), [next.replace("{ref}", ref.ref)]);
|
|
528
581
|
}
|
|
529
582
|
catch (error) {
|
|
530
|
-
const handled = (0, errors_1.handleCommandFailure)(error, command,
|
|
583
|
+
const handled = (0, errors_1.handleCommandFailure)(error, command, "Asset revision update", {
|
|
531
584
|
apiMessage: (apiError) => ({
|
|
532
585
|
problem: `Asset revision update failed with status ${apiError.status}.`,
|
|
533
|
-
suggestions: [
|
|
586
|
+
suggestions: ["Check the revision and your permissions, then retry."],
|
|
534
587
|
}),
|
|
535
588
|
});
|
|
536
589
|
if (!handled) {
|
|
@@ -540,73 +593,88 @@ async function mutateAssetVersion(nameArg, revisionArg, command, options, mutati
|
|
|
540
593
|
});
|
|
541
594
|
}
|
|
542
595
|
async function setCurrentCreationAssetVersion(nameArg, revisionArg, options = {}) {
|
|
543
|
-
return mutateAssetVersion(nameArg, revisionArg,
|
|
596
|
+
return mutateAssetVersion(nameArg, revisionArg, "creations assets versions set-current", options, (client, creator, name, revision) => client.updateAssetVersion(creator, name, revision, { setAsCurrent: true }), (ref, revision) => `${ref} now points to revision r${revision}.`, 'Next: run "playdrop versions browse {ref}" to inspect revision history.');
|
|
544
597
|
}
|
|
545
598
|
async function publishCreationAssetVersion(nameArg, revisionArg, options = {}) {
|
|
546
|
-
return mutateAssetVersion(nameArg, revisionArg,
|
|
599
|
+
return mutateAssetVersion(nameArg, revisionArg, "creations assets versions publish", options, (client, creator, name, revision) => client.updateAssetVersion(creator, name, revision, { visibility: "PUBLIC" }), (ref, revision) => `Published revision r${revision} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
547
600
|
}
|
|
548
601
|
async function unpublishCreationAssetVersion(nameArg, revisionArg, options = {}) {
|
|
549
|
-
return mutateAssetVersion(nameArg, revisionArg,
|
|
602
|
+
return mutateAssetVersion(nameArg, revisionArg, "creations assets versions unpublish", options, (client, creator, name, revision) => client.updateAssetVersion(creator, name, revision, { visibility: "PRIVATE" }), (ref, revision) => `Unpublished revision r${revision} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
550
603
|
}
|
|
551
604
|
async function deleteCreationAssetVersion(nameArg, revisionArg, options = {}) {
|
|
552
|
-
return mutateAssetVersion(nameArg, revisionArg,
|
|
605
|
+
return mutateAssetVersion(nameArg, revisionArg, "creations assets versions delete", options, (client, creator, name, revision) => client.deleteAssetVersion(creator, name, revision), (ref, revision) => `Deleted revision r${revision} from ${ref}.`, 'Next: run "playdrop versions browse {ref}" to review the remaining revisions.');
|
|
553
606
|
}
|
|
554
607
|
async function updateCreationAssetPack(nameArg, options = {}) {
|
|
555
|
-
const name = parseManagedName(nameArg,
|
|
608
|
+
const name = parseManagedName(nameArg, "creations asset-packs update");
|
|
556
609
|
if (!name) {
|
|
557
610
|
return;
|
|
558
611
|
}
|
|
559
|
-
const nextName = parseOptionalManagedName(options.name,
|
|
612
|
+
const nextName = parseOptionalManagedName(options.name, "creations asset-packs update");
|
|
560
613
|
if (nextName === null) {
|
|
561
614
|
return;
|
|
562
615
|
}
|
|
563
616
|
if (options.description !== undefined && options.clearDescription) {
|
|
564
|
-
(0, messages_1.printErrorWithHelp)(
|
|
617
|
+
(0, messages_1.printErrorWithHelp)("Use either --description or --clear-description, not both.", [], {
|
|
618
|
+
command: "creations asset-packs update",
|
|
619
|
+
});
|
|
565
620
|
process.exitCode = 1;
|
|
566
621
|
return;
|
|
567
622
|
}
|
|
568
623
|
if (options.previewAppVersionId !== undefined && options.clearPreviewAppVersionId) {
|
|
569
|
-
(0, messages_1.printErrorWithHelp)(
|
|
624
|
+
(0, messages_1.printErrorWithHelp)("Use either --preview-app-version-id or --clear-preview-app-version-id, not both.", [], {
|
|
625
|
+
command: "creations asset-packs update",
|
|
626
|
+
});
|
|
570
627
|
process.exitCode = 1;
|
|
571
628
|
return;
|
|
572
629
|
}
|
|
573
630
|
const previewAppVersionId = options.previewAppVersionId !== undefined
|
|
574
|
-
? parsePositiveInteger(options.previewAppVersionId,
|
|
631
|
+
? parsePositiveInteger(options.previewAppVersionId, "preview app version id", 0)
|
|
575
632
|
: null;
|
|
576
633
|
if (options.previewAppVersionId !== undefined && (previewAppVersionId === null || previewAppVersionId <= 0)) {
|
|
577
|
-
(0, messages_1.printErrorWithHelp)(
|
|
634
|
+
(0, messages_1.printErrorWithHelp)("Preview app version id must be a positive integer.", [], {
|
|
635
|
+
command: "creations asset-packs update",
|
|
636
|
+
});
|
|
578
637
|
process.exitCode = 1;
|
|
579
638
|
return;
|
|
580
639
|
}
|
|
581
|
-
if (!nextName &&
|
|
582
|
-
|
|
640
|
+
if (!nextName &&
|
|
641
|
+
!options.displayName &&
|
|
642
|
+
options.description === undefined &&
|
|
643
|
+
!options.clearDescription &&
|
|
644
|
+
previewAppVersionId === null &&
|
|
645
|
+
!options.clearPreviewAppVersionId) {
|
|
646
|
+
(0, messages_1.printErrorWithHelp)("At least one update field is required.", ["Use --name, --display-name, --description, --preview-app-version-id, or a clear flag."], { command: "creations asset-packs update" });
|
|
583
647
|
process.exitCode = 1;
|
|
584
648
|
return;
|
|
585
649
|
}
|
|
586
|
-
await (0, commandContext_1.withEnvironment)(
|
|
650
|
+
await (0, commandContext_1.withEnvironment)("creations asset-packs update", "Updating an asset pack", async ({ client }) => {
|
|
587
651
|
try {
|
|
588
|
-
const creator = await resolveCreator(client, options.creator,
|
|
652
|
+
const creator = await resolveCreator(client, options.creator, "creations asset-packs update");
|
|
589
653
|
if (!creator) {
|
|
590
654
|
return;
|
|
591
655
|
}
|
|
592
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
656
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset-pack", name);
|
|
593
657
|
const response = await client.updateAssetPack(creator, name, {
|
|
594
658
|
name: nextName,
|
|
595
659
|
displayName: options.displayName?.trim() || undefined,
|
|
596
660
|
description: options.clearDescription ? null : options.description,
|
|
597
|
-
previewAppVersionId: options.clearPreviewAppVersionId ? null : previewAppVersionId ?? undefined,
|
|
661
|
+
previewAppVersionId: options.clearPreviewAppVersionId ? null : (previewAppVersionId ?? undefined),
|
|
598
662
|
});
|
|
599
663
|
if (options.json) {
|
|
600
664
|
(0, output_1.printJson)({ ref: ref.ref, item: response.pack });
|
|
601
665
|
return;
|
|
602
666
|
}
|
|
603
|
-
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
667
|
+
(0, output_1.printSuccess)(`Updated ${ref.ref}.`, [
|
|
668
|
+
'Next: run "playdrop detail ' +
|
|
669
|
+
`${response.pack.creatorUsername}/asset-pack/${response.pack.name}` +
|
|
670
|
+
'" to review the latest metadata.',
|
|
671
|
+
]);
|
|
604
672
|
}
|
|
605
673
|
catch (error) {
|
|
606
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
674
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations asset-packs update", "Asset pack update", {
|
|
607
675
|
apiMessage: (apiError) => ({
|
|
608
676
|
problem: `Asset pack update failed with status ${apiError.status}.`,
|
|
609
|
-
suggestions: [
|
|
677
|
+
suggestions: ["Check the asset pack name and your permissions, then retry."],
|
|
610
678
|
}),
|
|
611
679
|
});
|
|
612
680
|
if (!handled) {
|
|
@@ -616,29 +684,31 @@ async function updateCreationAssetPack(nameArg, options = {}) {
|
|
|
616
684
|
});
|
|
617
685
|
}
|
|
618
686
|
async function deleteCreationAssetPack(nameArg, options = {}) {
|
|
619
|
-
const name = parseManagedName(nameArg,
|
|
687
|
+
const name = parseManagedName(nameArg, "creations asset-packs delete");
|
|
620
688
|
if (!name) {
|
|
621
689
|
return;
|
|
622
690
|
}
|
|
623
|
-
await (0, commandContext_1.withEnvironment)(
|
|
691
|
+
await (0, commandContext_1.withEnvironment)("creations asset-packs delete", "Deleting an asset pack", async ({ client }) => {
|
|
624
692
|
try {
|
|
625
|
-
const creator = await resolveCreator(client, options.creator,
|
|
693
|
+
const creator = await resolveCreator(client, options.creator, "creations asset-packs delete");
|
|
626
694
|
if (!creator) {
|
|
627
695
|
return;
|
|
628
696
|
}
|
|
629
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
697
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset-pack", name);
|
|
630
698
|
const response = await client.deleteAssetPack(creator, name);
|
|
631
699
|
if (options.json) {
|
|
632
700
|
(0, output_1.printJson)({ success: Boolean(response.success), ref: ref.ref });
|
|
633
701
|
return;
|
|
634
702
|
}
|
|
635
|
-
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
703
|
+
(0, output_1.printSuccess)(`Deleted ${ref.ref}.`, [
|
|
704
|
+
'Next: run "playdrop creations browse --kind asset-pack" to review your remaining asset packs.',
|
|
705
|
+
]);
|
|
636
706
|
}
|
|
637
707
|
catch (error) {
|
|
638
|
-
const handled = (0, errors_1.handleCommandFailure)(error,
|
|
708
|
+
const handled = (0, errors_1.handleCommandFailure)(error, "creations asset-packs delete", "Asset pack delete", {
|
|
639
709
|
apiMessage: (apiError) => ({
|
|
640
710
|
problem: `Asset pack delete failed with status ${apiError.status}.`,
|
|
641
|
-
suggestions: [
|
|
711
|
+
suggestions: ["Check the asset pack name and your permissions, then retry."],
|
|
642
712
|
}),
|
|
643
713
|
});
|
|
644
714
|
if (!handled) {
|
|
@@ -652,29 +722,29 @@ async function mutateAssetPackVersion(nameArg, versionArg, command, options, mut
|
|
|
652
722
|
if (!name) {
|
|
653
723
|
return;
|
|
654
724
|
}
|
|
655
|
-
const version = parseVersion(versionArg ??
|
|
725
|
+
const version = parseVersion(versionArg ?? "", command);
|
|
656
726
|
if (!version) {
|
|
657
727
|
return;
|
|
658
728
|
}
|
|
659
|
-
await (0, commandContext_1.withEnvironment)(command,
|
|
729
|
+
await (0, commandContext_1.withEnvironment)(command, "Updating an asset pack version", async ({ client }) => {
|
|
660
730
|
try {
|
|
661
731
|
const creator = await resolveCreator(client, options.creator, command);
|
|
662
732
|
if (!creator) {
|
|
663
733
|
return;
|
|
664
734
|
}
|
|
665
|
-
const ref = (0, refs_1.buildScopedRef)(creator,
|
|
735
|
+
const ref = (0, refs_1.buildScopedRef)(creator, "asset-pack", name);
|
|
666
736
|
const response = await mutation(client, creator, name, version);
|
|
667
737
|
if (options.json) {
|
|
668
738
|
(0, output_1.printJson)({ ref: ref.ref, version, result: response });
|
|
669
739
|
return;
|
|
670
740
|
}
|
|
671
|
-
(0, output_1.printSuccess)(successMessage(ref.ref, version), [next.replace(
|
|
741
|
+
(0, output_1.printSuccess)(successMessage(ref.ref, version), [next.replace("{ref}", ref.ref)]);
|
|
672
742
|
}
|
|
673
743
|
catch (error) {
|
|
674
|
-
const handled = (0, errors_1.handleCommandFailure)(error, command,
|
|
744
|
+
const handled = (0, errors_1.handleCommandFailure)(error, command, "Asset pack version update", {
|
|
675
745
|
apiMessage: (apiError) => ({
|
|
676
746
|
problem: `Asset pack version update failed with status ${apiError.status}.`,
|
|
677
|
-
suggestions: [
|
|
747
|
+
suggestions: ["Check the version string and your permissions, then retry."],
|
|
678
748
|
}),
|
|
679
749
|
});
|
|
680
750
|
if (!handled) {
|
|
@@ -684,14 +754,14 @@ async function mutateAssetPackVersion(nameArg, versionArg, command, options, mut
|
|
|
684
754
|
});
|
|
685
755
|
}
|
|
686
756
|
async function setCurrentCreationAssetPackVersion(nameArg, versionArg, options = {}) {
|
|
687
|
-
return mutateAssetPackVersion(nameArg, versionArg,
|
|
757
|
+
return mutateAssetPackVersion(nameArg, versionArg, "creations asset-packs versions set-current", options, (client, creator, name, version) => client.updateAssetPackVersion(creator, name, version, { setAsCurrent: true }), (ref, version) => `${ref} now points to version ${version}.`, 'Next: run "playdrop versions browse {ref}" to inspect version history.');
|
|
688
758
|
}
|
|
689
759
|
async function publishCreationAssetPackVersion(nameArg, versionArg, options = {}) {
|
|
690
|
-
return mutateAssetPackVersion(nameArg, versionArg,
|
|
760
|
+
return mutateAssetPackVersion(nameArg, versionArg, "creations asset-packs versions publish", options, (client, creator, name, version) => client.updateAssetPackVersion(creator, name, version, { visibility: "PUBLIC" }), (ref, version) => `Published version ${version} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
691
761
|
}
|
|
692
762
|
async function unpublishCreationAssetPackVersion(nameArg, versionArg, options = {}) {
|
|
693
|
-
return mutateAssetPackVersion(nameArg, versionArg,
|
|
763
|
+
return mutateAssetPackVersion(nameArg, versionArg, "creations asset-packs versions unpublish", options, (client, creator, name, version) => client.updateAssetPackVersion(creator, name, version, { visibility: "PRIVATE" }), (ref, version) => `Unpublished version ${version} for ${ref}.`, 'Next: run "playdrop versions browse {ref}" to confirm visibility.');
|
|
694
764
|
}
|
|
695
765
|
async function deleteCreationAssetPackVersion(nameArg, versionArg, options = {}) {
|
|
696
|
-
return mutateAssetPackVersion(nameArg, versionArg,
|
|
766
|
+
return mutateAssetPackVersion(nameArg, versionArg, "creations asset-packs versions delete", options, (client, creator, name, version) => client.deleteAssetPackVersion(creator, name, version), (ref, version) => `Deleted version ${version} from ${ref}.`, 'Next: run "playdrop versions browse {ref}" to review the remaining versions.');
|
|
697
767
|
}
|