apple submit --build <n> (first submission, the resubmit steps; plan table with --json under serve); desktop owner actions to send for review: owner.apple_submit, owner.apple_resubmit, owner.apple_iap_submit, owner.play_production, and the price gate owner actions (owner.prices_play_products / _play_subscriptions / _apple_subscriptions; owner.prices_import passes --allow-price-changes after the dialog); OWNER_ALLOWED_ARGS ties each forbidden flag to its one action, dry runs never carry owner flags, MCP still has no submit or production release; submit dialog text in the host; system.tools androidSdk, project.inspect playRelease, declarations dataDeletion

This commit is contained in:
CRTkafa 2026-10-12 12:07:55 +08:00
parent 2e7dd44ae6
commit 33eb24a3dc
17 changed files with 335 additions and 49 deletions

View file

@ -8,7 +8,7 @@
// storebound inspect --render <file> --json one render (relative to the renders folder) as a data: URL
import { existsSync, readFileSync, statSync } from 'node:fs';
import { join } from 'node:path';
import { platformsOf, profileOf, sellsOn } from './lib/config';
import { platformsOf, playCategoryOf, profileOf, sellsOn } from './lib/config';
import type { Ctx } from './lib/ctx';
import { maskUser, reviewContact, reviewDemoAccount } from './lib/credentials';
import { DATA_SAFETY_UPLOADED, declarations } from './lib/declarations';
@ -42,6 +42,7 @@ export function summarize(ctx: Ctx): ProjectSummary {
icon: findIcon(config, root),
variants: Object.keys(config.shots?.variants ?? {}),
playReports: !!config.play?.reportsBucket,
playRelease: config.play ? { managedPublishing: config.play.managedPublishing ?? null, countries: config.play.countries?.length ?? null, category: playCategoryOf(config)?.category ?? null } : null,
};
}