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