@sitepong/fastnode 0.2.1 → 0.3.0
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/README.md +58 -1
- package/dist/actions/index.cjs +891 -72
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.mjs +892 -73
- package/dist/actions/index.mjs.map +1 -1
- package/dist/apple-session-jUzBrql5.d.cts +122 -0
- package/dist/apple-session-jUzBrql5.d.ts +122 -0
- package/dist/cert/index.cjs +17868 -24
- package/dist/cert/index.cjs.map +1 -1
- package/dist/cert/index.d.cts +5 -4
- package/dist/cert/index.d.ts +5 -4
- package/dist/cert/index.mjs +17853 -7
- package/dist/cert/index.mjs.map +1 -1
- package/dist/{cert-e5GAgAPb.d.ts → cert-RvXmdMke.d.ts} +2 -2
- package/dist/{cert-uLLdb5a7.d.cts → cert-eOoxGMN1.d.cts} +2 -2
- package/dist/cli/index.cjs +1364 -78
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +3 -2
- package/dist/cli/index.d.ts +3 -2
- package/dist/cli/index.mjs +1365 -79
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/index.cjs +480 -31
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +3 -2
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.mjs +480 -31
- package/dist/client/index.mjs.map +1 -1
- package/dist/deliver/index.cjs +334 -13
- package/dist/deliver/index.cjs.map +1 -1
- package/dist/deliver/index.d.cts +4 -3
- package/dist/deliver/index.d.ts +4 -3
- package/dist/deliver/index.mjs +330 -15
- package/dist/deliver/index.mjs.map +1 -1
- package/dist/{enums-B609j2rb.d.cts → enums-yXNVh3UI.d.cts} +8 -1
- package/dist/{enums-B609j2rb.d.ts → enums-yXNVh3UI.d.ts} +8 -1
- package/dist/gradle/index.cjs +222 -0
- package/dist/gradle/index.cjs.map +1 -0
- package/dist/gradle/index.d.cts +1 -0
- package/dist/gradle/index.d.ts +1 -0
- package/dist/gradle/index.mjs +217 -0
- package/dist/gradle/index.mjs.map +1 -0
- package/dist/gym/index.d.cts +2 -2
- package/dist/gym/index.d.ts +2 -2
- package/dist/index-8djTPW8O.d.ts +104 -0
- package/dist/{index-DrUpRXRG.d.cts → index-B6-MJpO4.d.cts} +1 -1
- package/dist/{index-Clyf4-lu.d.cts → index-BE7bwNff.d.cts} +1 -1
- package/dist/index-BGhV0gS-.d.ts +65 -0
- package/dist/index-BaNcf7jt.d.cts +201 -0
- package/dist/{index-Di4Ic0EE.d.ts → index-BvyZ4uiw.d.ts} +3 -3
- package/dist/{index-CEldrbyz.d.ts → index-C01Rkrir.d.ts} +2 -2
- package/dist/{index-jeI44Q5G.d.ts → index-C9mHBJED.d.ts} +1 -1
- package/dist/{index-BgHagzj1.d.cts → index-CAEiXVWd.d.ts} +9 -1
- package/dist/index-CBf0-NUQ.d.ts +201 -0
- package/dist/index-CXJlvmB4.d.cts +63 -0
- package/dist/index-CXJlvmB4.d.ts +63 -0
- package/dist/{index-BNP7Bpu5.d.ts → index-D1GHEM3c.d.ts} +32 -3
- package/dist/index-DFstwgGK.d.cts +65 -0
- package/dist/{index-DrCOh0Vh.d.cts → index-DGkgRnZp.d.cts} +2 -2
- package/dist/{index-CtydPNxA.d.cts → index-DLJso7Vs.d.cts} +32 -3
- package/dist/{index-BN0iWhuw.d.cts → index-DWOLZNlz.d.cts} +2 -2
- package/dist/{index-BjkOUQcQ.d.cts → index-DfkIz7i0.d.cts} +18 -4
- package/dist/{index-EKU_G1G5.d.ts → index-DjC_gmnL.d.ts} +18 -4
- package/dist/index-DnHQ2uT2.d.cts +104 -0
- package/dist/{index-CdfgEZwh.d.cts → index-DrmS802s.d.cts} +356 -130
- package/dist/index-Dv-Mek07.d.cts +84 -0
- package/dist/index-Dv-Mek07.d.ts +84 -0
- package/dist/{index-DHxi-QPC.d.cts → index-icIH5e5V.d.cts} +3 -3
- package/dist/{index-mddpvrRX.d.ts → index-laE3_wm9.d.cts} +9 -1
- package/dist/{index-BwwpAlk2.d.ts → index-lsuS2R1T.d.ts} +356 -130
- package/dist/{index-DImN9PWc.d.ts → index-mEEB7An6.d.ts} +1 -1
- package/dist/{index-C2YLoFVl.d.ts → index-rTZOdMRE.d.ts} +2 -2
- package/dist/index.cjs +20496 -217
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +278 -22
- package/dist/index.d.ts +278 -22
- package/dist/index.mjs +20489 -220
- package/dist/index.mjs.map +1 -1
- package/dist/lane/index.cjs +891 -72
- package/dist/lane/index.cjs.map +1 -1
- package/dist/lane/index.mjs +892 -73
- package/dist/lane/index.mjs.map +1 -1
- package/dist/match/index.d.cts +6 -5
- package/dist/match/index.d.ts +6 -5
- package/dist/pem/index.d.cts +4 -3
- package/dist/pem/index.d.ts +4 -3
- package/dist/pilot/index.cjs +8 -4
- package/dist/pilot/index.cjs.map +1 -1
- package/dist/pilot/index.d.cts +4 -3
- package/dist/pilot/index.d.ts +4 -3
- package/dist/pilot/index.mjs +10 -6
- package/dist/pilot/index.mjs.map +1 -1
- package/dist/playstore/index.cjs +207 -0
- package/dist/playstore/index.cjs.map +1 -0
- package/dist/playstore/index.d.cts +1 -0
- package/dist/playstore/index.d.ts +1 -0
- package/dist/playstore/index.mjs +203 -0
- package/dist/playstore/index.mjs.map +1 -0
- package/dist/precheck/index.d.cts +4 -3
- package/dist/precheck/index.d.ts +4 -3
- package/dist/privacy/index.cjs +207 -0
- package/dist/privacy/index.cjs.map +1 -0
- package/dist/privacy/index.d.cts +2 -0
- package/dist/privacy/index.d.ts +2 -0
- package/dist/privacy/index.mjs +195 -0
- package/dist/privacy/index.mjs.map +1 -0
- package/dist/produce/index.cjs +38 -18
- package/dist/produce/index.cjs.map +1 -1
- package/dist/produce/index.d.cts +4 -3
- package/dist/produce/index.d.ts +4 -3
- package/dist/produce/index.mjs +38 -19
- package/dist/produce/index.mjs.map +1 -1
- package/dist/review/index.cjs +141 -0
- package/dist/review/index.cjs.map +1 -0
- package/dist/review/index.d.cts +2 -0
- package/dist/review/index.d.ts +2 -0
- package/dist/review/index.mjs +137 -0
- package/dist/review/index.mjs.map +1 -0
- package/dist/sigh/index.d.cts +4 -3
- package/dist/sigh/index.d.ts +4 -3
- package/dist/xcode/index.cjs +1 -1
- package/dist/xcode/index.cjs.map +1 -1
- package/dist/xcode/index.mjs +1 -1
- package/dist/xcode/index.mjs.map +1 -1
- package/package.json +27 -1
- package/dist/index-BbY_H_f6.d.ts +0 -99
- package/dist/index-XsMsVc3O.d.cts +0 -99
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { b as Platform, C as CertificateType, a as ProfileState, P as ProfileType, D as DeviceClass, c as DeviceStatus, B as BundleIdPlatform, d as CapabilityType, g as ContentRightsDeclaration, h as BuildProcessingState, A as AppStoreVersionState, R as ReleaseType } from './enums-
|
|
1
|
+
import { b as Platform, C as CertificateType, a as ProfileState, P as ProfileType, D as DeviceClass, c as DeviceStatus, B as BundleIdPlatform, d as CapabilityType, g as ContentRightsDeclaration, h as BuildProcessingState, A as AppStoreVersionState, R as ReleaseType, k as AppAssetLibraryMediaType, l as AppAssetLibraryPlacementType, n as AppAssetLibraryPlacementState, j as AppAssetLibraryAssetCategory, m as AppAssetLibraryAssetState, o as AppAssetLibraryFeature, p as AppAssetLibraryPlacementPlatform } from './enums-yXNVh3UI.cjs';
|
|
2
|
+
import { A as AppleSession } from './apple-session-jUzBrql5.cjs';
|
|
2
3
|
|
|
3
4
|
interface TokenConfig {
|
|
4
5
|
keyId: string;
|
|
@@ -434,6 +435,31 @@ declare class AppsResource {
|
|
|
434
435
|
include?: string;
|
|
435
436
|
}): Promise<App>;
|
|
436
437
|
findByBundleId(bundleId: string): Promise<App | null>;
|
|
438
|
+
/**
|
|
439
|
+
* Create an App Store Connect **app record** (the thing that shows up
|
|
440
|
+
* under "My Apps" and that TestFlight / App Store uploads require).
|
|
441
|
+
*
|
|
442
|
+
* This is distinct from registering an App ID in the Developer Portal —
|
|
443
|
+
* you need BOTH. The Developer Portal App ID unlocks provisioning
|
|
444
|
+
* profiles and entitlements; the App Store Connect app record unlocks
|
|
445
|
+
* uploads. `upload_to_testflight` fails with "Couldn't find app
|
|
446
|
+
* 'com.foo.bar' on the account…" when this record is missing.
|
|
447
|
+
*
|
|
448
|
+
* `bundleIdId` is the REST API primary key of the bundle id resource
|
|
449
|
+
* (not the identifier string) — fetch it via `bundleIds.find(identifier)`
|
|
450
|
+
* or from the response of `bundleIds.create()`.
|
|
451
|
+
*
|
|
452
|
+
* `sku` is an arbitrary unique string Apple uses to identify the app in
|
|
453
|
+
* their internal records. If you don't have a meaningful one, pass the
|
|
454
|
+
* bundle identifier itself or append a timestamp for uniqueness.
|
|
455
|
+
*/
|
|
456
|
+
create(params: {
|
|
457
|
+
bundleIdentifier: string;
|
|
458
|
+
bundleIdId: string;
|
|
459
|
+
appName: string;
|
|
460
|
+
sku: string;
|
|
461
|
+
primaryLocale?: string;
|
|
462
|
+
}): Promise<App>;
|
|
437
463
|
}
|
|
438
464
|
|
|
439
465
|
interface Build {
|
|
@@ -1206,11 +1232,24 @@ declare class ReviewSubmissionItemsResource {
|
|
|
1206
1232
|
limit?: number;
|
|
1207
1233
|
}): Promise<ReviewSubmissionItem[]>;
|
|
1208
1234
|
get(id: string): Promise<ReviewSubmissionItem>;
|
|
1235
|
+
/**
|
|
1236
|
+
* Add one item to a review submission. Besides versions, asset library
|
|
1237
|
+
* images and videos can be submitted on their own (ASC API 4.5.1) so
|
|
1238
|
+
* creative assets are approved ahead of a campaign.
|
|
1239
|
+
*/
|
|
1209
1240
|
create(params: {
|
|
1210
1241
|
reviewSubmissionId: string;
|
|
1211
1242
|
appStoreVersionId?: string;
|
|
1212
1243
|
appCustomProductPageVersionId?: string;
|
|
1213
1244
|
appStoreVersionExperimentId?: string;
|
|
1245
|
+
appStoreVersionExperimentV2Id?: string;
|
|
1246
|
+
appEventId?: string;
|
|
1247
|
+
appAssetLibraryImageId?: string;
|
|
1248
|
+
appAssetLibraryVideoId?: string;
|
|
1249
|
+
backgroundAssetVersionId?: string;
|
|
1250
|
+
inAppPurchaseVersionId?: string;
|
|
1251
|
+
subscriptionVersionId?: string;
|
|
1252
|
+
subscriptionGroupVersionId?: string;
|
|
1214
1253
|
}): Promise<ReviewSubmissionItem>;
|
|
1215
1254
|
update(id: string, attributes: {
|
|
1216
1255
|
removed?: boolean;
|
|
@@ -1340,142 +1379,226 @@ declare class XcodeMetricsResource {
|
|
|
1340
1379
|
getDiagnosticSignature(id: string): Promise<DiagnosticSignature>;
|
|
1341
1380
|
}
|
|
1342
1381
|
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
email: string;
|
|
1361
|
-
password: string;
|
|
1362
|
-
onLog?: (msg: string) => void;
|
|
1363
|
-
onPrompt?: (msg: string) => Promise<string>;
|
|
1364
|
-
}
|
|
1365
|
-
interface ContractMessage {
|
|
1382
|
+
interface AppAssetLibraryPlacementAttributes {
|
|
1383
|
+
mediaType?: AppAssetLibraryMediaType;
|
|
1384
|
+
placementType?: AppAssetLibraryPlacementType;
|
|
1385
|
+
placementGroup?: string;
|
|
1386
|
+
state?: AppAssetLibraryPlacementState;
|
|
1387
|
+
stateDetails?: Array<{
|
|
1388
|
+
code?: string;
|
|
1389
|
+
message?: string;
|
|
1390
|
+
}> | null;
|
|
1391
|
+
createdDate?: string;
|
|
1392
|
+
lastModifiedDate?: string;
|
|
1393
|
+
}
|
|
1394
|
+
type AppAssetLibraryPlacement = JsonApiResource<"appAssetLibraryPlacements", AppAssetLibraryPlacementAttributes>;
|
|
1395
|
+
/** The localization a placement puts an asset on. */
|
|
1396
|
+
type PlacementTargetKind = "appStoreVersionLocalization" | "appCustomProductPageLocalization" | "appEventLocalization" | "appStoreVersionExperimentTreatmentLocalization";
|
|
1397
|
+
interface PlacementTarget {
|
|
1398
|
+
kind: PlacementTargetKind;
|
|
1366
1399
|
id: string;
|
|
1367
|
-
group: string;
|
|
1368
|
-
subject: string;
|
|
1369
|
-
message: string;
|
|
1370
|
-
}
|
|
1371
|
-
interface AppleSession {
|
|
1372
|
-
cookies: Record<string, string>;
|
|
1373
|
-
sessionId: string;
|
|
1374
|
-
scnt: string;
|
|
1375
|
-
serviceKey: string;
|
|
1376
|
-
userEmail: string;
|
|
1377
|
-
teamId?: string;
|
|
1378
|
-
pendingAgreements: ContractMessage[];
|
|
1379
1400
|
}
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1401
|
+
declare class AppAssetLibraryPlacementsResource {
|
|
1402
|
+
private http;
|
|
1403
|
+
constructor(http: RequestClient);
|
|
1404
|
+
/**
|
|
1405
|
+
* Place an image or video on one localization. Placements cannot be edited —
|
|
1406
|
+
* delete and recreate. The parent version/page must be editable.
|
|
1407
|
+
*/
|
|
1408
|
+
create(params: {
|
|
1409
|
+
placementType: AppAssetLibraryPlacementType;
|
|
1410
|
+
placementGroup: string;
|
|
1411
|
+
imageId?: string;
|
|
1412
|
+
videoId?: string;
|
|
1413
|
+
target: PlacementTarget;
|
|
1414
|
+
}): Promise<AppAssetLibraryPlacement>;
|
|
1415
|
+
get(id: string, params?: {
|
|
1416
|
+
include?: string;
|
|
1417
|
+
}): Promise<AppAssetLibraryPlacement>;
|
|
1418
|
+
delete(id: string): Promise<void>;
|
|
1419
|
+
/** Placements on one localization, in display order by default. */
|
|
1420
|
+
listForTarget(target: PlacementTarget, params?: {
|
|
1421
|
+
placementType?: AppAssetLibraryPlacementType;
|
|
1422
|
+
placementGroup?: string;
|
|
1423
|
+
include?: string;
|
|
1424
|
+
}): Promise<AppAssetLibraryPlacement[]>;
|
|
1425
|
+
/** Set the display order of a placement group. In-app event localizations cannot be ordered. */
|
|
1426
|
+
order(params: {
|
|
1427
|
+
placementGroup: string;
|
|
1428
|
+
placementIds: string[];
|
|
1429
|
+
target: PlacementTarget;
|
|
1430
|
+
}): Promise<void>;
|
|
1392
1431
|
}
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1432
|
+
|
|
1433
|
+
interface AssetAttributes {
|
|
1434
|
+
category?: AppAssetLibraryAssetCategory;
|
|
1435
|
+
fileName?: string;
|
|
1436
|
+
fileSize?: number;
|
|
1437
|
+
referenceName?: string | null;
|
|
1438
|
+
specId?: string | null;
|
|
1439
|
+
state?: AppAssetLibraryAssetState;
|
|
1440
|
+
stateDetails?: Array<{
|
|
1441
|
+
code?: string;
|
|
1442
|
+
message?: string;
|
|
1443
|
+
}> | null;
|
|
1444
|
+
uploadOperations?: UploadOperation[] | null;
|
|
1445
|
+
createdDate?: string;
|
|
1446
|
+
lastModifiedDate?: string;
|
|
1447
|
+
}
|
|
1448
|
+
interface AppAssetLibraryImageAttributes extends AssetAttributes {
|
|
1449
|
+
imageAsset?: {
|
|
1450
|
+
templateUrl: string;
|
|
1451
|
+
width: number;
|
|
1452
|
+
height: number;
|
|
1453
|
+
} | null;
|
|
1454
|
+
}
|
|
1455
|
+
interface AppAssetLibraryVideoAttributes extends AssetAttributes {
|
|
1456
|
+
previewFrameTimeCode?: string | null;
|
|
1457
|
+
videoAsset?: {
|
|
1458
|
+
url?: string;
|
|
1459
|
+
width?: number;
|
|
1460
|
+
height?: number;
|
|
1461
|
+
duration?: string;
|
|
1462
|
+
} | null;
|
|
1463
|
+
previewFrameImage?: {
|
|
1464
|
+
templateUrl: string;
|
|
1465
|
+
width: number;
|
|
1466
|
+
height: number;
|
|
1467
|
+
} | null;
|
|
1468
|
+
}
|
|
1469
|
+
type AppAssetLibraryImage = JsonApiResource<"appAssetLibraryImages", AppAssetLibraryImageAttributes>;
|
|
1470
|
+
type AppAssetLibraryVideo = JsonApiResource<"appAssetLibraryVideos", AppAssetLibraryVideoAttributes>;
|
|
1471
|
+
interface CreateAssetParams {
|
|
1472
|
+
libraryId: string;
|
|
1473
|
+
fileName: string;
|
|
1474
|
+
fileSize: number;
|
|
1475
|
+
/** Fixed at upload. Headers, search results and event assets need CREATIVE_ASSETS. */
|
|
1476
|
+
category: AppAssetLibraryAssetCategory;
|
|
1477
|
+
referenceName?: string;
|
|
1478
|
+
}
|
|
1479
|
+
interface UpdateAssetAttributes {
|
|
1480
|
+
/** Commit after every upload operation has succeeded. No checksum is sent. */
|
|
1481
|
+
uploaded?: boolean;
|
|
1482
|
+
referenceName?: string;
|
|
1483
|
+
/** Only an APPROVED asset can be archived (409 STATE_ERROR.INVALID_ASSET_STATE otherwise). */
|
|
1484
|
+
archived?: boolean;
|
|
1431
1485
|
}
|
|
1432
1486
|
/**
|
|
1433
|
-
*
|
|
1434
|
-
*
|
|
1435
|
-
* Call this after any portal API call. Mirrors Spaceship::Client#handle_itc_response.
|
|
1436
|
-
*/
|
|
1437
|
-
declare function checkPortalResponse(body: any, session?: AppleSession): void;
|
|
1438
|
-
/**
|
|
1439
|
-
* Step 1 of HTTP-resumable login: do the SIRP exchange and detect whether
|
|
1440
|
-
* 2FA is required. Returns either a fully-established session (no 2FA) or
|
|
1441
|
-
* a pending state + a description of the 2FA challenge.
|
|
1442
|
-
*/
|
|
1443
|
-
declare function beginLogin(config: {
|
|
1444
|
-
email: string;
|
|
1445
|
-
password: string;
|
|
1446
|
-
onLog?: (msg: string) => void;
|
|
1447
|
-
}): Promise<BeginLoginResult>;
|
|
1448
|
-
/**
|
|
1449
|
-
* Ask Apple to send an SMS / voice code to the chosen trusted phone.
|
|
1450
|
-
* Used by the wizard's "Send code via text instead" affordance.
|
|
1451
|
-
*/
|
|
1452
|
-
declare function requestSmsCode(input: {
|
|
1453
|
-
pending: PendingLogin;
|
|
1454
|
-
phoneId: number;
|
|
1455
|
-
mode?: "sms" | "voice";
|
|
1456
|
-
}): Promise<void>;
|
|
1457
|
-
/**
|
|
1458
|
-
* Step 2 of HTTP-resumable login: submit the 2FA code the user typed.
|
|
1459
|
-
* Returns a fully-established AppleSession on success.
|
|
1460
|
-
*
|
|
1461
|
-
* source = "device" → 4-digit code from a trusted Apple device
|
|
1462
|
-
* source = "phone" → 6-digit code from SMS / push to trusted phone
|
|
1487
|
+
* Images and videos in an app's asset library share one lifecycle:
|
|
1488
|
+
* reserve (POST) → run uploadOperations → PATCH uploaded:true → poll state.
|
|
1463
1489
|
*/
|
|
1464
|
-
declare
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1490
|
+
declare abstract class AssetLibraryMediaResource<T extends "appAssetLibraryImages" | "appAssetLibraryVideos", R extends JsonApiResource<T, AssetAttributes>> {
|
|
1491
|
+
protected http: RequestClient;
|
|
1492
|
+
protected abstract readonly type: T;
|
|
1493
|
+
constructor(http: RequestClient);
|
|
1494
|
+
get(id: string): Promise<R>;
|
|
1495
|
+
protected reserve(params: CreateAssetParams, extra?: Record<string, unknown>): Promise<R>;
|
|
1496
|
+
protected patch(id: string, attributes: Record<string, unknown>): Promise<R>;
|
|
1497
|
+
/** Fails with 409 STATE_ERROR.ASSET_HAS_PLACEMENTS while the asset is still placed. */
|
|
1498
|
+
delete(id: string): Promise<void>;
|
|
1499
|
+
listPlacements(id: string, params?: ListParams): Promise<AppAssetLibraryPlacement[]>;
|
|
1500
|
+
}
|
|
1501
|
+
declare class AppAssetLibraryImagesResource extends AssetLibraryMediaResource<"appAssetLibraryImages", AppAssetLibraryImage> {
|
|
1502
|
+
protected readonly type: "appAssetLibraryImages";
|
|
1503
|
+
create(params: CreateAssetParams): Promise<AppAssetLibraryImage>;
|
|
1504
|
+
update(id: string, attributes: UpdateAssetAttributes): Promise<AppAssetLibraryImage>;
|
|
1505
|
+
}
|
|
1506
|
+
declare class AppAssetLibraryVideosResource extends AssetLibraryMediaResource<"appAssetLibraryVideos", AppAssetLibraryVideo> {
|
|
1507
|
+
protected readonly type: "appAssetLibraryVideos";
|
|
1508
|
+
create(params: CreateAssetParams & {
|
|
1509
|
+
previewFrameTimeCode?: string;
|
|
1510
|
+
}): Promise<AppAssetLibraryVideo>;
|
|
1511
|
+
update(id: string, attributes: UpdateAssetAttributes & {
|
|
1512
|
+
previewFrameTimeCode?: string;
|
|
1513
|
+
}): Promise<AppAssetLibraryVideo>;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1472
1516
|
/**
|
|
1473
|
-
*
|
|
1474
|
-
*
|
|
1475
|
-
*
|
|
1476
|
-
*
|
|
1517
|
+
* The App Asset Library (ASC API 4.5.1) — one per app. Images and videos are
|
|
1518
|
+
* uploaded into it once, then placed on any number of App Store surfaces
|
|
1519
|
+
* (version, custom product page, in-app event, product page test
|
|
1520
|
+
* localizations). Replaces the deprecated screenshot/preview sets.
|
|
1477
1521
|
*/
|
|
1478
|
-
|
|
1522
|
+
type AppAssetLibrary = JsonApiResource<"appAssetLibraries", Record<string, never>>;
|
|
1523
|
+
interface AppAssetLibraryDimensions {
|
|
1524
|
+
minWidth: number;
|
|
1525
|
+
maxWidth: number;
|
|
1526
|
+
minHeight: number;
|
|
1527
|
+
maxHeight: number;
|
|
1528
|
+
}
|
|
1529
|
+
interface AppAssetLibraryImageSpec {
|
|
1530
|
+
specId: string;
|
|
1531
|
+
shortName?: string;
|
|
1532
|
+
aspectRatio?: string;
|
|
1533
|
+
dimensions: AppAssetLibraryDimensions;
|
|
1534
|
+
compatiblePlacementTypes: AppAssetLibraryPlacementType[];
|
|
1535
|
+
alphaAllowed?: boolean;
|
|
1536
|
+
fileExtensions?: string[];
|
|
1537
|
+
mimeTypes?: string[];
|
|
1538
|
+
maxFileSize?: number;
|
|
1539
|
+
universalAsset?: boolean;
|
|
1540
|
+
}
|
|
1541
|
+
interface AppAssetLibraryVideoSpec extends AppAssetLibraryImageSpec {
|
|
1542
|
+
audioRequired?: boolean;
|
|
1543
|
+
duration?: {
|
|
1544
|
+
min?: string;
|
|
1545
|
+
max?: string;
|
|
1546
|
+
};
|
|
1547
|
+
frameRates?: Array<{
|
|
1548
|
+
minFps?: number;
|
|
1549
|
+
maxFps?: number;
|
|
1550
|
+
}>;
|
|
1551
|
+
}
|
|
1552
|
+
interface AppAssetLibraryRefDatumAttributes {
|
|
1553
|
+
features?: Array<{
|
|
1554
|
+
featureId: AppAssetLibraryFeature;
|
|
1555
|
+
placementPolicies?: Array<{
|
|
1556
|
+
placementType: AppAssetLibraryPlacementType;
|
|
1557
|
+
groupLimits?: Array<{
|
|
1558
|
+
groupIds: string[];
|
|
1559
|
+
maxCount: number;
|
|
1560
|
+
}>;
|
|
1561
|
+
}>;
|
|
1562
|
+
}>;
|
|
1563
|
+
placementProfileGroups?: Array<{
|
|
1564
|
+
placementProfileGroupId: string;
|
|
1565
|
+
platform?: AppAssetLibraryPlacementPlatform;
|
|
1566
|
+
displayClassId?: string;
|
|
1567
|
+
}>;
|
|
1568
|
+
imageSpecs?: AppAssetLibraryImageSpec[];
|
|
1569
|
+
videoSpecs?: AppAssetLibraryVideoSpec[];
|
|
1570
|
+
placementTypes?: Array<{
|
|
1571
|
+
placementTypeId: AppAssetLibraryPlacementType;
|
|
1572
|
+
acceptsAssetCategories?: AppAssetLibraryAssetCategory[];
|
|
1573
|
+
specMappings?: Array<{
|
|
1574
|
+
placementGroupId: string;
|
|
1575
|
+
specs: string[];
|
|
1576
|
+
}>;
|
|
1577
|
+
}>;
|
|
1578
|
+
displayClasses?: Array<{
|
|
1579
|
+
displayClassId: string;
|
|
1580
|
+
deviceFamily?: string;
|
|
1581
|
+
screenDimensions?: string[];
|
|
1582
|
+
}>;
|
|
1583
|
+
}
|
|
1584
|
+
type AppAssetLibraryRefDatum = JsonApiResource<"appAssetLibraryRefData", AppAssetLibraryRefDatumAttributes>;
|
|
1585
|
+
declare class AppAssetLibrariesResource {
|
|
1586
|
+
private http;
|
|
1587
|
+
constructor(http: RequestClient);
|
|
1588
|
+
getForApp(appId: string): Promise<AppAssetLibrary>;
|
|
1589
|
+
listImages(libraryId: string, params?: ListParams): Promise<AppAssetLibraryImage[]>;
|
|
1590
|
+
listVideos(libraryId: string, params?: ListParams): Promise<AppAssetLibraryVideo[]>;
|
|
1591
|
+
/**
|
|
1592
|
+
* Specs, placement groups and limits. Apple adds placement groups (new
|
|
1593
|
+
* devices) without an API version bump, so read them from here rather than
|
|
1594
|
+
* hard-coding display types.
|
|
1595
|
+
*/
|
|
1596
|
+
refData(params?: {
|
|
1597
|
+
features?: AppAssetLibraryFeature[];
|
|
1598
|
+
placementTypes?: AppAssetLibraryPlacementType[];
|
|
1599
|
+
placementProfileGroups?: string[];
|
|
1600
|
+
}): Promise<AppAssetLibraryRefDatumAttributes>;
|
|
1601
|
+
}
|
|
1479
1602
|
|
|
1480
1603
|
/**
|
|
1481
1604
|
* Apple Developer Portal Client
|
|
@@ -1643,6 +1766,105 @@ declare class PortalClient {
|
|
|
1643
1766
|
featureType: string;
|
|
1644
1767
|
enabled: boolean;
|
|
1645
1768
|
}): Promise<void>;
|
|
1769
|
+
/** Apple's internal feature code for the App Groups capability. */
|
|
1770
|
+
static readonly APP_GROUPS_FEATURE = "APG3427HIY";
|
|
1771
|
+
/** List all app groups in the team. */
|
|
1772
|
+
listAppGroups(): Promise<any[]>;
|
|
1773
|
+
/**
|
|
1774
|
+
* Create an app group, returning the raw group record. Idempotent —
|
|
1775
|
+
* Apple rejects a duplicate group identifier ("Multiple App Groups may
|
|
1776
|
+
* not have the same identifier"), so we list first and reuse an existing
|
|
1777
|
+
* group when the identifier already exists in the team.
|
|
1778
|
+
*
|
|
1779
|
+
* Note the two ids on the returned record: `identifier` is the
|
|
1780
|
+
* `group.com.…` string you type, while `applicationGroup` is Apple's
|
|
1781
|
+
* opaque internal handle that association actually requires — do NOT pass
|
|
1782
|
+
* the human identifier to assignAppGroups.
|
|
1783
|
+
*/
|
|
1784
|
+
createAppGroup(params: {
|
|
1785
|
+
identifier: string;
|
|
1786
|
+
name: string;
|
|
1787
|
+
}): Promise<any>;
|
|
1788
|
+
/**
|
|
1789
|
+
* Enable the App Groups capability on an App ID. Required before an
|
|
1790
|
+
* App ID can have a group associated with it — mirrors Spaceship
|
|
1791
|
+
* enabling `AppService::AppGroup` before `associate_groups`.
|
|
1792
|
+
*/
|
|
1793
|
+
enableAppGroups(appIdId: string): Promise<void>;
|
|
1794
|
+
/**
|
|
1795
|
+
* Associate one or more app groups with an App ID. `appGroupIds` are the
|
|
1796
|
+
* internal ids (Spaceship's `app_group_id`), NOT the `group.com.…`
|
|
1797
|
+
* identifiers. Apple wants both `appIdId` and `displayId` set to the
|
|
1798
|
+
* App ID's internal id, per Spaceship's associate_groups_with_app.
|
|
1799
|
+
*/
|
|
1800
|
+
assignAppGroups(params: {
|
|
1801
|
+
appIdId: string;
|
|
1802
|
+
appGroupIds: string[];
|
|
1803
|
+
}): Promise<void>;
|
|
1804
|
+
/** Apple's internal feature code for the Apple Pay capability. */
|
|
1805
|
+
static readonly APPLE_PAY_FEATURE = "OM633U5T5G";
|
|
1806
|
+
/**
|
|
1807
|
+
* List all Apple Pay merchant IDs in the team. Each record maps
|
|
1808
|
+
* (per Spaceship's merchant.rb attr_mapping): `omcId` = internal id,
|
|
1809
|
+
* `identifier` = the human `merchant.com.…` string, `name` = display name.
|
|
1810
|
+
*/
|
|
1811
|
+
listMerchants(): Promise<any[]>;
|
|
1812
|
+
/**
|
|
1813
|
+
* Register (or reuse) a merchant ID, returning its INTERNAL id (`omcId`) —
|
|
1814
|
+
* Apple's opaque handle that association requires, NOT the human
|
|
1815
|
+
* `merchant.com.…` identifier. Idempotent: lists first and reuses an
|
|
1816
|
+
* existing merchant with the same identifier. Endpoint + params ported 1:1
|
|
1817
|
+
* from Spaceship's create_merchant! (addOMC.action).
|
|
1818
|
+
*/
|
|
1819
|
+
createMerchant(params: {
|
|
1820
|
+
identifier: string;
|
|
1821
|
+
name: string;
|
|
1822
|
+
}): Promise<string>;
|
|
1823
|
+
/**
|
|
1824
|
+
* Enable the Apple Pay capability on an App ID. Apple Pay is a standard
|
|
1825
|
+
* AppService (service_id OM633U5T5G) whose service_uri is the default
|
|
1826
|
+
* `updateService.action` — confirmed in Spaceship's app_service.rb.
|
|
1827
|
+
*/
|
|
1828
|
+
enableApplePay(appIdId: string): Promise<void>;
|
|
1829
|
+
/**
|
|
1830
|
+
* Associate merchant IDs with an App ID's Apple Pay capability. `omcIds`
|
|
1831
|
+
* are the internal ids (each merchant record's `omcId`), NOT the
|
|
1832
|
+
* `merchant.com.…` identifiers. Endpoint + params ported 1:1 from
|
|
1833
|
+
* Spaceship's associate_merchants_with_app (assignOMCToAppId.action — note
|
|
1834
|
+
* the singular "OMC", and NO displayId param).
|
|
1835
|
+
*/
|
|
1836
|
+
assignMerchants(params: {
|
|
1837
|
+
appIdId: string;
|
|
1838
|
+
omcIds: string[];
|
|
1839
|
+
}): Promise<void>;
|
|
1840
|
+
/**
|
|
1841
|
+
* Create an Apple Pay **Payment Processing Certificate** on a merchant ID
|
|
1842
|
+
* from a CSR — the certificate a PSP (e.g. Stripe) hands you as a CSR, which
|
|
1843
|
+
* must be uploaded to the Merchant ID in Apple Developer, then the resulting
|
|
1844
|
+
* `.cer` downloaded and given back to the PSP so it can decrypt payment
|
|
1845
|
+
* tokens. This is the one manual Apple-portal step in wiring up Apple Pay.
|
|
1846
|
+
*
|
|
1847
|
+
* Ported 1:1 from Spaceship's create_certificate! (submitCertificateRequest
|
|
1848
|
+
* .action): the merchant's INTERNAL id (`omcId`) is passed as BOTH `appIdId`
|
|
1849
|
+
* and `specialIdentifierDisplayId` — the latter is how the portal scopes a
|
|
1850
|
+
* cert to a merchant/special identifier rather than an App ID. The cert type
|
|
1851
|
+
* is APPLE_PAY (`4APLUP237T`). Returns the created certRequest (its
|
|
1852
|
+
* `certificateId` feeds `downloadApplePayCertificate`).
|
|
1853
|
+
*
|
|
1854
|
+
* @param omcId the merchant's internal id (from createMerchant/listMerchants)
|
|
1855
|
+
* @param csrContent the PEM CSR string (Stripe's "Apple Pay CSR")
|
|
1856
|
+
*/
|
|
1857
|
+
createApplePayCertificate(params: {
|
|
1858
|
+
omcId: string;
|
|
1859
|
+
csrContent: string;
|
|
1860
|
+
}): Promise<any>;
|
|
1861
|
+
/**
|
|
1862
|
+
* Download an Apple Pay Payment Processing Certificate's raw bytes by its
|
|
1863
|
+
* certificate id (from `createApplePayCertificate`). Thin wrapper over
|
|
1864
|
+
* `downloadCertificate` pinned to the APPLE_PAY type — the DER `.cer` you
|
|
1865
|
+
* upload back into Stripe.
|
|
1866
|
+
*/
|
|
1867
|
+
downloadApplePayCertificate(certificateId: string): Promise<Buffer>;
|
|
1646
1868
|
listCertificates(types?: string[]): Promise<any[]>;
|
|
1647
1869
|
listPushCertificates(): Promise<any[]>;
|
|
1648
1870
|
createCertificate(params: {
|
|
@@ -1867,8 +2089,12 @@ declare class AppStoreConnectClient {
|
|
|
1867
2089
|
readonly inAppPurchases: InAppPurchasesResource;
|
|
1868
2090
|
readonly gameCenterDetail: GameCenterDetailResource;
|
|
1869
2091
|
readonly xcodeMetrics: XcodeMetricsResource;
|
|
2092
|
+
readonly appAssetLibraries: AppAssetLibrariesResource;
|
|
2093
|
+
readonly appAssetLibraryImages: AppAssetLibraryImagesResource;
|
|
2094
|
+
readonly appAssetLibraryVideos: AppAssetLibraryVideosResource;
|
|
2095
|
+
readonly appAssetLibraryPlacements: AppAssetLibraryPlacementsResource;
|
|
1870
2096
|
constructor(config: AppStoreConnectConfig);
|
|
1871
2097
|
request<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
1872
2098
|
}
|
|
1873
2099
|
|
|
1874
|
-
export {
|
|
2100
|
+
export { AppAssetLibraryVideosResource as $, AppStoreConnectClient as A, type BundleId as B, type Certificate as C, type Device as D, AppStoreVersionsResource as E, type AppStoreVersion as F, type AppStoreVersionLocalization as G, AppScreenshotsResource as H, type AppScreenshot as I, type JsonApiResource as J, type AppScreenshotSet as K, type ListParams as L, ReviewSubmissionsResource as M, type ReviewSubmission as N, type AppStoreVersionSubmission as O, type Profile as P, AppAssetLibrariesResource as Q, RequestClient as R, type AppAssetLibrary as S, TokenManager as T, type UploadOperation as U, type AppAssetLibraryRefDatum as V, type AppAssetLibraryRefDatumAttributes as W, type AppAssetLibraryImageSpec as X, type AppAssetLibraryVideoSpec as Y, type AppAssetLibraryDimensions as Z, AppAssetLibraryImagesResource as _, AppStoreConnectError as a, type AppAssetLibraryImage as a0, type AppAssetLibraryVideo as a1, type CreateAssetParams as a2, type UpdateAssetAttributes as a3, AppAssetLibraryPlacementsResource as a4, type AppAssetLibraryPlacement as a5, type PlacementTarget as a6, type PlacementTargetKind as a7, PortalClient as a8, IrisClient as a9, IrisAuthError as aa, type IrisApiKey as ab, type ApiKeyRole as ac, type JsonApiRelationship as ad, type JsonApiErrorResponse as ae, RateLimitError as b, type AppStoreConnectConfig as c, type TokenConfig as d, type RequestOptions as e, type JsonApiResponse as f, type JsonApiListResponse as g, type JsonApiError as h, type App as i, type Build as j, type BetaGroup as k, type BetaBuildLocalization as l, type BuildBetaDetail as m, type PreReleaseVersion$1 as n, type BundleIdCapability as o, type CapabilitySettingInput as p, type CapabilitySetting as q, type CapabilityOption as r, CertificatesResource as s, ProfilesResource as t, BundleIdsResource as u, DevicesResource as v, AppsResource as w, BuildsResource as x, BetaGroupsResource as y, CapabilitiesResource as z };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
type AndroidOutputType = "aab" | "apk" | "both";
|
|
2
|
+
interface GradleBuildOptions {
|
|
3
|
+
/** The android/ dir or app root containing `gradlew`. */
|
|
4
|
+
projectDir: string;
|
|
5
|
+
/** Which artifact(s) to produce. */
|
|
6
|
+
outputType: AndroidOutputType;
|
|
7
|
+
/** Product flavor (e.g. "prod") — capitalized into the Gradle task name. */
|
|
8
|
+
flavor?: string;
|
|
9
|
+
/** Build type, defaults to "Release". */
|
|
10
|
+
buildType?: string;
|
|
11
|
+
/**
|
|
12
|
+
* JVM args for the Gradle daemon. Defaults to a raised heap/metaspace
|
|
13
|
+
* (`-Xmx3072m -XX:MaxMetaspaceSize=1024m`) because Expo's generated
|
|
14
|
+
* `gradle.properties` caps metaspace at 512m, which OOMs on large RN
|
|
15
|
+
* module graphs (Kotlin/AGP class metadata). Set to `null` to leave the
|
|
16
|
+
* project's `gradle.properties` untouched.
|
|
17
|
+
*/
|
|
18
|
+
jvmArgs?: string | null;
|
|
19
|
+
/** Absolute (or resolvable) path to the keystore file. */
|
|
20
|
+
keystorePath: string;
|
|
21
|
+
keystorePassword: string;
|
|
22
|
+
keyAlias: string;
|
|
23
|
+
keyPassword: string;
|
|
24
|
+
onOutput?: (chunk: string) => void;
|
|
25
|
+
/** When aborted, the gradlew process group is killed to stop the build. */
|
|
26
|
+
signal?: AbortSignal;
|
|
27
|
+
}
|
|
28
|
+
interface GradleBuildResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
exitCode: number;
|
|
31
|
+
aabPath?: string;
|
|
32
|
+
apkPath?: string;
|
|
33
|
+
logContent: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Rewrite `versionCode` (and `versionName`, when given) in an app module's
|
|
37
|
+
* Gradle file, Groovy (`versionCode 1`) or Kotlin DSL (`versionCode = 1`).
|
|
38
|
+
* Returns the new source and whether each value was found.
|
|
39
|
+
*/
|
|
40
|
+
declare function stampAndroidVersion(source: string, versionCode: number, versionName?: string | null): {
|
|
41
|
+
source: string;
|
|
42
|
+
versionCode: boolean;
|
|
43
|
+
versionName: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Stamp the build's version into `android/app/build.gradle(.kts)`. Play refuses
|
|
47
|
+
* a versionCode it has seen, so each build must carry its own.
|
|
48
|
+
*/
|
|
49
|
+
declare function setAndroidVersion(projectDir: string, versionCode: number, versionName?: string | null): Promise<{
|
|
50
|
+
file: string;
|
|
51
|
+
versionCode: boolean;
|
|
52
|
+
versionName: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve the directory that contains `gradlew`. Accepts either the app root
|
|
56
|
+
* (which contains an `android/` subdirectory) or the `android/` dir itself.
|
|
57
|
+
*/
|
|
58
|
+
declare function detectAndroidDir(rootDir: string): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Build an Android app using Gradle (`./gradlew`).
|
|
61
|
+
* This is the Android-side equivalent of `gym` (iOS).
|
|
62
|
+
*
|
|
63
|
+
* Steps:
|
|
64
|
+
* 1. Resolve the gradlew directory.
|
|
65
|
+
* 2. chmod +x gradlew so it's executable on fresh checkouts.
|
|
66
|
+
* 3. Run the appropriate task(s) (bundle/assemble), injecting the signing
|
|
67
|
+
* config via standard AGP `-Pandroid.injected.signing.*` properties.
|
|
68
|
+
* 4. Locate produced AAB/APK artifacts by globbing standard output paths.
|
|
69
|
+
* 5. Return a GradleBuildResult.
|
|
70
|
+
*/
|
|
71
|
+
declare function buildAndroid(options: GradleBuildOptions): Promise<GradleBuildResult>;
|
|
72
|
+
|
|
73
|
+
type index_AndroidOutputType = AndroidOutputType;
|
|
74
|
+
type index_GradleBuildOptions = GradleBuildOptions;
|
|
75
|
+
type index_GradleBuildResult = GradleBuildResult;
|
|
76
|
+
declare const index_buildAndroid: typeof buildAndroid;
|
|
77
|
+
declare const index_detectAndroidDir: typeof detectAndroidDir;
|
|
78
|
+
declare const index_setAndroidVersion: typeof setAndroidVersion;
|
|
79
|
+
declare const index_stampAndroidVersion: typeof stampAndroidVersion;
|
|
80
|
+
declare namespace index {
|
|
81
|
+
export { type index_AndroidOutputType as AndroidOutputType, type index_GradleBuildOptions as GradleBuildOptions, type index_GradleBuildResult as GradleBuildResult, index_buildAndroid as buildAndroid, index_detectAndroidDir as detectAndroidDir, index_setAndroidVersion as setAndroidVersion, index_stampAndroidVersion as stampAndroidVersion };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { type AndroidOutputType as A, type GradleBuildOptions as G, type GradleBuildResult as a, setAndroidVersion as b, buildAndroid as c, detectAndroidDir as d, index as i, stampAndroidVersion as s };
|