@electron-stagewright/host-supervisor 0.1.0 → 0.2.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.
package/dist/host.js CHANGED
@@ -23,11 +23,22 @@ function raceTimeout(promise, ms) {
23
23
  ]).finally(() => clearTimeout(timer));
24
24
  }
25
25
  const HOST_CODES = new Set(HOST_ERROR_CODES);
26
- function remoteError(serialized) {
26
+ function supervisorError(serialized) {
27
27
  if (serialized.name === 'HostError' && serialized.code && HOST_CODES.has(serialized.code)) {
28
28
  return new HostError(serialized.code, serialized.message);
29
29
  }
30
- return deserializeError(serialized);
30
+ return null;
31
+ }
32
+ function warn(error) {
33
+ process.emitWarning(error instanceof Error ? error : new Error(String(error)));
34
+ }
35
+ /** Runs a listener outside the transport's callback, so a throw cannot escape as uncaught. */
36
+ function notify(listener, value) {
37
+ if (!listener)
38
+ return;
39
+ Promise.resolve()
40
+ .then(() => listener(value))
41
+ .catch(warn);
31
42
  }
32
43
  function normalizeDecision(decision) {
33
44
  if (decision === 'fatal' || decision === 'on-demand' || decision === 'restart') {
@@ -40,6 +51,13 @@ function normalizeDecision(decision) {
40
51
  // Anything else is a policy bug; refusing to restart is the safe reading.
41
52
  return { action: 'fatal', delayMs: 0 };
42
53
  }
54
+ const MAX_TIMER_MS = 2_147_483_647;
55
+ function checkGraceMs(value) {
56
+ if (value === undefined || (Number.isFinite(value) && value >= 0 && value <= MAX_TIMER_MS)) {
57
+ return value;
58
+ }
59
+ throw new RangeError(`abortGraceMs must be between 0 and ${MAX_TIMER_MS} ms, not ${value}`);
60
+ }
43
61
  export function createHost(options) {
44
62
  const callOps = new Set(options.operations);
45
63
  const streamOps = new Set(options.streams ?? []);
@@ -47,6 +65,7 @@ export function createHost(options) {
47
65
  const retireWaitMs = options.stop?.retireWaitMs ?? DEFAULT_RETIRE_WAIT_MS;
48
66
  const maxPending = options.limits?.maxPending ?? Number.POSITIVE_INFINITY;
49
67
  const defaultTimeoutMs = options.limits?.callTimeoutMs;
68
+ const defaultGraceMs = checkGraceMs(options.limits?.abortGraceMs);
50
69
  const onExit = options.onExit ?? (() => 'fatal');
51
70
  const now = options.now ?? Date.now;
52
71
  let state = 'idle';
@@ -60,7 +79,36 @@ export function createHost(options) {
60
79
  let closeRequested = false;
61
80
  let wakeDelay = null;
62
81
  let nextId = 1;
82
+ let launches = 0;
83
+ /** The exit an `on-demand` decision left unanswered, reported with the next start. */
84
+ let pendingRestart = null;
85
+ /** A restart a pause interrupted, launched again by `resume()`. */
86
+ let restartHeld = false;
87
+ let paused = null;
88
+ let resumeGate = null;
63
89
  const pending = new Map();
90
+ /** Calls wait for `resume()` from a pause until the hosts it held may start again. */
91
+ const holding = () => !closeRequested && resumeGate !== null && paused?.calls !== 'reject';
92
+ function pausedError() {
93
+ return new HostError('HOST_PAUSED', 'The host is paused');
94
+ }
95
+ function started(life, restart) {
96
+ launches++;
97
+ notify(options.onStarted, { info: life.info, launches, restart });
98
+ }
99
+ function remoteError(serialized) {
100
+ const own = supervisorError(serialized);
101
+ if (own)
102
+ return own;
103
+ let revived;
104
+ try {
105
+ revived = options.errors?.revive?.(serialized);
106
+ }
107
+ catch {
108
+ // A reviver that throws falls back to the plain rebuild.
109
+ }
110
+ return revived instanceof Error ? revived : deserializeError(serialized);
111
+ }
64
112
  function unavailable() {
65
113
  if (state === 'fatal') {
66
114
  return new HostError('HOST_FATAL', 'The host exited and will not be restarted', {
@@ -113,6 +161,22 @@ export function createHost(options) {
113
161
  else
114
162
  entry.error = error;
115
163
  }
164
+ /** Forwards the abort and keeps the call open for the host's own answer, within the grace. */
165
+ function settleAfterAbort(entry, life, graceMs, reason) {
166
+ entry.detachAbort?.();
167
+ entry.detachAbort = null;
168
+ if (entry.timer)
169
+ clearTimeout(entry.timer);
170
+ try {
171
+ life.channel.send({ type: 'cancel', id: entry.id });
172
+ }
173
+ catch {
174
+ // The host is going away; its exit settles the call.
175
+ }
176
+ entry.timer = unref(setTimeout(() => {
177
+ finish(entry, new HostError('HOST_ABORT_UNSETTLED', `The host did not settle the aborted call within ${graceMs} ms`, { cause: reason }), false);
178
+ }, graceMs));
179
+ }
116
180
  function armTimer(entry) {
117
181
  if (entry.timeoutMs === undefined || entry.timer)
118
182
  return;
@@ -121,7 +185,11 @@ export function createHost(options) {
121
185
  }, entry.timeoutMs));
122
186
  }
123
187
  function admit(stream, callOptions) {
124
- if (state === 'fatal' || state === 'closed' || state === 'stopping')
188
+ if (state === 'fatal' || state === 'closed')
189
+ throw unavailable();
190
+ if (paused?.calls === 'reject')
191
+ throw pausedError();
192
+ if (state === 'stopping' && !holding())
125
193
  throw unavailable();
126
194
  if (pending.size >= maxPending) {
127
195
  throw new HostError('HOST_QUEUE_FULL', `More than ${maxPending} calls are pending`);
@@ -134,6 +202,7 @@ export function createHost(options) {
134
202
  id: nextId++,
135
203
  stream,
136
204
  timeoutMs: callOptions?.timeoutMs ?? defaultTimeoutMs,
205
+ graceMs: checkGraceMs(callOptions?.abortGraceMs ?? defaultGraceMs),
137
206
  life: null,
138
207
  done: false,
139
208
  error: null,
@@ -142,7 +211,14 @@ export function createHost(options) {
142
211
  detachAbort: null,
143
212
  };
144
213
  if (signal) {
145
- const onAbort = () => finish(entry, new HostError('HOST_CALL_ABORTED', 'The call was aborted', { cause: signal.reason }), true);
214
+ const onAbort = () => {
215
+ const life = entry.life;
216
+ if (entry.stream || entry.graceMs === undefined || !life || life.exited) {
217
+ finish(entry, new HostError('HOST_CALL_ABORTED', 'The call was aborted', { cause: signal.reason }), true);
218
+ return;
219
+ }
220
+ settleAfterAbort(entry, life, entry.graceMs, signal.reason);
221
+ };
146
222
  signal.addEventListener('abort', onAbort, { once: true });
147
223
  entry.detachAbort = () => signal.removeEventListener('abort', onAbort);
148
224
  }
@@ -162,7 +238,7 @@ export function createHost(options) {
162
238
  ready.then((life) => {
163
239
  if (entry.done)
164
240
  return;
165
- if (life.exited || life !== current)
241
+ if (life.exited || life !== current || resumeGate)
166
242
  return dispatch(entry, message);
167
243
  entry.life = life;
168
244
  try {
@@ -182,7 +258,8 @@ export function createHost(options) {
182
258
  }, (error) => {
183
259
  if (entry.done)
184
260
  return;
185
- if (error === RETRY)
261
+ // While paused a call waits for `resume()`, whatever ended the start it was waiting on.
262
+ if (error === RETRY || holding())
186
263
  return dispatch(entry, message);
187
264
  finish(entry, error, false);
188
265
  });
@@ -288,8 +365,12 @@ export function createHost(options) {
288
365
  const message = parseHostMessage(raw);
289
366
  if (!message)
290
367
  return;
368
+ // A host that keeps talking survived the exception it reported.
369
+ if (message.type !== 'crashed')
370
+ life.crashError = null;
291
371
  switch (message.type) {
292
372
  case 'started':
373
+ life.info = message.info;
293
374
  life.started = true;
294
375
  life.startedAt = now();
295
376
  life.onStartReply?.(null);
@@ -302,10 +383,7 @@ export function createHost(options) {
302
383
  return;
303
384
  case 'stats':
304
385
  life.lastStats = message.stats;
305
- // Inside the transport's listener a throw or rejection would escape as uncaught.
306
- Promise.resolve()
307
- .then(() => options.onStats?.(message.stats))
308
- .catch((error) => process.emitWarning(error instanceof Error ? error : new Error(String(error))));
386
+ notify(options.onStats, message.stats);
309
387
  return;
310
388
  case 'stopped':
311
389
  life.stoppedReceived = true;
@@ -371,6 +449,7 @@ export function createHost(options) {
371
449
  state = 'restarting';
372
450
  const recovery = recover({
373
451
  kind: exit.outOfMemory ? 'out-of-memory' : 'crash',
452
+ reason: exitReason(life, exit),
374
453
  error: cause,
375
454
  code: exit.code,
376
455
  uptimeMs: Math.max(0, now() - life.startedAt),
@@ -384,6 +463,16 @@ export function createHost(options) {
384
463
  starting = null;
385
464
  });
386
465
  }
466
+ function exitReason(life, exit) {
467
+ if (exit.outOfMemory)
468
+ return 'out-of-memory';
469
+ if (life.crashError)
470
+ return 'uncaught';
471
+ if (exit.runtimeFatal)
472
+ return 'runtime-fatal';
473
+ // The worker transport passes the thread's uncaught error as `exit.error`.
474
+ return exit.error ? 'uncaught' : 'exit';
475
+ }
387
476
  async function launch() {
388
477
  if (retiring)
389
478
  await retiring;
@@ -418,6 +507,7 @@ export function createHost(options) {
418
507
  resolveStopped: () => resolveStopped(),
419
508
  stopError: null,
420
509
  lastStats: null,
510
+ info: undefined,
421
511
  onStartReply: null,
422
512
  };
423
513
  channel.onMessage((message) => onHostMessage(life, message));
@@ -479,7 +569,16 @@ export function createHost(options) {
479
569
  return waiting;
480
570
  }
481
571
  function ensureStarted() {
482
- if (state === 'fatal' || state === 'closed' || state === 'stopping')
572
+ if (state === 'fatal' || state === 'closed')
573
+ throw unavailable();
574
+ if (paused?.calls === 'reject')
575
+ throw pausedError();
576
+ if (resumeGate) {
577
+ return resumeGate.promise.then(() => {
578
+ throw RETRY;
579
+ });
580
+ }
581
+ if (state === 'stopping')
483
582
  throw unavailable();
484
583
  if (starting)
485
584
  return starting;
@@ -501,18 +600,24 @@ export function createHost(options) {
501
600
  starting = null;
502
601
  if (state === 'starting')
503
602
  state = 'running';
603
+ const restart = pendingRestart;
604
+ pendingRestart = null;
605
+ started(life, restart);
504
606
  return life;
505
607
  }, (error) => {
506
608
  if (starting === launching)
507
609
  starting = null;
508
610
  if (state === 'starting')
509
611
  state = 'idle';
612
+ if (pendingRestart) {
613
+ pendingRestart = { exit: pendingRestart.exit, attempt: pendingRestart.attempt + 1 };
614
+ }
510
615
  throw error;
511
616
  });
512
617
  starting = launching;
513
618
  return launching;
514
619
  }
515
- async function recover(exit) {
620
+ async function recover(exit, origin = exit, attempt = 1) {
516
621
  let decision;
517
622
  try {
518
623
  decision = normalizeDecision(await onExit(exit));
@@ -520,8 +625,11 @@ export function createHost(options) {
520
625
  catch {
521
626
  decision = { action: 'fatal', delayMs: 0 };
522
627
  }
523
- if (state !== 'restarting')
524
- throw unavailable();
628
+ if (state !== 'restarting') {
629
+ if (decision.action === 'fatal')
630
+ throw unavailable();
631
+ throw interrupted(origin, attempt, decision.action === 'restart');
632
+ }
525
633
  if (decision.action === 'fatal') {
526
634
  state = 'fatal';
527
635
  fatalCause = exit.error;
@@ -531,12 +639,13 @@ export function createHost(options) {
531
639
  if (decision.action === 'on-demand') {
532
640
  state = 'idle';
533
641
  starting = null;
642
+ pendingRestart = { exit: origin, attempt };
534
643
  throw RETRY;
535
644
  }
536
645
  if (decision.delayMs > 0)
537
646
  await restartDelay(decision.delayMs);
538
647
  if (state !== 'restarting')
539
- throw unavailable();
648
+ throw interrupted(origin, attempt, true);
540
649
  let life;
541
650
  try {
542
651
  life = await launch();
@@ -545,18 +654,20 @@ export function createHost(options) {
545
654
  }
546
655
  catch (error) {
547
656
  if (state !== 'restarting')
548
- throw unavailable();
657
+ throw interrupted(origin, attempt + 1, true);
549
658
  const cause = error.cause;
550
659
  return recover({
551
660
  kind: 'start-failed',
661
+ reason: 'start-failed',
552
662
  error: cause instanceof Error ? cause : error,
553
663
  code: null,
554
664
  uptimeMs: null,
555
665
  pendingCalls: 0,
556
666
  lastStats: null,
557
- });
667
+ }, origin, attempt + 1);
558
668
  }
559
669
  if (state !== 'restarting') {
670
+ launches++;
560
671
  // A stop drains the host it finds; a kill expects none left running.
561
672
  if (state === 'stopping')
562
673
  current = life;
@@ -567,13 +678,24 @@ export function createHost(options) {
567
678
  current = life;
568
679
  state = 'running';
569
680
  starting = null;
681
+ started(life, { exit: origin, attempt });
570
682
  return life;
571
683
  }
684
+ /** A pause keeps the recovery it interrupted for `resume()`; a stop or kill drops it. */
685
+ function interrupted(origin, attempt, relaunch) {
686
+ if (paused) {
687
+ pendingRestart = { exit: origin, attempt };
688
+ restartHeld ||= relaunch;
689
+ }
690
+ return unavailable();
691
+ }
572
692
  async function stopHost() {
573
693
  const before = state;
574
694
  state = 'stopping';
575
695
  wakeDelay?.();
576
696
  for (const entry of [...pending.values()]) {
697
+ if (!entry.life && holding())
698
+ continue;
577
699
  // Waiting for a start, or a stream between items: nothing in flight to drain.
578
700
  if (!entry.life || (entry.stream && !entry.waiter)) {
579
701
  finish(entry, new HostError('HOST_STOPPED', 'The host is stopping'), entry.life !== null);
@@ -617,29 +739,98 @@ export function createHost(options) {
617
739
  }
618
740
  }
619
741
  for (const entry of [...pending.values()]) {
742
+ if (!entry.life && holding())
743
+ continue;
620
744
  finish(entry, new HostError('HOST_STOPPED', 'The host stopped before answering'), false);
621
745
  }
622
746
  current = null;
623
- state = closeRequested ? 'closed' : before === 'fatal' ? 'fatal' : 'idle';
747
+ state = closeRequested ? 'closed' : before === 'fatal' ? 'fatal' : paused ? 'paused' : 'idle';
624
748
  if (failure)
625
749
  throw failure;
626
750
  }
627
751
  function shared(final) {
628
752
  if (final)
629
753
  closeRequested = true;
754
+ if (!paused || final)
755
+ forgetRestart();
630
756
  if (state === 'closed')
631
757
  return Promise.resolve();
632
- if (stopping)
758
+ if (stopping) {
759
+ // A close joining a pause's stop still fails the calls waiting for `resume()`.
760
+ if (final)
761
+ failWaiting();
633
762
  return stopping;
763
+ }
634
764
  const run = stopHost().finally(() => {
635
765
  stopping = null;
636
766
  });
637
767
  stopping = run;
768
+ if (final)
769
+ failWaiting();
638
770
  return run;
639
771
  }
772
+ function failWaiting() {
773
+ paused = null;
774
+ for (const entry of [...pending.values()]) {
775
+ if (!entry.life)
776
+ finish(entry, unavailable(), false);
777
+ }
778
+ releaseGate();
779
+ }
780
+ function forgetRestart() {
781
+ pendingRestart = null;
782
+ restartHeld = false;
783
+ }
784
+ function releaseGate() {
785
+ const gate = resumeGate;
786
+ resumeGate = null;
787
+ gate?.resolve();
788
+ }
789
+ function pause(pauseOptions = {}) {
790
+ if (state === 'closed' || closeRequested)
791
+ return stopping ?? Promise.resolve();
792
+ paused = { calls: pauseOptions.calls ?? 'wait' };
793
+ if (paused.calls === 'reject') {
794
+ for (const entry of [...pending.values()]) {
795
+ if (!entry.life)
796
+ finish(entry, pausedError(), false);
797
+ }
798
+ // A start() waiting on the gate retries and meets HOST_PAUSED.
799
+ releaseGate();
800
+ }
801
+ if (!resumeGate) {
802
+ let resolve;
803
+ const promise = new Promise((done) => (resolve = done));
804
+ resumeGate = { promise, resolve };
805
+ }
806
+ return shared(false);
807
+ }
808
+ function resume() {
809
+ if (!paused)
810
+ return;
811
+ paused = null;
812
+ // Calls waiting for a pause's stop start a host once that stop has finished.
813
+ const ready = stopping ?? Promise.resolve();
814
+ void ready.then(release, release);
815
+ function release() {
816
+ if (paused)
817
+ return;
818
+ if (state === 'paused')
819
+ state = 'idle';
820
+ releaseGate();
821
+ if (restartHeld) {
822
+ restartHeld = false;
823
+ // A failed launch leaves the restart to the next call.
824
+ Promise.resolve()
825
+ .then(ensureStarted)
826
+ .catch(() => undefined);
827
+ }
828
+ }
829
+ }
640
830
  async function kill() {
641
831
  if (state === 'closed')
642
832
  return;
833
+ forgetRestart();
643
834
  wakeDelay?.();
644
835
  abortStart();
645
836
  if (state === 'restarting') {
@@ -691,8 +882,7 @@ export function createHost(options) {
691
882
  async start() {
692
883
  for (;;) {
693
884
  try {
694
- await ensureStarted();
695
- return;
885
+ return (await ensureStarted()).info;
696
886
  }
697
887
  catch (error) {
698
888
  // An `on-demand` exit decision hands the start back to us.
@@ -704,9 +894,14 @@ export function createHost(options) {
704
894
  stop: () => shared(false),
705
895
  kill,
706
896
  close: () => shared(true),
897
+ pause,
898
+ resume,
707
899
  get state() {
708
900
  return state;
709
901
  },
902
+ get info() {
903
+ return current && !current.exited ? current.info : undefined;
904
+ },
710
905
  };
711
906
  }
712
907
  //# sourceMappingURL=host.js.map
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ import { type ServeOptions } from './serve.js';
4
4
  * Runs the host in the caller's thread. Messages are cloned and delivered asynchronously, as they
5
5
  * would be across a real boundary. Meant for tests: a crash here is the caller's crash.
6
6
  */
7
- export declare function inProcessTransport<Ops extends Contract<Ops>, Payload = undefined>(serve: Omit<ServeOptions<Ops, Payload>, 'port' | 'reportCrashes'>): HostTransport;
7
+ export declare function inProcessTransport<Ops extends Contract<Ops>, Payload = undefined, Info = undefined>(serve: Omit<ServeOptions<Ops, Payload, Info>, 'port' | 'reportCrashes'>): HostTransport;
8
8
  //# sourceMappingURL=in-process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-process.d.ts","sourceRoot":"","sources":["../src/in-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,QAAQ,EAAe,aAAa,EAAE,MAAM,eAAe,CAAA;AAEtF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAC/E,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,GAChE,aAAa,CAiDf"}
1
+ {"version":3,"file":"in-process.d.ts","sourceRoot":"","sources":["../src/in-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,QAAQ,EAAe,aAAa,EAAE,MAAM,eAAe,CAAA;AAEtF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EACzB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,aAAa,CAiDxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-process.js","sourceRoot":"","sources":["../src/in-process.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAEzD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiE;IAEjE,OAAO;QACL,MAAM;YACJ,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,IAAI,MAAM,GAAwC,IAAI,CAAA;YACtD,IAAI,YAAY,GAAwC,IAAI,CAAA;YAC5D,IAAI,YAAY,GAAyC,IAAI,CAAA;YAC7D,MAAM,GAAG,GAAG,CAAC,IAAiB,EAAE,EAAE;gBAChC,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,KAAK,GAAG,KAAK,CAAA;gBACb,cAAc,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5C,CAAC,CAAA;YACD,MAAM,OAAO,GAAG,CAAC,QAA6C,EAAE,OAAgB,EAAE,EAAE;gBAClF,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;gBACrC,cAAc,CAAC,GAAG,EAAE;oBAClB,IAAI,KAAK;wBAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA;YACD,SAAS,CAAe;gBACtB,GAAG,KAAK;gBACR,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,OAAoB,EAAE,EAAE;wBAC7B,IAAI,KAAK;4BAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;oBAC3C,CAAC;oBACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACtB,MAAM,GAAG,QAAQ,CAAA;oBACnB,CAAC;oBACD,KAAK,EAAE,GAAG,EAAE;wBACV,kEAAkE;wBAClE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBACxC,CAAC;iBACF;aACF,CAAC,CAAA;YACF,OAAO;gBACL,IAAI,EAAE,CAAC,OAA0B,EAAE,EAAE;oBACnC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;oBAClD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC1B,CAAC;gBACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACtB,YAAY,GAAG,QAAQ,CAAA;gBACzB,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACnB,YAAY,GAAG,QAAQ,CAAA;gBACzB,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;aAC7B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"in-process.js","sourceRoot":"","sources":["../src/in-process.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAEzD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAIhC,KAAuE;IACvE,OAAO;QACL,MAAM;YACJ,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,IAAI,MAAM,GAAwC,IAAI,CAAA;YACtD,IAAI,YAAY,GAAwC,IAAI,CAAA;YAC5D,IAAI,YAAY,GAAyC,IAAI,CAAA;YAC7D,MAAM,GAAG,GAAG,CAAC,IAAiB,EAAE,EAAE;gBAChC,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,KAAK,GAAG,KAAK,CAAA;gBACb,cAAc,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5C,CAAC,CAAA;YACD,MAAM,OAAO,GAAG,CAAC,QAA6C,EAAE,OAAgB,EAAE,EAAE;gBAClF,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;gBACrC,cAAc,CAAC,GAAG,EAAE;oBAClB,IAAI,KAAK;wBAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA;YACD,SAAS,CAAqB;gBAC5B,GAAG,KAAK;gBACR,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,OAAoB,EAAE,EAAE;wBAC7B,IAAI,KAAK;4BAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;oBAC3C,CAAC;oBACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACtB,MAAM,GAAG,QAAQ,CAAA;oBACnB,CAAC;oBACD,KAAK,EAAE,GAAG,EAAE;wBACV,kEAAkE;wBAClE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBACxC,CAAC;iBACF;aACF,CAAC,CAAA;YACF,OAAO;gBACL,IAAI,EAAE,CAAC,OAA0B,EAAE,EAAE;oBACnC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;oBAClD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC1B,CAAC;gBACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACtB,YAAY,GAAG,QAAQ,CAAA;gBACzB,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACnB,YAAY,GAAG,QAAQ,CAAA;gBACzB,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;aAC7B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,9 +7,9 @@
7
7
  export type { ArgsOf, CallContext, CallOperation, ChannelExit, Contract, Handlers, HostChannel, HostTransport, StreamOperation, } from './contract.js';
8
8
  export { minimalEnvironment } from './env.js';
9
9
  export { HOST_ERROR_CODES, HostError, isHostError, type HostErrorCode } from './errors.js';
10
- export { DEFAULT_RETIRE_WAIT_MS, DEFAULT_STOP_GRACE_MS, createHost, type CallOptions, type ExitDecision, type Host, type HostExit, type HostOptions, type HostState, } from './host.js';
10
+ export { DEFAULT_RETIRE_WAIT_MS, DEFAULT_STOP_GRACE_MS, createHost, type CallOptions, type ExitDecision, type Host, type HostExit, type HostExitReason, type HostOptions, type HostStartedEvent, type HostState, type PauseOptions, } from './host.js';
11
11
  export { inProcessTransport } from './in-process.js';
12
12
  export { DEFAULT_RESTART_POLICY, memoryWatch, restartPolicy, type MemoryWatchOptions, type RestartPolicyOptions, } from './policy.js';
13
- export { CODE_PATTERN, PROTOCOL_VERSION, deserializeError, serializeError, type HostMessage, type HostStats, type SerializedError, type SupervisorMessage, } from './protocol.js';
14
- export { defaultHostPort, serveHost, type HostPort, type ServeOptions } from './serve.js';
13
+ export { CODE_PATTERN, PROTOCOL_VERSION, deserializeError, serializeError, type ErrorSerializationOptions, type HostMessage, type HostStats, type SerializedError, type SupervisorMessage, } from './protocol.js';
14
+ export { defaultHostPort, serveHost, type HostPort, type ServeOptions, type StartContext, } from './serve.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,MAAM,EACN,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,MAAM,EACN,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -10,5 +10,5 @@ export { DEFAULT_RETIRE_WAIT_MS, DEFAULT_STOP_GRACE_MS, createHost, } from './ho
10
10
  export { inProcessTransport } from './in-process.js';
11
11
  export { DEFAULT_RESTART_POLICY, memoryWatch, restartPolicy, } from './policy.js';
12
12
  export { CODE_PATTERN, PROTOCOL_VERSION, deserializeError, serializeError, } from './protocol.js';
13
- export { defaultHostPort, serveHost } from './serve.js';
13
+ export { defaultHostPort, serveHost, } from './serve.js';
14
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAA;AAC1F,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GAOX,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,GAGd,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAKf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAoC,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAA;AAC1F,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GAUX,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,GAGd,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAMf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,SAAS,GAIV,MAAM,YAAY,CAAA"}