@limrun/api 0.46.8 → 0.46.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.46.9 (2026-08-12)
4
+
5
+ Full Changelog: [v0.46.8...v0.46.9](https://github.com/limrun-inc/typescript-sdk/compare/v0.46.8...v0.46.9)
6
+
3
7
  ## 0.46.8 (2026-08-12)
4
8
 
5
9
  Full Changelog: [v0.46.7...v0.46.8](https://github.com/limrun-inc/typescript-sdk/compare/v0.46.7...v0.46.8)
package/exec-client.d.mts CHANGED
@@ -4,6 +4,31 @@
4
4
  * The interface is designed to be similar to Node.js's child_process.spawn()
5
5
  * for familiarity and ease of extension.
6
6
  */
7
+ /**
8
+ * Give-up policy for the exec event stream. The EventSource reconnects
9
+ * forever on its own, so a dead exec (deleted instance, expired record)
10
+ * would otherwise retry until the one-hour completion timeout. Proof of
11
+ * life resets the clock: a delivered event, or a clean connection that
12
+ * stays open healthyConnectionMs (long compiles stream nothing for
13
+ * minutes while intermediaries kill idle connections). The window is
14
+ * wide enough to ride out real transient outages (an ingress redeploy, a
15
+ * VPN reconnect); tightening it trades outage tolerance for faster
16
+ * dead-exec detection. It is measured in time, not attempts: the server
17
+ * steers the retry delay through SSE `retry:` frames, so an attempt
18
+ * count would put the give-up horizon under remote control.
19
+ *
20
+ * @internal Mutable for tests only.
21
+ */
22
+ export declare const sseStreamPolicy: {
23
+ healthyConnectionMs: number;
24
+ giveUpAfterMs: number;
25
+ };
26
+ /** The event stream kept failing past the give-up window; remote state unknown. */
27
+ export declare class ExecStreamLostError extends Error {
28
+ }
29
+ /** The server closed the event stream for good (HTTP 204). */
30
+ export declare class ExecStreamClosedError extends Error {
31
+ }
7
32
  export type ExecRequest = XcodeBuildExecRequest | GradleBuildExecRequest | RunExecRequest;
8
33
  export type XcodeBuildExecRequest = {
9
34
  command: 'xcodebuild';
@@ -193,6 +218,17 @@ export type ExecResult = {
193
218
  * running and may yet succeed.
194
219
  */
195
220
  timedOut?: boolean;
221
+ /**
222
+ * Why the client gave up, present exactly when timedOut is true.
223
+ * 'timeout' is the completion budget expiring on a live stream;
224
+ * 'stream-lost' means the event stream kept failing (the execution may
225
+ * no longer exist); 'stream-closed' means the server ended the stream
226
+ * for good.
227
+ */
228
+ incomplete?: {
229
+ reason: 'timeout' | 'stream-lost' | 'stream-closed';
230
+ message: string;
231
+ };
196
232
  };
197
233
  export type AppStoreEvent = {
198
234
  /** 'unknown' means an App Store upload event arrived but its payload was unreadable. */
@@ -281,6 +317,7 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
281
317
  private abortController;
282
318
  private sseConnection;
283
319
  private killed;
320
+ private streamDeadSince;
284
321
  private detached;
285
322
  private appStoreEvent;
286
323
  private playstoreEvent;
@@ -308,7 +345,8 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
308
345
  /**
309
346
  * Opens an SSE connection and routes streamed events to the exposed command/stdout/stderr streams.
310
347
  * Resolves with the exit code when an 'exitCode' event arrives.
311
- * Rejects when the abort signal fires (kill or cleanup).
348
+ * Rejects when the abort signal fires (kill or cleanup), when the server
349
+ * closes the stream for good, or when the give-up clock runs out.
312
350
  */
313
351
  private connectSSE;
314
352
  }
@@ -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
@@ -4,6 +4,31 @@
4
4
  * The interface is designed to be similar to Node.js's child_process.spawn()
5
5
  * for familiarity and ease of extension.
6
6
  */
7
+ /**
8
+ * Give-up policy for the exec event stream. The EventSource reconnects
9
+ * forever on its own, so a dead exec (deleted instance, expired record)
10
+ * would otherwise retry until the one-hour completion timeout. Proof of
11
+ * life resets the clock: a delivered event, or a clean connection that
12
+ * stays open healthyConnectionMs (long compiles stream nothing for
13
+ * minutes while intermediaries kill idle connections). The window is
14
+ * wide enough to ride out real transient outages (an ingress redeploy, a
15
+ * VPN reconnect); tightening it trades outage tolerance for faster
16
+ * dead-exec detection. It is measured in time, not attempts: the server
17
+ * steers the retry delay through SSE `retry:` frames, so an attempt
18
+ * count would put the give-up horizon under remote control.
19
+ *
20
+ * @internal Mutable for tests only.
21
+ */
22
+ export declare const sseStreamPolicy: {
23
+ healthyConnectionMs: number;
24
+ giveUpAfterMs: number;
25
+ };
26
+ /** The event stream kept failing past the give-up window; remote state unknown. */
27
+ export declare class ExecStreamLostError extends Error {
28
+ }
29
+ /** The server closed the event stream for good (HTTP 204). */
30
+ export declare class ExecStreamClosedError extends Error {
31
+ }
7
32
  export type ExecRequest = XcodeBuildExecRequest | GradleBuildExecRequest | RunExecRequest;
8
33
  export type XcodeBuildExecRequest = {
9
34
  command: 'xcodebuild';
@@ -193,6 +218,17 @@ export type ExecResult = {
193
218
  * running and may yet succeed.
194
219
  */
195
220
  timedOut?: boolean;
221
+ /**
222
+ * Why the client gave up, present exactly when timedOut is true.
223
+ * 'timeout' is the completion budget expiring on a live stream;
224
+ * 'stream-lost' means the event stream kept failing (the execution may
225
+ * no longer exist); 'stream-closed' means the server ended the stream
226
+ * for good.
227
+ */
228
+ incomplete?: {
229
+ reason: 'timeout' | 'stream-lost' | 'stream-closed';
230
+ message: string;
231
+ };
196
232
  };
197
233
  export type AppStoreEvent = {
198
234
  /** 'unknown' means an App Store upload event arrived but its payload was unreadable. */
@@ -281,6 +317,7 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
281
317
  private abortController;
282
318
  private sseConnection;
283
319
  private killed;
320
+ private streamDeadSince;
284
321
  private detached;
285
322
  private appStoreEvent;
286
323
  private playstoreEvent;
@@ -308,7 +345,8 @@ export declare class ExecChildProcess implements PromiseLike<ExecResult> {
308
345
  /**
309
346
  * Opens an SSE connection and routes streamed events to the exposed command/stdout/stderr streams.
310
347
  * Resolves with the exit code when an 'exitCode' event arrives.
311
- * Rejects when the abort signal fires (kill or cleanup).
348
+ * Rejects when the abort signal fires (kill or cleanup), when the server
349
+ * closes the stream for good, or when the give-up clock runs out.
312
350
  */
313
351
  private connectSSE;
314
352
  }
@@ -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
@@ -6,10 +6,38 @@
6
6
  * for familiarity and ease of extension.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ExecChildProcess = exports.ReadableStream = void 0;
9
+ exports.ExecChildProcess = exports.ReadableStream = exports.ExecStreamClosedError = exports.ExecStreamLostError = exports.sseStreamPolicy = void 0;
10
10
  exports.exec = exec;
11
11
  const eventsource_client_1 = require("eventsource-client");
12
12
  const proxy_transport_1 = require("./internal/proxy-transport.js");
13
+ const sse_fetch_1 = require("./internal/sse-fetch.js");
14
+ /**
15
+ * Give-up policy for the exec event stream. The EventSource reconnects
16
+ * forever on its own, so a dead exec (deleted instance, expired record)
17
+ * would otherwise retry until the one-hour completion timeout. Proof of
18
+ * life resets the clock: a delivered event, or a clean connection that
19
+ * stays open healthyConnectionMs (long compiles stream nothing for
20
+ * minutes while intermediaries kill idle connections). The window is
21
+ * wide enough to ride out real transient outages (an ingress redeploy, a
22
+ * VPN reconnect); tightening it trades outage tolerance for faster
23
+ * dead-exec detection. It is measured in time, not attempts: the server
24
+ * steers the retry delay through SSE `retry:` frames, so an attempt
25
+ * count would put the give-up horizon under remote control.
26
+ *
27
+ * @internal Mutable for tests only.
28
+ */
29
+ exports.sseStreamPolicy = {
30
+ healthyConnectionMs: 15000,
31
+ giveUpAfterMs: 300000,
32
+ };
33
+ /** The event stream kept failing past the give-up window; remote state unknown. */
34
+ class ExecStreamLostError extends Error {
35
+ }
36
+ exports.ExecStreamLostError = ExecStreamLostError;
37
+ /** The server closed the event stream for good (HTTP 204). */
38
+ class ExecStreamClosedError extends Error {
39
+ }
40
+ exports.ExecStreamClosedError = ExecStreamClosedError;
13
41
  /**
14
42
  * A Readable-like stream interface, similar to Node.js stream.Readable.
15
43
  * Emits 'data' for each chunk and 'close' when the stream ends.
@@ -70,6 +98,10 @@ class ExecChildProcess {
70
98
  this.abortController = new AbortController();
71
99
  this.sseConnection = null;
72
100
  this.killed = false;
101
+ // Start of the stream's current unbroken failure streak, 0 while
102
+ // healthy. run() reads it to classify a completion timeout that
103
+ // expired while the stream was already dead.
104
+ this.streamDeadSince = 0;
73
105
  this.detached = false;
74
106
  this.appStoreEvent = null;
75
107
  this.playstoreEvent = null;
@@ -227,24 +259,42 @@ class ExecChildProcess {
227
259
  }
228
260
  let exitCode;
229
261
  let timedOut = false;
262
+ let incomplete;
230
263
  let timeoutId;
231
264
  try {
232
265
  exitCode = await Promise.race([
233
266
  this.connectSSE(eventsUrl),
234
267
  new Promise((_, reject) => {
235
- timeoutId = setTimeout(() => reject(new Error('SSE timeout')), timeoutMs);
268
+ timeoutId = setTimeout(() => reject(new Error('SSE completion timeout')), timeoutMs);
236
269
  }),
237
270
  ]);
238
271
  }
239
- catch {
272
+ catch (err) {
240
273
  if (this.killed) {
241
274
  log('debug', 'Execution killed');
242
275
  exitCode = -1;
243
276
  }
244
277
  else {
245
- // The client stopped waiting; the remote build may still be running.
246
- // The fabricated exit code must not read as a build failure.
247
- log('warn', 'SSE completion timeout');
278
+ // The client stopped waiting; the fabricated exit code must not
279
+ // read as a build failure. The structured reason lets callers give
280
+ // the right advice: a dead stream means the execution may be gone,
281
+ // while a genuine timeout means it may still be running. A budget
282
+ // that expires mid-failure-streak (short run timeouts undercut the
283
+ // stream's own give-up window) counts as a stream problem too.
284
+ let message = err instanceof Error ? err.message : String(err);
285
+ const streakMs = this.streamDeadSince > 0 ? Date.now() - this.streamDeadSince : 0;
286
+ let reason = err instanceof ExecStreamClosedError ? 'stream-closed'
287
+ : err instanceof ExecStreamLostError ? 'stream-lost'
288
+ : 'timeout';
289
+ if (reason === 'timeout' && streakMs > 0) {
290
+ reason = 'stream-lost';
291
+ message =
292
+ `the completion budget expired while the event stream had already been failing ` +
293
+ `for ${Math.round(streakMs / 1000)}s; the execution may no longer exist ` +
294
+ `(instance deleted or record expired)`;
295
+ }
296
+ incomplete = { reason, message };
297
+ log('warn', message);
248
298
  exitCode = 1;
249
299
  timedOut = true;
250
300
  }
@@ -276,6 +326,7 @@ class ExecChildProcess {
276
326
  ...(this.appStoreEvent ? { appstore: this.appStoreEvent } : {}),
277
327
  ...(this.playstoreEvent ? { playstore: this.playstoreEvent } : {}),
278
328
  ...(timedOut ? { timedOut } : {}),
329
+ ...(incomplete ? { incomplete } : {}),
279
330
  };
280
331
  this.log('debug', `Execution finished: ${result.status} (exit ${result.exitCode})`);
281
332
  return result;
@@ -283,81 +334,176 @@ class ExecChildProcess {
283
334
  /**
284
335
  * Opens an SSE connection and routes streamed events to the exposed command/stdout/stderr streams.
285
336
  * Resolves with the exit code when an 'exitCode' event arrives.
286
- * Rejects when the abort signal fires (kill or cleanup).
337
+ * Rejects when the abort signal fires (kill or cleanup), when the server
338
+ * closes the stream for good, or when the give-up clock runs out.
287
339
  */
288
340
  connectSSE(eventsUrl) {
289
341
  return new Promise((resolve, reject) => {
290
- if (this.abortController.signal.aborted) {
342
+ const signal = this.abortController.signal;
343
+ if (signal.aborted) {
291
344
  reject(new Error('killed'));
292
345
  return;
293
346
  }
294
- try {
295
- const eventSource = (0, eventsource_client_1.createEventSource)({
296
- url: eventsUrl,
297
- fetch: proxy_transport_1.nodeProxyTransport.fetch,
298
- headers: { Authorization: `Bearer ${this.options.token}` },
299
- onMessage: (message) => {
300
- const data = typeof message.data === 'string' ? message.data : String(message.data ?? '');
301
- const eventType = message.event;
302
- if (eventType === 'command') {
303
- this.command.emit('data', data);
304
- }
305
- else if (eventType === 'stdout') {
306
- this.stdout.emit('data', data);
347
+ // Settle-once pair. Both paths close the source: the EventSource
348
+ // reconnects on its own otherwise, even after the promise is done.
349
+ let settled = false;
350
+ let connectedAt = 0;
351
+ let lastCycleAt = 0;
352
+ let lastCycleMono = 0;
353
+ let proofOfLifeThisCycle = false;
354
+ let cleanResponseThisCycle = false;
355
+ let lastStreamError;
356
+ const cleanup = () => {
357
+ eventSource.close();
358
+ signal.removeEventListener('abort', onAbort);
359
+ };
360
+ const succeed = (exitCode) => {
361
+ if (settled)
362
+ return;
363
+ settled = true;
364
+ cleanup();
365
+ resolve(exitCode);
366
+ };
367
+ const fail = (error) => {
368
+ if (settled)
369
+ return;
370
+ settled = true;
371
+ cleanup();
372
+ reject(error);
373
+ };
374
+ const onAbort = () => fail(new Error('killed'));
375
+ // Stream health is judged at the fetch surface, where the response
376
+ // status is visible; the library fires onConnect for error responses
377
+ // too, so an error page held open must not read as a healthy
378
+ // connection. An HTTP 204 makes the EventSource close for good
379
+ // without reporting anything, so it must fail here. A rejected fetch
380
+ // never reaches onDisconnect (the hazard sseFetch exists for):
381
+ // capture it for the give-up message and let the clock decide, so
382
+ // one transient refusal does not kill a live build.
383
+ const fetchWithStreamPolicy = async (input, init) => {
384
+ const response = await proxy_transport_1.nodeProxyTransport.fetch(input, init);
385
+ if (response.status === 204) {
386
+ fail(new ExecStreamClosedError(`event stream to ${eventsUrl} was closed by the server (HTTP 204)`));
387
+ }
388
+ else if (!response.ok) {
389
+ lastStreamError = new Error(`server answered HTTP ${response.status}`);
390
+ }
391
+ cleanResponseThisCycle = response.ok;
392
+ return response;
393
+ };
394
+ const eventSource = (0, eventsource_client_1.createEventSource)({
395
+ url: eventsUrl,
396
+ fetch: (0, sse_fetch_1.sseFetch)(fetchWithStreamPolicy, (err) => {
397
+ lastStreamError = err instanceof Error ? err : new Error(String(err));
398
+ }),
399
+ headers: { Authorization: `Bearer ${this.options.token}` },
400
+ onConnect: () => {
401
+ connectedAt = Date.now();
402
+ },
403
+ // Comments count as proof of life, so a server-side keepalive
404
+ // works without a client change (onMessage never sees them).
405
+ onComment: () => {
406
+ proofOfLifeThisCycle = true;
407
+ },
408
+ // Fires once per broken cycle, before the retry timer is armed, on
409
+ // both failure paths (request rejected, stream ended). This is
410
+ // where the give-up clock runs.
411
+ onScheduleReconnect: () => {
412
+ if (settled || this.killed) {
413
+ return;
414
+ }
415
+ const now = Date.now();
416
+ const mono = performance.now();
417
+ const livedMs = connectedAt > 0 ? now - connectedAt : 0;
418
+ connectedAt = 0;
419
+ // Date.now() is wall clock: a laptop waking from sleep (or a
420
+ // clock step) would arrive with the whole window already
421
+ // "elapsed" and fail on its first attempt. Sleep is the wall
422
+ // clock advancing while the monotonic clock stands still; a
423
+ // large drift between the two restarts the streak. Long server
424
+ // retry delays and hanging connects advance both clocks equally
425
+ // and keep counting.
426
+ if (this.streamDeadSince > 0 && lastCycleAt > 0) {
427
+ const wallGapMs = now - lastCycleAt;
428
+ const monoGapMs = mono - lastCycleMono;
429
+ if (wallGapMs - monoGapMs > 30000) {
430
+ this.streamDeadSince = now;
307
431
  }
308
- else if (eventType === 'stderr') {
309
- this.stderr.emit('data', data);
432
+ }
433
+ lastCycleAt = now;
434
+ lastCycleMono = mono;
435
+ const healthy = proofOfLifeThisCycle ||
436
+ (cleanResponseThisCycle && livedMs >= exports.sseStreamPolicy.healthyConnectionMs);
437
+ proofOfLifeThisCycle = false;
438
+ cleanResponseThisCycle = false;
439
+ if (healthy) {
440
+ this.streamDeadSince = 0;
441
+ lastStreamError = undefined;
442
+ return;
443
+ }
444
+ if (this.streamDeadSince === 0) {
445
+ this.streamDeadSince = now;
446
+ this.log('warn', 'SSE disconnected; reconnecting');
447
+ return;
448
+ }
449
+ if (now - this.streamDeadSince >= exports.sseStreamPolicy.giveUpAfterMs) {
450
+ const seconds = Math.round((now - this.streamDeadSince) / 1000);
451
+ const cause = lastStreamError ? `; last error: ${lastStreamError.message}` : '';
452
+ fail(new ExecStreamLostError(`event stream to ${eventsUrl} kept failing for ${seconds}s without delivering events${cause}; ` +
453
+ 'the execution may no longer exist (instance deleted or record expired)'));
454
+ }
455
+ },
456
+ onMessage: (message) => {
457
+ this.streamDeadSince = 0;
458
+ proofOfLifeThisCycle = true;
459
+ lastStreamError = undefined;
460
+ const data = typeof message.data === 'string' ? message.data : String(message.data ?? '');
461
+ const eventType = message.event;
462
+ if (eventType === 'command') {
463
+ this.command.emit('data', data);
464
+ }
465
+ else if (eventType === 'stdout') {
466
+ this.stdout.emit('data', data);
467
+ }
468
+ else if (eventType === 'stderr') {
469
+ this.stderr.emit('data', data);
470
+ }
471
+ else if (eventType === 'testflight') {
472
+ try {
473
+ this.appStoreEvent = JSON.parse(data);
310
474
  }
311
- else if (eventType === 'testflight') {
312
- try {
313
- this.appStoreEvent = JSON.parse(data);
314
- }
315
- catch {
316
- // The wire event itself proves the server ran the App Store upload,
317
- // so never let a payload glitch look like a missing feature.
318
- this.appStoreEvent = { state: 'unknown' };
319
- this.log('warn', `SSE testflight event has invalid data: ${data}`);
320
- }
475
+ catch {
476
+ // The wire event itself proves the server ran the App Store upload,
477
+ // so never let a payload glitch look like a missing feature.
478
+ this.appStoreEvent = { state: 'unknown' };
479
+ this.log('warn', `SSE testflight event has invalid data: ${data}`);
321
480
  }
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
- }
481
+ }
482
+ else if (eventType === 'playstore') {
483
+ try {
484
+ this.playstoreEvent = JSON.parse(data);
333
485
  }
334
- else if (eventType === 'exitCode') {
335
- const exitCode = parseInt(data, 10);
336
- if (Number.isNaN(exitCode)) {
337
- this.log('warn', `SSE exitCode event has invalid data: ${data}`);
338
- return;
339
- }
340
- this.log('debug', `Execution completed via SSE: exitCode=${exitCode}`);
341
- resolve(exitCode);
486
+ catch {
487
+ // Same contract as the App Store upload event: its presence proves the server
488
+ // ran the Play Store step, so a payload glitch must not
489
+ // read as a missing feature.
490
+ this.playstoreEvent = { state: 'unknown' };
491
+ this.log('warn', `SSE playstore event has invalid data: ${data}`);
342
492
  }
343
- },
344
- onDisconnect: () => {
345
- if (!this.killed) {
346
- this.log('warn', 'SSE disconnected');
493
+ }
494
+ else if (eventType === 'exitCode') {
495
+ const exitCode = parseInt(data, 10);
496
+ if (Number.isNaN(exitCode)) {
497
+ this.log('warn', `SSE exitCode event has invalid data: ${data}`);
498
+ return;
347
499
  }
348
- },
349
- });
350
- this.sseConnection = eventSource;
351
- this.abortController.signal.addEventListener('abort', () => reject(new Error('killed')), {
352
- once: true,
353
- });
354
- }
355
- catch (err) {
356
- if (!this.killed) {
357
- this.log('warn', `SSE setup failed: ${err}`);
358
- }
359
- reject(err);
360
- }
500
+ this.log('debug', `Execution completed via SSE: exitCode=${exitCode}`);
501
+ succeed(exitCode);
502
+ }
503
+ },
504
+ });
505
+ this.sseConnection = eventSource;
506
+ signal.addEventListener('abort', onAbort, { once: true });
361
507
  });
362
508
  }
363
509
  }
@@ -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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"}