palbase 0.10.0 → 0.10.2
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 +72 -1
- package/dist/ai/index.js +2 -2
- package/dist/backend/engine.js +2 -2
- package/dist/backend/env.js +1 -1
- package/dist/backend/index.js +8 -8
- package/dist/backend/stack.js +1 -1
- package/dist/backend/test.js +2 -2
- package/dist/chunks/{GLCP3MQA.js → 5NZGW67E.js} +2 -2
- package/dist/chunks/{QD2OQ3PE.js → 5TVS7F23.js} +2 -2
- package/dist/chunks/{3VSPZCIV.js → 6JUQZ4D4.js} +2 -2
- package/dist/chunks/{QM66Y5BA.js → 7PBQ3LI2.js} +1 -1
- package/dist/chunks/BMCC423W.js +2 -0
- package/dist/chunks/{CH4HPLDA.js → D2UQQWJC.js} +1 -1
- package/dist/chunks/{PVUUYZ5Q.js → I2TY2GLY.js} +2 -2
- package/dist/chunks/{HLH62XRX.js → IW34A4TV.js} +2 -2
- package/dist/chunks/{RT2KS2DU.js → L4SCG6HT.js} +2 -2
- package/dist/chunks/{D3TRQOQE.js → MAPLN2FY.js} +1 -1
- package/dist/chunks/{25HVOUXT.js → O5CJJFEU.js} +1 -1
- package/dist/chunks/{4TAQYROZ.js → PKBCMWTM.js} +2 -2
- package/dist/chunks/QCKQXIQV.js +20 -0
- package/dist/chunks/{DZEBLD5Q.js → QTAPRS4Q.js} +2 -2
- package/dist/chunks/{KEIAA3OO.js → RYWIWH4U.js} +1 -1
- package/dist/chunks/{OCTZRGVD.js → S4F256W2.js} +2 -2
- package/dist/chunks/{7EQIPTEP.js → SBVBCENU.js} +2 -2
- package/dist/chunks/{3GAOOWLS.js → SCXHU5B7.js} +2 -2
- package/dist/chunks/{IELU57TF.js → XJEZB4MI.js} +2 -2
- package/dist/chunks/{7ZCPTOMS.js → ZOAWYN6L.js} +2 -2
- package/dist/cli.js +165 -123
- package/dist/refuse/ai.js +1 -1
- package/dist/refuse/backend.js +1 -1
- package/dist/refuse/server.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/testing.js +2 -2
- package/dist/web/index.js +2 -2
- package/dist/web/message.js +2 -2
- package/dist/web/palbe.js +2 -2
- package/dist/web/paywall.js +2 -2
- package/dist/web/push-sw.js +1 -1
- package/dist/web/ssr.js +2 -2
- package/dist/web/vite.js +2 -2
- package/package.json +21 -2
- package/types/backend/src/container.d.ts +2 -0
- package/types/backend/src/decorators.d.ts +1 -0
- package/types/backend/src/engine.d.ts +6 -1
- package/types/backend/src/index.d.ts +1 -0
- package/types/backend/src/test-user-templates.d.ts +58 -0
- package/types/internal/src/modules/auth.d.ts +19 -5
- package/types/internal/src/modules/events.d.ts +2 -2
- package/types/internal/src/modules/machines.d.ts +74 -2
- package/types/internal/src/modules/stores.d.ts +685 -8
- package/dist/chunks/NTH3IXIA.js +0 -20
- package/dist/chunks/ZTEFF6RA.js +0 -2
|
@@ -34,11 +34,11 @@ export type Action = {
|
|
|
34
34
|
/**
|
|
35
35
|
* What it does.
|
|
36
36
|
*/
|
|
37
|
-
kind: "beta_review" | "export_compliance" | "expire_build";
|
|
37
|
+
kind: "beta_review" | "export_compliance" | "expire_build" | "apply_listing" | "submit_review" | "withdraw_review" | "release_version" | "phased_release";
|
|
38
38
|
/**
|
|
39
|
-
* Its package.
|
|
39
|
+
* Its package (a TestFlight action).
|
|
40
40
|
*/
|
|
41
|
-
package_id
|
|
41
|
+
package_id?: string;
|
|
42
42
|
/**
|
|
43
43
|
* What it does, exactly.
|
|
44
44
|
*/
|
|
@@ -56,13 +56,17 @@ export type Action = {
|
|
|
56
56
|
[key: string]: unknown;
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
|
-
* Where it is.
|
|
59
|
+
* Where it is: running is a confirmed one still being written (a page's screenshots).
|
|
60
60
|
*/
|
|
61
|
-
status: "planned" | "done" | "declined" | "failed";
|
|
61
|
+
status: "planned" | "running" | "done" | "declined" | "failed";
|
|
62
62
|
/**
|
|
63
63
|
* What it does, for the person who confirms it.
|
|
64
64
|
*/
|
|
65
65
|
summary: string;
|
|
66
|
+
/**
|
|
67
|
+
* Its app (an App Store action).
|
|
68
|
+
*/
|
|
69
|
+
app_id?: string;
|
|
66
70
|
};
|
|
67
71
|
/**
|
|
68
72
|
* stores.action.changed: an action was planned, done, declined or failed.
|
|
@@ -79,7 +83,7 @@ export type ActionChangedEvent = {
|
|
|
79
83
|
/**
|
|
80
84
|
* Its package.
|
|
81
85
|
*/
|
|
82
|
-
package_id
|
|
86
|
+
package_id?: string;
|
|
83
87
|
/**
|
|
84
88
|
* Where it is.
|
|
85
89
|
*/
|
|
@@ -88,6 +92,10 @@ export type ActionChangedEvent = {
|
|
|
88
92
|
* What it does.
|
|
89
93
|
*/
|
|
90
94
|
summary: string;
|
|
95
|
+
/**
|
|
96
|
+
* Its app (an App Store action).
|
|
97
|
+
*/
|
|
98
|
+
app_id?: string;
|
|
91
99
|
};
|
|
92
100
|
/**
|
|
93
101
|
* A page of actions, newest first.
|
|
@@ -183,6 +191,180 @@ export type AppPage = {
|
|
|
183
191
|
*/
|
|
184
192
|
apps: App[];
|
|
185
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* What App Review is told of the version. The demo account's password is never read out.
|
|
196
|
+
*/
|
|
197
|
+
export type AppStoreReview = {
|
|
198
|
+
/**
|
|
199
|
+
* Whom App Review reaches.
|
|
200
|
+
*/
|
|
201
|
+
contact_first_name: string;
|
|
202
|
+
/**
|
|
203
|
+
* Their last name.
|
|
204
|
+
*/
|
|
205
|
+
contact_last_name: string;
|
|
206
|
+
/**
|
|
207
|
+
* Their email.
|
|
208
|
+
*/
|
|
209
|
+
contact_email: string;
|
|
210
|
+
/**
|
|
211
|
+
* Their phone, with its country code.
|
|
212
|
+
*/
|
|
213
|
+
contact_phone: string;
|
|
214
|
+
/**
|
|
215
|
+
* App Review signs in to review the app.
|
|
216
|
+
*/
|
|
217
|
+
demo_account_required: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* The account's user name.
|
|
220
|
+
*/
|
|
221
|
+
demo_account_name: string;
|
|
222
|
+
/**
|
|
223
|
+
* Anything else App Review needs.
|
|
224
|
+
*/
|
|
225
|
+
notes: string;
|
|
226
|
+
/**
|
|
227
|
+
* Apple holds the demo account's password.
|
|
228
|
+
*/
|
|
229
|
+
has_demo_password: boolean;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* What App Review is told; the demo account's password goes to Apple and is never kept or read out.
|
|
233
|
+
*/
|
|
234
|
+
export type AppStoreReviewRequest = {
|
|
235
|
+
/**
|
|
236
|
+
* Whom App Review reaches.
|
|
237
|
+
*/
|
|
238
|
+
contact_first_name?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Their last name.
|
|
241
|
+
*/
|
|
242
|
+
contact_last_name?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Their email.
|
|
245
|
+
*/
|
|
246
|
+
contact_email?: string;
|
|
247
|
+
/**
|
|
248
|
+
* Their phone, with its country code.
|
|
249
|
+
*/
|
|
250
|
+
contact_phone?: string;
|
|
251
|
+
/**
|
|
252
|
+
* App Review signs in to review the app.
|
|
253
|
+
*/
|
|
254
|
+
demo_account_required?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* The account's user name.
|
|
257
|
+
*/
|
|
258
|
+
demo_account_name?: string;
|
|
259
|
+
/**
|
|
260
|
+
* The account's password; left out, it stays as it is.
|
|
261
|
+
*/
|
|
262
|
+
demo_account_password?: string | null;
|
|
263
|
+
/**
|
|
264
|
+
* Anything else App Review needs.
|
|
265
|
+
*/
|
|
266
|
+
notes?: string;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* The app's App Store version as App Review will see it, and what it would be refused for.
|
|
270
|
+
*/
|
|
271
|
+
export type AppStoreVersion = {
|
|
272
|
+
/**
|
|
273
|
+
* The app.
|
|
274
|
+
*/
|
|
275
|
+
app_id: string;
|
|
276
|
+
version?: AppStoreVersionInfo;
|
|
277
|
+
review: AppStoreReview;
|
|
278
|
+
phased?: PhasedRelease;
|
|
279
|
+
/**
|
|
280
|
+
* The app has a price (free or paid).
|
|
281
|
+
*/
|
|
282
|
+
priced: boolean;
|
|
283
|
+
/**
|
|
284
|
+
* The content rights statement (empty: not given).
|
|
285
|
+
*/
|
|
286
|
+
content_rights: string;
|
|
287
|
+
/**
|
|
288
|
+
* What App Review would refuse the version for, each a line a person acts on; empty when it can be sent. App Privacy is answered in App Store Connect.
|
|
289
|
+
*/
|
|
290
|
+
missing: string[];
|
|
291
|
+
watched?: WatchedVersion;
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* The App Store version's own fields.
|
|
295
|
+
*/
|
|
296
|
+
export type AppStoreVersionInfo = {
|
|
297
|
+
/**
|
|
298
|
+
* App Store Connect's id.
|
|
299
|
+
*/
|
|
300
|
+
id: string;
|
|
301
|
+
/**
|
|
302
|
+
* The version (1.2.3).
|
|
303
|
+
*/
|
|
304
|
+
version_string: string;
|
|
305
|
+
/**
|
|
306
|
+
* App Store Connect's state (PREPARE_FOR_SUBMISSION, WAITING_FOR_REVIEW, IN_REVIEW, PENDING_DEVELOPER_RELEASE, READY_FOR_DISTRIBUTION, REJECTED, DEVELOPER_REJECTED…).
|
|
307
|
+
*/
|
|
308
|
+
state: string;
|
|
309
|
+
/**
|
|
310
|
+
* The version's copyright.
|
|
311
|
+
*/
|
|
312
|
+
copyright: string;
|
|
313
|
+
/**
|
|
314
|
+
* When it goes out once approved: manual, after_approval or scheduled.
|
|
315
|
+
*/
|
|
316
|
+
release: string;
|
|
317
|
+
/**
|
|
318
|
+
* A scheduled release's time.
|
|
319
|
+
*/
|
|
320
|
+
release_at: string | null;
|
|
321
|
+
/**
|
|
322
|
+
* The attached build's number.
|
|
323
|
+
*/
|
|
324
|
+
build_number: string;
|
|
325
|
+
/**
|
|
326
|
+
* The app's first version: it has no What's New.
|
|
327
|
+
*/
|
|
328
|
+
first_version: boolean;
|
|
329
|
+
};
|
|
330
|
+
/**
|
|
331
|
+
* Prepares the version; a field left out stays as it is.
|
|
332
|
+
*/
|
|
333
|
+
export type AppStoreVersionRequest = {
|
|
334
|
+
/**
|
|
335
|
+
* Makes the version when the app has no editable one, or renames it (1.2.3).
|
|
336
|
+
*/
|
|
337
|
+
version_string?: string | null;
|
|
338
|
+
/**
|
|
339
|
+
* The TestFlight build App Review gets (its version is the App Store version's).
|
|
340
|
+
*/
|
|
341
|
+
build_number?: number | null;
|
|
342
|
+
/**
|
|
343
|
+
* The version's copyright (2026 Your Company).
|
|
344
|
+
*/
|
|
345
|
+
copyright?: string | null;
|
|
346
|
+
/**
|
|
347
|
+
* When it goes out once approved.
|
|
348
|
+
*/
|
|
349
|
+
release?: ("manual" | "after_approval" | "scheduled") | null;
|
|
350
|
+
/**
|
|
351
|
+
* A scheduled release's time.
|
|
352
|
+
*/
|
|
353
|
+
release_at?: string | null;
|
|
354
|
+
/**
|
|
355
|
+
* Release it in phases over seven days.
|
|
356
|
+
*/
|
|
357
|
+
phased?: boolean | null;
|
|
358
|
+
/**
|
|
359
|
+
* The content rights statement: the app shows, contains or reaches third-party content.
|
|
360
|
+
*/
|
|
361
|
+
uses_third_party_content?: boolean | null;
|
|
362
|
+
/**
|
|
363
|
+
* free makes an app with no price free everywhere.
|
|
364
|
+
*/
|
|
365
|
+
price?: "free" | null;
|
|
366
|
+
review?: AppStoreReviewRequest;
|
|
367
|
+
};
|
|
186
368
|
/**
|
|
187
369
|
* The project's Apple account (App Store Connect API key) as the API shows it: never the key itself.
|
|
188
370
|
*/
|
|
@@ -760,6 +942,179 @@ export type LinkAppRequest = {
|
|
|
760
942
|
*/
|
|
761
943
|
name?: string;
|
|
762
944
|
};
|
|
945
|
+
/**
|
|
946
|
+
* An app's draft App Store page.
|
|
947
|
+
*/
|
|
948
|
+
export type Listing = {
|
|
949
|
+
/**
|
|
950
|
+
* The app.
|
|
951
|
+
*/
|
|
952
|
+
app_id: string;
|
|
953
|
+
/**
|
|
954
|
+
* The draft's revision; 0 when there is none yet.
|
|
955
|
+
*/
|
|
956
|
+
revision: number;
|
|
957
|
+
draft: ListingDraft;
|
|
958
|
+
/**
|
|
959
|
+
* Who wrote the revision.
|
|
960
|
+
*/
|
|
961
|
+
updated_by: string | null;
|
|
962
|
+
/**
|
|
963
|
+
* When.
|
|
964
|
+
*/
|
|
965
|
+
updated_at: string | null;
|
|
966
|
+
};
|
|
967
|
+
/**
|
|
968
|
+
* The app's App Store page as the project wants it.
|
|
969
|
+
*/
|
|
970
|
+
export type ListingDraft = {
|
|
971
|
+
/**
|
|
972
|
+
* An App Store category: UTILITIES, PRODUCTIVITY, GAMES…
|
|
973
|
+
*/
|
|
974
|
+
primary_category?: string;
|
|
975
|
+
/**
|
|
976
|
+
* Another App Store category, or none.
|
|
977
|
+
*/
|
|
978
|
+
secondary_category?: string;
|
|
979
|
+
/**
|
|
980
|
+
* The age rating questionnaire, Apple's questions and answers (NONE | INFREQUENT_OR_MILD | FREQUENT_OR_INTENSE, or true/false), written whole.
|
|
981
|
+
*/
|
|
982
|
+
age_rating?: {
|
|
983
|
+
[key: string]: unknown;
|
|
984
|
+
};
|
|
985
|
+
/**
|
|
986
|
+
* The page's languages, by App Store Connect's codes (en-US, tr, de-DE…).
|
|
987
|
+
*/
|
|
988
|
+
locales: {
|
|
989
|
+
[key: string]: ListingLocale;
|
|
990
|
+
};
|
|
991
|
+
};
|
|
992
|
+
/**
|
|
993
|
+
* One language of the app's App Store page. A field left empty is not written.
|
|
994
|
+
*/
|
|
995
|
+
export type ListingLocale = {
|
|
996
|
+
/**
|
|
997
|
+
* The app's name in this language (2 to 30 characters).
|
|
998
|
+
*/
|
|
999
|
+
name: string;
|
|
1000
|
+
/**
|
|
1001
|
+
* Under the name (30 characters at most).
|
|
1002
|
+
*/
|
|
1003
|
+
subtitle?: string;
|
|
1004
|
+
/**
|
|
1005
|
+
* The privacy policy's address.
|
|
1006
|
+
*/
|
|
1007
|
+
privacy_policy_url?: string;
|
|
1008
|
+
/**
|
|
1009
|
+
* What the app does (4000 characters at most).
|
|
1010
|
+
*/
|
|
1011
|
+
description?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* Search keywords, comma-separated (100 bytes at most).
|
|
1014
|
+
*/
|
|
1015
|
+
keywords?: string;
|
|
1016
|
+
/**
|
|
1017
|
+
* Above the description; changes without a new version (170 characters at most).
|
|
1018
|
+
*/
|
|
1019
|
+
promotional_text?: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* What's new in this version: an update's, never the first version's (4000 characters at most).
|
|
1022
|
+
*/
|
|
1023
|
+
whats_new?: string;
|
|
1024
|
+
/**
|
|
1025
|
+
* The app's marketing page.
|
|
1026
|
+
*/
|
|
1027
|
+
marketing_url?: string;
|
|
1028
|
+
/**
|
|
1029
|
+
* Where users get help.
|
|
1030
|
+
*/
|
|
1031
|
+
support_url?: string;
|
|
1032
|
+
/**
|
|
1033
|
+
* Each display's screenshots, in order, by their SHA-256 (PUT /stores/apps/{app_id}/screenshots): iphone_6_9, iphone_6_5, ipad_13. 10 per display at most.
|
|
1034
|
+
*/
|
|
1035
|
+
screenshots?: {
|
|
1036
|
+
[key: string]: string[];
|
|
1037
|
+
};
|
|
1038
|
+
};
|
|
1039
|
+
/**
|
|
1040
|
+
* A page's plan: the steps, and the action that writes them once confirmed (none when nothing changes).
|
|
1041
|
+
*/
|
|
1042
|
+
export type ListingPlan = {
|
|
1043
|
+
/**
|
|
1044
|
+
* The draft's revision planned.
|
|
1045
|
+
*/
|
|
1046
|
+
revision: number;
|
|
1047
|
+
/**
|
|
1048
|
+
* The App Store version the page belongs to.
|
|
1049
|
+
*/
|
|
1050
|
+
version: string;
|
|
1051
|
+
/**
|
|
1052
|
+
* What changes, in the order written.
|
|
1053
|
+
*/
|
|
1054
|
+
steps: ListingStep[];
|
|
1055
|
+
action?: Action;
|
|
1056
|
+
};
|
|
1057
|
+
/**
|
|
1058
|
+
* A draft saved over the revision it was edited from.
|
|
1059
|
+
*/
|
|
1060
|
+
export type ListingRequest = {
|
|
1061
|
+
/**
|
|
1062
|
+
* The revision it was edited from (0: the first).
|
|
1063
|
+
*/
|
|
1064
|
+
revision: number;
|
|
1065
|
+
draft: ListingDraft;
|
|
1066
|
+
};
|
|
1067
|
+
/**
|
|
1068
|
+
* One change a page's plan makes at App Store Connect, with what it writes.
|
|
1069
|
+
*/
|
|
1070
|
+
export type ListingStep = {
|
|
1071
|
+
/**
|
|
1072
|
+
* What it changes.
|
|
1073
|
+
*/
|
|
1074
|
+
kind: "categories" | "age_rating" | "app_info" | "version_text" | "screenshots";
|
|
1075
|
+
/**
|
|
1076
|
+
* Its language.
|
|
1077
|
+
*/
|
|
1078
|
+
locale?: string;
|
|
1079
|
+
/**
|
|
1080
|
+
* Its screenshots' display.
|
|
1081
|
+
*/
|
|
1082
|
+
display?: string;
|
|
1083
|
+
/**
|
|
1084
|
+
* The change, for the person who confirms it.
|
|
1085
|
+
*/
|
|
1086
|
+
says: string;
|
|
1087
|
+
/**
|
|
1088
|
+
* The primary category written.
|
|
1089
|
+
*/
|
|
1090
|
+
primary?: string;
|
|
1091
|
+
/**
|
|
1092
|
+
* The secondary category written.
|
|
1093
|
+
*/
|
|
1094
|
+
secondary?: string;
|
|
1095
|
+
/**
|
|
1096
|
+
* The answers written.
|
|
1097
|
+
*/
|
|
1098
|
+
age_rating?: {
|
|
1099
|
+
[key: string]: unknown;
|
|
1100
|
+
};
|
|
1101
|
+
/**
|
|
1102
|
+
* The name, subtitle and privacy policy written.
|
|
1103
|
+
*/
|
|
1104
|
+
info?: {
|
|
1105
|
+
[key: string]: unknown;
|
|
1106
|
+
};
|
|
1107
|
+
/**
|
|
1108
|
+
* The version text written.
|
|
1109
|
+
*/
|
|
1110
|
+
text?: {
|
|
1111
|
+
[key: string]: unknown;
|
|
1112
|
+
};
|
|
1113
|
+
/**
|
|
1114
|
+
* The display's screenshots, in order.
|
|
1115
|
+
*/
|
|
1116
|
+
shots?: PlannedShot[];
|
|
1117
|
+
};
|
|
763
1118
|
/**
|
|
764
1119
|
* A build handed to the stores.
|
|
765
1120
|
*/
|
|
@@ -902,6 +1257,53 @@ export type PackageUpload = {
|
|
|
902
1257
|
*/
|
|
903
1258
|
url: string;
|
|
904
1259
|
};
|
|
1260
|
+
/**
|
|
1261
|
+
* A phased release: Apple's seven days (1, 2, 5, 10, 20, 50, 100%), started by the release, paused, resumed or completed.
|
|
1262
|
+
*/
|
|
1263
|
+
export type PhasedRelease = {
|
|
1264
|
+
/**
|
|
1265
|
+
* Where it is.
|
|
1266
|
+
*/
|
|
1267
|
+
state: "INACTIVE" | "ACTIVE" | "PAUSED" | "COMPLETE";
|
|
1268
|
+
/**
|
|
1269
|
+
* When it started.
|
|
1270
|
+
*/
|
|
1271
|
+
start_date?: string;
|
|
1272
|
+
/**
|
|
1273
|
+
* Its day (1 to 7).
|
|
1274
|
+
*/
|
|
1275
|
+
day: number;
|
|
1276
|
+
/**
|
|
1277
|
+
* Days it has been paused (30 at most).
|
|
1278
|
+
*/
|
|
1279
|
+
paused_days: number;
|
|
1280
|
+
};
|
|
1281
|
+
/**
|
|
1282
|
+
* A phased release's next state.
|
|
1283
|
+
*/
|
|
1284
|
+
export type PhasedReleaseRequest = {
|
|
1285
|
+
/**
|
|
1286
|
+
* paused, active (resume) or complete (everyone gets it now).
|
|
1287
|
+
*/
|
|
1288
|
+
state: "paused" | "active" | "complete";
|
|
1289
|
+
};
|
|
1290
|
+
/**
|
|
1291
|
+
* A screenshot a step puts in a display, in its order.
|
|
1292
|
+
*/
|
|
1293
|
+
export type PlannedShot = {
|
|
1294
|
+
/**
|
|
1295
|
+
* The module's copy.
|
|
1296
|
+
*/
|
|
1297
|
+
sha256: string;
|
|
1298
|
+
/**
|
|
1299
|
+
* How App Store Connect knows it.
|
|
1300
|
+
*/
|
|
1301
|
+
md5: string;
|
|
1302
|
+
/**
|
|
1303
|
+
* What it is.
|
|
1304
|
+
*/
|
|
1305
|
+
format: "png" | "jpeg";
|
|
1306
|
+
};
|
|
905
1307
|
/**
|
|
906
1308
|
* One thing the sandbox needs.
|
|
907
1309
|
*/
|
|
@@ -1114,6 +1516,43 @@ export type SandboxTesterPage = {
|
|
|
1114
1516
|
*/
|
|
1115
1517
|
testers: SandboxTester[];
|
|
1116
1518
|
};
|
|
1519
|
+
/**
|
|
1520
|
+
* A screenshot the module holds for an app's page.
|
|
1521
|
+
*/
|
|
1522
|
+
export type Screenshot = {
|
|
1523
|
+
/**
|
|
1524
|
+
* Its SHA-256: what the draft names it by.
|
|
1525
|
+
*/
|
|
1526
|
+
sha256: string;
|
|
1527
|
+
/**
|
|
1528
|
+
* Bytes.
|
|
1529
|
+
*/
|
|
1530
|
+
size: number;
|
|
1531
|
+
/**
|
|
1532
|
+
* Pixels.
|
|
1533
|
+
*/
|
|
1534
|
+
width: number;
|
|
1535
|
+
/**
|
|
1536
|
+
* Pixels.
|
|
1537
|
+
*/
|
|
1538
|
+
height: number;
|
|
1539
|
+
/**
|
|
1540
|
+
* png or jpeg.
|
|
1541
|
+
*/
|
|
1542
|
+
format: "png" | "jpeg";
|
|
1543
|
+
/**
|
|
1544
|
+
* The displays it fits.
|
|
1545
|
+
*/
|
|
1546
|
+
displays: string[];
|
|
1547
|
+
/**
|
|
1548
|
+
* When it was first sent.
|
|
1549
|
+
*/
|
|
1550
|
+
created_at: string;
|
|
1551
|
+
};
|
|
1552
|
+
/**
|
|
1553
|
+
* The PNG or JPEG image, 10 MB at most.
|
|
1554
|
+
*/
|
|
1555
|
+
export type ScreenshotFile = Blob;
|
|
1117
1556
|
/**
|
|
1118
1557
|
* A person to have in a group.
|
|
1119
1558
|
*/
|
|
@@ -1166,6 +1605,97 @@ export type UploadKey = {
|
|
|
1166
1605
|
*/
|
|
1167
1606
|
fingerprint: string;
|
|
1168
1607
|
};
|
|
1608
|
+
/**
|
|
1609
|
+
* stores.version.changed: an app's App Store version came to a new state (sent to App Review, in review, approved, rejected, withdrawn, released).
|
|
1610
|
+
*/
|
|
1611
|
+
export type VersionChangedEvent = {
|
|
1612
|
+
/**
|
|
1613
|
+
* The app.
|
|
1614
|
+
*/
|
|
1615
|
+
app_id: string;
|
|
1616
|
+
/**
|
|
1617
|
+
* Its bundle id.
|
|
1618
|
+
*/
|
|
1619
|
+
bundle_id: string;
|
|
1620
|
+
/**
|
|
1621
|
+
* Its name.
|
|
1622
|
+
*/
|
|
1623
|
+
name: string;
|
|
1624
|
+
/**
|
|
1625
|
+
* The version.
|
|
1626
|
+
*/
|
|
1627
|
+
version: string;
|
|
1628
|
+
/**
|
|
1629
|
+
* App Store Connect's id of it.
|
|
1630
|
+
*/
|
|
1631
|
+
asc_version_id: string;
|
|
1632
|
+
/**
|
|
1633
|
+
* What it was; null when first seen.
|
|
1634
|
+
*/
|
|
1635
|
+
previous_state: string | null;
|
|
1636
|
+
/**
|
|
1637
|
+
* What it is now.
|
|
1638
|
+
*/
|
|
1639
|
+
state: string;
|
|
1640
|
+
/**
|
|
1641
|
+
* App Review's answer: approved, rejected; null when the state is none.
|
|
1642
|
+
*/
|
|
1643
|
+
result: ("approved" | "rejected" | null) | null;
|
|
1644
|
+
};
|
|
1645
|
+
/**
|
|
1646
|
+
* stores.version.reviewed: App Review approved or rejected a project's version. Sent to Palbase's own project, whose Studio tells the organization's owners.
|
|
1647
|
+
*/
|
|
1648
|
+
export type VersionReviewedEvent = {
|
|
1649
|
+
/**
|
|
1650
|
+
* The project (environment) the app is in.
|
|
1651
|
+
*/
|
|
1652
|
+
project_id: string;
|
|
1653
|
+
/**
|
|
1654
|
+
* The app.
|
|
1655
|
+
*/
|
|
1656
|
+
app_id: string;
|
|
1657
|
+
/**
|
|
1658
|
+
* Its name.
|
|
1659
|
+
*/
|
|
1660
|
+
name: string;
|
|
1661
|
+
/**
|
|
1662
|
+
* Its bundle id.
|
|
1663
|
+
*/
|
|
1664
|
+
bundle_id: string;
|
|
1665
|
+
/**
|
|
1666
|
+
* The version.
|
|
1667
|
+
*/
|
|
1668
|
+
version: string;
|
|
1669
|
+
/**
|
|
1670
|
+
* App Store Connect's state.
|
|
1671
|
+
*/
|
|
1672
|
+
state: string;
|
|
1673
|
+
/**
|
|
1674
|
+
* App Review's answer.
|
|
1675
|
+
*/
|
|
1676
|
+
result: "approved" | "rejected";
|
|
1677
|
+
};
|
|
1678
|
+
/**
|
|
1679
|
+
* The state the module last saw of the app's newest submitted version.
|
|
1680
|
+
*/
|
|
1681
|
+
export type WatchedVersion = {
|
|
1682
|
+
/**
|
|
1683
|
+
* The version.
|
|
1684
|
+
*/
|
|
1685
|
+
version_string: string;
|
|
1686
|
+
/**
|
|
1687
|
+
* Its state.
|
|
1688
|
+
*/
|
|
1689
|
+
state: string;
|
|
1690
|
+
/**
|
|
1691
|
+
* When it came to it.
|
|
1692
|
+
*/
|
|
1693
|
+
state_at: string;
|
|
1694
|
+
/**
|
|
1695
|
+
* When it was last read.
|
|
1696
|
+
*/
|
|
1697
|
+
checked_at: string;
|
|
1698
|
+
};
|
|
1169
1699
|
/**
|
|
1170
1700
|
* A build's note to testers.
|
|
1171
1701
|
*/
|
|
@@ -1213,6 +1743,14 @@ export interface Events {
|
|
|
1213
1743
|
* stores.package.changed: a package was made, or its build arrived.
|
|
1214
1744
|
*/
|
|
1215
1745
|
"stores.package.changed": PackageChangedEvent;
|
|
1746
|
+
/**
|
|
1747
|
+
* stores.version.changed: an app's App Store version came to a new state (sent to App Review, in review, approved, rejected, withdrawn, released).
|
|
1748
|
+
*/
|
|
1749
|
+
"stores.version.changed": VersionChangedEvent;
|
|
1750
|
+
/**
|
|
1751
|
+
* stores.version.reviewed: App Review approved or rejected a project's version. Sent to Palbase's own project, whose Studio tells the organization's owners.
|
|
1752
|
+
*/
|
|
1753
|
+
"stores.version.reviewed": VersionReviewedEvent;
|
|
1216
1754
|
}
|
|
1217
1755
|
/** Palbase Stores */
|
|
1218
1756
|
export declare function client(t: Transport): {
|
|
@@ -1243,7 +1781,7 @@ export declare function client(t: Transport): {
|
|
|
1243
1781
|
/**
|
|
1244
1782
|
* Confirm an action
|
|
1245
1783
|
*
|
|
1246
|
-
* Runs a planned action: only a person's confirmation —
|
|
1784
|
+
* Runs a planned action: only a person's confirmation — the developer's own call from Studio in their browser, with their Studio sign-in, which the edge verifies — only with its hash, only once, only before it expires. The project's secret key alone, an organization's access token or a CI job is refused (403 `person_required`), before the action is looked up. Emits `stores.action.changed`.
|
|
1247
1785
|
*/
|
|
1248
1786
|
confirmAction(input: {
|
|
1249
1787
|
path: {
|
|
@@ -1254,7 +1792,7 @@ export declare function client(t: Transport): {
|
|
|
1254
1792
|
};
|
|
1255
1793
|
body: ConfirmRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1256
1794
|
signal?: AbortSignal;
|
|
1257
|
-
}): Promise<Reply<200, Action>>;
|
|
1795
|
+
}): Promise<Reply<200, Action> | Reply<202, Action>>;
|
|
1258
1796
|
/**
|
|
1259
1797
|
* Decline an action
|
|
1260
1798
|
*
|
|
@@ -1416,6 +1954,46 @@ export declare function client(t: Transport): {
|
|
|
1416
1954
|
body: LinkAppRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1417
1955
|
signal?: AbortSignal;
|
|
1418
1956
|
}): Promise<Reply<200, App>>;
|
|
1957
|
+
/**
|
|
1958
|
+
* Read the draft App Store page
|
|
1959
|
+
*
|
|
1960
|
+
* The app's draft App Store page: what a plan compares with App Store Connect.
|
|
1961
|
+
*/
|
|
1962
|
+
getListing(input: {
|
|
1963
|
+
path: {
|
|
1964
|
+
app_id: string;
|
|
1965
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1966
|
+
signal?: AbortSignal;
|
|
1967
|
+
}): Promise<Reply<200, Listing>>;
|
|
1968
|
+
/**
|
|
1969
|
+
* Save the draft App Store page
|
|
1970
|
+
*
|
|
1971
|
+
* Saves the draft over the revision it was edited from; a draft that moved since is refused (409). Nothing is written to Apple: a plan is (POST …/listing/plan).
|
|
1972
|
+
*/
|
|
1973
|
+
setListing(input: {
|
|
1974
|
+
path: {
|
|
1975
|
+
app_id: string;
|
|
1976
|
+
};
|
|
1977
|
+
headers?: {
|
|
1978
|
+
"Idempotency-Key"?: string;
|
|
1979
|
+
};
|
|
1980
|
+
body: ListingRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1981
|
+
signal?: AbortSignal;
|
|
1982
|
+
}): Promise<Reply<200, Listing>>;
|
|
1983
|
+
/**
|
|
1984
|
+
* Plan the App Store page
|
|
1985
|
+
*
|
|
1986
|
+
* Compares the draft with what App Store Connect holds and plans the changes, language by language. Nothing is written until the plan is confirmed (POST /stores/actions/{id}/confirm with its hash); a confirmed plan runs after the answer (running, then done or failed).
|
|
1987
|
+
*/
|
|
1988
|
+
planListing(input: {
|
|
1989
|
+
path: {
|
|
1990
|
+
app_id: string;
|
|
1991
|
+
};
|
|
1992
|
+
headers?: {
|
|
1993
|
+
"Idempotency-Key"?: string;
|
|
1994
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1995
|
+
signal?: AbortSignal;
|
|
1996
|
+
}): Promise<Reply<201, ListingPlan>>;
|
|
1419
1997
|
/**
|
|
1420
1998
|
* Make a package
|
|
1421
1999
|
*
|
|
@@ -1431,6 +2009,22 @@ export declare function client(t: Transport): {
|
|
|
1431
2009
|
body: CreatePackageRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1432
2010
|
signal?: AbortSignal;
|
|
1433
2011
|
}): Promise<Reply<200, Package> | Reply<201, Package>>;
|
|
2012
|
+
/**
|
|
2013
|
+
* Upload a screenshot
|
|
2014
|
+
*
|
|
2015
|
+
* Takes one screenshot for the app's page (PNG or JPEG, 10 MB at most, an App Store size): kept by its SHA-256, which the draft names it by. The same image sent again is the one kept.
|
|
2016
|
+
*/
|
|
2017
|
+
uploadScreenshot(input: {
|
|
2018
|
+
path: {
|
|
2019
|
+
app_id: string;
|
|
2020
|
+
};
|
|
2021
|
+
headers?: {
|
|
2022
|
+
"Idempotency-Key"?: string;
|
|
2023
|
+
};
|
|
2024
|
+
body: BodyInit;
|
|
2025
|
+
contentType?: string; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2026
|
+
signal?: AbortSignal;
|
|
2027
|
+
}): Promise<Reply<201, Screenshot>>;
|
|
1434
2028
|
/**
|
|
1435
2029
|
* Read the app's test information
|
|
1436
2030
|
*
|
|
@@ -1471,6 +2065,89 @@ export declare function client(t: Transport): {
|
|
|
1471
2065
|
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
1472
2066
|
signal?: AbortSignal;
|
|
1473
2067
|
}): Promise<Reply<200, UploadKey>>;
|
|
2068
|
+
/**
|
|
2069
|
+
* Read the App Store version
|
|
2070
|
+
*
|
|
2071
|
+
* The app's App Store version, its build, review details, phased release and price, and what App Review would refuse it for.
|
|
2072
|
+
*/
|
|
2073
|
+
getAppStoreVersion(input: {
|
|
2074
|
+
path: {
|
|
2075
|
+
app_id: string;
|
|
2076
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2077
|
+
signal?: AbortSignal;
|
|
2078
|
+
}): Promise<Reply<200, AppStoreVersion>>;
|
|
2079
|
+
/**
|
|
2080
|
+
* Prepare the App Store version
|
|
2081
|
+
*
|
|
2082
|
+
* Writes the version's fields, its build, how it is released, the review's details, the content rights statement and a free price — what can change until it is sent. Makes the version when the app has none that can change.
|
|
2083
|
+
*/
|
|
2084
|
+
prepareAppStoreVersion(input: {
|
|
2085
|
+
path: {
|
|
2086
|
+
app_id: string;
|
|
2087
|
+
};
|
|
2088
|
+
headers?: {
|
|
2089
|
+
"Idempotency-Key"?: string;
|
|
2090
|
+
};
|
|
2091
|
+
body: AppStoreVersionRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2092
|
+
signal?: AbortSignal;
|
|
2093
|
+
}): Promise<Reply<200, AppStoreVersion>>;
|
|
2094
|
+
/**
|
|
2095
|
+
* Plan a phased release's next state
|
|
2096
|
+
*
|
|
2097
|
+
* Plans pausing, resuming or completing the version's phased release.
|
|
2098
|
+
*/
|
|
2099
|
+
planPhasedRelease(input: {
|
|
2100
|
+
path: {
|
|
2101
|
+
app_id: string;
|
|
2102
|
+
};
|
|
2103
|
+
headers?: {
|
|
2104
|
+
"Idempotency-Key"?: string;
|
|
2105
|
+
};
|
|
2106
|
+
body: PhasedReleaseRequest; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2107
|
+
signal?: AbortSignal;
|
|
2108
|
+
}): Promise<Reply<201, Action>>;
|
|
2109
|
+
/**
|
|
2110
|
+
* Plan releasing the approved version
|
|
2111
|
+
*
|
|
2112
|
+
* Plans releasing an approved version that waits for its developer. It cannot be taken back.
|
|
2113
|
+
*/
|
|
2114
|
+
planReleaseVersion(input: {
|
|
2115
|
+
path: {
|
|
2116
|
+
app_id: string;
|
|
2117
|
+
};
|
|
2118
|
+
headers?: {
|
|
2119
|
+
"Idempotency-Key"?: string;
|
|
2120
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2121
|
+
signal?: AbortSignal;
|
|
2122
|
+
}): Promise<Reply<201, Action>>;
|
|
2123
|
+
/**
|
|
2124
|
+
* Plan sending the version to App Review
|
|
2125
|
+
*
|
|
2126
|
+
* Plans sending the version to App Review; refused (409 version_incomplete) with what is missing. Nothing is sent until the plan is confirmed.
|
|
2127
|
+
*/
|
|
2128
|
+
planSubmitReview(input: {
|
|
2129
|
+
path: {
|
|
2130
|
+
app_id: string;
|
|
2131
|
+
};
|
|
2132
|
+
headers?: {
|
|
2133
|
+
"Idempotency-Key"?: string;
|
|
2134
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2135
|
+
signal?: AbortSignal;
|
|
2136
|
+
}): Promise<Reply<201, Action>>;
|
|
2137
|
+
/**
|
|
2138
|
+
* Plan withdrawing the version from App Review
|
|
2139
|
+
*
|
|
2140
|
+
* Plans taking the version out of App Review: it is edited again, and sent again from the start.
|
|
2141
|
+
*/
|
|
2142
|
+
planWithdrawReview(input: {
|
|
2143
|
+
path: {
|
|
2144
|
+
app_id: string;
|
|
2145
|
+
};
|
|
2146
|
+
headers?: {
|
|
2147
|
+
"Idempotency-Key"?: string;
|
|
2148
|
+
}; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
|
|
2149
|
+
signal?: AbortSignal;
|
|
2150
|
+
}): Promise<Reply<201, Action>>;
|
|
1474
2151
|
/**
|
|
1475
2152
|
* Download a signed bundle with its link
|
|
1476
2153
|
*
|