@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.
@@ -9,6 +9,15 @@ export interface SerializedError {
9
9
  readonly name: string;
10
10
  readonly message: string;
11
11
  readonly code?: string;
12
+ /** Structured detail the host chose to send; dropped when it cannot be cloned. */
13
+ readonly data?: unknown;
14
+ }
15
+ /** How a host turns a thrown value into a `SerializedError`. */
16
+ export interface ErrorSerializationOptions {
17
+ /** A further shape a code may match to cross, besides `CODE_PATTERN`. */
18
+ readonly codePattern?: RegExp;
19
+ /** Picks the structured detail to send with an error; `undefined` sends none. */
20
+ readonly data?: (error: unknown) => unknown;
12
21
  }
13
22
  export type SupervisorMessage = {
14
23
  readonly type: 'start';
@@ -40,6 +49,7 @@ export interface HostStats {
40
49
  }
41
50
  export type HostMessage = {
42
51
  readonly type: 'started';
52
+ readonly info?: unknown;
43
53
  } | {
44
54
  readonly type: 'start-failed';
45
55
  readonly error: SerializedError;
@@ -70,8 +80,11 @@ export type HostMessage = {
70
80
  };
71
81
  /** The only shape a code may take to cross the boundary. */
72
82
  export declare const CODE_PATTERN: RegExp;
73
- /** Keeps the message and a well-formed code (own or from `cause`), and drops everything else. */
74
- export declare function serializeError(error: unknown): SerializedError;
83
+ /**
84
+ * Keeps the message, a well-formed code (own or from `cause`) and the detail `options.data` picks,
85
+ * and drops everything else.
86
+ */
87
+ export declare function serializeError(error: unknown, options?: ErrorSerializationOptions): SerializedError;
75
88
  /** Rebuilds an Error on the receiving side. */
76
89
  export declare function deserializeError(serialized: SerializedError): Error;
77
90
  /** Narrows a message from the supervisor, or returns null for anything else. */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -6,10 +6,24 @@
6
6
  export const PROTOCOL_VERSION = 1;
7
7
  /** The only shape a code may take to cross the boundary. */
8
8
  export const CODE_PATTERN = /^[A-Z][A-Z0-9_]{1,80}$/;
9
- /** Keeps the message and a well-formed code (own or from `cause`), and drops everything else. */
10
- export function serializeError(error) {
9
+ /**
10
+ * Keeps the message, a well-formed code (own or from `cause`) and the detail `options.data` picks,
11
+ * and drops everything else.
12
+ */
13
+ export function serializeError(error, options = {}) {
14
+ // A /g or /y pattern keeps lastIndex between test() calls.
15
+ const extra = options.codePattern
16
+ ? new RegExp(options.codePattern.source, options.codePattern.flags.replace(/[gy]/g, ''))
17
+ : null;
11
18
  const candidate = error;
12
- const code = [candidate?.code, candidate?.cause?.code, candidate?.cause?.errorCode].find((value) => typeof value === 'string' && CODE_PATTERN.test(value));
19
+ const code = [candidate?.code, candidate?.cause?.code, candidate?.cause?.errorCode].find((value) => typeof value === 'string' && (CODE_PATTERN.test(value) || extra?.test(value) === true));
20
+ let data;
21
+ try {
22
+ data = options.data?.(error);
23
+ }
24
+ catch {
25
+ // A picker that throws must not hide the original error.
26
+ }
13
27
  const message = typeof candidate?.message === 'string'
14
28
  ? candidate.message
15
29
  : candidate === null || typeof candidate !== 'object'
@@ -19,6 +33,7 @@ export function serializeError(error) {
19
33
  name: typeof candidate?.name === 'string' ? candidate.name : 'Error',
20
34
  message,
21
35
  ...(code ? { code } : {}),
36
+ ...(data === undefined ? {} : { data }),
22
37
  };
23
38
  }
24
39
  /** Rebuilds an Error on the receiving side. */
@@ -27,6 +42,8 @@ export function deserializeError(serialized) {
27
42
  error.name = serialized.name;
28
43
  if (serialized.code)
29
44
  Object.assign(error, { code: serialized.code });
45
+ if (serialized.data !== undefined)
46
+ Object.assign(error, { data: serialized.data });
30
47
  return error;
31
48
  }
32
49
  function isRecord(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/serve.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Electron, so the same entry runs under Node.
4
4
  */
5
5
  import type { CallOperation, Contract, Handlers, StreamOperation } from './contract.js';
6
- import { type HostMessage } from './protocol.js';
6
+ import { type ErrorSerializationOptions, type HostMessage } from './protocol.js';
7
7
  /** The host's end of the channel. */
8
8
  export interface HostPort {
9
9
  post(message: HostMessage): void;
@@ -11,11 +11,19 @@ export interface HostPort {
11
11
  /** Lets the thread or process end once the host has stopped. */
12
12
  close(): void;
13
13
  }
14
- export interface ServeOptions<Ops extends Contract<Ops>, Payload = undefined> {
14
+ /** What `start` receives after the payload. */
15
+ export interface StartContext<Info> {
16
+ /**
17
+ * Sent with `started`; the supervisor exposes it as `host.info`. Must survive structured clone
18
+ * and be called before `start` resolves.
19
+ */
20
+ setInfo(info: Info): void;
21
+ }
22
+ export interface ServeOptions<Ops extends Contract<Ops>, Payload = undefined, Info = undefined> {
15
23
  readonly operations: readonly CallOperation<Ops>[];
16
24
  readonly streams?: readonly StreamOperation<Ops>[];
17
25
  /** Opens whatever the host serves; called once, with the supervisor's start payload. */
18
- readonly start: (payload: Payload) => Handlers<Ops> | Promise<Handlers<Ops>>;
26
+ readonly start: (payload: Payload, context: StartContext<Info>) => Handlers<Ops> | Promise<Handlers<Ops>>;
19
27
  /** Runs after every accepted call has answered. */
20
28
  readonly stop?: () => void | Promise<void>;
21
29
  /** Defaults to the utility process's parent port, else the worker thread's. */
@@ -24,9 +32,11 @@ export interface ServeOptions<Ops extends Contract<Ops>, Payload = undefined> {
24
32
  readonly statsIntervalMs?: number;
25
33
  /** Tells the supervisor the cause of an uncaught exception before the host ends. Default true. */
26
34
  readonly reportCrashes?: boolean;
35
+ /** Which code and structured detail an error carries across. */
36
+ readonly errors?: ErrorSerializationOptions;
27
37
  }
28
38
  /** The port this host was started with, or null outside a worker or utility process. */
29
39
  export declare function defaultHostPort(): HostPort | null;
30
40
  /** Serves one host until the supervisor sends `stop`. */
31
- export declare function serveHost<Ops extends Contract<Ops>, Payload = undefined>(options: ServeOptions<Ops, Payload>): void;
41
+ export declare function serveHost<Ops extends Contract<Ops>, Payload = undefined, Info = undefined>(options: ServeOptions<Ops, Payload, Info>): void;
32
42
  //# sourceMappingURL=serve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAe,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAA;AAEtB,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IACrD,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,eAAe,CAAC,GAAG,CAAC,EAAE,CAAA;IAClD,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5E,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,kGAAkG;IAClG,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAOD,wFAAwF;AACxF,wBAAgB,eAAe,IAAI,QAAQ,GAAG,IAAI,CAoBjD;AAmBD,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EACtE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,GAClC,IAAI,CAgON"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAe,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAA;AAEtB,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IACrD,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAA;CACd;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY,CAAC,IAAI;IAChC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS;IAC5F,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,eAAe,CAAC,GAAG,CAAC,EAAE,CAAA;IAClD,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3C,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,kGAAkG;IAClG,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAA;CAC5C;AAOD,wFAAwF;AACxF,wBAAgB,eAAe,IAAI,QAAQ,GAAG,IAAI,CAoBjD;AA4BD,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,EACxF,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GACxC,IAAI,CA4PN"}
package/dist/serve.js CHANGED
@@ -33,10 +33,16 @@ function rejected(message, code) {
33
33
  return { name: 'HostError', message, code };
34
34
  }
35
35
  /** A handler's error never crosses as `HostError`, so it cannot pass for the supervisor's own. */
36
- function handlerError(error) {
37
- const serialized = serializeError(error);
36
+ function handlerError(error, options) {
37
+ const serialized = serializeError(error, options);
38
38
  return serialized.name === 'HostError' ? { ...serialized, name: 'Error' } : serialized;
39
39
  }
40
+ function withoutData(message) {
41
+ if (!('error' in message) || message.error?.data === undefined)
42
+ return null;
43
+ const { name, message: text, code } = message.error;
44
+ return { ...message, error: { name, message: text, ...(code ? { code } : {}) } };
45
+ }
40
46
  /** Serves one host until the supervisor sends `stop`. */
41
47
  export function serveHost(options) {
42
48
  const found = options.port ?? defaultHostPort();
@@ -52,7 +58,19 @@ export function serveHost(options) {
52
58
  const inflight = new Set();
53
59
  const controllers = new Map();
54
60
  const streams = new Map();
55
- const post = (message) => port.post(message);
61
+ /** An error whose detail cannot be cloned still crosses, without the detail. */
62
+ const post = (message) => {
63
+ try {
64
+ port.post(message);
65
+ }
66
+ catch (error) {
67
+ const fallback = withoutData(message);
68
+ if (!fallback)
69
+ throw error;
70
+ port.post(fallback);
71
+ }
72
+ };
73
+ const failure = (error) => handlerError(error, options.errors);
56
74
  function track(work) {
57
75
  inflight.add(work);
58
76
  void work.finally(() => inflight.delete(work));
@@ -63,7 +81,7 @@ export function serveHost(options) {
63
81
  post(message);
64
82
  }
65
83
  catch (error) {
66
- post({ type: 'result', id, ok: false, error: handlerError(error) });
84
+ post({ type: 'result', id, ok: false, error: failure(error) });
67
85
  }
68
86
  }
69
87
  let lastElu = performance.eventLoopUtilization();
@@ -88,13 +106,30 @@ export function serveHost(options) {
88
106
  if (version !== PROTOCOL_VERSION) {
89
107
  throw new Error(`The host speaks protocol ${PROTOCOL_VERSION}, not ${version}`);
90
108
  }
91
- const served = (await options.start(payload));
109
+ let info;
110
+ let hasInfo = false;
111
+ let settled = false;
112
+ const context = {
113
+ setInfo: (value) => {
114
+ if (settled)
115
+ throw new Error('setInfo must be called before start resolves');
116
+ info = value;
117
+ hasInfo = true;
118
+ },
119
+ };
120
+ const served = (await options.start(payload, context));
92
121
  for (const op of [...callOps, ...streamOps]) {
93
122
  if (typeof served[op] !== 'function')
94
123
  throw new Error(`No handler for ${op}`);
95
124
  }
125
+ settled = true;
126
+ try {
127
+ post(hasInfo ? { type: 'started', info } : { type: 'started' });
128
+ }
129
+ catch (error) {
130
+ throw new Error('setInfo received a value that cannot be cloned', { cause: error });
131
+ }
96
132
  handlers = served;
97
- post({ type: 'started' });
98
133
  if (options.statsIntervalMs !== undefined) {
99
134
  postStats();
100
135
  statsTimer = setInterval(postStats, options.statsIntervalMs);
@@ -102,7 +137,7 @@ export function serveHost(options) {
102
137
  }
103
138
  }
104
139
  catch (error) {
105
- post({ type: 'start-failed', error: handlerError(error) });
140
+ post({ type: 'start-failed', error: failure(error) });
106
141
  }
107
142
  }
108
143
  function call(id, op, args, stream) {
@@ -137,14 +172,14 @@ export function serveHost(options) {
137
172
  streams.set(id, { iterator, controller });
138
173
  }
139
174
  catch (error) {
140
- post({ type: 'result', id, ok: false, error: handlerError(error) });
175
+ post({ type: 'result', id, ok: false, error: failure(error) });
141
176
  }
142
177
  return;
143
178
  }
144
179
  controllers.set(id, controller);
145
180
  track(Promise.resolve()
146
181
  .then(() => handler.apply(served, [...args, context]))
147
- .then((value) => answer(id, { type: 'result', id, ok: true, value }), (error) => post({ type: 'result', id, ok: false, error: handlerError(error) }))
182
+ .then((value) => answer(id, { type: 'result', id, ok: true, value }), (error) => post({ type: 'result', id, ok: false, error: failure(error) }))
148
183
  .finally(() => controllers.delete(id)));
149
184
  }
150
185
  function next(id) {
@@ -172,12 +207,12 @@ export function serveHost(options) {
172
207
  catch (error) {
173
208
  // An item that cannot be cloned ends the stream and frees its producer.
174
209
  cancel(id);
175
- post({ type: 'result', id, ok: false, error: handlerError(error) });
210
+ post({ type: 'result', id, ok: false, error: failure(error) });
176
211
  }
177
212
  }
178
213
  }, (error) => {
179
214
  streams.delete(id);
180
- post({ type: 'result', id, ok: false, error: handlerError(error) });
215
+ post({ type: 'result', id, ok: false, error: failure(error) });
181
216
  }));
182
217
  }
183
218
  function cancel(id) {
@@ -194,7 +229,7 @@ export function serveHost(options) {
194
229
  async function stop() {
195
230
  // Close admission before yielding, so a later message cannot reach a closing resource.
196
231
  accepting = false;
197
- let failure = null;
232
+ let stopFailure = null;
198
233
  try {
199
234
  await starting;
200
235
  for (const id of [...streams.keys()])
@@ -204,18 +239,18 @@ export function serveHost(options) {
204
239
  await options.stop?.();
205
240
  }
206
241
  catch (error) {
207
- failure = error;
242
+ stopFailure = error;
208
243
  }
209
244
  handlers = null;
210
245
  if (statsTimer)
211
246
  clearInterval(statsTimer);
212
- post(failure ? { type: 'stopped', error: handlerError(failure) } : { type: 'stopped' });
247
+ post(stopFailure ? { type: 'stopped', error: failure(stopFailure) } : { type: 'stopped' });
213
248
  port.close();
214
249
  }
215
250
  if (options.reportCrashes !== false) {
216
251
  process.on('uncaughtExceptionMonitor', (error) => {
217
252
  try {
218
- post({ type: 'crashed', error: handlerError(error) });
253
+ post({ type: 'crashed', error: failure(error) });
219
254
  }
220
255
  catch {
221
256
  // The host is ending either way.
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/dist/utility.d.ts CHANGED
@@ -35,7 +35,10 @@ export interface UtilityProcessTransportOptions {
35
35
  readonly stdio?: 'pipe' | 'ignore' | 'inherit';
36
36
  /** macOS: lets the hardened runtime load unsigned `.node` and `.dylib` files. Avoid in release builds. */
37
37
  readonly allowLoadingUnsignedLibraries?: boolean;
38
- /** Replaces `utilityProcess.fork`, for tests. */
38
+ /**
39
+ * Electron's `utilityProcess.fork`. Pass it when the main process is bundled (CommonJS, or any
40
+ * build where this package cannot `require('electron')` itself); tests pass a fake.
41
+ */
39
42
  readonly fork?: (entry: string, args: string[], options: UtilityForkOptions) => UtilityProcessLike;
40
43
  }
41
44
  export declare function utilityProcessTransport(options: UtilityProcessTransportOptions): HostTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAA4B,aAAa,EAAE,MAAM,eAAe,CAAA;AAG5E,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAA;IACjD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAA;IACnE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAA;IAC5D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAA;IAC/F,IAAI,IAAI,OAAO,CAAA;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACjD;AAED,MAAM,WAAW,8BAA8B;IAC7C,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC9C,0GAA0G;IAC1G,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IAChD,iDAAiD;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;CACnG;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,aAAa,CAiC9F;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAA4B,aAAa,EAAE,MAAM,eAAe,CAAA;AAG5E,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAA;IACjD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAA;IACnE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAA;IAC5D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAA;IAC/F,IAAI,IAAI,OAAO,CAAA;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACjD;AAED,MAAM,WAAW,8BAA8B;IAC7C,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC9C,0GAA0G;IAC1G,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IAChD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;CACnG;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,aAAa,CAiC9F;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA"}
package/dist/utility.js CHANGED
@@ -34,7 +34,7 @@ export function utilityProcessTransport(options) {
34
34
  send: (message) => child.postMessage(message),
35
35
  onMessage: (listener) => void child.on('message', listener),
36
36
  onExit: (listener) => void child.on('exit', (code) => {
37
- const exit = error ? { code, error } : { code };
37
+ const exit = error ? { code, error, runtimeFatal: true } : { code };
38
38
  listener(exit);
39
39
  }),
40
40
  kill: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@electron-stagewright/host-supervisor",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Supervisor for one stateful host off the Electron main thread: a closed operation list, lazy start, drain on stop, per-call timeout and AbortSignal, a pending limit, and bounded restart, over worker_threads or utilityProcess.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -44,19 +44,11 @@
44
44
  }
45
45
  },
46
46
  "engines": {
47
- "node": ">=24.0.0"
47
+ "node": ">=26.13.1"
48
48
  },
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "peerDependencies": {
53
- "electron": ">=42.0.0"
54
- },
55
- "peerDependenciesMeta": {
56
- "electron": {
57
- "optional": true
58
- }
59
- },
60
52
  "devDependencies": {
61
53
  "electron": "^42.11.10"
62
54
  },