@playdrop/playdrop-cli 0.11.6 → 0.11.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.
- package/config/client-meta.json +1 -1
- package/dist/apps/build.d.ts +1 -5
- package/dist/apps/build.js +3 -26
- package/dist/apps/index.d.ts +0 -1
- package/dist/apps/index.js +0 -1
- package/dist/apps/upload.d.ts +0 -3
- package/dist/apps/upload.js +2 -13
- package/dist/assetSpecs.js +2 -5
- package/dist/catalogue-utils.d.ts +0 -2
- package/dist/catalogue-utils.js +0 -8
- package/dist/catalogue.d.ts +1 -5
- package/dist/catalogue.js +2 -44
- package/dist/commands/browse.js +2 -2
- package/dist/commands/capture.js +10 -12
- package/dist/commands/captureListing.js +3 -5
- package/dist/commands/create.js +17 -15
- package/dist/commands/createRemixContent.js +2 -2
- package/dist/commands/detail.js +2 -2
- package/dist/commands/dev.js +9 -55
- package/dist/commands/devServer.d.ts +2 -2
- package/dist/commands/devServer.js +3 -4
- package/dist/commands/devShared.d.ts +0 -2
- package/dist/commands/devShared.js +0 -6
- package/dist/commands/marketing.js +10 -11
- package/dist/commands/play.js +2 -2
- package/dist/commands/upload-content.js +1 -1
- package/dist/commands/upload.d.ts +0 -1
- package/dist/commands/upload.js +0 -1
- package/dist/commands/validate.js +5 -7
- package/dist/commands/worker/runtime.js +5 -2
- package/dist/commands/worker.d.ts +4 -5
- package/dist/commands/worker.js +20 -48
- package/dist/config.js +1 -2
- package/dist/index.js +0 -2
- package/dist/sessionCookie.js +1 -1
- package/node_modules/@playdrop/api-client/dist/client.d.ts +2 -2
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +10 -17
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.d.ts +4 -4
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -7
- package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +2 -46
- 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/voxel-builder.js +2 -22
- package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +1 -1
- 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.js +2 -2
- 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/slice.js +0 -11
- 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.js.map +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +1 -1
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -20
- package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +1 -1
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +2 -2
- package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +2 -12
- package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +1 -125
- package/node_modules/@playdrop/config/client-meta.json +1 -1
- package/node_modules/@playdrop/config/dist/src/index.d.ts +2 -2
- package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/index.js +1 -1
- package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts +2 -2
- package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/server/fastify.js +0 -1
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/types/dist/api.d.ts +6 -12
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.d.ts +0 -2
- package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.js +1 -5
- package/node_modules/@playdrop/types/dist/version.d.ts +0 -2
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/types/package.json +0 -5
- package/package.json +1 -1
- package/node_modules/@playdrop/types/dist/ecs.d.ts +0 -39
- package/node_modules/@playdrop/types/dist/ecs.d.ts.map +0 -1
- package/node_modules/@playdrop/types/dist/ecs.js +0 -117
- package/node_modules/@playdrop/types/dist/engine-builtins.d.ts +0 -17
- package/node_modules/@playdrop/types/dist/engine-builtins.d.ts.map +0 -1
- package/node_modules/@playdrop/types/dist/engine-builtins.js +0 -607
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import http from 'node:http';
|
|
2
1
|
import { type ChildProcess } from 'node:child_process';
|
|
3
|
-
import
|
|
2
|
+
import http from 'node:http';
|
|
4
3
|
import type { DevRuntimeAssetManifestRegistration } from './devRuntimeAssets';
|
|
4
|
+
import type { ProjectInfo } from './devShared';
|
|
5
5
|
export interface StartDevServerOptions {
|
|
6
6
|
appName: string;
|
|
7
7
|
appType: string;
|
|
@@ -14,11 +14,11 @@ exports.isDevServerAvailable = isDevServerAvailable;
|
|
|
14
14
|
exports.createDevRouterServer = createDevRouterServer;
|
|
15
15
|
exports.listenDevRouterServer = listenDevRouterServer;
|
|
16
16
|
exports.runDevRouterServer = runDevRouterServer;
|
|
17
|
-
const node_http_1 = __importDefault(require("node:http"));
|
|
18
|
-
const node_fs_1 = require("node:fs");
|
|
19
|
-
const node_path_1 = require("node:path");
|
|
20
17
|
const node_child_process_1 = require("node:child_process");
|
|
21
18
|
const node_crypto_1 = require("node:crypto");
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
|
+
const node_http_1 = __importDefault(require("node:http"));
|
|
21
|
+
const node_path_1 = require("node:path");
|
|
22
22
|
exports.DEV_ROUTER_PORT = 8888;
|
|
23
23
|
const DEV_ROUTER_HOST = '127.0.0.1';
|
|
24
24
|
const CONTROL_PREFIX = '/_playdrop';
|
|
@@ -581,7 +581,6 @@ async function isDevServerAvailable(input, timeoutMs = 1000) {
|
|
|
581
581
|
}
|
|
582
582
|
function createDevRouterServer(initialPort = exports.DEV_ROUTER_PORT) {
|
|
583
583
|
let activePort = initialPort;
|
|
584
|
-
// eslint-disable-next-line complexity
|
|
585
584
|
const handleRequest = async (req, res) => {
|
|
586
585
|
const method = req.method || 'GET';
|
|
587
586
|
const allowedOrigin = resolveApprovedDevRouterOrigin(typeof req.headers.origin === 'string' ? req.headers.origin : undefined);
|
|
@@ -120,8 +120,6 @@ function resolveAppFromCatalogue(cataloguePath, appName) {
|
|
|
120
120
|
htmlPath,
|
|
121
121
|
cataloguePath: info.cataloguePath,
|
|
122
122
|
surfaceTargets: cloneSurfaceTargets(info.surfaceTargets),
|
|
123
|
-
ecsPath: info.ecsPath,
|
|
124
|
-
serverScriptPath: info.serverScriptPath,
|
|
125
123
|
};
|
|
126
124
|
}
|
|
127
125
|
function resolveDevTarget(targetArg, appOption) {
|
|
@@ -161,8 +159,6 @@ function resolveDevTarget(targetArg, appOption) {
|
|
|
161
159
|
htmlPath: absoluteTarget,
|
|
162
160
|
cataloguePath: info.cataloguePath,
|
|
163
161
|
surfaceTargets,
|
|
164
|
-
ecsPath: info.ecsPath,
|
|
165
|
-
serverScriptPath: info.serverScriptPath,
|
|
166
162
|
};
|
|
167
163
|
}
|
|
168
164
|
catch {
|
|
@@ -173,8 +169,6 @@ function resolveDevTarget(targetArg, appOption) {
|
|
|
173
169
|
htmlPath: absoluteTarget,
|
|
174
170
|
cataloguePath: derivedCataloguePath,
|
|
175
171
|
surfaceTargets,
|
|
176
|
-
ecsPath: null,
|
|
177
|
-
serverScriptPath: null,
|
|
178
172
|
};
|
|
179
173
|
}
|
|
180
174
|
const cataloguePath = findNearestCatalogue(process.cwd());
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable max-lines */
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.MARKETING_AUDIO_POLICIES = exports.MARKETING_SURFACES = void 0;
|
|
5
4
|
exports.parseMarketingCaptureOptions = parseMarketingCaptureOptions;
|
|
@@ -11,22 +10,22 @@ exports.buildMarketingCaptureManifest = buildMarketingCaptureManifest;
|
|
|
11
10
|
exports.createMarketingReport = createMarketingReport;
|
|
12
11
|
exports.marketingDoctor = marketingDoctor;
|
|
13
12
|
exports.marketingCapture = marketingCapture;
|
|
13
|
+
const types_1 = require("@playdrop/types");
|
|
14
14
|
const node_child_process_1 = require("node:child_process");
|
|
15
|
-
const promises_1 = require("node:fs/promises");
|
|
16
15
|
const node_fs_1 = require("node:fs");
|
|
17
|
-
const
|
|
16
|
+
const promises_1 = require("node:fs/promises");
|
|
18
17
|
const node_os_1 = require("node:os");
|
|
19
|
-
const
|
|
20
|
-
const
|
|
18
|
+
const node_path_1 = require("node:path");
|
|
19
|
+
const appUrls_1 = require("../appUrls");
|
|
21
20
|
const catalogue_1 = require("../catalogue");
|
|
21
|
+
const catalogue_utils_1 = require("../catalogue-utils");
|
|
22
22
|
const commandContext_1 = require("../commandContext");
|
|
23
23
|
const http_1 = require("../http");
|
|
24
|
-
const appUrls_1 = require("../appUrls");
|
|
25
24
|
const messages_1 = require("../messages");
|
|
26
25
|
const playwright_1 = require("../playwright");
|
|
27
|
-
const devServer_1 = require("./devServer");
|
|
28
|
-
const devRuntimeAssets_1 = require("./devRuntimeAssets");
|
|
29
26
|
const dev_1 = require("./dev");
|
|
27
|
+
const devRuntimeAssets_1 = require("./devRuntimeAssets");
|
|
28
|
+
const devServer_1 = require("./devServer");
|
|
30
29
|
const devShared_1 = require("./devShared");
|
|
31
30
|
exports.MARKETING_SURFACES = ['desktop', 'mobile-landscape', 'mobile-portrait'];
|
|
32
31
|
exports.MARKETING_AUDIO_POLICIES = ['music-and-sfx', 'sfx-only', 'silent'];
|
|
@@ -329,7 +328,7 @@ function loadCatalogueApp(cataloguePath, appName) {
|
|
|
329
328
|
if (!cataloguePath || !(0, node_fs_1.existsSync)(cataloguePath)) {
|
|
330
329
|
return null;
|
|
331
330
|
}
|
|
332
|
-
const raw = JSON.parse(
|
|
331
|
+
const raw = JSON.parse((0, node_fs_1.readFileSync)(cataloguePath, 'utf8'));
|
|
333
332
|
const apps = raw && typeof raw === 'object' && Array.isArray(raw.apps)
|
|
334
333
|
? raw.apps
|
|
335
334
|
: Array.isArray(raw)
|
|
@@ -661,7 +660,7 @@ function muxMarketingAudio(videoPath, audioPath) {
|
|
|
661
660
|
'-shortest',
|
|
662
661
|
muxedPath,
|
|
663
662
|
], 'ffmpeg_failed');
|
|
664
|
-
|
|
663
|
+
(0, node_fs_1.renameSync)(muxedPath, videoPath);
|
|
665
664
|
}
|
|
666
665
|
function extractPoster(videoPath, posterPath) {
|
|
667
666
|
runTool('ffmpeg', [
|
|
@@ -861,7 +860,7 @@ async function marketingCapture(targetArg, options = {}) {
|
|
|
861
860
|
const outputPaths = resolveMarketingOutputPaths(projectRoot, appName, parsedOptions.outputDir);
|
|
862
861
|
const projectInfo = (0, devShared_1.findProjectInfo)(resolvedTarget.htmlPath);
|
|
863
862
|
const devScriptAvailable = Boolean(projectInfo.projectDir && projectInfo.packageJson && typeof projectInfo.packageJson.scripts?.dev === 'string');
|
|
864
|
-
await (0, commandContext_1.withEnvironment)('project marketing capture', 'Capturing marketing media', async ({ client, env, envConfig }) => {
|
|
863
|
+
await (0, commandContext_1.withEnvironment)('project marketing capture', 'Capturing marketing media', async ({ client, env: _env, envConfig }) => {
|
|
865
864
|
let currentUsername = '';
|
|
866
865
|
try {
|
|
867
866
|
const currentUser = await (0, devShared_1.fetchDevUser)(client);
|
package/dist/commands/play.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.play = play;
|
|
4
4
|
const types_1 = require("@playdrop/types");
|
|
5
|
-
const commandContext_1 = require("../commandContext");
|
|
6
5
|
const appUrls_1 = require("../appUrls");
|
|
7
6
|
const browser_1 = require("../browser");
|
|
7
|
+
const commandContext_1 = require("../commandContext");
|
|
8
8
|
const http_1 = require("../http");
|
|
9
9
|
const messages_1 = require("../messages");
|
|
10
10
|
const output_1 = require("../output");
|
|
11
11
|
const refs_1 = require("../refs");
|
|
12
12
|
const devShared_1 = require("./devShared");
|
|
13
|
-
function printPlayRefValidationError(
|
|
13
|
+
function printPlayRefValidationError(_rawRef) {
|
|
14
14
|
(0, messages_1.printErrorWithHelp)('A canonical app ref is required.', [
|
|
15
15
|
'Use the format <creator>/app/<name>.',
|
|
16
16
|
'Example: playdrop play playdrop/app/hangingout',
|
|
@@ -8,10 +8,10 @@ exports.buildAssetPackUploadPlans = buildAssetPackUploadPlans;
|
|
|
8
8
|
exports.uploadAssetTask = uploadAssetTask;
|
|
9
9
|
exports.uploadAssetSpecTask = uploadAssetSpecTask;
|
|
10
10
|
exports.uploadAssetPackTask = uploadAssetPackTask;
|
|
11
|
+
const types_1 = require("@playdrop/types");
|
|
11
12
|
const node_crypto_1 = require("node:crypto");
|
|
12
13
|
const node_fs_1 = require("node:fs");
|
|
13
14
|
const node_path_1 = require("node:path");
|
|
14
|
-
const types_1 = require("@playdrop/types");
|
|
15
15
|
const model_artifacts_1 = require("../assets/model-artifacts");
|
|
16
16
|
const assetSpecs_1 = require("../assetSpecs");
|
|
17
17
|
const EXTENSION_TO_FORMAT = {
|
package/dist/commands/upload.js
CHANGED
|
@@ -849,7 +849,6 @@ function appendTaskRelations(graphState, fromNodeId, relations, contextLabel) {
|
|
|
849
849
|
}
|
|
850
850
|
async function uploadAppTask(state, task, taskCreator, options) {
|
|
851
851
|
const { upload, warnings } = await (0, apps_1.runAppPipeline)(state.client, task, {
|
|
852
|
-
skipEcs: options?.skipEcs,
|
|
853
852
|
skipReview: options?.skipReview,
|
|
854
853
|
clearTags: options?.clearTags,
|
|
855
854
|
creatorUsername: taskCreator,
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validate = validate;
|
|
4
|
+
const types_1 = require("@playdrop/types");
|
|
4
5
|
const node_fs_1 = require("node:fs");
|
|
5
6
|
const node_path_1 = require("node:path");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
7
|
+
const apps_1 = require("../apps");
|
|
8
|
+
const assetSpecs_1 = require("../assetSpecs");
|
|
8
9
|
const commandContext_1 = require("../commandContext");
|
|
10
|
+
const externalAssetPackValidation_1 = require("../externalAssetPackValidation");
|
|
9
11
|
const taskSelection_1 = require("../taskSelection");
|
|
10
12
|
const taskUtils_1 = require("../taskUtils");
|
|
11
13
|
const uploadLog_1 = require("../uploadLog");
|
|
12
|
-
const apps_1 = require("../apps");
|
|
13
|
-
const assetSpecs_1 = require("../assetSpecs");
|
|
14
|
-
const externalAssetPackValidation_1 = require("../externalAssetPackValidation");
|
|
15
14
|
const dev_1 = require("./dev");
|
|
16
15
|
const upload_content_1 = require("./upload-content");
|
|
17
16
|
function normalizePositivePort(value) {
|
|
@@ -127,7 +126,7 @@ function resolveLocalAssetSpecTask(task, lookups) {
|
|
|
127
126
|
if (direct) {
|
|
128
127
|
return direct;
|
|
129
128
|
}
|
|
130
|
-
const parsed = (0,
|
|
129
|
+
const parsed = (0, types_1.parseAssetSpecVersionRef)(task.assetSpec);
|
|
131
130
|
if (!parsed) {
|
|
132
131
|
return null;
|
|
133
132
|
}
|
|
@@ -222,7 +221,6 @@ function formatLiveTagClearWarning(input) {
|
|
|
222
221
|
const countLabel = input.liveTagCount === 1 ? '1 existing live tag' : `${input.liveTagCount} existing live tags`;
|
|
223
222
|
return `${input.entityLabel} "${input.displayName}" would remove ${countLabel} on publish. Add a tags field or pass --clear-tags to confirm.`;
|
|
224
223
|
}
|
|
225
|
-
// eslint-disable-next-line complexity
|
|
226
224
|
async function collectLiveTagClearWarnings(tasks, workspacePath, envOverride) {
|
|
227
225
|
const context = await loadAuthenticatedValidationContext(workspacePath, envOverride);
|
|
228
226
|
if (!context) {
|
|
@@ -34,6 +34,9 @@ function tailText(value, maxChars) {
|
|
|
34
34
|
}
|
|
35
35
|
return value.slice(value.length - maxChars);
|
|
36
36
|
}
|
|
37
|
+
function throwLoggedProcessError(error) {
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
37
40
|
function readPositiveEnvInt(name, fallback) {
|
|
38
41
|
const raw = process.env[name]?.trim();
|
|
39
42
|
if (!raw) {
|
|
@@ -351,7 +354,7 @@ async function runLoggedProcess(input) {
|
|
|
351
354
|
return transcriptFlushPromise;
|
|
352
355
|
};
|
|
353
356
|
const handleTranscriptFlushError = (error) => {
|
|
354
|
-
transcriptFlushError = transcriptFlushError ?? error;
|
|
357
|
+
transcriptFlushError = transcriptFlushError ?? (error instanceof Error ? error : new Error(String(error)));
|
|
355
358
|
if (!closed) {
|
|
356
359
|
child.kill('SIGTERM');
|
|
357
360
|
}
|
|
@@ -403,7 +406,7 @@ async function runLoggedProcess(input) {
|
|
|
403
406
|
void (async () => {
|
|
404
407
|
await queueTranscriptFlush();
|
|
405
408
|
if (transcriptFlushError) {
|
|
406
|
-
|
|
409
|
+
throwLoggedProcessError(transcriptFlushError);
|
|
407
410
|
}
|
|
408
411
|
const outputTail = tailText(combined, input.maxOutputChars);
|
|
409
412
|
const tokenUsage = extractAgentTokenUsage(`${stdout}\n${stderr}\n${outputTail}`);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ApiClient } from '@playdrop/api-client';
|
|
2
|
-
import { type
|
|
2
|
+
import { type AgentExecutionTarget, type AgentRuntime, type AgentTaskKind, type AgentTaskNextStepSuggestion, type AgentTaskResponse, type AgentWorkerCapabilities, type AgentWorkerResponse, type WorkerAgentTaskAssignmentResponse, type WorkerAgentTaskBaseSourceResponse, type WorkerAgentTaskWorkspaceFileResponse, type WorkerClaimAgentTaskResponse } from '@playdrop/types';
|
|
3
3
|
import { type WorkerPlaydropAssetRequirement } from './upload';
|
|
4
4
|
import { type LoggedProcessResult, type LoggedProcessTranscriptChunk } from './worker/runtime';
|
|
5
|
-
export {
|
|
6
|
-
export type { AgentTokenUsage, LoggedProcessResult, LoggedProcessTranscriptChunk
|
|
5
|
+
export { assertWorkerTokenUsageWithinCap, buildClaudeExecArgs, buildClaudePermissionSettings, buildCodexExecArgs, buildWorkerChildEnv, DEFAULT_CODEX_TIMEOUT_MS, DEFAULT_WORKER_TOKEN_CAP, extractAgentTokenUsage, extractCodexRolloutTokenUsage, extractCodexThreadId, extractCodexTokensUsed, readCodexRolloutTokenUsageForThread, readCodexSandboxMode, readEnvBoolean, runLoggedProcess } from './worker/runtime';
|
|
6
|
+
export type { AgentTokenUsage, LoggedProcessResult, LoggedProcessTranscriptChunk } from './worker/runtime';
|
|
7
7
|
export declare const WORKER_SESSION_EXPIRED_MESSAGE = "worker session expired: run \"playdrop auth login\" and start the worker again";
|
|
8
8
|
export declare const WORKER_CONTEXT_COMMAND_NOT_ALLOWED_MESSAGE = "worker_context_command_not_allowed: inside a PlayDrop worker task only task progress, task claim-slug, task upload/done/fail, assigned app scaffolding, project validation/build/dev/capture, read-only help/catalogue/documentation lookup, and PlayDrop AI generation are permitted.";
|
|
9
9
|
type WorkerStartOptions = {
|
|
@@ -56,7 +56,7 @@ type WorkerStatusPayload = {
|
|
|
56
56
|
server: {
|
|
57
57
|
reachable: boolean;
|
|
58
58
|
authenticated: boolean;
|
|
59
|
-
worker:
|
|
59
|
+
worker: AgentWorkerResponse | null;
|
|
60
60
|
error?: string;
|
|
61
61
|
};
|
|
62
62
|
};
|
|
@@ -190,7 +190,6 @@ export declare function buildWorkerCapabilities(input: string | {
|
|
|
190
190
|
} | null;
|
|
191
191
|
maxParallelTasks?: number | null;
|
|
192
192
|
runningTaskCount?: number | null;
|
|
193
|
-
providerAccountLabel?: string | null;
|
|
194
193
|
}): AgentWorkerCapabilities;
|
|
195
194
|
export declare function buildWorkerClaimBody(input: {
|
|
196
195
|
workerKey: string;
|
package/dist/commands/worker.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WORKER_CONTEXT_COMMAND_NOT_ALLOWED_MESSAGE = exports.WORKER_SESSION_EXPIRED_MESSAGE = exports.runLoggedProcess = exports.
|
|
6
|
+
exports.WORKER_CONTEXT_COMMAND_NOT_ALLOWED_MESSAGE = exports.WORKER_SESSION_EXPIRED_MESSAGE = exports.runLoggedProcess = exports.readEnvBoolean = exports.readCodexSandboxMode = exports.readCodexRolloutTokenUsageForThread = exports.extractCodexTokensUsed = exports.extractCodexThreadId = exports.extractCodexRolloutTokenUsage = exports.extractAgentTokenUsage = exports.DEFAULT_WORKER_TOKEN_CAP = exports.DEFAULT_CODEX_TIMEOUT_MS = exports.buildWorkerChildEnv = exports.buildCodexExecArgs = exports.buildClaudePermissionSettings = exports.buildClaudeExecArgs = exports.assertWorkerTokenUsageWithinCap = void 0;
|
|
7
7
|
exports.allocateWorkerDevPort = allocateWorkerDevPort;
|
|
8
8
|
exports.isWorkerContextCommandAllowed = isWorkerContextCommandAllowed;
|
|
9
9
|
exports.resolveWorkerExecutionTargetFromRole = resolveWorkerExecutionTargetFromRole;
|
|
@@ -55,40 +55,40 @@ exports.readReviewEvidenceFiles = readReviewEvidenceFiles;
|
|
|
55
55
|
exports.submitReviewTask = submitReviewTask;
|
|
56
56
|
exports.submitEvalTask = submitEvalTask;
|
|
57
57
|
exports.failTask = failTask;
|
|
58
|
-
const
|
|
58
|
+
const types_1 = require("@playdrop/types");
|
|
59
|
+
const fflate_1 = require("fflate");
|
|
60
|
+
const node_crypto_1 = require("node:crypto");
|
|
59
61
|
const node_fs_1 = require("node:fs");
|
|
62
|
+
const promises_1 = require("node:fs/promises");
|
|
63
|
+
const node_module_1 = require("node:module");
|
|
60
64
|
const node_os_1 = __importDefault(require("node:os"));
|
|
61
65
|
const node_path_1 = __importDefault(require("node:path"));
|
|
62
66
|
const node_process_1 = __importDefault(require("node:process"));
|
|
63
|
-
const
|
|
64
|
-
const node_crypto_1 = require("node:crypto");
|
|
65
|
-
const fflate_1 = require("fflate");
|
|
66
|
-
const types_1 = require("@playdrop/types");
|
|
67
|
+
const clientInfo_1 = require("../clientInfo");
|
|
67
68
|
const commandContext_1 = require("../commandContext");
|
|
68
69
|
const config_1 = require("../config");
|
|
69
|
-
const clientInfo_1 = require("../clientInfo");
|
|
70
70
|
const messages_1 = require("../messages");
|
|
71
71
|
const output_1 = require("../output");
|
|
72
72
|
const shellProbe_1 = require("../shellProbe");
|
|
73
|
-
const upload_1 = require("./upload");
|
|
74
|
-
const review_1 = require("./review");
|
|
75
73
|
const agents_1 = require("./agents");
|
|
74
|
+
const review_1 = require("./review");
|
|
75
|
+
const upload_1 = require("./upload");
|
|
76
76
|
const runtime_1 = require("./worker/runtime");
|
|
77
77
|
var runtime_2 = require("./worker/runtime");
|
|
78
|
-
Object.defineProperty(exports, "DEFAULT_CODEX_TIMEOUT_MS", { enumerable: true, get: function () { return runtime_2.DEFAULT_CODEX_TIMEOUT_MS; } });
|
|
79
|
-
Object.defineProperty(exports, "DEFAULT_WORKER_TOKEN_CAP", { enumerable: true, get: function () { return runtime_2.DEFAULT_WORKER_TOKEN_CAP; } });
|
|
80
78
|
Object.defineProperty(exports, "assertWorkerTokenUsageWithinCap", { enumerable: true, get: function () { return runtime_2.assertWorkerTokenUsageWithinCap; } });
|
|
81
|
-
Object.defineProperty(exports, "buildCodexExecArgs", { enumerable: true, get: function () { return runtime_2.buildCodexExecArgs; } });
|
|
82
79
|
Object.defineProperty(exports, "buildClaudeExecArgs", { enumerable: true, get: function () { return runtime_2.buildClaudeExecArgs; } });
|
|
83
80
|
Object.defineProperty(exports, "buildClaudePermissionSettings", { enumerable: true, get: function () { return runtime_2.buildClaudePermissionSettings; } });
|
|
81
|
+
Object.defineProperty(exports, "buildCodexExecArgs", { enumerable: true, get: function () { return runtime_2.buildCodexExecArgs; } });
|
|
84
82
|
Object.defineProperty(exports, "buildWorkerChildEnv", { enumerable: true, get: function () { return runtime_2.buildWorkerChildEnv; } });
|
|
83
|
+
Object.defineProperty(exports, "DEFAULT_CODEX_TIMEOUT_MS", { enumerable: true, get: function () { return runtime_2.DEFAULT_CODEX_TIMEOUT_MS; } });
|
|
84
|
+
Object.defineProperty(exports, "DEFAULT_WORKER_TOKEN_CAP", { enumerable: true, get: function () { return runtime_2.DEFAULT_WORKER_TOKEN_CAP; } });
|
|
85
85
|
Object.defineProperty(exports, "extractAgentTokenUsage", { enumerable: true, get: function () { return runtime_2.extractAgentTokenUsage; } });
|
|
86
86
|
Object.defineProperty(exports, "extractCodexRolloutTokenUsage", { enumerable: true, get: function () { return runtime_2.extractCodexRolloutTokenUsage; } });
|
|
87
87
|
Object.defineProperty(exports, "extractCodexThreadId", { enumerable: true, get: function () { return runtime_2.extractCodexThreadId; } });
|
|
88
88
|
Object.defineProperty(exports, "extractCodexTokensUsed", { enumerable: true, get: function () { return runtime_2.extractCodexTokensUsed; } });
|
|
89
|
-
Object.defineProperty(exports, "readEnvBoolean", { enumerable: true, get: function () { return runtime_2.readEnvBoolean; } });
|
|
90
|
-
Object.defineProperty(exports, "readCodexSandboxMode", { enumerable: true, get: function () { return runtime_2.readCodexSandboxMode; } });
|
|
91
89
|
Object.defineProperty(exports, "readCodexRolloutTokenUsageForThread", { enumerable: true, get: function () { return runtime_2.readCodexRolloutTokenUsageForThread; } });
|
|
90
|
+
Object.defineProperty(exports, "readCodexSandboxMode", { enumerable: true, get: function () { return runtime_2.readCodexSandboxMode; } });
|
|
91
|
+
Object.defineProperty(exports, "readEnvBoolean", { enumerable: true, get: function () { return runtime_2.readEnvBoolean; } });
|
|
92
92
|
Object.defineProperty(exports, "runLoggedProcess", { enumerable: true, get: function () { return runtime_2.runLoggedProcess; } });
|
|
93
93
|
const DEFAULT_POLL_INTERVAL_MS = 1000;
|
|
94
94
|
const HEARTBEAT_INTERVAL_MS = 10000;
|
|
@@ -1077,11 +1077,6 @@ function discoverWorkerProjectRoot(workspaceDir) {
|
|
|
1077
1077
|
}
|
|
1078
1078
|
return roots[0];
|
|
1079
1079
|
}
|
|
1080
|
-
function writeWorkerTaskState(state) {
|
|
1081
|
-
const file = workerStateFilePath();
|
|
1082
|
-
(0, node_fs_1.mkdirSync)(node_path_1.default.dirname(file), { recursive: true });
|
|
1083
|
-
(0, node_fs_1.writeFileSync)(file, JSON.stringify(state, null, 2));
|
|
1084
|
-
}
|
|
1085
1080
|
function readWorkerTaskState() {
|
|
1086
1081
|
const file = workerStateFilePath();
|
|
1087
1082
|
let raw;
|
|
@@ -1097,9 +1092,6 @@ function readWorkerTaskState() {
|
|
|
1097
1092
|
}
|
|
1098
1093
|
return parsed;
|
|
1099
1094
|
}
|
|
1100
|
-
function clearWorkerTaskState() {
|
|
1101
|
-
(0, node_fs_1.rmSync)(workerStateFilePath(), { force: true });
|
|
1102
|
-
}
|
|
1103
1095
|
function isWorkerSlackAlertEnabled() {
|
|
1104
1096
|
const normalized = node_process_1.default.env.PLAYDROP_WORKER_SLACK_ALERTS?.trim().toLowerCase();
|
|
1105
1097
|
return normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on';
|
|
@@ -1408,7 +1400,6 @@ function buildWorkerCapabilities(input) {
|
|
|
1408
1400
|
? DEFAULT_WORKER_MAX_PARALLEL_TASKS
|
|
1409
1401
|
: input.maxParallelTasks ?? DEFAULT_WORKER_MAX_PARALLEL_TASKS;
|
|
1410
1402
|
const runningTaskCount = typeof input === 'string' ? 0 : input.runningTaskCount ?? 0;
|
|
1411
|
-
const providerAccountLabel = typeof input === 'string' ? null : input.providerAccountLabel?.trim() || null;
|
|
1412
1403
|
const degradedReasons = [];
|
|
1413
1404
|
const agents = [];
|
|
1414
1405
|
if (codexVersion) {
|
|
@@ -1461,7 +1452,6 @@ function buildWorkerCapabilities(input) {
|
|
|
1461
1452
|
agents,
|
|
1462
1453
|
ready: agents.some((agent) => agent.ready === true),
|
|
1463
1454
|
degradedReasons,
|
|
1464
|
-
...(providerAccountLabel ? { providerAccountLabel } : {}),
|
|
1465
1455
|
wrapperContractVersion: (0, runtime_1.readPositiveEnvInt)('PLAYDROP_WORKER_WRAPPER_CONTRACT_VERSION', WORKER_WRAPPER_CONTRACT_VERSION),
|
|
1466
1456
|
...(npmVersion ? { npmVersion } : {}),
|
|
1467
1457
|
...(playwright ? { playwright } : {}),
|
|
@@ -1957,13 +1947,6 @@ function collectObservedPlaydropSkillPaths(output, availablePaths) {
|
|
|
1957
1947
|
}
|
|
1958
1948
|
return [...observed].sort();
|
|
1959
1949
|
}
|
|
1960
|
-
function readProviderAccountLabel(target) {
|
|
1961
|
-
const label = node_process_1.default.env.PLAYDROP_WORKER_AGENT_ACCOUNT_LABEL?.trim() || null;
|
|
1962
|
-
if (target === 'FIRST_PARTY' && !label) {
|
|
1963
|
-
throw new Error('missing_playdrop_worker_agent_account_label');
|
|
1964
|
-
}
|
|
1965
|
-
return label;
|
|
1966
|
-
}
|
|
1967
1950
|
function resolveTelemetryStatus(value) {
|
|
1968
1951
|
if (value === 'QUEUED') {
|
|
1969
1952
|
throw new Error('invalid_agent_task_run_status');
|
|
@@ -1983,7 +1966,6 @@ async function recordAgentRunTelemetry(input) {
|
|
|
1983
1966
|
requestedModel: input.assignment.model,
|
|
1984
1967
|
resolvedRuntimeModel: input.resolvedRuntimeModel,
|
|
1985
1968
|
reasoningEffort: input.reasoningEffort,
|
|
1986
|
-
providerAccountLabel: input.providerAccountLabel,
|
|
1987
1969
|
status: resolveTelemetryStatus(input.status),
|
|
1988
1970
|
exitCode: input.result.exitCode,
|
|
1989
1971
|
signal: input.result.signal,
|
|
@@ -2264,7 +2246,6 @@ function collectWorkerLocalStatus() {
|
|
|
2264
2246
|
playwright,
|
|
2265
2247
|
runningTaskCount: 0,
|
|
2266
2248
|
maxParallelTasks: (0, runtime_1.readPositiveEnvInt)('PLAYDROP_WORKER_MAX_PARALLEL_TASKS', DEFAULT_WORKER_MAX_PARALLEL_TASKS),
|
|
2267
|
-
providerAccountLabel: node_process_1.default.env.PLAYDROP_WORKER_AGENT_ACCOUNT_LABEL?.trim() || null,
|
|
2268
2249
|
});
|
|
2269
2250
|
if (pluginVersion) {
|
|
2270
2251
|
capabilities.pluginVersion = pluginVersion;
|
|
@@ -2418,13 +2399,6 @@ function writeManagedWorkerUpdatePolicyFile(input) {
|
|
|
2418
2399
|
function shellQuote(value) {
|
|
2419
2400
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
2420
2401
|
}
|
|
2421
|
-
function validatePackageVersion(value, label) {
|
|
2422
|
-
const version = typeof value === 'string' ? value.trim() : '';
|
|
2423
|
-
if (!/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(version)) {
|
|
2424
|
-
throw new Error(`${label}_invalid:${version || 'missing'}`);
|
|
2425
|
-
}
|
|
2426
|
-
return version;
|
|
2427
|
-
}
|
|
2428
2402
|
function verifyNpmGlobalInstallPreconditions() {
|
|
2429
2403
|
const prefixProbe = (0, shellProbe_1.runShell)('npm prefix -g');
|
|
2430
2404
|
const prefix = prefixProbe.output.trim().split(/\r?\n/)[0]?.trim() ?? '';
|
|
@@ -3108,6 +3082,9 @@ async function fetchTaskDetail(client, target, taskId) {
|
|
|
3108
3082
|
}
|
|
3109
3083
|
return await client.getAgentTask(taskId);
|
|
3110
3084
|
}
|
|
3085
|
+
function throwWorkerRuntimeError(error) {
|
|
3086
|
+
throw error;
|
|
3087
|
+
}
|
|
3111
3088
|
async function startWorker(options = {}) {
|
|
3112
3089
|
loadWorkerEnvFile(options.env);
|
|
3113
3090
|
await (0, commandContext_1.withEnvironment)('worker start', 'Starting the PlayDrop worker', async ({ client, env }) => {
|
|
@@ -3126,7 +3103,6 @@ async function startWorker(options = {}) {
|
|
|
3126
3103
|
throw new Error('worker_session_invalid: the stored session did not resolve to a user. Run "playdrop auth login" and retry.');
|
|
3127
3104
|
}
|
|
3128
3105
|
const target = resolveWorkerExecutionTargetFromRole(me.user.role);
|
|
3129
|
-
const providerAccountLabel = readProviderAccountLabel(target);
|
|
3130
3106
|
const codexVersion = probeCodexInstallation()?.codexVersion ?? null;
|
|
3131
3107
|
const claudeVersion = probeClaudeInstallation()?.claudeVersion ?? null;
|
|
3132
3108
|
const cursorVersion = probeCursorInstallation()?.cursorVersion ?? null;
|
|
@@ -3151,7 +3127,6 @@ async function startWorker(options = {}) {
|
|
|
3151
3127
|
playwright,
|
|
3152
3128
|
maxParallelTasks,
|
|
3153
3129
|
runningTaskCount: 0,
|
|
3154
|
-
providerAccountLabel,
|
|
3155
3130
|
});
|
|
3156
3131
|
if (playdropPluginVersion) {
|
|
3157
3132
|
capabilities.pluginVersion = playdropPluginVersion;
|
|
@@ -3305,7 +3280,6 @@ async function startWorker(options = {}) {
|
|
|
3305
3280
|
let availableSkillPaths = [];
|
|
3306
3281
|
const observedSkillPaths = new Set();
|
|
3307
3282
|
let assignment = null;
|
|
3308
|
-
let providerAccountLabel = null;
|
|
3309
3283
|
let resolvedRuntimeModel = task.model;
|
|
3310
3284
|
let reasoningEffort = null;
|
|
3311
3285
|
let agentStartedAt = null;
|
|
@@ -3328,7 +3302,6 @@ async function startWorker(options = {}) {
|
|
|
3328
3302
|
status,
|
|
3329
3303
|
resolvedRuntimeModel,
|
|
3330
3304
|
reasoningEffort,
|
|
3331
|
-
providerAccountLabel,
|
|
3332
3305
|
availableSkillPaths,
|
|
3333
3306
|
observedSkillPaths: [...observedSkillPaths],
|
|
3334
3307
|
startedAt: agentStartedAt ?? completedAt,
|
|
@@ -3341,7 +3314,6 @@ async function startWorker(options = {}) {
|
|
|
3341
3314
|
if (!assignment) {
|
|
3342
3315
|
throw new Error('agent_task_claim_missing_task_assignment');
|
|
3343
3316
|
}
|
|
3344
|
-
providerAccountLabel = readProviderAccountLabel(assignment.target);
|
|
3345
3317
|
const codexModel = assignment.agent === 'CODEX' ? resolveCodexModel(assignment.model) : null;
|
|
3346
3318
|
const claudeModel = assignment.agent === 'CLAUDE_CODE' ? resolveClaudeModel(assignment.model) : null;
|
|
3347
3319
|
resolvedRuntimeModel = codexModel?.model ?? claudeModel?.model ?? assignment.model;
|
|
@@ -3786,7 +3758,7 @@ async function startWorker(options = {}) {
|
|
|
3786
3758
|
let claimBackoffMs = CLAIM_BACKOFF_BASE_MS;
|
|
3787
3759
|
while (!shuttingDown && !quiescingForUpdate) {
|
|
3788
3760
|
if (fatalTaskError) {
|
|
3789
|
-
|
|
3761
|
+
throwWorkerRuntimeError(fatalTaskError);
|
|
3790
3762
|
}
|
|
3791
3763
|
if (sessionExpired) {
|
|
3792
3764
|
throw new Error(exports.WORKER_SESSION_EXPIRED_MESSAGE);
|
|
@@ -3845,7 +3817,7 @@ async function startWorker(options = {}) {
|
|
|
3845
3817
|
if (options.once) {
|
|
3846
3818
|
await taskRun;
|
|
3847
3819
|
if (fatalTaskError) {
|
|
3848
|
-
|
|
3820
|
+
throwWorkerRuntimeError(fatalTaskError);
|
|
3849
3821
|
}
|
|
3850
3822
|
return;
|
|
3851
3823
|
}
|
|
@@ -3854,7 +3826,7 @@ async function startWorker(options = {}) {
|
|
|
3854
3826
|
await Promise.allSettled(Array.from(activeTaskRuns.values()));
|
|
3855
3827
|
}
|
|
3856
3828
|
if (fatalTaskError) {
|
|
3857
|
-
|
|
3829
|
+
throwWorkerRuntimeError(fatalTaskError);
|
|
3858
3830
|
}
|
|
3859
3831
|
if (sessionExpired) {
|
|
3860
3832
|
throw new Error(exports.WORKER_SESSION_EXPIRED_MESSAGE);
|
package/dist/config.js
CHANGED
|
@@ -18,8 +18,8 @@ exports.setCurrentAccount = setCurrentAccount;
|
|
|
18
18
|
exports.removeAccountSession = removeAccountSession;
|
|
19
19
|
const crypto_1 = require("crypto");
|
|
20
20
|
const fs_1 = require("fs");
|
|
21
|
-
const path_1 = require("path");
|
|
22
21
|
const os_1 = __importDefault(require("os"));
|
|
22
|
+
const path_1 = require("path");
|
|
23
23
|
const CONFIG_VERSION = 2;
|
|
24
24
|
function getConfigPath() {
|
|
25
25
|
const custom = process.env.PLAYDROP_CONFIG_PATH;
|
|
@@ -225,7 +225,6 @@ function setCurrentAccount(input) {
|
|
|
225
225
|
saveConfig(next);
|
|
226
226
|
return loadConfig();
|
|
227
227
|
}
|
|
228
|
-
// eslint-disable-next-line complexity
|
|
229
228
|
function removeAccountSession(input = {}) {
|
|
230
229
|
const cfg = loadConfig();
|
|
231
230
|
const current = getCurrentAccountSession(cfg);
|
package/dist/index.js
CHANGED
|
@@ -1132,13 +1132,11 @@ project
|
|
|
1132
1132
|
.command('publish [target]')
|
|
1133
1133
|
.description('Publish local content to Playdrop')
|
|
1134
1134
|
.option('--env <env>', 'Resolve this command against one logged-in environment')
|
|
1135
|
-
.option('--skip-ecs', 'Skip ecs.json and server.js during publish')
|
|
1136
1135
|
.option('--clear-tags', 'Confirm clearing existing live tags when this publish removes them')
|
|
1137
1136
|
.addOption(new commander_1.Option('--skip-review', 'Mark uploaded app versions as NOT_REQUIRED review. Admin-only.').hideHelp())
|
|
1138
1137
|
.action(async (target, opts) => {
|
|
1139
1138
|
await (0, upload_1.upload)(target ?? '.', {
|
|
1140
1139
|
env: opts.env,
|
|
1141
|
-
skipEcs: opts.skipEcs,
|
|
1142
1140
|
skipReview: opts.skipReview,
|
|
1143
1141
|
clearTags: opts.clearTags,
|
|
1144
1142
|
});
|
package/dist/sessionCookie.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.shouldUseSecureCaptureSessionCookie = shouldUseSecureCaptureSessionCooki
|
|
|
5
5
|
exports.buildCaptureAccessTokenCookies = buildCaptureAccessTokenCookies;
|
|
6
6
|
const node_net_1 = require("node:net");
|
|
7
7
|
const ACCESS_TOKEN_COOKIE_NAME = 'playdrop_access_token';
|
|
8
|
-
const DOMAIN_PREFIXES = ['api.', 'www.', 'admin.', 'ai.', 'play.', 'assets.'
|
|
8
|
+
const DOMAIN_PREFIXES = ['api.', 'www.', 'admin.', 'ai.', 'play.', 'assets.'];
|
|
9
9
|
function normalizeHostname(hostname) {
|
|
10
10
|
return hostname.trim().toLowerCase();
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type AdminAgentTaskTranscriptOptions, type
|
|
1
|
+
import type { AbortAppUploadResponse, AbortAssetPackUploadResponse, AdInterstitialShowResponse, AdLoadRequest, AdLoadResponse, AdRewardedShowResponse, AdShowRequest, AdminAgentTaskDetailResponse, AdminAgentTaskTranscriptResponse, AdminAgentTasksResponse, AdminAgentWorkersStatusResponse, AdminAppPlayerMetaResponse, AdminAppPlayerMetaUserResponse, AdminAppVersionReviewsListResponse, AdminAppsListResponse, AdminCreatorEngagementExecutionsResponse, AdminCreatorEngagementRulePreviewRequest, AdminCreatorEngagementRulePreviewResponse, AdminCreatorEngagementRulesResponse, AdminCreatorEngagementUserResponse, AdminCreditTransactionsResponse, AdminEnqueueNextAppVersionReviewTaskResponse, AdminFeedbackListResponse, AdminFeedbackResponse, AdminGameCollectionCandidatesResponse, AdminGameCollectionResponse, AdminGameCollectionsResponse, AdminMutateAchievementStateRequest, AdminMutateAchievementStateResponse, AdminMutateLeaderboardScoreRequest, AdminMutateLeaderboardScoreResponse, AdminPaymentDetailResponse, AdminPaymentsListResponse, AdminPlatformAnalyticsRequest, AdminPlatformAnalyticsResponse, AdminRefundPaymentRequest, AdminRetirePlayerMetaDefinitionResponse, AdminTagGroupResponse, AdminTagGroupsResponse, AdminTagResponse, AdminUpdateAppRequest, AdminUpdateAppResponse, AdminUpdateAppVersionReviewRequest, AdminUpdateAppVersionReviewResponse, AdminUserResponse, AgentTaskAttachmentUploadResponse, AgentTaskAvailabilityResponse, AgentTaskCreatorFeedbackStatus, AgentTaskDetailResponse, AgentTaskEventsResponse, AgentTaskKind, AgentTaskNewGameSuggestionsResponse, AgentTasksResponse, AiGenerationDetailResponse, AiGenerationsResponse, ApiKeyLoginRequest, AppAccessTokenResponse, AppAgentTaskResponse, AppBrowseRequest, AppDetailRequest, AppDetailResponse, AppLogEntryRequest, AppLogEntryResponse, AppMoreCollectionKey, AppMoreCollectionPage, AppMoreCollectionRequest, AppMoreCollectionsRequest, AppMoreCollectionsResponse, AppRuntimeAssetsResponse, AppSourceBundleResponse, AppType, AppUploadLaunchCheckPreviewResponse, AppVersionDetailResponse, AppVersionVisibility, 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, BoostReportQuery, BoostReportResponse, BoostStatusResponse, BootstrapResponse, CancelAgentTaskResponse, ChangePasswordRequest, ChangePasswordResponse, ClaimFreeCreditRewardResponse, ClearAgentTaskResponse, CliApiKeyStatusResponse, CliLoginApproveRequest, CliLoginApproveResponse, CliLoginPollRequest, CliLoginPollResponse, CliLoginStartResponse, CliLoginStatusResponse, CliWebLaunchStartRequest, CliWebLaunchStartResponse, CompleteAppleSignupRequest, CompleteAppleSignupResponse, CompleteGoogleSignupRequest, CompleteGoogleSignupResponse, CompleteXSignupRequest, CompleteXSignupResponse, ContentCommentsResponse, ContentLicense, ContentRemixRelationsResponse, CreateAdminGameCollectionRequest, CreateAppAgentTaskRequest, CreateAppAgentTaskResponse, CreateAppRequest, CreateAppResponse, CreateAssetSpecVersionResponse, CreateAssetVersionResponse, CreateCliApiKeyResponse, CreateCommentReportRequest, CreateContentCommentRequest, CreateContentCommentResponse, CreateContentReportRequest, CreateCreatorReportRequest, CreateGameEvalAgentTaskRequest, CreateGameEvalAgentTaskResponse, CreateNewGameAgentTaskRequest, CreateNewGameAgentTaskResponse, CreateRemixGameAgentTaskRequest, CreateRemixGameAgentTaskResponse, CreateTagGroupRequest, CreateTagRequest, CreateUserRequest, CreateUserResponse, CreatorAppsBrowseRequest, CreatorBlockMutationResponse, CreatorEarningsResponse, CreatorEngagementRuleExecutionStatus, CreatorFollowMutationResponse, CreatorGameCreatorFeedbackStatusResponse, CreatorGameShareResponse, CreatorGameStatusResponse, CreatorGameVersionsResponse, CreatorGamesListResponse, CreditPackCheckoutSessionRequest, CreditPackCheckoutSessionResponse, CreditPackCheckoutStatusResponse, CreditPackResponse, CreditPacksResponse, DeleteAdminGameCollectionResponse, DeleteAdminUserResponse, DeleteAppResponse, DeleteAssetPackResponse, DeleteAssetPackVersionResponse, DeleteAssetResponse, DeleteAssetSpecResponse, DeleteAssetSpecVersionResponse, DeleteAssetVersionResponse, DeleteContentCommentResponse, DeleteFeedbackResponse, DeleteMyAccountRequest, DeleteMyAccountResponse, DeleteOwnedCustomAssetResponse, DeleteVersionResponse, DevAppAccessTokenResponse, DevPlayerResetResponse, DislikedItemMutationResponse, EmailPreferencesResponse, EmailUnsubscribeResponse, FeedbackCategory, FeedbackClient, FeedbackListResponse, FeedbackStatus, FetchHomeOptions, FinalizeAppUploadResponse, FinalizeAssetPackUploadResponse, FirebasePushDeviceRequest, FirebasePushDeviceStatusResponse, FollowingCreatorsResponse, FollowingFeedResponse, FollowingFeedSection, FollowingSort, FreeCreditsResponse, GetAchievementResponse, GetLeaderboardResponse, GoogleAppleLinkRequest, GoogleAppleLinkResponse, GoogleAppleSignInRequest, GoogleAppleSignInResponse, GoogleCreditPackFulfillmentRequest, GoogleOneTapExchangeRequest, GoogleOneTapExchangeResponse, GooglePendingSignupResponse, HomeCollectionPageResponse, HomeResponse, IapPurchaseRequest, IapPurchaseResponse, IapReceiptListParams, 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, RegisterRequest, RegisterResponse, RemixScaffoldResponse, RetryAgentTaskResponse, ReviewState, SavedItemKind, SavedItemMutationResponse, SearchRequest, SearchResponse, SearchSuggestRequest, SearchSuggestResponse, SetAchievementProgressRequest, SetAchievementProgressResponse, SetProfileAssetRequest, SetProfileAssetResponse, ShopResponse, StarterProfileAssetsResponse, SubmitFeedbackRequest, SubmitFeedbackResponse, SubmitLeaderboardScoreRequest, SubmitLeaderboardScoreResponse, TagDetailResponse, TagDirectoryResponse, TagGroupDetailResponse, TagGroupSort, TagListResponse, TemplateScaffoldResponse, TrackEngagementEventRequest, TrackEngagementEventResponse, TransactionsResponse, UnlinkGoogleResponse, UnlinkXResponse, UnlockAchievementResponse, UpdateAdminFeedbackRequest, UpdateAdminFeedbackResponse, UpdateAdminGameCollectionGamesRequest, UpdateAdminGameCollectionRequest, UpdateAdminUserRequest, UpdateAppRequest, UpdateAppResponse, UpdateAssetPackRequest, UpdateAssetPackResponse, UpdateAssetPackVersionRequest, UpdateAssetPackVersionResponse, UpdateAssetRequest, UpdateAssetResponse, UpdateAssetSpecVersionResponse, UpdateAssetVersionRequest, UpdateAssetVersionResponse, UpdateProfileRequest, UpdateProfileResponse, UpdateTagGroupRequest, UpdateTagRequest, UpdateUserCommunicationPreferencesRequest, UpdateVersionResponse, UpgradeToCreatorResponse, UploadAppSessionFileResponse, UploadAppSessionOwnedAssetResponse, UploadAssetPackSessionAssetResponse, UploadAssetPackSessionMediaResponse, UpsertWebPushSubscriptionRequest, UserDetailResponse, UsernameAvailableResponse, UsersListResponse, WebPushConfigResponse, WebPushSubscriptionStatusResponse, WorkerAgentTaskAttemptUnavailableRequest, WorkerAgentTaskAttemptUnavailableResponse, WorkerClaimAgentTaskRequest, WorkerClaimAgentTaskResponse, WorkerClaimAgentTaskSlugRequest, WorkerClaimAgentTaskSlugResponse, WorkerCompleteAgentTaskRequest, WorkerCreateAgentTaskEventRequest, WorkerCreateAgentTaskEventResponse, WorkerCreateAgentTaskTranscriptChunkRequest, WorkerCreateAgentTaskTranscriptChunkResponse, WorkerFailAgentTaskRequest, WorkerHeartbeatAgentTaskRequest, WorkerHeartbeatAgentTaskResponse, WorkerPresenceRequest, WorkerPresenceResponse, WorkerRecordAgentTaskRunTelemetryRequest, WorkerRecordAgentTaskRunTelemetryResponse, WorkerSubmitAgentTaskEvalRequest, WorkerSubmitAgentTaskEvalResponse, WorkerSubmitAgentTaskReviewRequest, WorkerSubmitAgentTaskReviewResponse, WorkerUpdateIntentRequest, WorkerUpdateIntentResponse, XPendingSignupResponse } from '@playdrop/types';
|
|
2
|
+
import { type AdminAgentTaskTranscriptOptions, type ListAgentTasksOptions, type ListCreatorGamesOptions } from './domains/agent-tasks.js';
|
|
3
3
|
export interface HttpMethod {
|
|
4
4
|
GET: 'GET';
|
|
5
5
|
POST: 'POST';
|