asc-mcp-pro 0.1.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.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +241 -0
  3. package/build/auth.d.ts +8 -0
  4. package/build/auth.js +44 -0
  5. package/build/auth.js.map +1 -0
  6. package/build/client.d.ts +21 -0
  7. package/build/client.js +91 -0
  8. package/build/client.js.map +1 -0
  9. package/build/index.d.ts +2 -0
  10. package/build/index.js +47 -0
  11. package/build/index.js.map +1 -0
  12. package/build/lib/jsonapi-write.d.ts +32 -0
  13. package/build/lib/jsonapi-write.js +18 -0
  14. package/build/lib/jsonapi-write.js.map +1 -0
  15. package/build/lib/jsonapi.d.ts +27 -0
  16. package/build/lib/jsonapi.js +27 -0
  17. package/build/lib/jsonapi.js.map +1 -0
  18. package/build/lib/locales.d.ts +24 -0
  19. package/build/lib/locales.js +66 -0
  20. package/build/lib/locales.js.map +1 -0
  21. package/build/lib/pagination.d.ts +11 -0
  22. package/build/lib/pagination.js +23 -0
  23. package/build/lib/pagination.js.map +1 -0
  24. package/build/lib/projections.d.ts +8 -0
  25. package/build/lib/projections.js +51 -0
  26. package/build/lib/projections.js.map +1 -0
  27. package/build/lib/upload.d.ts +38 -0
  28. package/build/lib/upload.js +133 -0
  29. package/build/lib/upload.js.map +1 -0
  30. package/build/tools/apps.d.ts +3 -0
  31. package/build/tools/apps.js +160 -0
  32. package/build/tools/apps.js.map +1 -0
  33. package/build/tools/builds.d.ts +3 -0
  34. package/build/tools/builds.js +158 -0
  35. package/build/tools/builds.js.map +1 -0
  36. package/build/tools/iap.d.ts +3 -0
  37. package/build/tools/iap.js +501 -0
  38. package/build/tools/iap.js.map +1 -0
  39. package/build/tools/ping.d.ts +3 -0
  40. package/build/tools/ping.js +12 -0
  41. package/build/tools/ping.js.map +1 -0
  42. package/build/tools/pricing.d.ts +3 -0
  43. package/build/tools/pricing.js +150 -0
  44. package/build/tools/pricing.js.map +1 -0
  45. package/build/tools/privacy.d.ts +3 -0
  46. package/build/tools/privacy.js +6 -0
  47. package/build/tools/privacy.js.map +1 -0
  48. package/build/tools/provisioning.d.ts +3 -0
  49. package/build/tools/provisioning.js +343 -0
  50. package/build/tools/provisioning.js.map +1 -0
  51. package/build/tools/registry.d.ts +3 -0
  52. package/build/tools/registry.js +35 -0
  53. package/build/tools/registry.js.map +1 -0
  54. package/build/tools/reports.d.ts +3 -0
  55. package/build/tools/reports.js +177 -0
  56. package/build/tools/reports.js.map +1 -0
  57. package/build/tools/reviews.d.ts +3 -0
  58. package/build/tools/reviews.js +51 -0
  59. package/build/tools/reviews.js.map +1 -0
  60. package/build/tools/runner.d.ts +3 -0
  61. package/build/tools/runner.js +174 -0
  62. package/build/tools/runner.js.map +1 -0
  63. package/build/tools/screenshots.d.ts +3 -0
  64. package/build/tools/screenshots.js +228 -0
  65. package/build/tools/screenshots.js.map +1 -0
  66. package/build/tools/testflight.d.ts +3 -0
  67. package/build/tools/testflight.js +360 -0
  68. package/build/tools/testflight.js.map +1 -0
  69. package/build/tools/types.d.ts +7 -0
  70. package/build/tools/types.js +2 -0
  71. package/build/tools/types.js.map +1 -0
  72. package/build/tools/users.d.ts +3 -0
  73. package/build/tools/users.js +65 -0
  74. package/build/tools/users.js.map +1 -0
  75. package/build/tools/versions.d.ts +3 -0
  76. package/build/tools/versions.js +443 -0
  77. package/build/tools/versions.js.map +1 -0
  78. package/build/tools/workflows.d.ts +3 -0
  79. package/build/tools/workflows.js +633 -0
  80. package/build/tools/workflows.js.map +1 -0
  81. package/examples/localize.workflow.json +30 -0
  82. package/examples/release.workflow.json +49 -0
  83. package/examples/testflight.workflow.json +21 -0
  84. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { AscClient } from "../client.js";
2
+ import type { ToolDef } from "./types.js";
3
+ export declare function usersTools(client: AscClient): ToolDef[];
@@ -0,0 +1,65 @@
1
+ import { z } from "zod";
2
+ import { DEFAULT_FIELDS } from "../lib/projections.js";
3
+ export function usersTools(client) {
4
+ return [
5
+ {
6
+ name: "asc_users_list",
7
+ description: "List team members.",
8
+ inputSchema: z.object({
9
+ roles: z
10
+ .array(z.string())
11
+ .optional()
12
+ .describe("e.g. ADMIN, DEVELOPER, APP_MANAGER, MARKETING, SALES, FINANCE, ACCOUNT_HOLDER, ACCESS_TO_REPORTS, CUSTOMER_SUPPORT"),
13
+ username: z.string().optional(),
14
+ limit: z.number().int().min(1).max(200).optional(),
15
+ include: z.array(z.string()).optional().describe("e.g. visibleApps"),
16
+ }),
17
+ handler: async ({ roles, username, limit, include }) => client.request("/users", {
18
+ query: {
19
+ "filter[roles]": roles,
20
+ "filter[username]": username,
21
+ limit: limit ?? 100,
22
+ include,
23
+ "fields[users]": DEFAULT_FIELDS.users,
24
+ },
25
+ }),
26
+ },
27
+ {
28
+ name: "asc_users_get",
29
+ description: "Get one team member by id.",
30
+ inputSchema: z.object({
31
+ userId: z.string(),
32
+ include: z.array(z.string()).optional(),
33
+ }),
34
+ handler: async ({ userId, include }) => client.request(`/users/${userId}`, { query: { include } }),
35
+ },
36
+ {
37
+ name: "asc_users_list_visible_apps",
38
+ description: "List apps visible to a user.",
39
+ inputSchema: z.object({
40
+ userId: z.string(),
41
+ limit: z.number().int().min(1).max(200).optional(),
42
+ }),
43
+ handler: async ({ userId, limit }) => client.request(`/users/${userId}/visibleApps`, {
44
+ query: { limit: limit ?? 200 },
45
+ }),
46
+ },
47
+ {
48
+ name: "asc_user_invitations_list",
49
+ description: "List pending user invitations.",
50
+ inputSchema: z.object({
51
+ roles: z.array(z.string()).optional(),
52
+ email: z.string().optional(),
53
+ limit: z.number().int().min(1).max(200).optional(),
54
+ }),
55
+ handler: async ({ roles, email, limit }) => client.request("/userInvitations", {
56
+ query: {
57
+ "filter[roles]": roles,
58
+ "filter[email]": email,
59
+ limit: limit ?? 100,
60
+ },
61
+ }),
62
+ },
63
+ ];
64
+ }
65
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { AscClient } from "../client.js";
2
+ import type { ToolDef } from "./types.js";
3
+ export declare function versionsTools(client: AscClient): ToolDef[];
@@ -0,0 +1,443 @@
1
+ import { z } from "zod";
2
+ import { DEFAULT_FIELDS } from "../lib/projections.js";
3
+ import { patchBody, postBody, singleRel, maybeSend } from "../lib/jsonapi-write.js";
4
+ import { METADATA_CHAR_LIMITS, APP_STORE_LOCALES } from "../lib/locales.js";
5
+ const VERSION_LOCALIZATION_FIELDS = [
6
+ "description",
7
+ "keywords",
8
+ "marketingUrl",
9
+ "promotionalText",
10
+ "supportUrl",
11
+ "whatsNew",
12
+ ];
13
+ const PLATFORMS = ["IOS", "MAC_OS", "TV_OS", "VISION_OS"];
14
+ const RELEASE_TYPES = ["MANUAL", "AFTER_APPROVAL", "SCHEDULED"];
15
+ const PHASED_RELEASE_STATES = ["INACTIVE", "ACTIVE", "PAUSED", "COMPLETE"];
16
+ function enforceCharLimit(field, value) {
17
+ if (typeof value !== "string")
18
+ return;
19
+ const limit = METADATA_CHAR_LIMITS[field];
20
+ if (limit && value.length > limit) {
21
+ throw new Error(`Field "${field}" is ${value.length} chars but App Store limit is ${limit}.`);
22
+ }
23
+ }
24
+ export function versionsTools(client) {
25
+ return [
26
+ // ---- READS (Phase 1) ----
27
+ {
28
+ name: "asc_versions_list",
29
+ description: "List App Store Versions for an app.",
30
+ inputSchema: z.object({
31
+ appId: z.string(),
32
+ platform: z.enum(PLATFORMS).optional(),
33
+ versionString: z.string().optional(),
34
+ appStoreState: z.string().optional(),
35
+ limit: z.number().int().min(1).max(200).optional(),
36
+ }),
37
+ handler: async ({ appId, platform, versionString, appStoreState, limit }) => client.request(`/apps/${appId}/appStoreVersions`, {
38
+ query: {
39
+ limit: limit ?? 50,
40
+ "filter[platform]": platform,
41
+ "filter[versionString]": versionString,
42
+ "filter[appStoreState]": appStoreState,
43
+ "fields[appStoreVersions]": DEFAULT_FIELDS.appStoreVersions,
44
+ },
45
+ }),
46
+ },
47
+ {
48
+ name: "asc_versions_get",
49
+ description: "Get one App Store Version by id.",
50
+ inputSchema: z.object({
51
+ versionId: z.string(),
52
+ include: z.array(z.string()).optional(),
53
+ }),
54
+ handler: async ({ versionId, include }) => client.request(`/appStoreVersions/${versionId}`, { query: { include } }),
55
+ },
56
+ {
57
+ name: "asc_versions_list_localizations",
58
+ description: "List per-locale metadata for a version.",
59
+ inputSchema: z.object({
60
+ versionId: z.string(),
61
+ limit: z.number().int().min(1).max(200).optional(),
62
+ }),
63
+ handler: async ({ versionId, limit }) => client.request(`/appStoreVersions/${versionId}/appStoreVersionLocalizations`, {
64
+ query: {
65
+ limit: limit ?? 50,
66
+ "fields[appStoreVersionLocalizations]": DEFAULT_FIELDS.appStoreVersionLocalizations,
67
+ },
68
+ }),
69
+ },
70
+ {
71
+ name: "asc_versions_get_localization",
72
+ description: "Get one App Store Version Localization by id.",
73
+ inputSchema: z.object({ localizationId: z.string() }),
74
+ handler: async ({ localizationId }) => client.request(`/appStoreVersionLocalizations/${localizationId}`),
75
+ },
76
+ {
77
+ name: "asc_versions_get_submission",
78
+ description: "Get the current v1 submission record for a version.",
79
+ inputSchema: z.object({ versionId: z.string() }),
80
+ handler: async ({ versionId }) => client.request(`/appStoreVersions/${versionId}/appStoreVersionSubmission`),
81
+ },
82
+ {
83
+ name: "asc_versions_get_phased_release",
84
+ description: "Get phased release state for a version.",
85
+ inputSchema: z.object({ versionId: z.string() }),
86
+ handler: async ({ versionId }) => client.request(`/appStoreVersions/${versionId}/appStoreVersionPhasedRelease`),
87
+ },
88
+ {
89
+ name: "asc_versions_get_review_details",
90
+ description: "Get App Store review details (contact, demo, notes) for a version.",
91
+ inputSchema: z.object({ versionId: z.string() }),
92
+ handler: async ({ versionId }) => client.request(`/appStoreVersions/${versionId}/appStoreReviewDetail`),
93
+ },
94
+ {
95
+ name: "asc_versions_get_build",
96
+ description: "Get the build currently attached to a version.",
97
+ inputSchema: z.object({ versionId: z.string() }),
98
+ handler: async ({ versionId }) => client.request(`/appStoreVersions/${versionId}/build`),
99
+ },
100
+ {
101
+ name: "asc_versions_list_v2_submissions",
102
+ description: "List v2 Review Submissions across an app.",
103
+ inputSchema: z.object({
104
+ appId: z.string(),
105
+ state: z.string().optional(),
106
+ limit: z.number().int().min(1).max(200).optional(),
107
+ }),
108
+ handler: async ({ appId, state, limit }) => client.request("/reviewSubmissions", {
109
+ query: {
110
+ "filter[app]": appId,
111
+ "filter[state]": state,
112
+ limit: limit ?? 50,
113
+ },
114
+ }),
115
+ },
116
+ // ---- WRITES: Phase 2 (metadata) ----
117
+ {
118
+ name: "asc_versions_update_localization",
119
+ description: "Update one field on a Version Localization. Char limits enforced.",
120
+ inputSchema: z.object({
121
+ localizationId: z.string(),
122
+ field: z.enum(VERSION_LOCALIZATION_FIELDS),
123
+ value: z.string().nullable(),
124
+ dryRun: z.boolean().optional(),
125
+ }),
126
+ handler: async ({ localizationId, field, value, dryRun }) => {
127
+ if (value !== null)
128
+ enforceCharLimit(field, value);
129
+ const body = patchBody("appStoreVersionLocalizations", localizationId, { [field]: value });
130
+ return maybeSend(client, dryRun, "PATCH", `/appStoreVersionLocalizations/${localizationId}`, body);
131
+ },
132
+ },
133
+ {
134
+ name: "asc_versions_update_localization_bulk",
135
+ description: "Update multiple fields on a Version Localization.",
136
+ inputSchema: z.object({
137
+ localizationId: z.string(),
138
+ attributes: z
139
+ .object({
140
+ description: z.string().nullable().optional(),
141
+ keywords: z.string().nullable().optional(),
142
+ marketingUrl: z.string().nullable().optional(),
143
+ promotionalText: z.string().nullable().optional(),
144
+ supportUrl: z.string().nullable().optional(),
145
+ whatsNew: z.string().nullable().optional(),
146
+ })
147
+ .refine((a) => Object.keys(a).length > 0, "Provide at least one field"),
148
+ dryRun: z.boolean().optional(),
149
+ }),
150
+ handler: async ({ localizationId, attributes, dryRun }) => {
151
+ for (const [k, v] of Object.entries(attributes)) {
152
+ if (v !== null && v !== undefined)
153
+ enforceCharLimit(k, v);
154
+ }
155
+ const body = patchBody("appStoreVersionLocalizations", localizationId, attributes);
156
+ return maybeSend(client, dryRun, "PATCH", `/appStoreVersionLocalizations/${localizationId}`, body);
157
+ },
158
+ },
159
+ {
160
+ name: "asc_versions_create_localization",
161
+ description: "Add a new locale to a version with initial metadata.",
162
+ inputSchema: z.object({
163
+ versionId: z.string(),
164
+ locale: z.enum(APP_STORE_LOCALES),
165
+ attributes: z.object({
166
+ description: z.string().nullable().optional(),
167
+ keywords: z.string().nullable().optional(),
168
+ marketingUrl: z.string().nullable().optional(),
169
+ promotionalText: z.string().nullable().optional(),
170
+ supportUrl: z.string().nullable().optional(),
171
+ whatsNew: z.string().nullable().optional(),
172
+ }),
173
+ dryRun: z.boolean().optional(),
174
+ }),
175
+ handler: async ({ versionId, locale, attributes, dryRun }) => {
176
+ for (const [k, v] of Object.entries(attributes)) {
177
+ if (v !== null && v !== undefined)
178
+ enforceCharLimit(k, v);
179
+ }
180
+ const body = postBody("appStoreVersionLocalizations", { locale, ...attributes }, { appStoreVersion: singleRel("appStoreVersions", versionId) });
181
+ return maybeSend(client, dryRun, "POST", `/appStoreVersionLocalizations`, body);
182
+ },
183
+ },
184
+ {
185
+ name: "asc_versions_delete_localization",
186
+ description: "Delete a locale from a version (cannot delete primary).",
187
+ inputSchema: z.object({
188
+ localizationId: z.string(),
189
+ dryRun: z.boolean().optional(),
190
+ }),
191
+ handler: async ({ localizationId, dryRun }) => maybeSend(client, dryRun, "DELETE", `/appStoreVersionLocalizations/${localizationId}`),
192
+ },
193
+ // ---- WRITES: Phase 3 (lifecycle) ----
194
+ {
195
+ name: "asc_versions_create",
196
+ description: "Create a new App Store Version for an app.",
197
+ inputSchema: z.object({
198
+ appId: z.string(),
199
+ platform: z.enum(PLATFORMS),
200
+ versionString: z.string().describe("e.g. '1.2.3'"),
201
+ copyright: z.string().optional(),
202
+ releaseType: z.enum(RELEASE_TYPES).optional(),
203
+ earliestReleaseDate: z.string().optional().describe("ISO 8601 for SCHEDULED releases"),
204
+ buildId: z.string().optional().describe("Attach this build at creation"),
205
+ dryRun: z.boolean().optional(),
206
+ }),
207
+ handler: async ({ appId, platform, versionString, copyright, releaseType, earliestReleaseDate, buildId, dryRun }) => {
208
+ const attributes = { platform, versionString };
209
+ if (copyright !== undefined)
210
+ attributes.copyright = copyright;
211
+ if (releaseType !== undefined)
212
+ attributes.releaseType = releaseType;
213
+ if (earliestReleaseDate !== undefined)
214
+ attributes.earliestReleaseDate = earliestReleaseDate;
215
+ const relationships = {
216
+ app: { data: { type: "apps", id: appId } },
217
+ };
218
+ if (buildId)
219
+ relationships.build = { data: { type: "builds", id: buildId } };
220
+ const body = postBody("appStoreVersions", attributes, relationships);
221
+ return maybeSend(client, dryRun, "POST", `/appStoreVersions`, body);
222
+ },
223
+ },
224
+ {
225
+ name: "asc_versions_delete",
226
+ description: "Delete an App Store Version (only allowed while editable).",
227
+ inputSchema: z.object({
228
+ versionId: z.string(),
229
+ dryRun: z.boolean().optional(),
230
+ }),
231
+ handler: async ({ versionId, dryRun }) => maybeSend(client, dryRun, "DELETE", `/appStoreVersions/${versionId}`),
232
+ },
233
+ {
234
+ name: "asc_versions_update",
235
+ description: "Update version attributes (copyright, releaseType, earliestReleaseDate, versionString, downloadable).",
236
+ inputSchema: z.object({
237
+ versionId: z.string(),
238
+ attributes: z
239
+ .object({
240
+ copyright: z.string().nullable().optional(),
241
+ releaseType: z.enum(RELEASE_TYPES).optional(),
242
+ earliestReleaseDate: z.string().nullable().optional(),
243
+ versionString: z.string().optional(),
244
+ downloadable: z.boolean().optional(),
245
+ usesIdfa: z.boolean().optional(),
246
+ })
247
+ .refine((a) => Object.keys(a).length > 0, "Provide at least one field"),
248
+ dryRun: z.boolean().optional(),
249
+ }),
250
+ handler: async ({ versionId, attributes, dryRun }) => {
251
+ const body = patchBody("appStoreVersions", versionId, attributes);
252
+ return maybeSend(client, dryRun, "PATCH", `/appStoreVersions/${versionId}`, body);
253
+ },
254
+ },
255
+ {
256
+ name: "asc_versions_attach_build",
257
+ description: "Attach a build to a version (replaces any existing build).",
258
+ inputSchema: z.object({
259
+ versionId: z.string(),
260
+ buildId: z.string().nullable().describe("null to detach"),
261
+ dryRun: z.boolean().optional(),
262
+ }),
263
+ handler: async ({ versionId, buildId, dryRun }) => {
264
+ const body = { data: buildId ? { type: "builds", id: buildId } : null };
265
+ return maybeSend(client, dryRun, "PATCH", `/appStoreVersions/${versionId}/relationships/build`, body);
266
+ },
267
+ },
268
+ {
269
+ name: "asc_versions_submit_for_review_v1",
270
+ description: "Submit a version for App Review (v1 API; one version at a time, no IAP bundle).",
271
+ inputSchema: z.object({
272
+ versionId: z.string(),
273
+ dryRun: z.boolean().optional(),
274
+ }),
275
+ handler: async ({ versionId, dryRun }) => {
276
+ const body = postBody("appStoreVersionSubmissions", undefined, { appStoreVersion: singleRel("appStoreVersions", versionId) });
277
+ return maybeSend(client, dryRun, "POST", `/appStoreVersionSubmissions`, body);
278
+ },
279
+ },
280
+ {
281
+ name: "asc_versions_cancel_submission_v1",
282
+ description: "Cancel a v1 version submission.",
283
+ inputSchema: z.object({
284
+ submissionId: z.string(),
285
+ dryRun: z.boolean().optional(),
286
+ }),
287
+ handler: async ({ submissionId, dryRun }) => maybeSend(client, dryRun, "DELETE", `/appStoreVersionSubmissions/${submissionId}`),
288
+ },
289
+ // Phased release lifecycle
290
+ {
291
+ name: "asc_versions_create_phased_release",
292
+ description: "Enable phased release for a version (starts at INACTIVE; set ACTIVE to begin).",
293
+ inputSchema: z.object({
294
+ versionId: z.string(),
295
+ phasedReleaseState: z.enum(PHASED_RELEASE_STATES).default("INACTIVE"),
296
+ dryRun: z.boolean().optional(),
297
+ }),
298
+ handler: async ({ versionId, phasedReleaseState, dryRun }) => {
299
+ const body = postBody("appStoreVersionPhasedReleases", { phasedReleaseState }, { appStoreVersion: singleRel("appStoreVersions", versionId) });
300
+ return maybeSend(client, dryRun, "POST", `/appStoreVersionPhasedReleases`, body);
301
+ },
302
+ },
303
+ {
304
+ name: "asc_versions_update_phased_release",
305
+ description: "Change phased release state (ACTIVE / PAUSED / COMPLETE).",
306
+ inputSchema: z.object({
307
+ phasedReleaseId: z.string(),
308
+ phasedReleaseState: z.enum(PHASED_RELEASE_STATES),
309
+ dryRun: z.boolean().optional(),
310
+ }),
311
+ handler: async ({ phasedReleaseId, phasedReleaseState, dryRun }) => {
312
+ const body = patchBody("appStoreVersionPhasedReleases", phasedReleaseId, { phasedReleaseState });
313
+ return maybeSend(client, dryRun, "PATCH", `/appStoreVersionPhasedReleases/${phasedReleaseId}`, body);
314
+ },
315
+ },
316
+ {
317
+ name: "asc_versions_delete_phased_release",
318
+ description: "End / disable phased release.",
319
+ inputSchema: z.object({
320
+ phasedReleaseId: z.string(),
321
+ dryRun: z.boolean().optional(),
322
+ }),
323
+ handler: async ({ phasedReleaseId, dryRun }) => maybeSend(client, dryRun, "DELETE", `/appStoreVersionPhasedReleases/${phasedReleaseId}`),
324
+ },
325
+ // Review details
326
+ {
327
+ name: "asc_versions_create_review_details",
328
+ description: "Create App Store Review Detail (contact, demo, notes) for a version.",
329
+ inputSchema: z.object({
330
+ versionId: z.string(),
331
+ attributes: z.object({
332
+ contactFirstName: z.string().optional(),
333
+ contactLastName: z.string().optional(),
334
+ contactPhone: z.string().optional(),
335
+ contactEmail: z.string().optional(),
336
+ demoAccountName: z.string().optional(),
337
+ demoAccountPassword: z.string().optional(),
338
+ demoAccountRequired: z.boolean().optional(),
339
+ notes: z.string().optional(),
340
+ }),
341
+ dryRun: z.boolean().optional(),
342
+ }),
343
+ handler: async ({ versionId, attributes, dryRun }) => {
344
+ const body = postBody("appStoreReviewDetails", attributes, { appStoreVersion: singleRel("appStoreVersions", versionId) });
345
+ return maybeSend(client, dryRun, "POST", `/appStoreReviewDetails`, body);
346
+ },
347
+ },
348
+ {
349
+ name: "asc_versions_update_review_details",
350
+ description: "Update App Store Review Detail attributes.",
351
+ inputSchema: z.object({
352
+ reviewDetailId: z.string(),
353
+ attributes: z.object({
354
+ contactFirstName: z.string().optional(),
355
+ contactLastName: z.string().optional(),
356
+ contactPhone: z.string().optional(),
357
+ contactEmail: z.string().optional(),
358
+ demoAccountName: z.string().nullable().optional(),
359
+ demoAccountPassword: z.string().nullable().optional(),
360
+ demoAccountRequired: z.boolean().optional(),
361
+ notes: z.string().nullable().optional(),
362
+ }),
363
+ dryRun: z.boolean().optional(),
364
+ }),
365
+ handler: async ({ reviewDetailId, attributes, dryRun }) => {
366
+ const body = patchBody("appStoreReviewDetails", reviewDetailId, attributes);
367
+ return maybeSend(client, dryRun, "PATCH", `/appStoreReviewDetails/${reviewDetailId}`, body);
368
+ },
369
+ },
370
+ // Age rating (scoped to App Info, not App Store Version, in current ASC API)
371
+ {
372
+ name: "asc_versions_update_age_rating_declaration",
373
+ description: "Update an Age Rating Declaration (questionnaire answers).",
374
+ inputSchema: z.object({
375
+ declarationId: z.string(),
376
+ attributes: z.record(z.string(), z.unknown()),
377
+ dryRun: z.boolean().optional(),
378
+ }),
379
+ handler: async ({ declarationId, attributes, dryRun }) => {
380
+ const body = patchBody("ageRatingDeclarations", declarationId, attributes);
381
+ return maybeSend(client, dryRun, "PATCH", `/ageRatingDeclarations/${declarationId}`, body);
382
+ },
383
+ },
384
+ // v2 Review submissions (preferred — supports IAP/version bundles)
385
+ {
386
+ name: "asc_review_submissions_create",
387
+ description: "Create a v2 Review Submission for an app (then add items, then submit).",
388
+ inputSchema: z.object({
389
+ appId: z.string(),
390
+ platform: z.enum(PLATFORMS),
391
+ dryRun: z.boolean().optional(),
392
+ }),
393
+ handler: async ({ appId, platform, dryRun }) => {
394
+ const body = postBody("reviewSubmissions", { platform }, { app: singleRel("apps", appId) });
395
+ return maybeSend(client, dryRun, "POST", `/reviewSubmissions`, body);
396
+ },
397
+ },
398
+ {
399
+ name: "asc_review_submissions_add_item",
400
+ description: "Add an item (App Store Version, IAP, or subscription) to a Review Submission.",
401
+ inputSchema: z.object({
402
+ submissionId: z.string(),
403
+ itemType: z.enum(["appStoreVersions", "inAppPurchases", "subscriptions"]),
404
+ itemId: z.string(),
405
+ dryRun: z.boolean().optional(),
406
+ }),
407
+ handler: async ({ submissionId, itemType, itemId, dryRun }) => {
408
+ const relName = itemType === "appStoreVersions" ? "appStoreVersion" : itemType === "inAppPurchases" ? "appCustomProductPageVersion" : "subscription";
409
+ // ASC uses the item-specific rel name; fallback to a generic one if needed.
410
+ const body = postBody("reviewSubmissionItems", undefined, {
411
+ reviewSubmission: singleRel("reviewSubmissions", submissionId),
412
+ [relName]: singleRel(itemType, itemId),
413
+ });
414
+ return maybeSend(client, dryRun, "POST", `/reviewSubmissionItems`, body);
415
+ },
416
+ },
417
+ {
418
+ name: "asc_review_submissions_submit",
419
+ description: "Submit a Review Submission for review (sets state to SUBMITTED).",
420
+ inputSchema: z.object({
421
+ submissionId: z.string(),
422
+ dryRun: z.boolean().optional(),
423
+ }),
424
+ handler: async ({ submissionId, dryRun }) => {
425
+ const body = patchBody("reviewSubmissions", submissionId, { submitted: true });
426
+ return maybeSend(client, dryRun, "PATCH", `/reviewSubmissions/${submissionId}`, body);
427
+ },
428
+ },
429
+ {
430
+ name: "asc_review_submissions_cancel",
431
+ description: "Cancel a Review Submission.",
432
+ inputSchema: z.object({
433
+ submissionId: z.string(),
434
+ dryRun: z.boolean().optional(),
435
+ }),
436
+ handler: async ({ submissionId, dryRun }) => {
437
+ const body = patchBody("reviewSubmissions", submissionId, { canceled: true });
438
+ return maybeSend(client, dryRun, "PATCH", `/reviewSubmissions/${submissionId}`, body);
439
+ },
440
+ },
441
+ ];
442
+ }
443
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/tools/versions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { AscClient } from "../client.js";
2
+ import type { ToolDef } from "./types.js";
3
+ export declare function workflowsTools(client: AscClient): ToolDef[];