@playdrop/playdrop-cli 0.17.22 → 0.17.25

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 (30) hide show
  1. package/README.md +12 -0
  2. package/config/client-meta.json +2 -2
  3. package/dist/appUrls.d.ts +6 -0
  4. package/dist/appUrls.js +19 -0
  5. package/dist/commands/dev.d.ts +1 -0
  6. package/dist/commands/dev.js +161 -1
  7. package/dist/commands/devProceduralAssets.d.ts +66 -0
  8. package/dist/commands/devProceduralAssets.js +194 -0
  9. package/dist/commands/devServer.d.ts +16 -0
  10. package/dist/commands/devServer.js +140 -7
  11. package/dist/commands/validate.js +25 -2
  12. package/dist/index.js +3 -1
  13. package/node_modules/@playdrop/api-client/dist/client.d.ts +5 -2
  14. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  15. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +3 -1
  16. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  17. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +22 -0
  18. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +3 -2
  19. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  20. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +12 -2
  21. package/node_modules/@playdrop/api-client/dist/index.d.ts +2 -1
  22. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  23. package/node_modules/@playdrop/api-client/dist/index.js +5 -0
  24. package/node_modules/@playdrop/config/client-meta.json +2 -2
  25. package/node_modules/@playdrop/types/dist/api.d.ts +24 -3
  26. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  27. package/node_modules/@playdrop/types/dist/api.js +10 -0
  28. package/node_modules/@playdrop/types/dist/playtrade.d.ts +36 -1
  29. package/node_modules/@playdrop/types/dist/playtrade.d.ts.map +1 -1
  30. package/package.json +1 -1
@@ -12,6 +12,7 @@ exports.startOwnedDevRouter = startOwnedDevRouter;
12
12
  exports.resolveDevRouterWorkingDirectory = resolveDevRouterWorkingDirectory;
13
13
  exports.updateMountedDevRuntimeAssetManifest = updateMountedDevRuntimeAssetManifest;
14
14
  exports.startDevServer = startDevServer;
15
+ exports.startProceduralPackDevServer = startProceduralPackDevServer;
15
16
  exports.isDevServerAvailable = isDevServerAvailable;
16
17
  exports.createDevRouterServer = createDevRouterServer;
17
18
  exports.listenDevRouterServer = listenDevRouterServer;
@@ -21,11 +22,12 @@ const node_crypto_1 = require("node:crypto");
21
22
  const node_fs_1 = require("node:fs");
22
23
  const node_http_1 = __importDefault(require("node:http"));
23
24
  const node_path_1 = require("node:path");
25
+ const devProceduralAssets_1 = require("./devProceduralAssets");
24
26
  const npmProcess_1 = require("./npmProcess");
25
27
  exports.DEV_ROUTER_PORT = 8888;
26
28
  const DEV_ROUTER_HOST = "127.0.0.1";
27
29
  const CONTROL_PREFIX = "/_playdrop";
28
- const DEV_ROUTER_PROTOCOL_VERSION = 4;
30
+ const DEV_ROUTER_PROTOCOL_VERSION = 5;
29
31
  const APPROVED_PLAYDROP_ROUTER_ORIGINS = new Set([
30
32
  "https://playdrop.ai",
31
33
  "https://www.playdrop.ai",
@@ -195,7 +197,7 @@ function cleanupStaleRouterMounts() {
195
197
  function findRouterMountByCreatorAndApp(creatorUsername, appName) {
196
198
  let match = null;
197
199
  for (const mount of routerMountsById.values()) {
198
- if (mount.creatorUsername !== creatorUsername || mount.appName !== appName) {
200
+ if (mount.kind !== "app" || mount.creatorUsername !== creatorUsername || mount.appName !== appName) {
199
201
  continue;
200
202
  }
201
203
  if (match) {
@@ -329,6 +331,14 @@ function getOwnedRuntimeAssetFile(mount, ownedAssetName, role) {
329
331
  }
330
332
  return files[role.trim().toLowerCase()] ?? null;
331
333
  }
334
+ function getProceduralPackAssetFile(mount, assetName, role) {
335
+ if (mount.kind !== "procedural-asset-pack")
336
+ return null;
337
+ const files = mount.proceduralPackManifest?.assetFiles?.[assetName];
338
+ if (!files || (role !== "primary" && role !== "manifest" && role !== "preview"))
339
+ return null;
340
+ return files[role];
341
+ }
332
342
  async function readJsonBody(req) {
333
343
  const chunks = [];
334
344
  for await (const chunk of req) {
@@ -523,6 +533,7 @@ function isCompatibleRouterHealth(health) {
523
533
  return (health.protocolVersion === DEV_ROUTER_PROTOCOL_VERSION &&
524
534
  health.capabilities?.runtimeAssetManifest === true &&
525
535
  health.capabilities?.runtimeAssetManifestLookup === true &&
536
+ health.capabilities?.proceduralAssetPacks === true &&
526
537
  health.capabilities?.roomsProxy === true);
527
538
  }
528
539
  async function ensureDevRouterRunning(port = exports.DEV_ROUTER_PORT) {
@@ -687,6 +698,61 @@ async function startDevServer(options) {
687
698
  },
688
699
  };
689
700
  }
701
+ async function startProceduralPackDevServer(options) {
702
+ const ownerPid = process.pid;
703
+ let closing = false;
704
+ const devProcess = spawnDevScript(options.projectInfo);
705
+ if (devProcess) {
706
+ devProcess.on("exit", (code) => {
707
+ if (!closing && code !== 0 && code !== null)
708
+ console.warn(`npm run dev exited with code ${code}.`);
709
+ });
710
+ }
711
+ let mountId = "";
712
+ try {
713
+ await ensureDevRouterRunning(options.port);
714
+ const registeredMount = await registerDevMount({
715
+ kind: "procedural-asset-pack",
716
+ creatorUsername: options.creatorUsername,
717
+ appType: "asset-pack",
718
+ appName: options.packName,
719
+ htmlPath: options.cataloguePath,
720
+ staticRoot: options.rootDir,
721
+ repoRoot: (0, node_path_1.resolve)(options.projectInfo.projectDir ?? options.rootDir),
722
+ ownerPid,
723
+ proceduralPackManifest: options.proceduralPackManifest,
724
+ }, options.port);
725
+ mountId = registeredMount.mountId;
726
+ }
727
+ catch (error) {
728
+ await terminateChildProcessTree(devProcess);
729
+ throw error;
730
+ }
731
+ const heartbeat = setInterval(() => {
732
+ heartbeatDevMount(mountId, ownerPid, options.port).catch(() => undefined);
733
+ }, 2000);
734
+ return {
735
+ devProcess,
736
+ startedDevProcess: Boolean(devProcess),
737
+ manifestUrl: (0, devProceduralAssets_1.buildLocalProceduralPackManifestUrl)({
738
+ creatorUsername: options.creatorUsername,
739
+ packName: options.packName,
740
+ port: options.port,
741
+ }),
742
+ close: async () => {
743
+ if (closing)
744
+ return;
745
+ closing = true;
746
+ clearInterval(heartbeat);
747
+ try {
748
+ await unregisterDevMount(mountId, options.port);
749
+ }
750
+ finally {
751
+ await terminateChildProcessTree(devProcess);
752
+ }
753
+ },
754
+ };
755
+ }
690
756
  async function isDevServerAvailable(input, timeoutMs = 1000) {
691
757
  const port = input.port ?? exports.DEV_ROUTER_PORT;
692
758
  const health = await fetchRouterHealth(port, Math.min(timeoutMs, 400));
@@ -717,10 +783,14 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
717
783
  let activePort = initialPort;
718
784
  const handleRequest = async (req, res) => {
719
785
  const method = req.method || "GET";
720
- const allowedOrigin = resolveApprovedDevRouterOrigin(typeof req.headers.origin === "string" ? req.headers.origin : undefined);
721
- if (allowedOrigin) {
722
- res.setHeader("Access-Control-Allow-Origin", allowedOrigin);
723
- res.setHeader("Access-Control-Allow-Credentials", "true");
786
+ const originHeader = typeof req.headers.origin === "string" ? req.headers.origin.trim() : undefined;
787
+ const allowedOrigin = resolveApprovedDevRouterOrigin(originHeader);
788
+ const isProceduralPackRequest = (req.url ?? "").startsWith(`${CONTROL_PREFIX}/asset-packs/dev/`);
789
+ const responseOrigin = allowedOrigin ?? (isProceduralPackRequest && originHeader === "null" ? "null" : null);
790
+ if (responseOrigin) {
791
+ res.setHeader("Access-Control-Allow-Origin", responseOrigin);
792
+ if (allowedOrigin)
793
+ res.setHeader("Access-Control-Allow-Credentials", "true");
724
794
  }
725
795
  res.setHeader("Vary", "Origin");
726
796
  res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
@@ -749,6 +819,7 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
749
819
  capabilities: {
750
820
  runtimeAssetManifest: true,
751
821
  runtimeAssetManifestLookup: true,
822
+ proceduralAssetPacks: true,
752
823
  roomsProxy: true,
753
824
  },
754
825
  });
@@ -830,6 +901,7 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
830
901
  const repoRoot = body.repoRoot?.trim();
831
902
  const ownerPid = Number(body.ownerPid);
832
903
  const roomsPort = body.roomsPort == null ? null : Number(body.roomsPort);
904
+ const kind = body.kind === "procedural-asset-pack" ? "procedural-asset-pack" : "app";
833
905
  if (!creatorUsername ||
834
906
  !appType ||
835
907
  !appName ||
@@ -860,8 +932,10 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
860
932
  return;
861
933
  }
862
934
  existingMount.ownerPid = ownerPid;
935
+ existingMount.kind = kind;
863
936
  existingMount.updatedAt = Date.now();
864
937
  existingMount.runtimeAssetManifest = body.runtimeAssetManifest ?? null;
938
+ existingMount.proceduralPackManifest = body.proceduralPackManifest ?? null;
865
939
  existingMount.roomsPort = roomsPort;
866
940
  sendJson(res, 200, {
867
941
  mountId: existingMount.id,
@@ -877,6 +951,7 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
877
951
  const mount = {
878
952
  id: (0, node_crypto_1.randomUUID)(),
879
953
  key,
954
+ kind,
880
955
  creatorUsername,
881
956
  appType,
882
957
  appName,
@@ -886,6 +961,7 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
886
961
  ownerPid,
887
962
  updatedAt: Date.now(),
888
963
  runtimeAssetManifest: body.runtimeAssetManifest ?? null,
964
+ proceduralPackManifest: body.proceduralPackManifest ?? null,
889
965
  roomsPort,
890
966
  };
891
967
  routerMountsById.set(mount.id, mount);
@@ -939,6 +1015,63 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
939
1015
  return;
940
1016
  }
941
1017
  cleanupStaleRouterMounts();
1018
+ const proceduralSegments = pathname.split("/").filter(Boolean);
1019
+ const isProceduralManifestPath = proceduralSegments.length === 6 &&
1020
+ proceduralSegments[0] === "_playdrop" &&
1021
+ proceduralSegments[1] === "asset-packs" &&
1022
+ proceduralSegments[2] === "dev" &&
1023
+ proceduralSegments[5] === "manifest";
1024
+ if (isProceduralManifestPath) {
1025
+ if (method !== "GET") {
1026
+ respondWithText(res, method, 405, "Method not allowed");
1027
+ return;
1028
+ }
1029
+ const creatorUsername = proceduralSegments[3] ?? "";
1030
+ const packName = proceduralSegments[4] ?? "";
1031
+ const mountId = routerMountIdsByKey.get(buildMountKey(creatorUsername, "asset-pack", packName));
1032
+ const mount = mountId ? routerMountsById.get(mountId) : null;
1033
+ if (mount?.kind !== "procedural-asset-pack" || !mount.proceduralPackManifest) {
1034
+ sendJson(res, 404, { error: "procedural_pack_manifest_not_found" });
1035
+ return;
1036
+ }
1037
+ sendJson(res, 200, mount.proceduralPackManifest.response);
1038
+ return;
1039
+ }
1040
+ const isProceduralFilePath = proceduralSegments.length === 9 &&
1041
+ proceduralSegments[0] === "_playdrop" &&
1042
+ proceduralSegments[1] === "asset-packs" &&
1043
+ proceduralSegments[2] === "dev" &&
1044
+ proceduralSegments[5] === "assets" &&
1045
+ proceduralSegments[7] === "files";
1046
+ if (isProceduralFilePath) {
1047
+ if (method !== "GET" && method !== "HEAD") {
1048
+ respondWithText(res, method, 405, "Method not allowed");
1049
+ return;
1050
+ }
1051
+ const creatorUsername = proceduralSegments[3] ?? "";
1052
+ const packName = proceduralSegments[4] ?? "";
1053
+ const assetName = proceduralSegments[6] ?? "";
1054
+ const role = proceduralSegments[8] ?? "";
1055
+ const mountId = routerMountIdsByKey.get(buildMountKey(creatorUsername, "asset-pack", packName));
1056
+ const mount = mountId ? routerMountsById.get(mountId) : null;
1057
+ const file = mount ? getProceduralPackAssetFile(mount, assetName, role) : null;
1058
+ if (!file) {
1059
+ respondWithText(res, method, 404, "Not found");
1060
+ return;
1061
+ }
1062
+ try {
1063
+ const stats = (0, node_fs_1.statSync)(file.absolutePath);
1064
+ if (!stats.isFile()) {
1065
+ respondWithText(res, method, 404, "Not found");
1066
+ return;
1067
+ }
1068
+ respondWithBuffer(res, method, 200, file.contentType, (0, node_fs_1.readFileSync)(file.absolutePath));
1069
+ }
1070
+ catch {
1071
+ respondWithText(res, method, 404, "Not found");
1072
+ }
1073
+ return;
1074
+ }
942
1075
  const parsedMountPath = parseMountPath(pathname);
943
1076
  if (!parsedMountPath) {
944
1077
  respondWithText(res, method, 404, "Not found");
@@ -946,7 +1079,7 @@ function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
946
1079
  }
947
1080
  const mountId = routerMountIdsByKey.get(parsedMountPath.key);
948
1081
  const mount = mountId ? routerMountsById.get(mountId) : null;
949
- if (!mount) {
1082
+ if (!mount || mount.kind !== "app") {
950
1083
  respondWithText(res, method, 404, "Not found");
951
1084
  return;
952
1085
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validate = validate;
4
4
  const types_1 = require("@playdrop/types");
5
+ const node_path_1 = require("node:path");
5
6
  const apps_1 = require("../apps");
6
7
  const assetSpecs_1 = require("../assetSpecs");
7
8
  const commandContext_1 = require("../commandContext");
@@ -13,6 +14,23 @@ const tweakStaleness_1 = require("../tweakStaleness");
13
14
  const listingPreflight_1 = require("../listingPreflight");
14
15
  const upload_content_1 = require("./upload-content");
15
16
  const upload_1 = require("./upload");
17
+ const proceduralValidation_1 = require("../proceduralValidation");
18
+ const PROCEDURAL_MIME_BY_EXTENSION = {
19
+ ".mjs": "text/javascript",
20
+ ".js": "text/javascript",
21
+ };
22
+ async function validateProceduralAssetRuntime(task, client) {
23
+ const primaryPath = task.filePaths.primary ?? "";
24
+ await (0, proceduralValidation_1.assertProceduralAssetIsValid)(task, {
25
+ client,
26
+ primaryContentType: PROCEDURAL_MIME_BY_EXTENSION[(0, node_path_1.extname)(primaryPath).toLowerCase()] ?? "application/octet-stream",
27
+ });
28
+ }
29
+ async function validateProceduralAssetRuntimes(tasks, client) {
30
+ for (const task of tasks) {
31
+ await validateProceduralAssetRuntime(task, client);
32
+ }
33
+ }
16
34
  function buildLocalAssetSpecLookups(tasks) {
17
35
  const exactByRef = new Map();
18
36
  const uniqueByNameVersion = new Map();
@@ -216,6 +234,7 @@ async function validate(pathOrName, options = {}) {
216
234
  });
217
235
  }
218
236
  await (0, apps_1.validateAppTask)(task, { environment: resolvedValidationContext?.envConfig });
237
+ await validateProceduralAssetRuntimes(task.ownedAssets ?? [], resolvedValidationContext?.client);
219
238
  (0, apps_1.collectAppValidationWarnings)(task, "source").forEach((warning) => warnings.add(warning));
220
239
  }
221
240
  else if (task.kind === "asset-spec") {
@@ -223,9 +242,13 @@ async function validate(pathOrName, options = {}) {
223
242
  }
224
243
  else if (task.kind === "asset") {
225
244
  validateAssetTask(task, assetSpecLookups);
245
+ await validateProceduralAssetRuntime(task, resolvedValidationContext?.client);
246
+ }
247
+ else if (task.kind === "asset-pack") {
248
+ await validateProceduralAssetRuntimes(task.ownedAssets, resolvedValidationContext?.client);
226
249
  }
227
- else if (task.kind === "owned-asset" || task.kind === "asset-pack") {
228
- // Structural validation already ran during catalogue parsing.
250
+ else if (task.kind === "owned-asset") {
251
+ await validateProceduralAssetRuntime(task, resolvedValidationContext?.client);
229
252
  }
230
253
  else {
231
254
  throw new Error(`project validate does not support "${entityId}".`);
package/dist/index.js CHANGED
@@ -1164,12 +1164,14 @@ projectCreate
1164
1164
  });
1165
1165
  project
1166
1166
  .command("dev [target]")
1167
- .description("Run an app locally")
1167
+ .description("Run an app or procedural asset pack locally")
1168
1168
  .option("--app <name>", "App name when the target is a workspace")
1169
+ .option("--asset <name>", "Procedural pack asset to open directly")
1169
1170
  .option("--dev-auth <mode>", "prompt, anonymous, viewer, or player")
1170
1171
  .option("--player <slot>", "1, 2, 3, or 4 when --dev-auth player is selected")
1171
1172
  .action(async (target, opts = {}) => {
1172
1173
  await (0, dev_1.dev)(target, opts.app, {
1174
+ asset: opts.asset,
1173
1175
  devAuth: opts.devAuth,
1174
1176
  player: opts.player,
1175
1177
  });
@@ -1,4 +1,4 @@
1
- import type { AcquisitionAttributionRequest, AcquisitionAttributionResponse, AbortAppUploadResponse, AbortAssetPackUploadResponse, AdInterstitialShowResponse, AdLoadRequest, AdLoadResponse, AdRewardedShowResponse, AdShowRequest, AdminAgentTaskDetailResponse, AdminAgentTaskTranscriptResponse, AdminAgentTasksResponse, AdminAgentWorkersStatusResponse, AdminAppPlayerMetaResponse, AdminAppPlayerMetaUserResponse, AdminAppVersionReviewsListResponse, AdminAppsListResponse, AdminCreatorEngagementExecutionsResponse, AdminCreatorEngagementRulePreviewRequest, AdminCreatorEngagementRulePreviewResponse, AdminCreatorEngagementRulesResponse, AdminCreatorEngagementUserResponse, AdminCreatorSubscriptionsResponse, AdminCreditTransactionsResponse, AdminCreatorAcquisitionAnalyticsRequest, AdminPaidAcquisitionAnalyticsRequest, AdminEnqueueNextAppVersionReviewTaskResponse, AdminFeedbackListResponse, AdminFeedbackResponse, AdminGameCollectionCandidatesResponse, AdminGameCollectionResponse, AdminGameCollectionsResponse, AdminMutateAchievementStateRequest, AdminMutateAchievementStateResponse, AdminMutateLeaderboardScoreRequest, AdminMutateLeaderboardScoreResponse, AdminPaymentDetailResponse, AdminPaymentsListResponse, AdminPlayTradeRequest, AdminPlayTradeResponse, AdminPlatformAnalyticsRequest, AdminPlatformAnalyticsResponse, AdminTractionAnalyticsRequest, AdminRefundPaymentRequest, AdminRetirePlayerMetaDefinitionResponse, AdminTagGroupResponse, AdminTagGroupsResponse, AdminTagResponse, AdminUpdateAppRequest, AdminUpdateAppResponse, AdminUpdateAppVersionReviewRequest, AdminUpdateAppVersionReviewResponse, AdminUserResponse, AgentTaskAttachmentUploadResponse, AgentTaskAvailabilityResponse, AgentTaskCreatorFeedbackStatus, AgentTaskDetailResponse, AgentTaskEventsResponse, AgentTaskKind, AgentTaskNewGameSuggestionsResponse, AgentTasksResponse, AiGenerationHistoryResponse, AiGenerationTaskResponse, AiGenerationTasksResponse, PrepareAiTaskInputUploadRequest, PrepareAiTaskInputUploadResponse, FinalizeAiTaskInputUploadResponse, AiGenerationDetailResponse, AiGenerationsResponse, ApiKeyLoginRequest, AppAccessTokenResponse, AppAgentTaskResponse, AppBrowseRequest, AppDetailRequest, AppDetailResponse, AppEngagementResponse, AppGameRecommendationsResponse, ContentViewerStateResponse, AppLogEntryRequest, AppLogEntryResponse, AppListingDraftMediaSlot, AppListingDraftResponse, AppRuntimeAssetsResponse, AppAuthMode, AppSourceBundleResponse, AppSurface, AppType, AppUploadLaunchCheckPreviewResponse, AppVersionDetailResponse, AppVersionVisibility, PublishAppListingDraftResponse, AppTweaksSnapshot, CreatorNotesClearResponse, CreatorNotesResponse, CreateCreatorPlanGrantRequest, CreatorPlanGrantMutationResponse, TweakValues, UpdateAppListingDraftRequest, AppVersionsListResponse, AppleCreditPackFulfillmentRequest, AppleLinkRequest, AppleLinkResponse, AppleNativeChallengeResponse, AppleOAuthHandoffExchangeRequest, AppleOAuthHandoffExchangeResponse, AppleOAuthLinkStartRequest, AppleOAuthLinkStartResponse, ApplePendingSignupResponse, ApplePushDeviceRequest, ApplePushDeviceStatusResponse, AppleSignInRequest, AppleSignInResponse, AppsListResponse, AssetBrowseKind, AssetCategoriesResponse, AssetCategory, AssetDetailResponse, AssetFormat, AssetListResponse, AssetListSort, AssetPackDetailResponse, AssetPackListResponse, AssetPackListSort, AssetPackSourceBundleResponse, AssetPackVersionsListResponse, AssetPurchaseRequest, AssetSourceBundleResponse, AssetSourceKind, AssetSpecAppsListResponse, AssetSpecAssetsListResponse, AssetSpecDetailResponse, AssetSpecListResponse, AssetSpecListSort, AssetSpecVersionResponseEnvelope, AssetSpecVersionsListResponse, AssetVersionsListResponse, AssetVisibility, BatchCreateUsersResponse, BatchUpsertNodeRelationsRequest, BatchUpsertNodeRelationsResponse, BoostActivationRequest, BoostBalanceResponse, BoostHistoryResponse, BoostPurchaseRequest, BoostPurchaseResponse, AbandonPlayTradeSessionResponse, CompletePlayTradeSessionRequest, CompletePlayTradeSessionResponse, CreatePlayTradeSessionRequest, PlayTradeSessionResponse, BoostReportQuery, BoostReportResponse, BoostStatusResponse, BootstrapResponse, CancelAgentTaskResponse, ChangePasswordRequest, ChangePasswordResponse, ClaimFreeCreditRewardResponse, ClearAgentTaskResponse, CliApiKeyStatusResponse, CliApiTokenSecretResponse, CliApiTokensResponse, CliLoginApproveRequest, CliLoginApproveResponse, CliLoginPollRequest, CliLoginPollResponse, CliLoginStartResponse, CliLoginStatusResponse, CliWebLaunchStartRequest, CliWebLaunchStartResponse, CompleteAppleSignupRequest, CompleteAppleSignupResponse, CompleteGoogleSignupRequest, CompleteGoogleSignupResponse, CompleteXSignupRequest, CompleteXSignupResponse, NativeOAuthHandoffExchangeRequest, NativeOAuthHandoffExchangeResponse, NativeOAuthLinkStartRequest, NativeOAuthLinkStartResponse, ContentCommentsResponse, ContentLicense, ContentRemixRelationsResponse, CreateAdminGameCollectionRequest, CreateAppAgentTaskRequest, CreateAppAgentTaskResponse, CreateAppRequest, CreateAppResponse, CreateAssetSpecVersionResponse, CreateAssetVersionResponse, CreateCliApiKeyResponse, CreateCliApiTokenRequest, CreateCommentReportRequest, CreateContentCommentRequest, CreateContentCommentResponse, CreateContentReportRequest, CreateCreatorReportRequest, CreateGameEvalAgentTaskRequest, CreateGameEvalAgentTaskResponse, CreateNewGameAgentTaskRequest, CreateNewGameAgentTaskResponse, CreateStaticGameAgentTaskRequest, CreateStaticGameAgentTaskResponse, CreateAiGenerationTaskRequest, CreateAiGenerationTaskResponse, CreateRemixGameAgentTaskRequest, CreateRemixGameAgentTaskResponse, CreateTagGroupRequest, CreateTagRequest, CreateUserRequest, CreateUserResponse, CreatorAppsBrowseRequest, CreatorBlockMutationResponse, CreatorEarningsResponse, CreatorEngagementRuleExecutionStatus, CreatorAcquisitionAnalyticsResponse, PaidAcquisitionAnalyticsResponse, CreatorFollowMutationResponse, CreatorGameCreatorFeedbackStatusResponse, CreatorGameShareResponse, CreatorGameStatusResponse, CreatorGameVersionsResponse, CreatorGamesListResponse, CreationConversationResponse, CreditPackCheckoutSessionRequest, CreditPackCheckoutSessionResponse, CreditPackCheckoutStatusResponse, CreatorPlanCheckoutSessionResponse, CreatorPlanCheckoutSessionStatusResponse, CreatorPlanPortalSessionResponse, CreatorPlanSessionRequest, CreatorPlanState, CreatorPlanTier, CreditPackResponse, CreditPacksResponse, DeleteAdminGameCollectionResponse, DeleteAdminUserResponse, DeleteAppResponse, DeleteAssetPackResponse, DeleteAssetPackVersionResponse, DeleteAssetResponse, DeleteAssetSpecResponse, DeleteAssetSpecVersionResponse, DeleteAssetVersionResponse, DeleteCliApiTokenResponse, DeleteContentCommentResponse, DeleteFeedbackResponse, DeleteMyAccountRequest, DeleteMyAccountResponse, DeleteOwnedCustomAssetResponse, DeleteVersionResponse, DevAppAccessTokenResponse, DevGameServerCredentialResponse, DevPlayerResetResponse, DevSocialFriendsResponse, DislikedItemMutationResponse, EmailPreferencesResponse, EmailUnsubscribeResponse, FeedbackCategory, FeedbackClient, FeedbackListResponse, FeedbackStatus, FetchAdminUsersOptions, FetchHomeOptions, FinalizeAppUploadResponse, FinalizeAppUploadRequest, FinalizeAssetPackUploadResponse, FirebasePushDeviceRequest, FirebasePushDeviceStatusResponse, GameplaySessionResponse, GameplaySessionActivityRequest, GameplaySessionStartRequest, FollowingCreatorsResponse, FollowingFeedResponse, FollowingFeedSection, FollowingSort, FreeCreditsResponse, GetAchievementResponse, GetLeaderboardResponse, GoogleAppleLinkRequest, GoogleAppleLinkResponse, GoogleAppleSignInRequest, GoogleAppleSignInResponse, GoogleCreditPackFulfillmentRequest, GoogleOneTapExchangeRequest, GoogleOneTapExchangeResponse, GooglePendingSignupResponse, HomeCollectionPageResponse, HomeResponse, IapPurchaseRequest, IapPurchaseResponse, IapReceiptListParams, LeaderboardEntry, IapReceiptResponse, IapReceiptsResponse, InitializeAppUploadRequest, InitializeAppUploadResponse, InitializeAssetPackUploadRequest, InitializeAssetPackUploadResponse, InvitePreviewResponse, LibraryCategory, LibraryResponse, LibrarySort, LikedItemMutationResponse, ListAchievementsResponse, ListLeaderboardsResponse, ListOwnedCustomAssetsResponse, LoadOwnedCustomAssetResponse, LoginRequest, LoginResponse, LogoutResponse, MeAgentWorkersResponse, MeResponse, MobileCreditPackFulfillmentResponse, ModerationReportResponse, MutateOwnedCustomAssetRequest, MutateOwnedCustomAssetResponse, MyAchievementsResponse, MyAppsResponse, MyInviteCodeResponse, MyLeaderboardsResponse, NotificationReadResponse, NotificationStatus, NotificationsResponse, OwnedProfileAssetsResponse, PaymentProvider, PaymentStatus, PrivacyExportResponse, PublicEmailPreferencesResponse, PublicEmailPreferencesUpdateRequest, PurchaseResponse, PushSubscriptionMutationResponse, RecordAppUploadLaunchCheckRequest, RecordAppUploadLaunchCheckResponse, RecordAppUploadCausalCheckRequest, RecordAppUploadCausalCheckResponse, RegisterRequest, RegisterResponse, ResolveRuntimeAssetsRequest, ResolveRuntimeAssetsResponse, RetryAgentTaskResponse, ReviewState, SavedItemKind, SavedItemMutationResponse, SearchRequest, SearchResponse, SendSocialMessageInput, SendSocialMessageResponse, SocialFriend, SocialMessagePage, SearchSuggestRequest, SearchSuggestResponse, SetAchievementProgressRequest, SetAchievementProgressResponse, SetProfileAssetRequest, SetProfileAssetResponse, ShopResponse, StarterProfileAssetsResponse, SubmitCreatorSurveyRequest, SubmitCreatorSurveyResponse, SubmitFeedbackRequest, SubmitFeedbackResponse, SubmitLeaderboardScoreRequest, SubmitLeaderboardScoreResponse, TagDetailResponse, TagDirectoryResponse, TagGroupDetailResponse, TagGroupSort, TagListResponse, TemplateScaffoldResponse, TrackEngagementEventRequest, TrackEngagementEventResponse, TractionAnalyticsResponse, TransactionsResponse, UnlinkGoogleResponse, UnlinkXResponse, UnlockAchievementResponse, UpdateAdminFeedbackRequest, UpdateAdminFeedbackResponse, UpdateAdminGameCollectionGamesRequest, UpdateAdminGameCollectionRequest, UpdateAdminUserRequest, UpdateAppRequest, UpdateAppResponse, UpdateAssetPackRequest, UpdateAssetPackResponse, UpdateAssetPackVersionRequest, UpdateAssetPackVersionResponse, UpdateAssetRequest, UpdateAssetResponse, UpdateAssetSpecVersionResponse, UpdateAssetVersionRequest, UpdateAssetVersionResponse, UpdateProfileRequest, UpdateProfileResponse, UpdatePreferredLocaleRequest, UpdatePreferredLocaleResponse, UpdateTagGroupRequest, UpdateTagRequest, UpdateUserCommunicationPreferencesRequest, UpdateVersionResponse, SignAppUploadObjectsRequest, SignAppUploadObjectsResponse, UploadAssetPackSessionAssetResponse, UploadAssetPackSessionMediaResponse, UpsertWebPushSubscriptionRequest, UserDetailResponse, UsernameAvailableResponse, UsersListResponse, WebPushConfigResponse, WebPushSubscriptionStatusResponse, WorkerAgentTaskAttemptUnavailableRequest, WorkerAgentTaskAttemptUnavailableResponse, WorkerGetAgentTaskRequest, WorkerAcknowledgeAgentTaskClaimRequest, WorkerAcknowledgeAgentTaskClaimResponse, WorkerClaimAgentTaskRequest, WorkerClaimAgentTaskResponse, WorkerClaimAgentTaskSlugRequest, WorkerClaimAgentTaskSlugResponse, WorkerCompleteAgentTaskRequest, WorkerCompleteReleaseSmokeRequest, WorkerCreateAgentTaskEventRequest, WorkerCreateAgentTaskEventResponse, WorkerFailAgentTaskRequest, WorkerHeartbeatAgentTaskRequest, WorkerHeartbeatAgentTaskResponse, WorkerPrepareAgentTaskTranscriptRequest, WorkerPrepareAgentTaskTranscriptResponse, WorkerPrepareGameSourceRequest, WorkerPrepareGameSourceResponse, WorkerReadGameSourceFilesRequest, WorkerReadGameSourceFilesResponse, WorkerCompleteAgentTaskTranscriptRequest, WorkerCompleteAgentTaskTranscriptResponse, WorkerPresenceRequest, WorkerPresenceResponse, WorkerRecordProviderRequestRequest, WorkerRecordProviderRequestResponse, WorkerRecordProviderSubmissionRequest, WorkerRecordProviderSubmissionResponse, WorkerScreeningResultRequest, WorkerScreeningResultResponse, WorkerGenerationTextResultRequest, WorkerGenerationTextResultResponse, WorkerPrepareGenerationUploadsRequest, WorkerPrepareGenerationUploadsResponse, WorkerCheckpointGenerationUploadsRequest, WorkerCheckpointGenerationUploadsResponse, WorkerFinalizeGenerationRequest, WorkerFinalizeGenerationResponse, WorkerFailGenerationRequest, WorkerFailGenerationResponse, RegisterAgentBundleRequest, RegisterAgentBundleResponse, WorkerRecordAgentTaskRunTelemetryRequest, WorkerRecordAgentTaskRunTelemetryResponse, WorkerSubmitAgentTaskEvalRequest, WorkerSubmitAgentTaskEvalResponse, WorkerSubmitAgentTaskReviewRequest, WorkerSubmitAgentTaskReviewResponse, WorkerAgentTaskMaterialResponse, WorkerUpdateIntentRequest, WorkerUpdateIntentResponse, XPendingSignupResponse } from "@playdrop/types";
1
+ import type { AcquisitionAttributionRequest, AcquisitionAttributionResponse, AbortAppUploadResponse, AbortAssetPackUploadResponse, AdInterstitialShowResponse, AdLoadRequest, AdLoadResponse, AdRewardedShowResponse, AdShowRequest, AdminAgentTaskDetailResponse, AdminAgentTaskTranscriptResponse, AdminAgentTasksResponse, AdminAgentWorkersStatusResponse, AdminCloudWorkerConvergenceResponse, AdminSetAgentWorkerRetiredRequest, AdminSetAgentWorkerRetiredResponse, AdminAppPlayerMetaResponse, AdminAppPlayerMetaUserResponse, AdminAppVersionReviewsListResponse, AdminAppsListResponse, AdminCreatorEngagementExecutionsResponse, AdminCreatorEngagementRulePreviewRequest, AdminCreatorEngagementRulePreviewResponse, AdminCreatorEngagementRulesResponse, AdminCreatorEngagementUserResponse, AdminCreatorSubscriptionsResponse, AdminCreditTransactionsResponse, AdminCreatorAcquisitionAnalyticsRequest, AdminPaidAcquisitionAnalyticsRequest, AdminEnqueueNextAppVersionReviewTaskResponse, AdminFeedbackListResponse, AdminFeedbackResponse, AdminGameCollectionCandidatesResponse, AdminGameCollectionResponse, AdminGameCollectionsResponse, AdminMutateAchievementStateRequest, AdminMutateAchievementStateResponse, AdminMutateLeaderboardScoreRequest, AdminMutateLeaderboardScoreResponse, AdminPaymentDetailResponse, AdminPaymentsListResponse, AdminPlayTradeRequest, AdminPlayTradeResponse, AdminPlatformAnalyticsRequest, AdminPlatformAnalyticsResponse, AdminTractionAnalyticsRequest, AdminRefundPaymentRequest, AdminRetirePlayerMetaDefinitionResponse, AdminTagGroupResponse, AdminTagGroupsResponse, AdminTagResponse, AdminUpdateAppRequest, AdminUpdateAppResponse, AdminUpdateAppVersionReviewRequest, AdminUpdateAppVersionReviewResponse, AdminUserResponse, AgentTaskAttachmentUploadResponse, AgentTaskAvailabilityResponse, AgentTaskCreatorFeedbackStatus, AgentTaskDetailResponse, AgentTaskEventsResponse, AgentTaskKind, AgentTaskNewGameSuggestionsResponse, AgentTasksResponse, AiGenerationHistoryResponse, AiGenerationTaskResponse, AiGenerationTasksResponse, PrepareAiTaskInputUploadRequest, PrepareAiTaskInputUploadResponse, FinalizeAiTaskInputUploadResponse, AiGenerationDetailResponse, AiGenerationsResponse, ApiKeyLoginRequest, AppAccessTokenResponse, AppAgentTaskResponse, AppBrowseRequest, AppDetailRequest, AppDetailResponse, AppEngagementResponse, AppGameRecommendationsResponse, ContentViewerStateResponse, AppLogEntryRequest, AppLogEntryResponse, AppListingDraftMediaSlot, AppListingDraftResponse, AppRuntimeAssetsResponse, AppAuthMode, AppSourceBundleResponse, AppSurface, AppType, AppUploadLaunchCheckPreviewResponse, AppVersionDetailResponse, AppVersionVisibility, PublishAppListingDraftResponse, AppTweaksSnapshot, CreatorNotesClearResponse, CreatorNotesResponse, CreateCreatorPlanGrantRequest, CreatorPlanGrantMutationResponse, TweakValues, UpdateAppListingDraftRequest, AppVersionsListResponse, AppleCreditPackFulfillmentRequest, AppleLinkRequest, AppleLinkResponse, AppleNativeChallengeResponse, AppleOAuthHandoffExchangeRequest, AppleOAuthHandoffExchangeResponse, AppleOAuthLinkStartRequest, AppleOAuthLinkStartResponse, ApplePendingSignupResponse, ApplePushDeviceRequest, ApplePushDeviceStatusResponse, AppleSignInRequest, AppleSignInResponse, AppsListResponse, AssetBrowseKind, AssetCategoriesResponse, AssetCategory, AssetDetailResponse, AssetFormat, AssetListResponse, AssetListSort, AssetPackDetailResponse, AssetPackListResponse, AssetPackListSort, AssetPackSourceBundleResponse, AssetPackVersionsListResponse, AssetPurchaseRequest, AssetSourceBundleResponse, AssetSourceKind, AssetSpecAppsListResponse, AssetSpecAssetsListResponse, AssetSpecDetailResponse, AssetSpecListResponse, AssetSpecListSort, AssetSpecVersionResponseEnvelope, AssetSpecVersionsListResponse, AssetVersionsListResponse, AssetVisibility, BatchCreateUsersResponse, BatchUpsertNodeRelationsRequest, BatchUpsertNodeRelationsResponse, BoostActivationRequest, BoostBalanceResponse, BoostHistoryResponse, BoostPurchaseRequest, BoostPurchaseResponse, AbandonPlayTradeSessionResponse, CompletePlayTradeSessionRequest, CompletePlayTradeSessionResponse, CreatePlayTradeSessionRequest, CreatePlayTradeSessionResponse, PlayTradeOverviewResponse, PlayTradeSessionResponse, BoostReportQuery, BoostReportResponse, BoostStatusResponse, BootstrapResponse, CancelAgentTaskResponse, ChangePasswordRequest, ChangePasswordResponse, ClaimFreeCreditRewardResponse, ClearAgentTaskResponse, CliApiKeyStatusResponse, CliApiTokenSecretResponse, CliApiTokensResponse, CliLoginApproveRequest, CliLoginApproveResponse, CliLoginPollRequest, CliLoginPollResponse, CliLoginStartResponse, CliLoginStatusResponse, CliWebLaunchStartRequest, CliWebLaunchStartResponse, CompleteAppleSignupRequest, CompleteAppleSignupResponse, CompleteGoogleSignupRequest, CompleteGoogleSignupResponse, CompleteXSignupRequest, CompleteXSignupResponse, NativeOAuthHandoffExchangeRequest, NativeOAuthHandoffExchangeResponse, NativeOAuthLinkStartRequest, NativeOAuthLinkStartResponse, ContentCommentsResponse, ContentLicense, ContentRemixRelationsResponse, CreateAdminGameCollectionRequest, CreateAppAgentTaskRequest, CreateAppAgentTaskResponse, CreateAppRequest, CreateAppResponse, CreateAssetSpecVersionResponse, CreateAssetVersionResponse, CreateCliApiKeyResponse, CreateCliApiTokenRequest, CreateCommentReportRequest, CreateContentCommentRequest, CreateContentCommentResponse, CreateContentReportRequest, CreateCreatorReportRequest, CreateGameEvalAgentTaskRequest, CreateGameEvalAgentTaskResponse, CreateNewGameAgentTaskRequest, CreateNewGameAgentTaskResponse, CreateStaticGameAgentTaskRequest, CreateStaticGameAgentTaskResponse, CreateAiGenerationTaskRequest, CreateAiGenerationTaskResponse, CreateRemixGameAgentTaskRequest, CreateRemixGameAgentTaskResponse, CreateTagGroupRequest, CreateTagRequest, CreateUserRequest, CreateUserResponse, CreatorAppsBrowseRequest, CreatorBlockMutationResponse, CreatorEarningsResponse, CreatorEngagementRuleExecutionStatus, CreatorAcquisitionAnalyticsResponse, PaidAcquisitionAnalyticsResponse, CreatorFollowMutationResponse, CreatorGameCreatorFeedbackStatusResponse, CreatorGameShareResponse, CreatorGameStatusResponse, CreatorGameVersionsResponse, CreatorGamesListResponse, CreationConversationResponse, CreditPackCheckoutSessionRequest, CreditPackCheckoutSessionResponse, CreditPackCheckoutStatusResponse, CreatorPlanCheckoutSessionResponse, CreatorPlanCheckoutSessionStatusResponse, CreatorPlanPortalSessionResponse, CreatorPlanSessionRequest, CreatorPlanState, CreatorPlanTier, CreditPackResponse, CreditPacksResponse, DeleteAdminGameCollectionResponse, DeleteAdminUserResponse, DeleteAppResponse, DeleteAssetPackResponse, DeleteAssetPackVersionResponse, DeleteAssetResponse, DeleteAssetSpecResponse, DeleteAssetSpecVersionResponse, DeleteAssetVersionResponse, DeleteCliApiTokenResponse, DeleteContentCommentResponse, DeleteFeedbackResponse, DeleteMyAccountRequest, DeleteMyAccountResponse, DeleteOwnedCustomAssetResponse, DeleteVersionResponse, DevAppAccessTokenResponse, DevGameServerCredentialResponse, DevPlayerResetResponse, DevSocialFriendsResponse, DislikedItemMutationResponse, EmailPreferencesResponse, EmailUnsubscribeResponse, FeedbackCategory, FeedbackClient, FeedbackListResponse, FeedbackStatus, FetchAdminUsersOptions, FetchHomeOptions, FinalizeAppUploadResponse, FinalizeAppUploadRequest, FinalizeAssetPackUploadResponse, FirebasePushDeviceRequest, FirebasePushDeviceStatusResponse, GameplaySessionResponse, GameplaySessionActivityRequest, GameplaySessionStartRequest, FollowingCreatorsResponse, FollowingFeedResponse, FollowingFeedSection, FollowingSort, FreeCreditsResponse, GetAchievementResponse, GetLeaderboardResponse, GoogleAppleLinkRequest, GoogleAppleLinkResponse, GoogleAppleSignInRequest, GoogleAppleSignInResponse, GoogleCreditPackFulfillmentRequest, GoogleOneTapExchangeRequest, GoogleOneTapExchangeResponse, GooglePendingSignupResponse, HomeCollectionPageResponse, HomeResponse, IapPurchaseRequest, IapPurchaseResponse, IapReceiptListParams, LeaderboardEntry, IapReceiptResponse, IapReceiptsResponse, InitializeAppUploadRequest, InitializeAppUploadResponse, InitializeAssetPackUploadRequest, InitializeAssetPackUploadResponse, InvitePreviewResponse, LibraryCategory, LibraryResponse, LibrarySort, LikedItemMutationResponse, ListAchievementsResponse, ListLeaderboardsResponse, ListOwnedCustomAssetsResponse, LoadOwnedCustomAssetResponse, LoginRequest, LoginResponse, LogoutResponse, MeAgentWorkersResponse, MeResponse, MobileCreditPackFulfillmentResponse, ModerationReportResponse, MutateOwnedCustomAssetRequest, MutateOwnedCustomAssetResponse, MyAchievementsResponse, MyAppsResponse, MyInviteCodeResponse, MyLeaderboardsResponse, NotificationReadResponse, NotificationStatus, NotificationsResponse, OwnedProfileAssetsResponse, PaymentProvider, PaymentStatus, PrivacyExportResponse, PublicEmailPreferencesResponse, PublicEmailPreferencesUpdateRequest, PurchaseResponse, PushSubscriptionMutationResponse, RecordAppUploadLaunchCheckRequest, RecordAppUploadLaunchCheckResponse, RecordAppUploadCausalCheckRequest, RecordAppUploadCausalCheckResponse, RegisterRequest, RegisterResponse, ResolveRuntimeAssetsRequest, ResolveRuntimeAssetsResponse, RetryAgentTaskResponse, ReviewState, SavedItemKind, SavedItemMutationResponse, SearchRequest, SearchResponse, SendSocialMessageInput, SendSocialMessageResponse, SocialFriend, SocialMessagePage, SearchSuggestRequest, SearchSuggestResponse, SetAchievementProgressRequest, SetAchievementProgressResponse, SetProfileAssetRequest, SetProfileAssetResponse, ShopResponse, StarterProfileAssetsResponse, SubmitCreatorSurveyRequest, SubmitCreatorSurveyResponse, SubmitFeedbackRequest, SubmitFeedbackResponse, SubmitLeaderboardScoreRequest, SubmitLeaderboardScoreResponse, TagDetailResponse, TagDirectoryResponse, TagGroupDetailResponse, TagGroupSort, TagListResponse, TemplateScaffoldResponse, TrackEngagementEventRequest, TrackEngagementEventResponse, TractionAnalyticsResponse, TransactionsResponse, UnlinkGoogleResponse, UnlinkXResponse, UnlockAchievementResponse, UpdateAdminFeedbackRequest, UpdateAdminFeedbackResponse, UpdateAdminGameCollectionGamesRequest, UpdateAdminGameCollectionRequest, UpdateAdminUserRequest, UpdateAppRequest, UpdateAppResponse, UpdateAssetPackRequest, UpdateAssetPackResponse, UpdateAssetPackVersionRequest, UpdateAssetPackVersionResponse, UpdateAssetRequest, UpdateAssetResponse, UpdateAssetSpecVersionResponse, UpdateAssetVersionRequest, UpdateAssetVersionResponse, UpdateProfileRequest, UpdateProfileResponse, UpdatePreferredLocaleRequest, UpdatePreferredLocaleResponse, UpdateTagGroupRequest, UpdateTagRequest, UpdateUserCommunicationPreferencesRequest, UpdateVersionResponse, SignAppUploadObjectsRequest, SignAppUploadObjectsResponse, UploadAssetPackSessionAssetResponse, UploadAssetPackSessionMediaResponse, UpsertWebPushSubscriptionRequest, UserDetailResponse, UsernameAvailableResponse, UsersListResponse, WebPushConfigResponse, WebPushSubscriptionStatusResponse, WorkerAgentTaskAttemptUnavailableRequest, WorkerAgentTaskAttemptUnavailableResponse, WorkerGetAgentTaskRequest, WorkerAcknowledgeAgentTaskClaimRequest, WorkerAcknowledgeAgentTaskClaimResponse, WorkerClaimAgentTaskRequest, WorkerClaimAgentTaskResponse, WorkerClaimAgentTaskSlugRequest, WorkerClaimAgentTaskSlugResponse, WorkerCompleteAgentTaskRequest, WorkerCompleteReleaseSmokeRequest, WorkerCreateAgentTaskEventRequest, WorkerCreateAgentTaskEventResponse, WorkerFailAgentTaskRequest, WorkerHeartbeatAgentTaskRequest, WorkerHeartbeatAgentTaskResponse, WorkerPrepareAgentTaskTranscriptRequest, WorkerPrepareAgentTaskTranscriptResponse, WorkerPrepareGameSourceRequest, WorkerPrepareGameSourceResponse, WorkerReadGameSourceFilesRequest, WorkerReadGameSourceFilesResponse, WorkerCompleteAgentTaskTranscriptRequest, WorkerCompleteAgentTaskTranscriptResponse, WorkerPresenceRequest, WorkerPresenceResponse, WorkerRecordProviderRequestRequest, WorkerRecordProviderRequestResponse, WorkerRecordProviderSubmissionRequest, WorkerRecordProviderSubmissionResponse, WorkerScreeningResultRequest, WorkerScreeningResultResponse, WorkerGenerationTextResultRequest, WorkerGenerationTextResultResponse, WorkerPrepareGenerationUploadsRequest, WorkerPrepareGenerationUploadsResponse, WorkerCheckpointGenerationUploadsRequest, WorkerCheckpointGenerationUploadsResponse, WorkerFinalizeGenerationRequest, WorkerFinalizeGenerationResponse, WorkerFailGenerationRequest, WorkerFailGenerationResponse, RegisterAgentBundleRequest, RegisterAgentBundleResponse, WorkerRecordAgentTaskRunTelemetryRequest, WorkerRecordAgentTaskRunTelemetryResponse, WorkerSubmitAgentTaskEvalRequest, WorkerSubmitAgentTaskEvalResponse, WorkerSubmitAgentTaskReviewRequest, WorkerSubmitAgentTaskReviewResponse, WorkerAgentTaskMaterialResponse, WorkerUpdateIntentRequest, WorkerUpdateIntentResponse, XPendingSignupResponse } from "@playdrop/types";
2
2
  import { type ChatAttachmentUploadSession, type ChatChannelReadResponse, type ChatContact, type ChatContactsResponse, type ChatChannelsResponse, type ChatConversationResponse, type ChatConversationsResponse, type ChatMessageResponse, type ChatMessagesResponse, type ChatNotificationPreferences } from "@playdrop/types";
3
3
  import { type AdminAgentTaskTranscriptOptions, type CreationGamesFetchResult, type GetCreationConversationOptions, type ListAgentTasksOptions, type ListAiGenerationTasksOptions, type ListAiGenerationsOptions, type ListCreatorGamesOptions, type UploadWorkerAgentTaskMaterialOptions } from "./domains/agent-tasks.js";
4
4
  import { type AiAssetGenerationConfirmResponse, type AiAssetGenerationQuoteResponse, type AiAssetGenerationRequest } from "./domains/ai.js";
@@ -207,6 +207,8 @@ export interface ApiClient {
207
207
  adminGetAgentTask(taskId: number): Promise<AdminAgentTaskDetailResponse>;
208
208
  adminGetAgentTaskTranscript(taskId: number, options?: AdminAgentTaskTranscriptOptions): Promise<AdminAgentTaskTranscriptResponse>;
209
209
  adminGetAgentWorkersStatus(): Promise<AdminAgentWorkersStatusResponse>;
210
+ adminConvergeCloudWorkers(): Promise<AdminCloudWorkerConvergenceResponse>;
211
+ adminSetAgentWorkerRetired(workerId: number, body: AdminSetAgentWorkerRetiredRequest): Promise<AdminSetAgentWorkerRetiredResponse>;
210
212
  checkUsernameAvailable(username: string): Promise<UsernameAvailableResponse>;
211
213
  completeGoogleSignup(request: CompleteGoogleSignupRequest): Promise<CompleteGoogleSignupResponse>;
212
214
  completeXSignup(request: CompleteXSignupRequest): Promise<CompleteXSignupResponse>;
@@ -231,7 +233,8 @@ export interface ApiClient {
231
233
  reportCreator(creatorUsername: string, request: CreateCreatorReportRequest): Promise<ModerationReportResponse>;
232
234
  reportUser(username: string, request: CreateCreatorReportRequest): Promise<ModerationReportResponse>;
233
235
  fetchContentComments(kind: SavedItemKind, creatorUsername: string, itemName: string): Promise<ContentCommentsResponse>;
234
- createPlayTradeSession(request: CreatePlayTradeSessionRequest): Promise<PlayTradeSessionResponse>;
236
+ createPlayTradeSession(request: CreatePlayTradeSessionRequest): Promise<CreatePlayTradeSessionResponse>;
237
+ getPlayTradeOverview(): Promise<PlayTradeOverviewResponse>;
235
238
  getPlayTradeSession(sessionId: string, viewerSurface: AppSurface): Promise<PlayTradeSessionResponse>;
236
239
  completePlayTradeSession(sessionId: string, request: CompletePlayTradeSessionRequest): Promise<CompletePlayTradeSessionResponse>;
237
240
  abandonPlayTradeSession(sessionId: string): Promise<AbandonPlayTradeSessionResponse>;