@playdrop/playdrop-cli 0.15.5 → 0.15.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/config/client-meta.json +2 -2
  2. package/dist/apps/index.d.ts +0 -1
  3. package/dist/apps/index.js +0 -1
  4. package/dist/apps/loadCheck.d.ts +2 -1
  5. package/dist/apps/loadCheck.js +15 -7
  6. package/dist/apps/staticHtml.js +1 -0
  7. package/dist/apps/upload.d.ts +0 -1
  8. package/dist/apps/upload.js +19 -12
  9. package/dist/catalogue.d.ts +3 -0
  10. package/dist/catalogue.js +26 -0
  11. package/dist/commands/create.js +45 -16
  12. package/dist/commands/devRuntimeAssets.d.ts +1 -0
  13. package/dist/commands/devRuntimeAssets.js +2 -0
  14. package/dist/commands/review.js +0 -3
  15. package/dist/commands/upload.d.ts +2 -3
  16. package/dist/commands/upload.js +22 -42
  17. package/dist/commands/validate.js +0 -4
  18. package/dist/commands/worker.d.ts +7 -1
  19. package/dist/commands/worker.js +65 -57
  20. package/dist/index.js +1 -1
  21. package/dist/listingPreflight.d.ts +1 -24
  22. package/dist/listingPreflight.js +3 -288
  23. package/node_modules/@playdrop/api-client/dist/client.d.ts +29 -1
  24. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  25. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +4 -1
  26. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
  27. package/node_modules/@playdrop/api-client/dist/domains/admin.js +31 -2
  28. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +2 -1
  29. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  30. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +12 -0
  31. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +9 -1
  32. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  33. package/node_modules/@playdrop/api-client/dist/domains/apps.js +66 -0
  34. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +1 -0
  35. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -1
  36. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +3 -0
  37. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +1 -0
  38. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  39. package/node_modules/@playdrop/api-client/dist/domains/assets.js +3 -0
  40. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +15 -1
  41. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -1
  42. package/node_modules/@playdrop/api-client/dist/domains/payments.js +58 -0
  43. package/node_modules/@playdrop/api-client/dist/index.d.ts +30 -1
  44. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  45. package/node_modules/@playdrop/api-client/dist/index.js +65 -0
  46. package/node_modules/@playdrop/config/client-meta.json +2 -2
  47. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +18 -0
  48. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -0
  49. package/node_modules/@playdrop/config/dist/src/creator-plans.js +117 -0
  50. package/node_modules/@playdrop/config/dist/src/game-arena.d.ts +1 -1
  51. package/node_modules/@playdrop/config/dist/src/game-arena.js +1 -1
  52. package/node_modules/@playdrop/config/dist/src/index.d.ts +1 -0
  53. package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -1
  54. package/node_modules/@playdrop/config/dist/src/index.js +1 -0
  55. package/node_modules/@playdrop/config/dist/test/creator-plans.test.d.ts +2 -0
  56. package/node_modules/@playdrop/config/dist/test/creator-plans.test.d.ts.map +1 -0
  57. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +28 -0
  58. package/node_modules/@playdrop/config/dist/test/game-arena.test.js +3 -3
  59. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  60. package/node_modules/@playdrop/types/dist/api.d.ts +133 -14
  61. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  62. package/node_modules/@playdrop/types/dist/api.js +20 -2
  63. package/node_modules/@playdrop/types/dist/app-review.d.ts +2 -0
  64. package/node_modules/@playdrop/types/dist/app-review.d.ts.map +1 -1
  65. package/node_modules/@playdrop/types/dist/app-review.js +31 -2
  66. package/node_modules/@playdrop/types/dist/index.d.ts +1 -0
  67. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  68. package/node_modules/@playdrop/types/dist/index.js +3 -1
  69. package/node_modules/@playdrop/types/dist/release-smoke.d.ts +3 -0
  70. package/node_modules/@playdrop/types/dist/release-smoke.d.ts.map +1 -0
  71. package/node_modules/@playdrop/types/dist/release-smoke.js +35 -0
  72. package/node_modules/@playdrop/types/dist/version.d.ts +5 -0
  73. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  74. package/package.json +1 -1
@@ -193,7 +193,7 @@ export type JsonValue = null | boolean | number | string | JsonValue[] | {
193
193
  };
194
194
  export declare const AGENT_TASK_CREATOR_FEEDBACK_STATUS_VALUES: readonly ["UNSEEN", "VIEWED", "PLAYED", "APPROVED", "DISAPPROVED"];
195
195
  export type AgentTaskCreatorFeedbackStatus = typeof AGENT_TASK_CREATOR_FEEDBACK_STATUS_VALUES[number];
196
- export declare const AGENT_TASK_KIND_VALUES: readonly ["NEW_GAME", "STATIC_GAME", "REMIX_GAME", "GAME_UPDATE", "GAME_REVIEW", "GAME_EVAL"];
196
+ export declare const AGENT_TASK_KIND_VALUES: readonly ["NEW_GAME", "STATIC_GAME", "REMIX_GAME", "GAME_UPDATE", "GAME_REVIEW", "GAME_EVAL", "RELEASE_SMOKE"];
197
197
  export type AgentTaskKind = typeof AGENT_TASK_KIND_VALUES[number];
198
198
  export declare const AGENT_EXECUTION_TARGET_VALUES: readonly ["FIRST_PARTY", "PERSONAL"];
199
199
  export type AgentExecutionTarget = typeof AGENT_EXECUTION_TARGET_VALUES[number];
@@ -415,6 +415,7 @@ export interface AgentTaskResponse {
415
415
  appId: number | null;
416
416
  appVersionId: number | null;
417
417
  costCredits: number;
418
+ fundingSource: CreatorTaskFundingSource;
418
419
  freeCloudGenerationTransactionId: number | null;
419
420
  usesFreeCloudGeneration: boolean;
420
421
  refund: AgentTaskRefundResponse | null;
@@ -1149,6 +1150,14 @@ export interface WorkerCompleteAgentTaskRequest {
1149
1150
  platformFeedback?: string;
1150
1151
  tokensUsed?: number | null;
1151
1152
  }
1153
+ export interface WorkerCompleteReleaseSmokeRequest {
1154
+ workerKey: string;
1155
+ leaseToken: string;
1156
+ appId: number;
1157
+ appVersionId: number;
1158
+ sourceSha256: string;
1159
+ runtimeSha256: string;
1160
+ }
1152
1161
  export interface WorkerFailAgentTaskRequest {
1153
1162
  taskToken?: string;
1154
1163
  workerKey?: string;
@@ -1196,8 +1205,48 @@ export interface AdminAgentWorkersStatusResponse {
1196
1205
  oldestQueuedTaskId: number | null;
1197
1206
  oldestQueuedAgeMs: number | null;
1198
1207
  }
1199
- export declare const AGENT_TASK_UNAVAILABLE_REASON_VALUES: readonly ["insufficient_credits", "active_task_exists", "active_task_cap_reached", "daily_cap_reached", "no_online_worker", "app_not_eligible_for_update", "first_party_requires_playdrop_cloud_origin"];
1208
+ export declare const AGENT_TASK_UNAVAILABLE_REASON_VALUES: readonly ["insufficient_credits", "weekly_generation_limit_reached", "game_count_limit_reached", "storage_limit_reached", "active_task_exists", "active_task_cap_reached", "no_online_worker", "app_not_eligible_for_update", "first_party_requires_playdrop_cloud_origin"];
1200
1209
  export type AgentTaskUnavailableReason = typeof AGENT_TASK_UNAVAILABLE_REASON_VALUES[number];
1210
+ export declare const CREATOR_PLAN_TIER_VALUES: readonly ["BASIC", "PLUS", "PRO"];
1211
+ export type CreatorPlanTier = typeof CREATOR_PLAN_TIER_VALUES[number];
1212
+ export type CreatorTaskFundingSource = 'INCLUDED' | 'CREDITS' | 'PERSONAL';
1213
+ export interface CreatorPaidSubscriptionSummary {
1214
+ tier: Exclude<CreatorPlanTier, 'BASIC'>;
1215
+ status: string;
1216
+ currentPeriodStart: string | null;
1217
+ currentPeriodEnd: string | null;
1218
+ cancelAtPeriodEnd: boolean;
1219
+ scheduledTier: Exclude<CreatorPlanTier, 'BASIC'> | null;
1220
+ scheduledChangeAt: string | null;
1221
+ }
1222
+ export interface CreatorPlanGrantSummary {
1223
+ id: number;
1224
+ tier: Exclude<CreatorPlanTier, 'BASIC'>;
1225
+ startsAt: string;
1226
+ endsAt: string;
1227
+ }
1228
+ export interface CreatorUsageState {
1229
+ used: number;
1230
+ limit: number;
1231
+ }
1232
+ export interface CreatorStorageUsageState {
1233
+ usedBytes: number;
1234
+ limitBytes: number;
1235
+ }
1236
+ export interface CreatorWeeklyGenerationState {
1237
+ remaining: number;
1238
+ limit: number;
1239
+ resetsAt: string;
1240
+ }
1241
+ export interface CreatorPlanState {
1242
+ effectiveTier: CreatorPlanTier;
1243
+ paidSubscription: CreatorPaidSubscriptionSummary | null;
1244
+ complimentaryGrant: CreatorPlanGrantSummary | null;
1245
+ weeklyGenerations: CreatorWeeklyGenerationState;
1246
+ games: CreatorUsageState;
1247
+ storage: CreatorStorageUsageState;
1248
+ creditUsageEnabled: boolean;
1249
+ }
1201
1250
  export interface AgentTaskTargetAvailability {
1202
1251
  target: AgentExecutionTarget;
1203
1252
  available: boolean;
@@ -1205,6 +1254,7 @@ export interface AgentTaskTargetAvailability {
1205
1254
  priceCredits: number;
1206
1255
  effectivePriceCredits: number;
1207
1256
  usesFreeCloudGeneration: boolean;
1257
+ fundingSource: CreatorTaskFundingSource;
1208
1258
  onlineWorkers: AgentWorkerResponse[];
1209
1259
  agentModels: AgentTaskAgentModelOption[];
1210
1260
  defaultAgentModel: AgentTaskAgentModelSelection;
@@ -1214,10 +1264,9 @@ export interface AgentTaskAvailabilityResponse {
1214
1264
  kind: AgentTaskKind;
1215
1265
  creditBalance: number;
1216
1266
  freeCloudGenerationBalance: number;
1267
+ creatorPlan: CreatorPlanState;
1217
1268
  activeTaskCount: number;
1218
1269
  activeTaskCap: number;
1219
- dailyTaskCount: number;
1220
- dailyTaskCap: number;
1221
1270
  targets: AgentTaskTargetAvailability[];
1222
1271
  appOrigin?: AppOrigin | null;
1223
1272
  pendingOutputVersion?: string | null;
@@ -1297,7 +1346,7 @@ export interface CreatorGameShareResponse {
1297
1346
  }
1298
1347
  export interface CreatorGameCreatorFeedbackStatusRequest {
1299
1348
  appVersionId: number;
1300
- creatorFeedbackStatus: Extract<AgentTaskCreatorFeedbackStatus, 'PLAYED' | 'APPROVED' | 'DISAPPROVED'>;
1349
+ creatorFeedbackStatus: Extract<AgentTaskCreatorFeedbackStatus, 'VIEWED' | 'PLAYED' | 'APPROVED' | 'DISAPPROVED'>;
1301
1350
  comment?: string;
1302
1351
  }
1303
1352
  export interface CreatorGameCreatorFeedbackStatusResponse {
@@ -1305,6 +1354,11 @@ export interface CreatorGameCreatorFeedbackStatusResponse {
1305
1354
  creatorFeedbackStatus: AgentTaskCreatorFeedbackStatus;
1306
1355
  draftPlayed: boolean;
1307
1356
  }
1357
+ export interface CreationGameVersionSummary {
1358
+ versionId: number;
1359
+ semver: string;
1360
+ availability: string;
1361
+ }
1308
1362
  export interface CreationGameListItem {
1309
1363
  gameRef: string;
1310
1364
  appName?: string;
@@ -1325,13 +1379,40 @@ export interface CreationGameListItem {
1325
1379
  message: string;
1326
1380
  startedAt: string;
1327
1381
  };
1328
- latestVersion?: {
1329
- versionId: number;
1330
- semver: string;
1331
- availability: string;
1332
- };
1382
+ latestVersion?: CreationGameVersionSummary;
1383
+ liveVersion?: CreationGameVersionSummary;
1384
+ draftVersion?: CreationGameVersionSummary;
1385
+ creatorFeedbackStatus?: AgentTaskCreatorFeedbackStatus | null;
1333
1386
  updatedAt: string;
1334
1387
  }
1388
+ export declare const APP_LISTING_DRAFT_MEDIA_SLOT_VALUES: readonly ["icon", "heroPortrait", "heroLandscape", "socialLandscape", "screenshotPortrait", "screenshotLandscape", "videoPortrait", "videoLandscape"];
1389
+ export type AppListingDraftMediaSlot = typeof APP_LISTING_DRAFT_MEDIA_SLOT_VALUES[number];
1390
+ export interface AppListingDraftResponse {
1391
+ appId: number;
1392
+ appName: string;
1393
+ displayName: string;
1394
+ subtitle?: string | null;
1395
+ description?: string | null;
1396
+ iconUrl?: string | null;
1397
+ heroPortraitUrl?: string | null;
1398
+ heroLandscapeUrl?: string | null;
1399
+ socialLandscapeUrl?: string | null;
1400
+ screenshotPortraitUrls: string[];
1401
+ screenshotLandscapeUrls: string[];
1402
+ videoPortraitUrls: string[];
1403
+ videoLandscapeUrls: string[];
1404
+ listingMedia: AppListingMediaItem[];
1405
+ updatedAt: string;
1406
+ }
1407
+ export interface UpdateAppListingDraftRequest {
1408
+ displayName?: string;
1409
+ subtitle?: string | null;
1410
+ description?: string | null;
1411
+ }
1412
+ export interface PublishAppListingDraftResponse {
1413
+ success: true;
1414
+ app: AppResponse;
1415
+ }
1335
1416
  export interface CreationGamesResponse {
1336
1417
  items: CreationGameListItem[];
1337
1418
  now: string;
@@ -1486,6 +1567,8 @@ export interface AppResponse {
1486
1567
  controllerMode?: AppControllerMode;
1487
1568
  /** Whether the current hosted version can boot as a non-interactive detail-page preview */
1488
1569
  previewable?: boolean;
1570
+ /** Whether the current hosted version exposes an owner-only creator Editor. */
1571
+ editorSupported?: boolean;
1489
1572
  /** Visibility of current version */
1490
1573
  visibility?: AppVersionVisibility;
1491
1574
  /** Review state of current version */
@@ -1751,6 +1834,7 @@ export declare const PAID_ACQUISITION_MAX_RANGE_DAYS = 30;
1751
1834
  export interface AdminPaidAcquisitionAnalyticsRequest {
1752
1835
  fromDate: string;
1753
1836
  toDate: string;
1837
+ refreshProviders?: boolean;
1754
1838
  }
1755
1839
  export type PaidAcquisitionSource = 'PLAYDROP' | 'GOOGLE_ADS' | 'APPLOVIN' | 'SINGULAR';
1756
1840
  export type PaidAcquisitionSourceStatus = 'ready' | 'unconfigured' | 'error';
@@ -1772,12 +1856,13 @@ export interface PaidAcquisitionCreatorCampaign {
1772
1856
  published: number;
1773
1857
  }
1774
1858
  export interface PaidAcquisitionPlayerCampaign {
1775
- provider: 'APPLOVIN';
1859
+ provider: 'GOOGLE_ADS' | 'APPLOVIN';
1776
1860
  providerCampaignId: string;
1777
1861
  campaignName: string;
1778
1862
  gameName: string | null;
1779
- surface: 'IOS';
1863
+ surface: 'IOS' | 'UNKNOWN';
1780
1864
  spendCents: number | null;
1865
+ clicks: number | null;
1781
1866
  installs: number | null;
1782
1867
  engaged: number | null;
1783
1868
  registered: number | null;
@@ -1872,6 +1957,7 @@ export interface MeUser extends PublicUser {
1872
1957
  unreadNotificationsCount: number;
1873
1958
  unclaimedFreeCreditCount: number;
1874
1959
  creatorQuota?: CreatorQuotaResponse | null;
1960
+ creatorPlan?: CreatorPlanState | null;
1875
1961
  preferredAiAgent: 'CODEX' | 'CLAUDE_CODE' | 'OTHER' | null;
1876
1962
  }
1877
1963
  export interface InviteUserSummary {
@@ -2628,6 +2714,7 @@ export interface AppBrowseRequest {
2628
2714
  }
2629
2715
  export interface CreatorAppsBrowseRequest extends AppBrowseRequest {
2630
2716
  type?: AppType;
2717
+ publicOnly?: boolean;
2631
2718
  }
2632
2719
  export interface SearchSuggestRequest {
2633
2720
  q: string;
@@ -2939,7 +3026,7 @@ export interface DeleteContentCommentResponse {
2939
3026
  export interface CreatorFollowMutationResponse {
2940
3027
  following: boolean;
2941
3028
  }
2942
- export declare const FREE_CREDIT_OBJECTIVE_VALUES: readonly ["WELCOME", "PLAY_GAME", "FOLLOW_CREATOR", "INVITED", "SHARE_CODE", "ENABLE_PUSH", "CREATE_SONG", "CREATE_IMAGE", "CREATE_3D", "CLI_LOGIN", "CREATE_GAME", "CREATE_GAME_UPDATE", "CREATE_GAME_REMIX", "PUBLISH_GAME", "SHARE_GAME", "BOOST_GAME"];
3029
+ export declare const FREE_CREDIT_OBJECTIVE_VALUES: readonly ["WELCOME", "PLAY_GAME", "PLAY_ON_MOBILE", "FOLLOW_CREATOR", "INVITED", "SHARE_CODE", "ENABLE_PUSH", "CREATE_SONG", "CREATE_IMAGE", "CREATE_3D", "CLI_LOGIN", "CREATE_GAME", "CREATE_GAME_UPDATE", "CREATE_GAME_REMIX", "PUBLISH_GAME", "SHARE_GAME", "BOOST_GAME"];
2943
3030
  export type FreeCreditObjectiveKey = typeof FREE_CREDIT_OBJECTIVE_VALUES[number];
2944
3031
  export declare const FREE_CREDIT_REWARD_STATUS_VALUES: readonly ["INCOMPLETE", "CLAIMABLE", "CLAIMED"];
2945
3032
  export type FreeCreditRewardStatus = typeof FREE_CREDIT_REWARD_STATUS_VALUES[number];
@@ -2954,6 +3041,8 @@ export interface FreeCreditObjectiveSummary {
2954
3041
  claimedCount: number;
2955
3042
  status: FreeCreditRewardStatus;
2956
3043
  nextClaimRewardId: number | null;
3044
+ lastCompletedAt: string | null;
3045
+ lastClaimedAt: string | null;
2957
3046
  }
2958
3047
  export interface FreeCreditsResponse {
2959
3048
  items: FreeCreditObjectiveSummary[];
@@ -3355,7 +3444,6 @@ export interface UpdateAdminUserRequest {
3355
3444
  role?: 'CREATOR' | 'ADMIN';
3356
3445
  displayName?: string;
3357
3446
  creditDelta?: number;
3358
- freeCloudGenerationDelta?: number;
3359
3447
  bio?: string | null;
3360
3448
  youtubeUsername?: string | null;
3361
3449
  githubUsername?: string | null;
@@ -3365,6 +3453,37 @@ export interface UpdateAdminUserRequest {
3365
3453
  xUsername?: string | null;
3366
3454
  xProfileImageUrl?: string | null;
3367
3455
  }
3456
+ export interface UpdateCreatorPlanCreditUsageRequest {
3457
+ enabled: boolean;
3458
+ }
3459
+ export interface CreatorPlanCheckoutSessionResponse {
3460
+ sessionId: string;
3461
+ url: string;
3462
+ }
3463
+ export interface CreatorPlanCheckoutSessionStatusResponse {
3464
+ sessionId: string;
3465
+ status: 'open' | 'complete' | 'expired';
3466
+ paymentStatus: string | null;
3467
+ creatorPlan: CreatorPlanState;
3468
+ }
3469
+ export interface CreatorPlanPortalSessionResponse {
3470
+ url: string;
3471
+ }
3472
+ export interface AdminCreatorSubscriptionRecord {
3473
+ user: Pick<AdminUserDetail, 'id' | 'username' | 'displayName'>;
3474
+ creatorPlan: CreatorPlanState;
3475
+ }
3476
+ export interface AdminCreatorSubscriptionsResponse {
3477
+ subscriptions: AdminCreatorSubscriptionRecord[];
3478
+ }
3479
+ export interface CreateCreatorPlanGrantRequest {
3480
+ tier: Exclude<CreatorPlanTier, 'BASIC'>;
3481
+ startsAt?: string;
3482
+ endsAt: string;
3483
+ }
3484
+ export interface CreatorPlanGrantMutationResponse {
3485
+ creatorPlan: CreatorPlanState;
3486
+ }
3368
3487
  export interface DeleteAdminUserResponse {
3369
3488
  success: boolean;
3370
3489
  }