@limrun/api 0.45.0 → 0.45.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/exec-client.d.mts +82 -10
  3. package/exec-client.d.mts.map +1 -1
  4. package/exec-client.d.ts +82 -10
  5. package/exec-client.d.ts.map +1 -1
  6. package/exec-client.js +55 -6
  7. package/exec-client.js.map +1 -1
  8. package/exec-client.mjs +55 -6
  9. package/exec-client.mjs.map +1 -1
  10. package/index.d.mts +1 -1
  11. package/index.d.mts.map +1 -1
  12. package/index.d.ts +1 -1
  13. package/index.d.ts.map +1 -1
  14. package/index.js.map +1 -1
  15. package/index.mjs.map +1 -1
  16. package/package.json +1 -1
  17. package/resources/daemon-client-shared.d.mts +1 -1
  18. package/resources/daemon-client-shared.d.mts.map +1 -1
  19. package/resources/daemon-client-shared.d.ts +1 -1
  20. package/resources/daemon-client-shared.d.ts.map +1 -1
  21. package/resources/gradle-instances-helpers.d.mts +8 -3
  22. package/resources/gradle-instances-helpers.d.mts.map +1 -1
  23. package/resources/gradle-instances-helpers.d.ts +8 -3
  24. package/resources/gradle-instances-helpers.d.ts.map +1 -1
  25. package/resources/gradle-instances-helpers.js +1 -0
  26. package/resources/gradle-instances-helpers.js.map +1 -1
  27. package/resources/gradle-instances-helpers.mjs +1 -0
  28. package/resources/gradle-instances-helpers.mjs.map +1 -1
  29. package/resources/xcode-instances-helpers.d.mts +10 -8
  30. package/resources/xcode-instances-helpers.d.mts.map +1 -1
  31. package/resources/xcode-instances-helpers.d.ts +10 -8
  32. package/resources/xcode-instances-helpers.d.ts.map +1 -1
  33. package/resources/xcode-instances-helpers.js +3 -1
  34. package/resources/xcode-instances-helpers.js.map +1 -1
  35. package/resources/xcode-instances-helpers.mjs +3 -1
  36. package/resources/xcode-instances-helpers.mjs.map +1 -1
  37. package/src/exec-client.ts +129 -15
  38. package/src/index.ts +4 -2
  39. package/src/resources/daemon-client-shared.ts +1 -1
  40. package/src/resources/gradle-instances-helpers.ts +9 -2
  41. package/src/resources/xcode-instances-helpers.ts +14 -9
  42. package/src/version.ts +1 -1
  43. package/version.d.mts +1 -1
  44. package/version.d.ts +1 -1
  45. package/version.js +1 -1
  46. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.45.2 (2026-07-27)
4
+
5
+ Full Changelog: [v0.45.1...v0.45.2](https://github.com/limrun-inc/typescript-sdk/compare/v0.45.1...v0.45.2)
6
+
7
+ ### Styles
8
+
9
+ * format merged publishing example ([5160217](https://github.com/limrun-inc/typescript-sdk/commit/5160217061f4c5b203baf5d80a732fabae2472e8))
10
+
11
+ ## 0.45.1 (2026-07-25)
12
+
13
+ Full Changelog: [v0.45.0...v0.45.1](https://github.com/limrun-inc/typescript-sdk/compare/v0.45.0...v0.45.1)
14
+
3
15
  ## 0.45.0 (2026-07-24)
4
16
 
5
17
  Full Changelog: [v0.44.1...v0.45.0](https://github.com/limrun-inc/typescript-sdk/compare/v0.44.1...v0.45.0)
package/exec-client.d.mts CHANGED
@@ -28,7 +28,8 @@ export type XcodeBuildExecRequest = {
28
28
  certificatePassword?: string;
29
29
  provisioningProfileBase64?: string;
30
30
  };
31
- testflight?: TestflightUploadConfig;
31
+ /** Wire name retained for compatibility with the limbuild exec API. */
32
+ testflight?: AppStoreUploadConfig;
32
33
  buildSettings?: Record<string, string>;
33
34
  gitInit?: boolean;
34
35
  signedUploadUrl?: string;
@@ -96,18 +97,60 @@ export type GradleSigningConfig = {
96
97
  };
97
98
  export type GradleBuildExecRequest = {
98
99
  command: 'gradlebuild';
99
- /** Gradle tasks to run. Omit for the server default (assembleDebug). */
100
+ /**
101
+ * Gradle tasks to run. Omit for the server default (assembleDebug, or
102
+ * bundleRelease when signing is set).
103
+ */
100
104
  tasks?: string[];
101
105
  /** Relative path to the Gradle root when auto-discovery is ambiguous. */
102
106
  projectPath?: string;
103
107
  reactNative?: GradleReactNativeConfig;
104
108
  signing?: GradleSigningConfig;
109
+ playstore?: GradlePlaystoreConfig;
105
110
  signedUploadUrl?: string;
106
111
  webhook?: WebhookConfig;
107
112
  additionalMetadata?: {
108
113
  signedDownloadUrl?: string;
109
114
  };
110
115
  };
116
+ /**
117
+ * Publish the built AAB to a Google Play track after a successful build.
118
+ * Requires signing. Exactly one of accessToken or serviceAccountJsonBase64
119
+ * must be set; the credential is held in memory for the build duration
120
+ * only. Progress and failure causes stream as `playstore` SSE events.
121
+ */
122
+ export type GradlePlaystoreConfig = {
123
+ /** OAuth bearer token carrying the androidpublisher scope. */
124
+ accessToken?: string;
125
+ /** Base64-encoded service-account JSON key invited in Play Console. */
126
+ serviceAccountJsonBase64?: string;
127
+ /**
128
+ * Play track ID, passed to Google verbatim: internal (default), alpha,
129
+ * beta, production, or a custom closed-testing track. Publishing
130
+ * replaces the track's existing releases, including an in-progress
131
+ * staged rollout on that track.
132
+ */
133
+ track?: string;
134
+ /**
135
+ * completed (default) makes the release live on the track; draft
136
+ * commits it without rollout. Publishing to the production track
137
+ * requires setting it explicitly.
138
+ */
139
+ releaseStatus?: 'draft' | 'completed';
140
+ /** Package name to publish under. Omit to read it from the built AAB. */
141
+ packageName?: string;
142
+ /**
143
+ * Set the versionCode to one more than the highest already known to
144
+ * Google Play (1 for an app with no artifacts), so repeat publishes
145
+ * never collide. Resolved with the publish credential before the build
146
+ * and stamped into the workspace copy: android.versionCode in the Expo
147
+ * config (requires a static app.json), or the single literal
148
+ * versionCode in a native project's conventional app/ module build
149
+ * script (computed or flavor-split versionCodes are rejected at
150
+ * request time).
151
+ */
152
+ autoIncrementVersionCode?: boolean;
153
+ };
111
154
  export type RunExecRequest = {
112
155
  command: 'run';
113
156
  commandLine: string;
@@ -126,10 +169,16 @@ export type ExecResult = {
126
169
  status: 'SUCCEEDED' | 'FAILED' | 'CANCELLED';
127
170
  signedDownloadUrl?: string;
128
171
  /**
129
- * Last TestFlight state streamed by the server. Absent when the build ran
130
- * without a testflight request, or when the server predates the feature.
172
+ * Last App Store Connect upload state streamed by the server. Absent when
173
+ * the build ran without an App Store upload, or when the server predates
174
+ * the feature.
175
+ */
176
+ appstore?: AppStoreEvent;
177
+ /**
178
+ * Last Play Store state streamed by the server. Absent when the build ran
179
+ * without a playstore request, or when the server predates the feature.
131
180
  */
132
- testflight?: TestflightEvent;
181
+ playstore?: PlaystoreEvent;
133
182
  /**
134
183
  * True when the client gave up waiting for the build's event stream. The
135
184
  * exit code is fabricated in that case; the remote build may still be
@@ -137,13 +186,22 @@ export type ExecResult = {
137
186
  */
138
187
  timedOut?: boolean;
139
188
  };
140
- export type TestflightEvent = {
141
- /** 'unknown' means a testflight event arrived but its payload was unreadable. */
189
+ export type AppStoreEvent = {
190
+ /** 'unknown' means an App Store upload event arrived but its payload was unreadable. */
142
191
  state: 'uploading' | 'processing' | 'accepted' | 'failed' | 'unknown';
143
192
  uploadId?: string;
144
193
  buildId?: string;
145
194
  };
146
- export type TestflightUploadConfig = {
195
+ export type PlaystoreEvent = {
196
+ /** 'unknown' means a playstore event arrived but its payload was unreadable. */
197
+ state: 'uploading' | 'accepted' | 'failed' | 'unknown';
198
+ versionCode?: number;
199
+ track?: string;
200
+ /** Machine-readable failure code; present only on failed. */
201
+ code?: string;
202
+ message?: string;
203
+ };
204
+ export type AppStoreUploadConfig = {
147
205
  /** App Store Connect API key ID, e.g. 2X9R4HXF34. */
148
206
  apiKeyId: string;
149
207
  /** Issuer ID for team API keys. Omit for individual API keys. */
@@ -154,7 +212,9 @@ export type TestflightUploadConfig = {
154
212
  * How long the server watches for App Store Connect's processing verdict
155
213
  * after the upload. A FAILED verdict within the window fails the build;
156
214
  * expiry without a verdict succeeds with the build still processing on
157
- * Apple's side. 0 skips the watch. Defaults to 120.
215
+ * Apple's side. Defaults to 0, which returns as soon as the upload
216
+ * commits without watching the verdict (processing routinely takes many
217
+ * minutes).
158
218
  */
159
219
  waitTimeoutSeconds?: number;
160
220
  };
@@ -201,11 +261,16 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
201
261
  /** The remote process/build identifier (similar to pid in Node.js) */
202
262
  execId: string | undefined;
203
263
  private readonly resultPromise;
264
+ private readonly startedPromise;
265
+ private resolveStarted;
266
+ private rejectStarted;
204
267
  private readonly exitListeners;
205
268
  private abortController;
206
269
  private sseConnection;
207
270
  private killed;
208
- private testflightEvent;
271
+ private detached;
272
+ private appStoreEvent;
273
+ private playstoreEvent;
209
274
  private readonly options;
210
275
  private readonly log;
211
276
  constructor(request: ExecRequest | Promise<ExecRequest>, options: ExecOptions);
@@ -217,6 +282,13 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
217
282
  finally(onfinally?: (() => void) | null): Promise<ExecResult>;
218
283
  /** Listen for process events */
219
284
  on(event: 'exit', listener: ExitListener): this;
285
+ /**
286
+ * Return once the remote execution has been accepted, without opening its
287
+ * event stream or waiting for completion. Call immediately after creating
288
+ * the process. The remote execution keeps running; use a build-finish
289
+ * webhook or the build-log APIs to observe its terminal result.
290
+ */
291
+ detach(): Promise<string>;
220
292
  /** Send a signal to terminate the process */
221
293
  kill(): Promise<void>;
222
294
  private run;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-client.d.mts","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-client.d.mts","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}
package/exec-client.d.ts CHANGED
@@ -28,7 +28,8 @@ export type XcodeBuildExecRequest = {
28
28
  certificatePassword?: string;
29
29
  provisioningProfileBase64?: string;
30
30
  };
31
- testflight?: TestflightUploadConfig;
31
+ /** Wire name retained for compatibility with the limbuild exec API. */
32
+ testflight?: AppStoreUploadConfig;
32
33
  buildSettings?: Record<string, string>;
33
34
  gitInit?: boolean;
34
35
  signedUploadUrl?: string;
@@ -96,18 +97,60 @@ export type GradleSigningConfig = {
96
97
  };
97
98
  export type GradleBuildExecRequest = {
98
99
  command: 'gradlebuild';
99
- /** Gradle tasks to run. Omit for the server default (assembleDebug). */
100
+ /**
101
+ * Gradle tasks to run. Omit for the server default (assembleDebug, or
102
+ * bundleRelease when signing is set).
103
+ */
100
104
  tasks?: string[];
101
105
  /** Relative path to the Gradle root when auto-discovery is ambiguous. */
102
106
  projectPath?: string;
103
107
  reactNative?: GradleReactNativeConfig;
104
108
  signing?: GradleSigningConfig;
109
+ playstore?: GradlePlaystoreConfig;
105
110
  signedUploadUrl?: string;
106
111
  webhook?: WebhookConfig;
107
112
  additionalMetadata?: {
108
113
  signedDownloadUrl?: string;
109
114
  };
110
115
  };
116
+ /**
117
+ * Publish the built AAB to a Google Play track after a successful build.
118
+ * Requires signing. Exactly one of accessToken or serviceAccountJsonBase64
119
+ * must be set; the credential is held in memory for the build duration
120
+ * only. Progress and failure causes stream as `playstore` SSE events.
121
+ */
122
+ export type GradlePlaystoreConfig = {
123
+ /** OAuth bearer token carrying the androidpublisher scope. */
124
+ accessToken?: string;
125
+ /** Base64-encoded service-account JSON key invited in Play Console. */
126
+ serviceAccountJsonBase64?: string;
127
+ /**
128
+ * Play track ID, passed to Google verbatim: internal (default), alpha,
129
+ * beta, production, or a custom closed-testing track. Publishing
130
+ * replaces the track's existing releases, including an in-progress
131
+ * staged rollout on that track.
132
+ */
133
+ track?: string;
134
+ /**
135
+ * completed (default) makes the release live on the track; draft
136
+ * commits it without rollout. Publishing to the production track
137
+ * requires setting it explicitly.
138
+ */
139
+ releaseStatus?: 'draft' | 'completed';
140
+ /** Package name to publish under. Omit to read it from the built AAB. */
141
+ packageName?: string;
142
+ /**
143
+ * Set the versionCode to one more than the highest already known to
144
+ * Google Play (1 for an app with no artifacts), so repeat publishes
145
+ * never collide. Resolved with the publish credential before the build
146
+ * and stamped into the workspace copy: android.versionCode in the Expo
147
+ * config (requires a static app.json), or the single literal
148
+ * versionCode in a native project's conventional app/ module build
149
+ * script (computed or flavor-split versionCodes are rejected at
150
+ * request time).
151
+ */
152
+ autoIncrementVersionCode?: boolean;
153
+ };
111
154
  export type RunExecRequest = {
112
155
  command: 'run';
113
156
  commandLine: string;
@@ -126,10 +169,16 @@ export type ExecResult = {
126
169
  status: 'SUCCEEDED' | 'FAILED' | 'CANCELLED';
127
170
  signedDownloadUrl?: string;
128
171
  /**
129
- * Last TestFlight state streamed by the server. Absent when the build ran
130
- * without a testflight request, or when the server predates the feature.
172
+ * Last App Store Connect upload state streamed by the server. Absent when
173
+ * the build ran without an App Store upload, or when the server predates
174
+ * the feature.
175
+ */
176
+ appstore?: AppStoreEvent;
177
+ /**
178
+ * Last Play Store state streamed by the server. Absent when the build ran
179
+ * without a playstore request, or when the server predates the feature.
131
180
  */
132
- testflight?: TestflightEvent;
181
+ playstore?: PlaystoreEvent;
133
182
  /**
134
183
  * True when the client gave up waiting for the build's event stream. The
135
184
  * exit code is fabricated in that case; the remote build may still be
@@ -137,13 +186,22 @@ export type ExecResult = {
137
186
  */
138
187
  timedOut?: boolean;
139
188
  };
140
- export type TestflightEvent = {
141
- /** 'unknown' means a testflight event arrived but its payload was unreadable. */
189
+ export type AppStoreEvent = {
190
+ /** 'unknown' means an App Store upload event arrived but its payload was unreadable. */
142
191
  state: 'uploading' | 'processing' | 'accepted' | 'failed' | 'unknown';
143
192
  uploadId?: string;
144
193
  buildId?: string;
145
194
  };
146
- export type TestflightUploadConfig = {
195
+ export type PlaystoreEvent = {
196
+ /** 'unknown' means a playstore event arrived but its payload was unreadable. */
197
+ state: 'uploading' | 'accepted' | 'failed' | 'unknown';
198
+ versionCode?: number;
199
+ track?: string;
200
+ /** Machine-readable failure code; present only on failed. */
201
+ code?: string;
202
+ message?: string;
203
+ };
204
+ export type AppStoreUploadConfig = {
147
205
  /** App Store Connect API key ID, e.g. 2X9R4HXF34. */
148
206
  apiKeyId: string;
149
207
  /** Issuer ID for team API keys. Omit for individual API keys. */
@@ -154,7 +212,9 @@ export type TestflightUploadConfig = {
154
212
  * How long the server watches for App Store Connect's processing verdict
155
213
  * after the upload. A FAILED verdict within the window fails the build;
156
214
  * expiry without a verdict succeeds with the build still processing on
157
- * Apple's side. 0 skips the watch. Defaults to 120.
215
+ * Apple's side. Defaults to 0, which returns as soon as the upload
216
+ * commits without watching the verdict (processing routinely takes many
217
+ * minutes).
158
218
  */
159
219
  waitTimeoutSeconds?: number;
160
220
  };
@@ -201,11 +261,16 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
201
261
  /** The remote process/build identifier (similar to pid in Node.js) */
202
262
  execId: string | undefined;
203
263
  private readonly resultPromise;
264
+ private readonly startedPromise;
265
+ private resolveStarted;
266
+ private rejectStarted;
204
267
  private readonly exitListeners;
205
268
  private abortController;
206
269
  private sseConnection;
207
270
  private killed;
208
- private testflightEvent;
271
+ private detached;
272
+ private appStoreEvent;
273
+ private playstoreEvent;
209
274
  private readonly options;
210
275
  private readonly log;
211
276
  constructor(request: ExecRequest | Promise<ExecRequest>, options: ExecOptions);
@@ -217,6 +282,13 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
217
282
  finally(onfinally?: (() => void) | null): Promise<ExecResult>;
218
283
  /** Listen for process events */
219
284
  on(event: 'exit', listener: ExitListener): this;
285
+ /**
286
+ * Return once the remote execution has been accepted, without opening its
287
+ * event stream or waiting for completion. Call immediately after creating
288
+ * the process. The remote execution keeps running; use a build-finish
289
+ * webhook or the build-log APIs to observe its terminal result.
290
+ */
291
+ detach(): Promise<string>;
220
292
  /** Send a signal to terminate the process */
221
293
  kill(): Promise<void>;
222
294
  private run;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-client.d.ts","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-client.d.ts","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}
package/exec-client.js CHANGED
@@ -70,15 +70,26 @@ class ExecChildProcess {
70
70
  this.abortController = new AbortController();
71
71
  this.sseConnection = null;
72
72
  this.killed = false;
73
- this.testflightEvent = null;
73
+ this.detached = false;
74
+ this.appStoreEvent = null;
75
+ this.playstoreEvent = null;
74
76
  this.options = options;
75
77
  this.log = options.log ?? (() => { });
78
+ this.startedPromise = new Promise((resolve, reject) => {
79
+ this.resolveStarted = resolve;
80
+ this.rejectStarted = reject;
81
+ });
82
+ // Most callers await the terminal result and never call detach(); keep the
83
+ // dormant startup promise from becoming an unhandled rejection for them.
84
+ void this.startedPromise.catch(() => { });
76
85
  if (request instanceof Promise) {
77
86
  this.resultPromise = request.then((r) => this.run(r));
78
87
  }
79
88
  else {
80
89
  this.resultPromise = this.run(request);
81
90
  }
91
+ // Fail detach() as well when request preparation or POST /exec fails.
92
+ void this.resultPromise.catch((err) => this.rejectStarted(err));
82
93
  }
83
94
  /** Implement PromiseLike so this object can be awaited */
84
95
  then(onfulfilled, onrejected) {
@@ -99,6 +110,20 @@ class ExecChildProcess {
99
110
  }
100
111
  return this;
101
112
  }
113
+ /**
114
+ * Return once the remote execution has been accepted, without opening its
115
+ * event stream or waiting for completion. Call immediately after creating
116
+ * the process. The remote execution keeps running; use a build-finish
117
+ * webhook or the build-log APIs to observe its terminal result.
118
+ */
119
+ detach() {
120
+ this.detached = true;
121
+ // The caller observes startup failures through startedPromise. Mark the
122
+ // completion promise handled because detached callers intentionally never
123
+ // await it.
124
+ void this.resultPromise.catch(() => { });
125
+ return this.startedPromise;
126
+ }
102
127
  /** Send a signal to terminate the process */
103
128
  async kill() {
104
129
  this.killed = true;
@@ -151,6 +176,7 @@ class ExecChildProcess {
151
176
  }
152
177
  catch (err) {
153
178
  if (this.killed) {
179
+ this.rejectStarted(new Error('Execution cancelled before it started'));
154
180
  this.command.emit('close');
155
181
  this.stdout.emit('close');
156
182
  this.stderr.emit('close');
@@ -177,6 +203,16 @@ class ExecChildProcess {
177
203
  const execData = (await execRes.json());
178
204
  this.execId = execData.execId;
179
205
  log('debug', `Execution started: ${this.execId}`);
206
+ this.resolveStarted(this.execId);
207
+ if (this.detached) {
208
+ // An unresolved promise holds no Node.js event-loop resources. Keeping
209
+ // the terminal result pending accurately reflects that this client
210
+ // deliberately stopped observing the remote execution.
211
+ this.command.emit('close');
212
+ this.stdout.emit('close');
213
+ this.stderr.emit('close');
214
+ return new Promise(() => { });
215
+ }
180
216
  // 2. Stream logs via SSE and wait for exit code
181
217
  const eventsUrl = `${apiUrl}/exec/${this.execId}/events`;
182
218
  // 1 hour max for the build itself; a TestFlight request extends the
@@ -184,7 +220,7 @@ class ExecChildProcess {
184
220
  // build is not force-failed client-side while the server still succeeds.
185
221
  let timeoutMs = 3600 * 1000;
186
222
  if (request.command === 'xcodebuild' && request.testflight) {
187
- timeoutMs += (Math.max(0, request.testflight.waitTimeoutSeconds ?? 120) + 900) * 1000;
223
+ timeoutMs += (Math.max(0, request.testflight.waitTimeoutSeconds ?? 0) + 900) * 1000;
188
224
  }
189
225
  else if (request.command === 'run') {
190
226
  timeoutMs = (Math.max(1, request.timeoutSeconds ?? 3600) + 60) * 1000;
@@ -237,7 +273,8 @@ class ExecChildProcess {
237
273
  execId: this.execId,
238
274
  status,
239
275
  ...('additionalMetadata' in request ? request.additionalMetadata ?? {} : {}),
240
- ...(this.testflightEvent ? { testflight: this.testflightEvent } : {}),
276
+ ...(this.appStoreEvent ? { appstore: this.appStoreEvent } : {}),
277
+ ...(this.playstoreEvent ? { playstore: this.playstoreEvent } : {}),
241
278
  ...(timedOut ? { timedOut } : {}),
242
279
  };
243
280
  this.log('debug', `Execution finished: ${result.status} (exit ${result.exitCode})`);
@@ -273,15 +310,27 @@ class ExecChildProcess {
273
310
  }
274
311
  else if (eventType === 'testflight') {
275
312
  try {
276
- this.testflightEvent = JSON.parse(data);
313
+ this.appStoreEvent = JSON.parse(data);
277
314
  }
278
315
  catch {
279
- // The event itself proves the server ran the TestFlight step,
316
+ // The wire event itself proves the server ran the App Store upload,
280
317
  // so never let a payload glitch look like a missing feature.
281
- this.testflightEvent = { state: 'unknown' };
318
+ this.appStoreEvent = { state: 'unknown' };
282
319
  this.log('warn', `SSE testflight event has invalid data: ${data}`);
283
320
  }
284
321
  }
322
+ else if (eventType === 'playstore') {
323
+ try {
324
+ this.playstoreEvent = JSON.parse(data);
325
+ }
326
+ catch {
327
+ // Same contract as the App Store upload event: its presence proves the server
328
+ // ran the Play Store step, so a payload glitch must not
329
+ // read as a missing feature.
330
+ this.playstoreEvent = { state: 'unknown' };
331
+ this.log('warn', `SSE playstore event has invalid data: ${data}`);
332
+ }
333
+ }
285
334
  else if (eventType === 'exitCode') {
286
335
  const exitCode = parseInt(data, 10);
287
336
  if (Number.isNaN(exitCode)) {
@@ -1 +1 @@
1
- {"version":3,"file":"exec-client.js","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-client.js","sourceRoot":"","sources":["src/exec-client.ts"],"names":[],"mappings":"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"}