@cortexkit/subc-client 0.21.1 → 0.22.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,13 +9,14 @@
9
9
  * {@link launchNonce} reads that descriptor once, closes it, and caches the
10
10
  * value for the life of the process. While modules move over, the daemon also
11
11
  * keeps setting the environment copy (`SUBC_LAUNCH_NONCE`), which
12
- * {@link launchNonce} reads when no descriptor is named. Windows has no
13
- * descriptor handoff, so there only the environment copy is read.
12
+ * {@link launchNonce} reads when no descriptor is named. Windows uses a
13
+ * PID-authenticated named pipe; call {@link launchNonceAsync} to initialize it.
14
14
  *
15
15
  * This mirrors the Rust accessor in `subc-os` (`subc_os::launch_nonce`): the
16
16
  * same checks in the same order, the same error names and messages.
17
17
  */
18
18
  import { type BigIntStats } from "node:fs";
19
+ import { type Socket } from "node:net";
19
20
  /** The environment copy of the nonce, kept only while modules move to the descriptor. */
20
21
  export declare const SUBC_LAUNCH_NONCE_ENV = "SUBC_LAUNCH_NONCE";
21
22
  /**
@@ -26,10 +27,17 @@ export declare const SUBC_LAUNCH_NONCE_ENV = "SUBC_LAUNCH_NONCE";
26
27
  * whatever that process has at the number.
27
28
  */
28
29
  export declare const SUBC_LAUNCH_NONCE_FD_ENV = "SUBC_LAUNCH_NONCE_FD";
30
+ /** The one-time Windows pipe name. Its name is not a secret. */
31
+ export declare const SUBC_LAUNCH_NONCE_PIPE_ENV = "SUBC_LAUNCH_NONCE_PIPE";
32
+ /** When the daemon sets this variable to `env`, a failed pipe read may use
33
+ * `SUBC_LAUNCH_NONCE` instead. The daemon keeps that copy until every module
34
+ * reads its secret from the pipe, so older modules can still register.
35
+ */
36
+ export declare const SUBC_LAUNCH_NONCE_PIPE_FALLBACK_ENV = "SUBC_LAUNCH_NONCE_PIPE_FALLBACK";
29
37
  /** The descriptor number the daemon gives the pipe's read end in the module. */
30
38
  export declare const LAUNCH_NONCE_FD = 3;
31
39
  /** Where a process got its launch nonce from, as modules report it in provenance. */
32
- export type LaunchNonceSource = "fd" | "env";
40
+ export type LaunchNonceSource = "fd" | "pipe" | "env";
33
41
  /** The nonce this process was launched with, and where it came from. */
34
42
  export interface LaunchNonce {
35
43
  readonly value: string;
@@ -39,7 +47,9 @@ export interface LaunchNonce {
39
47
  * Why the descriptor named by `SUBC_LAUNCH_NONCE_FD` gave no nonce. The names
40
48
  * are the Rust `LaunchNonceError` variants.
41
49
  *
42
- * None of these falls back to the environment copy. A named descriptor that
50
+ * These errors never fall back unless the Windows daemon explicitly sets
51
+ * `SUBC_LAUNCH_NONCE_PIPE_FALLBACK=env` while offering a nonempty environment copy.
52
+ * A named descriptor that
43
53
  * cannot be read means the handoff went wrong, or that this process inherited
44
54
  * the variable from a module without inheriting the pipe; reading the
45
55
  * environment instead would hide the first and defeat the second.
@@ -58,7 +68,7 @@ export type LaunchNonceErrorKind =
58
68
  /** Reading the named pipe failed. */
59
69
  | "Unreadable"
60
70
  /** The named pipe held bytes that are not UTF-8. */
61
- | "NotUtf8";
71
+ | "NotUtf8" | "PipeNeedsAsync" | "PipeNotOpen" | "PipeEmpty" | "PipeUnreadable" | "PipeNotUtf8";
62
72
  export interface LaunchNonceErrorDetails {
63
73
  /** The descriptor number, for every kind except `Malformed`. */
64
74
  fd?: number;
@@ -105,6 +115,10 @@ export declare function isLaunchNonceError(error: unknown): error is LaunchNonce
105
115
  * names is taken only if it is a pipe with the named inode and holds bytes;
106
116
  * it is then read to end of file and closed. Anything else throws and leaves
107
117
  * the descriptor as it was, and never falls back to the environment.
118
+ * - Windows pipe reads use the async accessor. An uninitialized sync pipe
119
+ * reader throws `PipeNeedsAsync`, except when the daemon explicitly permits
120
+ * fallback with `SUBC_LAUNCH_NONCE_PIPE_FALLBACK=env`; then a sync reader
121
+ * caches the environment copy.
108
122
  * - Otherwise the value of `SUBC_LAUNCH_NONCE` is used.
109
123
  *
110
124
  * It never changes `process.env`. Removing either variable would break any
@@ -128,6 +142,21 @@ export declare function launchNonce(): LaunchNonce | undefined;
128
142
  * identity", such as the consumer's route open.
129
143
  */
130
144
  export declare function launchNonceOrUndefined(): LaunchNonce | undefined;
145
+ /** Initialize the Windows pipe, or use the synchronous Unix/environment reader.
146
+ * Concurrent callers share one in-flight read and its cached result. After this
147
+ * completes, synchronous accessors return that same result. With the daemon's
148
+ * explicit `SUBC_LAUNCH_NONCE_PIPE_FALLBACK=env` permission, failed or incomplete
149
+ * pipe reads cache `SUBC_LAUNCH_NONCE` and its `env` source. Without that variable
150
+ * set to `env`, a failed pipe read remains an error even if the copy exists.
151
+ * Node's public pipe API cannot ask Windows to let the server inspect the
152
+ * client's identity without also allowing it to impersonate the client's token.
153
+ */
154
+ export declare function launchNonceAsync(): Promise<LaunchNonce | undefined>;
155
+ /** Return the cached nonce asynchronously, or `undefined` if its read failed.
156
+ * The SDK uses this when building `route.open`: without a nonce it omits
157
+ * `consumer_identity` instead of presenting an unread or invalid credential.
158
+ */
159
+ export declare function launchNonceOrUndefinedAsync(): Promise<LaunchNonce | undefined>;
131
160
  type CachedResult = {
132
161
  readonly ok: true;
133
162
  readonly nonce: LaunchNonce | null;
@@ -141,6 +170,7 @@ type CachedResult = {
141
170
  */
142
171
  interface SharedLaunchNonceCell {
143
172
  result(): CachedResult;
173
+ resultAsync?(): Promise<CachedResult>;
144
174
  }
145
175
  /**
146
176
  * Forgets the process-wide answer, so the next {@link launchNonce} reads again.
@@ -157,17 +187,26 @@ export type LaunchNonceStat = (fd: number) => Pick<BigIntStats, "isFIFO" | "ino"
157
187
  */
158
188
  export declare class LaunchNonceCell implements SharedLaunchNonceCell {
159
189
  private cached;
190
+ private pending;
160
191
  /** How many times this cell has taken a descriptor. At most one. */
161
192
  descriptorReads: number;
162
193
  private readonly lookup;
163
194
  private readonly platform;
164
195
  private readonly stat;
165
- constructor(lookup: (key: string) => string | undefined, platform?: NodeJS.Platform, stat?: LaunchNonceStat);
196
+ private readonly pipeReader;
197
+ constructor(lookup: (key: string) => string | undefined, platform?: NodeJS.Platform, stat?: LaunchNonceStat, pipeReader?: (name: string) => Promise<LaunchNonce>);
166
198
  result(): CachedResult;
199
+ resultAsync(): Promise<CachedResult>;
200
+ private permittedPipeFallback;
201
+ getAsync(): Promise<LaunchNonce | undefined>;
167
202
  /** The cached value, reading it first if no caller has yet; throws a refusal. */
168
203
  get(): LaunchNonce | undefined;
169
204
  private read;
170
205
  private readDescriptor;
171
206
  }
207
+ /** Read a one-time pipe to EOF. The injected connector and budgets let unit
208
+ * tests exercise busy retry and timeouts without requiring a Windows host.
209
+ */
210
+ export declare function readLaunchNoncePipe(name: string, connector?: (name: string) => Socket, openWindowMs?: number, readWindowMs?: number): Promise<LaunchNonce>;
172
211
  export {};
173
212
  //# sourceMappingURL=launch-nonce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-nonce.d.ts","sourceRoot":"","sources":["../src/launch-nonce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-nonce.d.ts","sourceRoot":"","sources":["../src/launch-nonce.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,14 @@
9
9
  * {@link launchNonce} reads that descriptor once, closes it, and caches the
10
10
  * value for the life of the process. While modules move over, the daemon also
11
11
  * keeps setting the environment copy (`SUBC_LAUNCH_NONCE`), which
12
- * {@link launchNonce} reads when no descriptor is named. Windows has no
13
- * descriptor handoff, so there only the environment copy is read.
12
+ * {@link launchNonce} reads when no descriptor is named. Windows uses a
13
+ * PID-authenticated named pipe; call {@link launchNonceAsync} to initialize it.
14
14
  *
15
15
  * This mirrors the Rust accessor in `subc-os` (`subc_os::launch_nonce`): the
16
16
  * same checks in the same order, the same error names and messages.
17
17
  */
18
18
  import { closeSync, fstatSync, readSync } from "node:fs";
19
+ import { connect } from "node:net";
19
20
  /** The environment copy of the nonce, kept only while modules move to the descriptor. */
20
21
  export const SUBC_LAUNCH_NONCE_ENV = "SUBC_LAUNCH_NONCE";
21
22
  /**
@@ -26,6 +27,13 @@ export const SUBC_LAUNCH_NONCE_ENV = "SUBC_LAUNCH_NONCE";
26
27
  * whatever that process has at the number.
27
28
  */
28
29
  export const SUBC_LAUNCH_NONCE_FD_ENV = "SUBC_LAUNCH_NONCE_FD";
30
+ /** The one-time Windows pipe name. Its name is not a secret. */
31
+ export const SUBC_LAUNCH_NONCE_PIPE_ENV = "SUBC_LAUNCH_NONCE_PIPE";
32
+ /** When the daemon sets this variable to `env`, a failed pipe read may use
33
+ * `SUBC_LAUNCH_NONCE` instead. The daemon keeps that copy until every module
34
+ * reads its secret from the pipe, so older modules can still register.
35
+ */
36
+ export const SUBC_LAUNCH_NONCE_PIPE_FALLBACK_ENV = "SUBC_LAUNCH_NONCE_PIPE_FALLBACK";
29
37
  /** The descriptor number the daemon gives the pipe's read end in the module. */
30
38
  export const LAUNCH_NONCE_FD = 3;
31
39
  // This file sticks to syntax Node can strip without transforming (no
@@ -78,6 +86,10 @@ export function isLaunchNonceError(error) {
78
86
  * names is taken only if it is a pipe with the named inode and holds bytes;
79
87
  * it is then read to end of file and closed. Anything else throws and leaves
80
88
  * the descriptor as it was, and never falls back to the environment.
89
+ * - Windows pipe reads use the async accessor. An uninitialized sync pipe
90
+ * reader throws `PipeNeedsAsync`, except when the daemon explicitly permits
91
+ * fallback with `SUBC_LAUNCH_NONCE_PIPE_FALLBACK=env`; then a sync reader
92
+ * caches the environment copy.
81
93
  * - Otherwise the value of `SUBC_LAUNCH_NONCE` is used.
82
94
  *
83
95
  * It never changes `process.env`. Removing either variable would break any
@@ -106,6 +118,33 @@ export function launchNonceOrUndefined() {
106
118
  const result = processCell().result();
107
119
  return result.ok ? result.nonce ?? undefined : undefined;
108
120
  }
121
+ /** Initialize the Windows pipe, or use the synchronous Unix/environment reader.
122
+ * Concurrent callers share one in-flight read and its cached result. After this
123
+ * completes, synchronous accessors return that same result. With the daemon's
124
+ * explicit `SUBC_LAUNCH_NONCE_PIPE_FALLBACK=env` permission, failed or incomplete
125
+ * pipe reads cache `SUBC_LAUNCH_NONCE` and its `env` source. Without that variable
126
+ * set to `env`, a failed pipe read remains an error even if the copy exists.
127
+ * Node's public pipe API cannot ask Windows to let the server inspect the
128
+ * client's identity without also allowing it to impersonate the client's token.
129
+ */
130
+ export async function launchNonceAsync() {
131
+ const cell = processCell();
132
+ return unwrap(await (cell.resultAsync?.() ?? cell.result()));
133
+ }
134
+ /** Return the cached nonce asynchronously, or `undefined` if its read failed.
135
+ * The SDK uses this when building `route.open`: without a nonce it omits
136
+ * `consumer_identity` instead of presenting an unread or invalid credential.
137
+ */
138
+ export async function launchNonceOrUndefinedAsync() {
139
+ try {
140
+ return await launchNonceAsync();
141
+ }
142
+ catch (error) {
143
+ if (isLaunchNonceError(error))
144
+ return undefined;
145
+ throw error;
146
+ }
147
+ }
109
148
  /**
110
149
  * Where the process-wide cell lives. A registry symbol rather than a module
111
150
  * variable, because a module's dependencies often install two copies of this
@@ -143,21 +182,61 @@ function unwrap(result) {
143
182
  */
144
183
  export class LaunchNonceCell {
145
184
  cached;
185
+ pending;
146
186
  /** How many times this cell has taken a descriptor. At most one. */
147
187
  descriptorReads = 0;
148
188
  lookup;
149
189
  platform;
150
190
  stat;
151
- constructor(lookup, platform = process.platform, stat = (fd) => fstatSync(fd, { bigint: true })) {
191
+ pipeReader;
192
+ constructor(lookup, platform = process.platform, stat = (fd) => fstatSync(fd, { bigint: true }), pipeReader = readLaunchNoncePipe) {
152
193
  this.lookup = lookup;
153
194
  this.platform = platform;
154
195
  this.stat = stat;
196
+ this.pipeReader = pipeReader;
155
197
  }
156
198
  result() {
199
+ if (this.cached === undefined && this.platform === "win32" && this.lookup(SUBC_LAUNCH_NONCE_PIPE_ENV) !== undefined) {
200
+ const fallback = this.permittedPipeFallback();
201
+ if (fallback === undefined) {
202
+ throw new LaunchNonceError("PipeNeedsAsync", "call launchNonceAsync() before the synchronous reader when SUBC_LAUNCH_NONCE_PIPE is set");
203
+ }
204
+ // Legacy synchronous readers cannot use net.connect. Only the daemon's
205
+ // explicit fallback permission lets them retain environment startup while
206
+ // environment-only modules migrate to async pipe reads.
207
+ this.cached = { ok: true, nonce: fallback };
208
+ }
157
209
  if (this.cached === undefined)
158
210
  this.cached = this.read();
159
211
  return this.cached;
160
212
  }
213
+ async resultAsync() {
214
+ if (this.cached !== undefined)
215
+ return this.cached;
216
+ if (this.pending !== undefined)
217
+ return this.pending;
218
+ const named = this.platform === "win32" ? this.lookup(SUBC_LAUNCH_NONCE_PIPE_ENV) : undefined;
219
+ if (named === undefined)
220
+ return this.result();
221
+ const fallback = this.permittedPipeFallback();
222
+ this.pending = this.pipeReader(named).then((nonce) => ({ ok: true, nonce: fallback !== undefined && nonce.value !== fallback.value ? fallback : nonce }), (error) => {
223
+ if (fallback !== undefined)
224
+ return { ok: true, nonce: fallback };
225
+ if (!isLaunchNonceError(error))
226
+ throw error;
227
+ return { ok: false, error };
228
+ }).then((result) => { this.cached ??= result; return this.cached; });
229
+ return this.pending;
230
+ }
231
+ permittedPipeFallback() {
232
+ if (this.lookup(SUBC_LAUNCH_NONCE_PIPE_FALLBACK_ENV) !== "env")
233
+ return undefined;
234
+ const value = this.lookup(SUBC_LAUNCH_NONCE_ENV);
235
+ return value ? makeLaunchNonce(value, "env") : undefined;
236
+ }
237
+ async getAsync() {
238
+ return unwrap(await this.resultAsync());
239
+ }
161
240
  /** The cached value, reading it first if no caller has yet; throws a refusal. */
162
241
  get() {
163
242
  return unwrap(this.result());
@@ -331,4 +410,81 @@ function closeQuietly(fd) {
331
410
  // Nothing useful can be done if closing the consumed pipe fails.
332
411
  }
333
412
  }
413
+ /** Read a one-time pipe to EOF. The injected connector and budgets let unit
414
+ * tests exercise busy retry and timeouts without requiring a Windows host.
415
+ */
416
+ export async function readLaunchNoncePipe(name, connector = (path) => connect(path), openWindowMs = 500, readWindowMs = 2000) {
417
+ const deadline = Date.now() + openWindowMs;
418
+ for (;;) {
419
+ try {
420
+ const bytes = await pipeAttempt(name, connector, Math.max(1, deadline - Date.now()), readWindowMs);
421
+ if (bytes.length === 0)
422
+ throw new LaunchNonceError("PipeEmpty", "the launch nonce named pipe is empty");
423
+ let value;
424
+ try {
425
+ value = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
426
+ }
427
+ catch {
428
+ throw new LaunchNonceError("PipeNotUtf8", "the launch nonce named pipe held bytes that are not UTF-8");
429
+ }
430
+ return makeLaunchNonce(value, "pipe");
431
+ }
432
+ catch (error) {
433
+ if (isLaunchNonceError(error))
434
+ throw error;
435
+ const busy = error?.code === "EBUSY" || errnoOf(error) === 231;
436
+ if (!busy || Date.now() >= deadline) {
437
+ throw new LaunchNonceError("PipeNotOpen", "SUBC_LAUNCH_NONCE_PIPE names a pipe that could not be opened", { errno: errnoOf(error) });
438
+ }
439
+ await new Promise((resolve) => setTimeout(resolve, Math.min(10, Math.max(1, deadline - Date.now()))));
440
+ }
441
+ }
442
+ }
443
+ function pipeAttempt(name, connector, openWindowMs, readWindowMs) {
444
+ return new Promise((resolve, reject) => {
445
+ let socket;
446
+ try {
447
+ socket = connector(name);
448
+ }
449
+ catch (error) {
450
+ reject(error);
451
+ return;
452
+ }
453
+ let connected = false;
454
+ let settled = false;
455
+ let size = 0;
456
+ const chunks = [];
457
+ let timer = setTimeout(() => finish(new LaunchNonceError("PipeNotOpen", "launch nonce pipe open timed out")), openWindowMs);
458
+ function finish(error) {
459
+ if (settled)
460
+ return;
461
+ settled = true;
462
+ clearTimeout(timer);
463
+ socket.destroy();
464
+ if (error !== undefined)
465
+ reject(error);
466
+ else
467
+ resolve(Buffer.concat(chunks));
468
+ }
469
+ socket.once("connect", () => {
470
+ connected = true;
471
+ clearTimeout(timer);
472
+ timer = setTimeout(() => finish(new LaunchNonceError("PipeUnreadable", "launch nonce pipe read timed out")), readWindowMs);
473
+ });
474
+ socket.on("data", (chunk) => {
475
+ size += chunk.length;
476
+ if (size > 4096) {
477
+ finish(new LaunchNonceError("PipeUnreadable", "launch nonce pipe exceeded its byte limit"));
478
+ return;
479
+ }
480
+ chunks.push(Buffer.from(chunk));
481
+ });
482
+ socket.once("end", () => finish());
483
+ socket.once("error", (error) => finish(connected ? new LaunchNonceError("PipeUnreadable", "could not read the launch nonce from the named pipe", { errno: errnoOf(error) }) : error));
484
+ socket.once("close", () => {
485
+ if (!settled)
486
+ finish(new LaunchNonceError("PipeUnreadable", "launch nonce pipe closed before EOF"));
487
+ });
488
+ });
489
+ }
334
490
  //# sourceMappingURL=launch-nonce.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-nonce.js","sourceRoot":"","sources":["../src/launch-nonce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-nonce.js","sourceRoot":"","sources":["../src/launch-nonce.ts"],"names":[],"mappings":"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"}
@@ -244,6 +244,12 @@ export interface SubcProviderConnectOptions {
244
244
  sleep?: (ms: number) => Promise<void>;
245
245
  /** Milliseconds to wait before emitting restored after the provider re-registers following a reconnect. */
246
246
  restoredDebounceMs?: number;
247
+ /**
248
+ * Deadline budget (ms) without progress for reading a frame body after its
249
+ * header arrives. Each incoming chunk pushes the deadline out again.
250
+ * Defaults to 30,000 ms.
251
+ */
252
+ bodyReadTimeoutMs?: number;
247
253
  /** Callback that receives ProviderConnectionState events one at a time and in order. */
248
254
  onConnectionState?: (event: ProviderConnectionState) => void | Promise<void>;
249
255
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/provider.js CHANGED
@@ -3,7 +3,7 @@ import { AuthError, authenticateClient } from "./auth.js";
3
3
  import { DEFAULT_RECONNECT_BACKOFF, isEstablishedRouteDead, parseRouteCloseReason, SUBC_MODULE_ID_ENV, } from "./client.js";
4
4
  import { ConnectionFileError, readConnectionFile } from "./connection-file.js";
5
5
  import { AdmissionClass, buildFlags, buildFrame, buildFrameWithVersion, encodeFrame, FrameType, Priority, PROTOCOL_VERSION, } from "./envelope.js";
6
- import { isLaunchNonceError, launchNonce as processLaunchNonce, launchNonceOrUndefined, } from "./launch-nonce.js";
6
+ import { isLaunchNonceError, launchNonceAsync as processLaunchNonce, launchNonceOrUndefinedAsync, launchNonceOrUndefined, } from "./launch-nonce.js";
7
7
  import { belongsToConnection, createRouteHandle, newConnectionToken, StaleRouteHandleError, } from "./route-handle.js";
8
8
  import { SocketClosedError, SocketTimeoutError, SocketWriteNotQueuedError, SocketWriteQueuedError, SubcSocket, writeBorrowed, } from "./socket.js";
9
9
  const DEFAULT_HANDSHAKE_TIMEOUT_MS = 10_000;
@@ -233,7 +233,7 @@ export class SubcProvider {
233
233
  if (opts.manifest.protocol_ver !== PROTOCOL_VERSION) {
234
234
  throw new SubcProviderError(`manifest protocol_ver ${opts.manifest.protocol_ver} does not match client protocol ${PROTOCOL_VERSION}`, "invalid_manifest");
235
235
  }
236
- const normalized = normalizeProviderConnectOptions(opts);
236
+ const normalized = await normalizeProviderConnectOptions(opts);
237
237
  const opened = await SubcProvider.openConnection(normalized);
238
238
  return new SubcProvider(opened.sock, opened.conn, normalized, opened.ack);
239
239
  }
@@ -275,7 +275,9 @@ export class SubcProvider {
275
275
  const control = { undecodablePushLogged: false, drainingHooks: new Set() };
276
276
  try {
277
277
  for (;;) {
278
- const frame = await sock.readFrame(Number.POSITIVE_INFINITY, { afterHeaderMs: BODY_READ_TIMEOUT_MS });
278
+ const frame = await sock.readFrame(Number.POSITIVE_INFINITY, {
279
+ afterHeaderMs: this.opts.bodyReadTimeoutMs ?? BODY_READ_TIMEOUT_MS,
280
+ });
279
281
  const keepGoing = await this.dispatch(frame, sock, generation, control);
280
282
  if (!keepGoing) {
281
283
  if (this.sock === sock && this.generation === generation) {
@@ -882,7 +884,7 @@ function providerErrorFromFrame(frame) {
882
884
  function nonEmpty(value) {
883
885
  return value && value.length > 0 ? value : undefined;
884
886
  }
885
- function normalizeProviderConnectOptions(opts) {
887
+ async function normalizeProviderConnectOptions(opts) {
886
888
  // The environment is read once here. The daemon injects both variables when it
887
889
  // spawns a module; together they mark the process as supervised, and the nonce
888
890
  // is also what HELLO echoes for a reserved module_id.
@@ -894,7 +896,7 @@ function normalizeProviderConnectOptions(opts) {
894
896
  let processNonce;
895
897
  if (opts.launchNonce === undefined) {
896
898
  try {
897
- processNonce = processLaunchNonce()?.value;
899
+ processNonce = (await processLaunchNonce())?.value;
898
900
  }
899
901
  catch (error) {
900
902
  if (isLaunchNonceError(error))
@@ -903,7 +905,7 @@ function normalizeProviderConnectOptions(opts) {
903
905
  }
904
906
  }
905
907
  else {
906
- processNonce = launchNonceOrUndefined()?.value;
908
+ processNonce = (await launchNonceOrUndefinedAsync())?.value;
907
909
  }
908
910
  const envLaunchNonce = nonEmpty(processNonce);
909
911
  const supervised = envModuleId !== undefined && envLaunchNonce !== undefined;
@@ -921,6 +923,7 @@ function normalizeProviderConnectOptions(opts) {
921
923
  reconnectBackoff: opts.reconnectBackoff ?? DEFAULT_RECONNECT_BACKOFF,
922
924
  sleep: opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms))),
923
925
  restoredDebounceMs: opts.restoredDebounceMs ?? DEFAULT_RESTORED_DEBOUNCE_MS,
926
+ bodyReadTimeoutMs: opts.bodyReadTimeoutMs,
924
927
  onConnectionState: opts.onConnectionState,
925
928
  launchNonce: nonEmpty(opts.launchNonce ?? envLaunchNonce),
926
929
  reconnectOnDrop: opts.reconnectOnDrop ?? !supervised,