@playdrop/playdrop-cli 0.14.5 → 0.14.7
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 +2 -2
- package/dist/apps/staticHtml.js +1 -0
- package/dist/apps/upload.js +2 -0
- package/dist/catalogue.d.ts +18 -5
- package/dist/catalogue.js +132 -158
- package/dist/commands/dev.js +9 -0
- package/dist/commands/devRuntimeAssets.d.ts +2 -1
- package/dist/commands/devRuntimeAssets.js +3 -0
- package/dist/commands/notes.d.ts +7 -0
- package/dist/commands/notes.js +107 -0
- package/dist/commands/tweaks.d.ts +6 -0
- package/dist/commands/tweaks.js +93 -0
- package/dist/commands/validate.js +14 -0
- package/dist/index.js +39 -0
- package/dist/listingPreflight.d.ts +4 -0
- package/dist/listingPreflight.js +17 -0
- package/dist/tweakStaleness.d.ts +7 -0
- package/dist/tweakStaleness.js +36 -0
- package/node_modules/@playdrop/api-client/dist/client.d.ts +25 -4
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +40 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/core/request.js +2 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +2 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.js +27 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +18 -4
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.js +76 -6
- package/node_modules/@playdrop/api-client/dist/index.d.ts +35 -4
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +79 -4
- package/node_modules/@playdrop/config/client-meta.json +2 -2
- package/node_modules/@playdrop/config/dist/src/game-arena.d.ts +14 -0
- package/node_modules/@playdrop/config/dist/src/game-arena.d.ts.map +1 -0
- package/node_modules/@playdrop/config/dist/src/game-arena.js +30 -0
- package/node_modules/@playdrop/config/dist/src/index.d.ts +1 -0
- package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/index.js +1 -0
- package/node_modules/@playdrop/config/dist/test/game-arena.test.d.ts +2 -0
- package/node_modules/@playdrop/config/dist/test/game-arena.test.d.ts.map +1 -0
- package/node_modules/@playdrop/config/dist/test/game-arena.test.js +17 -0
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/config/package.json +4 -0
- package/node_modules/@playdrop/types/dist/api.d.ts +104 -3
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/api.js +39 -2
- package/node_modules/@playdrop/types/dist/app-review.d.ts +11 -0
- package/node_modules/@playdrop/types/dist/app-review.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/app-review.js +56 -0
- package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
- package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.js +6 -0
- package/node_modules/@playdrop/types/dist/playtest-notes.d.ts +69 -0
- package/node_modules/@playdrop/types/dist/playtest-notes.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/playtest-notes.js +30 -0
- package/node_modules/@playdrop/types/dist/tweaks.d.ts +48 -0
- package/node_modules/@playdrop/types/dist/tweaks.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/tweaks.js +156 -0
- package/node_modules/@playdrop/types/dist/version.d.ts +37 -0
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/version.js +6 -0
- package/package.json +1 -1
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
"./public-deployment": {
|
|
21
21
|
"types": "./dist/src/public-deployment.d.ts",
|
|
22
22
|
"default": "./dist/src/public-deployment.js"
|
|
23
|
+
},
|
|
24
|
+
"./game-arena": {
|
|
25
|
+
"types": "./dist/src/game-arena.d.ts",
|
|
26
|
+
"default": "./dist/src/game-arena.js"
|
|
23
27
|
}
|
|
24
28
|
},
|
|
25
29
|
"scripts": {
|
|
@@ -6,7 +6,8 @@ import type { AppMetadataAssetSpecSupport, AssetSpecListResponse, AssetSpecRespo
|
|
|
6
6
|
import type { AssetCategory, AssetResponse } from './asset.js';
|
|
7
7
|
import type { ContentLicense, ContentPermissions } from './content-license.js';
|
|
8
8
|
import type { InstrumentEvidenceManifest } from './instrument-evidence.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type { TweakValues } from './tweaks.js';
|
|
10
|
+
import type { AppAuthMode, AppControllerMode, AppHostingMode, AppListingMediaItem, AppVersionResponse, AppVersionSummary, AppVersionVisibility, ReviewState } from './version.js';
|
|
10
11
|
export declare const ACQUISITION_ATTRIBUTION_TYPES: readonly ["install", "reengagement", "web_visit"];
|
|
11
12
|
export type AcquisitionAttributionType = typeof ACQUISITION_ATTRIBUTION_TYPES[number];
|
|
12
13
|
export declare const ACQUISITION_PLATFORMS: readonly ["ios", "android", "web"];
|
|
@@ -216,6 +217,15 @@ export type GameCreationSource = typeof GAME_CREATION_SOURCE_VALUES[number];
|
|
|
216
217
|
export declare const GAME_CREATION_SOURCE_LABELS: Record<GameCreationSource, string>;
|
|
217
218
|
export declare const AGENT_TASK_PROMPT_MIN_LENGTH = 4;
|
|
218
219
|
export declare const AGENT_TASK_PROMPT_MAX_LENGTH = 100000;
|
|
220
|
+
export declare const AGENT_TASK_SAFETY_REJECT_CATEGORIES: readonly ["PRIVATE_PLAYDROP_INFORMATION", "NOT_A_GAME_REQUEST", "APP_STORE_CONTENT_POLICY"];
|
|
221
|
+
export type AgentTaskSafetyRejectCategory = typeof AGENT_TASK_SAFETY_REJECT_CATEGORIES[number];
|
|
222
|
+
export declare const AGENT_TASK_SAFETY_REJECT_ERROR_CODES: {
|
|
223
|
+
readonly PRIVATE_PLAYDROP_INFORMATION: "playdrop_private_information_request";
|
|
224
|
+
readonly NOT_A_GAME_REQUEST: "game_request_not_understood";
|
|
225
|
+
readonly APP_STORE_CONTENT_POLICY: "game_request_content_policy";
|
|
226
|
+
};
|
|
227
|
+
export type AgentTaskSafetyRejectErrorCode = (typeof AGENT_TASK_SAFETY_REJECT_ERROR_CODES)[AgentTaskSafetyRejectCategory];
|
|
228
|
+
export declare const AGENT_TASK_INPUT_MAX_COUNT = 20;
|
|
219
229
|
export declare const AGENT_RUNTIME_VALUES: readonly ["CODEX", "CLAUDE_CODE", "CURSOR_COMPOSER"];
|
|
220
230
|
export type AgentRuntime = typeof AGENT_RUNTIME_VALUES[number];
|
|
221
231
|
export declare function normalizeAgentTaskModel(_agent: AgentRuntime, model: string): string | null;
|
|
@@ -242,6 +252,8 @@ export interface AgentAttemptResult {
|
|
|
242
252
|
agent: AgentRuntime;
|
|
243
253
|
model: string;
|
|
244
254
|
reasoningEffort?: string | null;
|
|
255
|
+
workerId?: number | null;
|
|
256
|
+
retryOnAlternateWorker?: boolean;
|
|
245
257
|
status: 'selected' | 'unavailable' | 'started' | 'completed' | 'failed';
|
|
246
258
|
reason?: AgentAvailabilityFailureReason | string | null;
|
|
247
259
|
message?: string | null;
|
|
@@ -585,6 +597,8 @@ export declare const ARENA_COMPARISON_MODE_VALUES: readonly ["RANDOM", "BARE_SOL
|
|
|
585
597
|
export type ArenaComparisonMode = typeof ARENA_COMPARISON_MODE_VALUES[number];
|
|
586
598
|
export declare const ARENA_VOTE_CHOICE_VALUES: readonly ["A", "B"];
|
|
587
599
|
export type ArenaVoteChoice = typeof ARENA_VOTE_CHOICE_VALUES[number];
|
|
600
|
+
export declare const ARENA_VOTE_VERDICT_VALUES: readonly ["A", "B", "TIE", "BOTH_BAD"];
|
|
601
|
+
export type ArenaVoteVerdict = typeof ARENA_VOTE_VERDICT_VALUES[number];
|
|
588
602
|
export interface AdminArenaEntryInput {
|
|
589
603
|
slot: string;
|
|
590
604
|
appVersionId: number;
|
|
@@ -617,13 +631,37 @@ export interface ActivateAdminArenaRoundsRequest {
|
|
|
617
631
|
}
|
|
618
632
|
export interface ArenaGameSide {
|
|
619
633
|
playPath: string;
|
|
634
|
+
previewImagePath: string | null;
|
|
620
635
|
}
|
|
621
636
|
export interface ArenaMatchup {
|
|
622
637
|
matchupToken: string;
|
|
638
|
+
shareToken: string;
|
|
623
639
|
prompt: string;
|
|
640
|
+
previewAspectRatio: '16:9' | '9:16';
|
|
624
641
|
gameA: ArenaGameSide;
|
|
625
642
|
gameB: ArenaGameSide;
|
|
626
643
|
}
|
|
644
|
+
export type GameArenaModelId = 'OPUS_5' | 'SOL_5_6';
|
|
645
|
+
export interface GameArenaStandingEntry {
|
|
646
|
+
id: GameArenaModelId;
|
|
647
|
+
label: string;
|
|
648
|
+
score: number;
|
|
649
|
+
votes: number;
|
|
650
|
+
voteRate: number;
|
|
651
|
+
}
|
|
652
|
+
export interface GameArenaPromptResult {
|
|
653
|
+
prompt: string;
|
|
654
|
+
winner: GameArenaModelId | 'TIE';
|
|
655
|
+
opusVotes: number;
|
|
656
|
+
solVotes: number;
|
|
657
|
+
}
|
|
658
|
+
export interface GameArenaStandings {
|
|
659
|
+
entries: [GameArenaStandingEntry, GameArenaStandingEntry];
|
|
660
|
+
promptResults: GameArenaPromptResult[];
|
|
661
|
+
voteCount: number;
|
|
662
|
+
tieCount: number;
|
|
663
|
+
bothBadCount: number;
|
|
664
|
+
}
|
|
627
665
|
export interface ArenaRevealedEntry {
|
|
628
666
|
harness: ArenaHarness;
|
|
629
667
|
harnessVersion: string | null;
|
|
@@ -662,6 +700,9 @@ export type ArenaAiLeaderboardMetric = 'overall' | GameEvalDimension;
|
|
|
662
700
|
export type ArenaAiLeaderboards = Record<ArenaAiLeaderboardMetric, ArenaAiLeaderboardEntry[]>;
|
|
663
701
|
export interface ArenaResponse {
|
|
664
702
|
matchups: ArenaMatchup[];
|
|
703
|
+
voteCount: number;
|
|
704
|
+
standingsRevealAt: string;
|
|
705
|
+
standings: GameArenaStandings | null;
|
|
665
706
|
leaderboard: ArenaLeaderboardEntry[];
|
|
666
707
|
}
|
|
667
708
|
export interface AdminArenaAiLeaderboardsResponse {
|
|
@@ -669,13 +710,13 @@ export interface AdminArenaAiLeaderboardsResponse {
|
|
|
669
710
|
}
|
|
670
711
|
export interface CreateArenaVoteRequest {
|
|
671
712
|
matchupToken: string;
|
|
672
|
-
choice:
|
|
713
|
+
choice: ArenaVoteVerdict;
|
|
673
714
|
comment?: string | null;
|
|
674
715
|
}
|
|
675
716
|
export interface CreateArenaVoteResponse {
|
|
676
717
|
gameA: ArenaRevealedEntry;
|
|
677
718
|
gameB: ArenaRevealedEntry;
|
|
678
|
-
yourPick:
|
|
719
|
+
yourPick: ArenaVoteVerdict;
|
|
679
720
|
headToHead?: {
|
|
680
721
|
gameAWinRate: number;
|
|
681
722
|
gameBWinRate: number;
|
|
@@ -864,6 +905,7 @@ export interface WorkerAgentTaskAttemptUnavailableResponse {
|
|
|
864
905
|
task: AgentTaskResponse;
|
|
865
906
|
requeued: boolean;
|
|
866
907
|
exhausted: boolean;
|
|
908
|
+
retriedOnAlternateWorker: boolean;
|
|
867
909
|
nextAttempt?: AgentAttemptOption | null;
|
|
868
910
|
}
|
|
869
911
|
export interface AgentWorkerUpdatePolicyResponse {
|
|
@@ -1196,6 +1238,7 @@ export interface CreateAppAgentTaskRequest {
|
|
|
1196
1238
|
prompt: string;
|
|
1197
1239
|
surfaceContext?: AgentTaskSurfaceContextRequest;
|
|
1198
1240
|
inputs?: AgentTaskInput[];
|
|
1241
|
+
playtestNoteIds?: number[];
|
|
1199
1242
|
agentBundleSha?: string;
|
|
1200
1243
|
}
|
|
1201
1244
|
export interface CreateAppAgentTaskResponse {
|
|
@@ -1433,6 +1476,8 @@ export interface AppResponse {
|
|
|
1433
1476
|
lastPlayedAt?: string;
|
|
1434
1477
|
/** Current version string (e.g., "1.2.3"), null if no versions exist */
|
|
1435
1478
|
currentVersion?: string | null;
|
|
1479
|
+
/** Database id of the current version, null if no current version exists */
|
|
1480
|
+
currentVersionId?: number | null;
|
|
1436
1481
|
/** Hosting mode of current version */
|
|
1437
1482
|
hostingMode?: AppHostingMode;
|
|
1438
1483
|
/** Auth mode of current version */
|
|
@@ -1471,6 +1516,8 @@ export interface AppResponse {
|
|
|
1471
1516
|
screenshotLandscapeUrls?: string[];
|
|
1472
1517
|
videoPortraitUrls?: string[];
|
|
1473
1518
|
videoLandscapeUrls?: string[];
|
|
1519
|
+
/** Structured listing media with stable slugs and descriptive metadata. */
|
|
1520
|
+
listingMedia?: AppListingMediaItem[];
|
|
1474
1521
|
viewerSaved?: boolean;
|
|
1475
1522
|
viewerLiked?: boolean;
|
|
1476
1523
|
viewerDisliked?: boolean;
|
|
@@ -1597,6 +1644,58 @@ export interface AdminPlatformAnalyticsResponse {
|
|
|
1597
1644
|
}>;
|
|
1598
1645
|
clientSurfacesDaily: AdminPlatformAnalyticsClientSurfaceDailyPoint[];
|
|
1599
1646
|
}
|
|
1647
|
+
export declare const GAMEPLAY_SESSION_MODE_VALUES: readonly ["PLAY", "CREATOR_PLAYTEST", "REVIEW", "CAPTURE"];
|
|
1648
|
+
export type GameplaySessionMode = typeof GAMEPLAY_SESSION_MODE_VALUES[number];
|
|
1649
|
+
export declare const GAMEPLAY_SESSION_ACTIVITY_STATE_VALUES: readonly ["ACTIVE", "PAUSED"];
|
|
1650
|
+
export type GameplaySessionActivityState = typeof GAMEPLAY_SESSION_ACTIVITY_STATE_VALUES[number];
|
|
1651
|
+
export interface GameplaySessionStartRequest {
|
|
1652
|
+
sessionId: string;
|
|
1653
|
+
appId: number;
|
|
1654
|
+
appVersionId: number;
|
|
1655
|
+
}
|
|
1656
|
+
export interface GameplaySessionActivityRequest {
|
|
1657
|
+
sequence: number;
|
|
1658
|
+
activityState: GameplaySessionActivityState;
|
|
1659
|
+
}
|
|
1660
|
+
export interface GameplaySessionResponse {
|
|
1661
|
+
sessionId: string;
|
|
1662
|
+
mode: GameplaySessionMode;
|
|
1663
|
+
startedAt: string;
|
|
1664
|
+
lastHeartbeatAt: string;
|
|
1665
|
+
endedAt: string | null;
|
|
1666
|
+
activeSeconds: number;
|
|
1667
|
+
lastSequence: number;
|
|
1668
|
+
activityState: GameplaySessionActivityState;
|
|
1669
|
+
}
|
|
1670
|
+
export declare const TRACTION_ANALYTICS_GRANULARITY_VALUES: readonly ["day", "week", "month"];
|
|
1671
|
+
export declare const TRACTION_ANALYTICS_MAX_RANGE_DAYS = 731;
|
|
1672
|
+
export type TractionAnalyticsGranularity = typeof TRACTION_ANALYTICS_GRANULARITY_VALUES[number];
|
|
1673
|
+
export interface AdminTractionAnalyticsRequest {
|
|
1674
|
+
fromDate: string;
|
|
1675
|
+
toDate: string;
|
|
1676
|
+
granularity: TractionAnalyticsGranularity;
|
|
1677
|
+
}
|
|
1678
|
+
export interface TractionMetrics {
|
|
1679
|
+
newAccounts: number;
|
|
1680
|
+
activeUsers: number;
|
|
1681
|
+
activePlayers: number;
|
|
1682
|
+
activeCreators: number;
|
|
1683
|
+
newGamesCreated: number;
|
|
1684
|
+
newUpdatesCreated: number;
|
|
1685
|
+
newGamesPublished: number;
|
|
1686
|
+
updatesPublished: number;
|
|
1687
|
+
totalPlays: number;
|
|
1688
|
+
totalPlaytimeSeconds: number;
|
|
1689
|
+
}
|
|
1690
|
+
export interface TractionAnalyticsBucket {
|
|
1691
|
+
startDate: string;
|
|
1692
|
+
endDate: string;
|
|
1693
|
+
metrics: TractionMetrics;
|
|
1694
|
+
}
|
|
1695
|
+
export interface TractionAnalyticsResponse extends AdminTractionAnalyticsRequest {
|
|
1696
|
+
totals: TractionMetrics;
|
|
1697
|
+
buckets: TractionAnalyticsBucket[];
|
|
1698
|
+
}
|
|
1600
1699
|
export interface AdminGameCollectionSummary {
|
|
1601
1700
|
id: number;
|
|
1602
1701
|
slug: string;
|
|
@@ -2011,6 +2110,8 @@ export interface AppRuntimeAssetsResponse {
|
|
|
2011
2110
|
appVersionId: number;
|
|
2012
2111
|
appVersion: string;
|
|
2013
2112
|
assets: AppRuntimeAssetSummary[];
|
|
2113
|
+
/** Exact-version, read-only tweak values for a runtime that passed this endpoint's visibility checks. */
|
|
2114
|
+
runtimeTweakValues?: TweakValues | null;
|
|
2014
2115
|
}
|
|
2015
2116
|
export interface AppOwnedAssetSummary {
|
|
2016
2117
|
assetRef: string;
|