@replit/river 0.12.0 → 0.12.2

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.
Files changed (46) hide show
  1. package/dist/{chunk-24O3BKZA.js → chunk-55XUAPC6.js} +1 -1
  2. package/dist/{chunk-ANGOKBE5.js → chunk-CT57CKBS.js} +67 -48
  3. package/dist/{chunk-4HOR4NUO.js → chunk-NHSJ4RDY.js} +1 -1
  4. package/dist/{chunk-XOTIAXAH.js → chunk-PIF32FUL.js} +1 -1
  5. package/dist/{chunk-IUDKWAOK.js → chunk-R6YJHJV7.js} +1 -1
  6. package/dist/{chunk-WTOIOXB7.js → chunk-XFFS4UOD.js} +5 -3
  7. package/dist/{connection-2956a1c5.d.ts → connection-bf7811aa.d.ts} +1 -1
  8. package/dist/{connection-cd963ed5.d.ts → connection-d880aa4a.d.ts} +1 -1
  9. package/dist/{connection-aaea7c88.d.ts → connection-eb10d250.d.ts} +1 -1
  10. package/dist/{index-d91775d9.d.ts → index-0c0a69f6.d.ts} +9 -11
  11. package/dist/router/index.cjs +2 -1
  12. package/dist/router/index.d.cts +1 -1
  13. package/dist/router/index.d.ts +1 -1
  14. package/dist/router/index.js +2 -2
  15. package/dist/transport/impls/stdio/client.cjs +57 -38
  16. package/dist/transport/impls/stdio/client.d.cts +2 -2
  17. package/dist/transport/impls/stdio/client.d.ts +2 -2
  18. package/dist/transport/impls/stdio/client.js +3 -3
  19. package/dist/transport/impls/stdio/server.cjs +55 -32
  20. package/dist/transport/impls/stdio/server.d.cts +2 -2
  21. package/dist/transport/impls/stdio/server.d.ts +2 -2
  22. package/dist/transport/impls/stdio/server.js +3 -3
  23. package/dist/transport/impls/uds/client.cjs +57 -38
  24. package/dist/transport/impls/uds/client.d.cts +2 -2
  25. package/dist/transport/impls/uds/client.d.ts +2 -2
  26. package/dist/transport/impls/uds/client.js +3 -3
  27. package/dist/transport/impls/uds/server.cjs +55 -32
  28. package/dist/transport/impls/uds/server.d.cts +2 -2
  29. package/dist/transport/impls/uds/server.d.ts +2 -2
  30. package/dist/transport/impls/uds/server.js +3 -3
  31. package/dist/transport/impls/ws/client.cjs +63 -38
  32. package/dist/transport/impls/ws/client.d.cts +2 -2
  33. package/dist/transport/impls/ws/client.d.ts +2 -2
  34. package/dist/transport/impls/ws/client.js +9 -3
  35. package/dist/transport/impls/ws/server.cjs +55 -32
  36. package/dist/transport/impls/ws/server.d.cts +2 -2
  37. package/dist/transport/impls/ws/server.d.ts +2 -2
  38. package/dist/transport/impls/ws/server.js +3 -3
  39. package/dist/transport/index.cjs +71 -50
  40. package/dist/transport/index.d.cts +1 -1
  41. package/dist/transport/index.d.ts +1 -1
  42. package/dist/transport/index.js +2 -2
  43. package/dist/util/testHelpers.d.cts +1 -1
  44. package/dist/util/testHelpers.d.ts +1 -1
  45. package/dist/util/testHelpers.js +2 -2
  46. package/package.json +1 -1
@@ -3,7 +3,7 @@ import {
3
3
  coerceErrorString,
4
4
  isStreamClose,
5
5
  isStreamOpen
6
- } from "./chunk-WTOIOXB7.js";
6
+ } from "./chunk-XFFS4UOD.js";
7
7
  import {
8
8
  log
9
9
  } from "./chunk-H4BYJELI.js";
@@ -10,7 +10,7 @@ import {
10
10
  bootResponseMessage,
11
11
  coerceErrorString,
12
12
  isAck
13
- } from "./chunk-WTOIOXB7.js";
13
+ } from "./chunk-XFFS4UOD.js";
14
14
  import {
15
15
  log
16
16
  } from "./chunk-H4BYJELI.js";
@@ -53,9 +53,9 @@ var Connection = class {
53
53
  this.debugId = `conn-${unsafeId()}`;
54
54
  }
55
55
  };
56
- var HEARTBEAT_INTERVAL_MS = 250;
57
- var HEARTBEATS_TILL_DEAD = 4;
58
- var SESSION_DISCONNECT_GRACE_MS = 3e3;
56
+ var HEARTBEAT_INTERVAL_MS = 1e3;
57
+ var HEARTBEATS_TILL_DEAD = 2;
58
+ var SESSION_DISCONNECT_GRACE_MS = 5e3;
59
59
  var Session = class {
60
60
  codec;
61
61
  /**
@@ -138,11 +138,13 @@ var Session = class {
138
138
  return fullMsg.id;
139
139
  }
140
140
  sendHeartbeat() {
141
- if (this.heartbeatMisses >= HEARTBEATS_TILL_DEAD && this.connection) {
142
- log?.info(
143
- `${this.from} -- closing connection (id: ${this.connection.debugId}) to ${this.to} due to inactivity`
144
- );
145
- this.halfCloseConnection();
141
+ if (this.heartbeatMisses >= HEARTBEATS_TILL_DEAD) {
142
+ if (this.connection) {
143
+ log?.info(
144
+ `${this.from} -- closing connection (id: ${this.connection.debugId}) to ${this.to} due to inactivity`
145
+ );
146
+ this.closeStaleConnection(this.connection);
147
+ }
146
148
  return;
147
149
  }
148
150
  this.send(
@@ -179,7 +181,6 @@ var Session = class {
179
181
  }
180
182
  }
181
183
  updateBookkeeping(ack, seq) {
182
- this.heartbeatMisses = 0;
183
184
  this.sendBuffer = this.sendBuffer.filter((unacked) => unacked.seq > ack);
184
185
  this.ack = seq + 1;
185
186
  }
@@ -211,6 +212,7 @@ var Session = class {
211
212
  }, SESSION_DISCONNECT_GRACE_MS);
212
213
  }
213
214
  cancelGrace() {
215
+ this.heartbeatMisses = 0;
214
216
  clearTimeout(this.disconnectionGrace);
215
217
  }
216
218
  get connected() {
@@ -239,6 +241,7 @@ var Session = class {
239
241
  */
240
242
  halfCloseConnection() {
241
243
  this.connection?.close();
244
+ clearInterval(this.heartbeat);
242
245
  }
243
246
  inspectSendBuffer() {
244
247
  return this.sendBuffer;
@@ -257,6 +260,13 @@ var defaultTransportOptions = {
257
260
  codec: NaiveJsonCodec
258
261
  };
259
262
  var Transport = class {
263
+ /**
264
+ * Unique per instance of the transport.
265
+ * This allows us to distinguish reconnects to different
266
+ * transports.
267
+ */
268
+ instanceId = nanoid2();
269
+ connectedInstanceIds = /* @__PURE__ */ new Map();
260
270
  /**
261
271
  * A flag indicating whether the transport has been destroyed.
262
272
  * A destroyed transport will not attempt to reconnect and cannot be used again.
@@ -318,12 +328,23 @@ var Transport = class {
318
328
  * and we know the identity of the connected client.
319
329
  * @param conn The connection object.
320
330
  */
321
- onConnect(conn, connectedTo) {
331
+ onConnect(conn, connectedTo, instanceId) {
322
332
  this.eventDispatcher.dispatchEvent("connectionStatus", {
323
333
  status: "connect",
324
334
  conn
325
335
  });
326
- const session = this.sessions.get(connectedTo);
336
+ let session = this.sessions.get(connectedTo);
337
+ const lastInstanceId = this.connectedInstanceIds.get(connectedTo);
338
+ if (session && lastInstanceId !== instanceId && lastInstanceId !== void 0) {
339
+ log?.warn(
340
+ `${this.clientId} -- handshake from ${connectedTo} has different server instance (got: ${instanceId}, last connected to: ${lastInstanceId}), starting a new session`
341
+ );
342
+ session.resetBufferedMessages();
343
+ session.closeStaleConnection(conn);
344
+ this.deleteSession(session);
345
+ session = void 0;
346
+ }
347
+ this.connectedInstanceIds.set(connectedTo, instanceId);
327
348
  if (session === void 0) {
328
349
  const newSession = this.createSession(connectedTo, conn);
329
350
  log?.info(
@@ -354,13 +375,13 @@ var Transport = class {
354
375
  }
355
376
  deleteSession(session) {
356
377
  this.sessions.delete(session.to);
378
+ log?.info(
379
+ `${this.clientId} -- session ${session.debugId} disconnect from ${session.to}`
380
+ );
357
381
  this.eventDispatcher.dispatchEvent("sessionStatus", {
358
382
  status: "disconnect",
359
383
  session
360
384
  });
361
- log?.info(
362
- `${this.clientId} -- session ${session.debugId} disconnect from ${session.to}`
363
- );
364
385
  }
365
386
  /**
366
387
  * The downstream implementation needs to call this when a connection is closed.
@@ -389,11 +410,13 @@ var Transport = class {
389
410
  const parsedMsg = this.codec.fromBuffer(msg);
390
411
  if (parsedMsg === null) {
391
412
  const decodedBuffer = new TextDecoder().decode(msg);
392
- log?.warn(`${this.clientId} -- received malformed msg: ${decodedBuffer}`);
413
+ log?.error(
414
+ `${this.clientId} -- received malformed msg, killing conn: ${decodedBuffer}`
415
+ );
393
416
  return null;
394
417
  }
395
418
  if (!Value.Check(OpaqueTransportMessageSchema, parsedMsg)) {
396
- log?.warn(
419
+ log?.error(
397
420
  `${this.clientId} -- received invalid msg: ${JSON.stringify(
398
421
  parsedMsg
399
422
  )}`
@@ -412,9 +435,6 @@ var Transport = class {
412
435
  * @param msg The received message.
413
436
  */
414
437
  handleMsg(msg) {
415
- if (!msg) {
416
- return;
417
- }
418
438
  const session = this.sessionByClientId(msg.from);
419
439
  session.cancelGrace();
420
440
  log?.debug(`${this.clientId} -- received msg: ${JSON.stringify(msg)}`);
@@ -516,7 +536,6 @@ var ClientTransport = class extends Transport {
516
536
  */
517
537
  inflightConnectionPromises;
518
538
  tryReconnecting = true;
519
- serverInstanceIds = /* @__PURE__ */ new Map();
520
539
  constructor(clientId, providedOptions) {
521
540
  super(clientId, providedOptions);
522
541
  this.inflightConnectionPromises = /* @__PURE__ */ new Map();
@@ -524,7 +543,14 @@ var ClientTransport = class extends Transport {
524
543
  handleConnection(conn, to) {
525
544
  const bootHandler = this.receiveWithBootSequence(conn, () => {
526
545
  conn.removeDataListener(bootHandler);
527
- conn.addDataListener((data) => this.handleMsg(this.parseMsg(data)));
546
+ conn.addDataListener((data) => {
547
+ const parsed = this.parseMsg(data);
548
+ if (!parsed) {
549
+ conn.close();
550
+ return;
551
+ }
552
+ this.handleMsg(parsed);
553
+ });
528
554
  });
529
555
  conn.addDataListener(bootHandler);
530
556
  conn.addCloseListener(() => {
@@ -556,7 +582,7 @@ var ClientTransport = class extends Transport {
556
582
  try {
557
583
  const conn = await reconnectPromise;
558
584
  this.state = "open";
559
- const requestMsg = bootRequestMessage(this.clientId, to);
585
+ const requestMsg = bootRequestMessage(this.clientId, to, this.instanceId);
560
586
  log?.debug(`${this.clientId} -- sending boot handshake to ${to}`);
561
587
  conn.send(this.codec.toBuffer(requestMsg));
562
588
  } catch (error) {
@@ -579,8 +605,10 @@ var ClientTransport = class extends Transport {
579
605
  receiveWithBootSequence(conn, sessionCb) {
580
606
  const bootHandler = (data) => {
581
607
  const parsed = this.parseMsg(data);
582
- if (!parsed)
608
+ if (!parsed) {
609
+ conn.close();
583
610
  return;
611
+ }
584
612
  if (!Value.Check(ControlMessageHandshakeResponseSchema, parsed.payload)) {
585
613
  log?.warn(
586
614
  `${this.clientId} -- received invalid handshake resp: ${JSON.stringify(parsed)}`
@@ -595,22 +623,11 @@ var ClientTransport = class extends Transport {
595
623
  );
596
624
  return;
597
625
  }
598
- const oldSession = this.sessions.get(parsed.from);
599
626
  const serverInstanceId = parsed.payload.status.instanceId;
600
- const lastServerInstanceId = this.serverInstanceIds.get(parsed.from);
601
- if (oldSession && lastServerInstanceId !== serverInstanceId && lastServerInstanceId !== void 0) {
602
- log?.debug(
603
- `${this.clientId} -- handshake from ${parsed.from} has different server instance (got: ${serverInstanceId}, last connected to: ${lastServerInstanceId}), starting a new session`
604
- );
605
- oldSession.resetBufferedMessages();
606
- oldSession.closeStaleConnection();
607
- this.deleteSession(oldSession);
608
- }
609
627
  log?.debug(
610
628
  `${this.clientId} -- handshake from ${parsed.from} ok (server instance: ${serverInstanceId})`
611
629
  );
612
- this.serverInstanceIds.set(parsed.from, serverInstanceId);
613
- sessionCb(this.onConnect(conn, parsed.from));
630
+ sessionCb(this.onConnect(conn, parsed.from, serverInstanceId));
614
631
  };
615
632
  return bootHandler;
616
633
  }
@@ -621,14 +638,6 @@ var ClientTransport = class extends Transport {
621
638
  }
622
639
  };
623
640
  var ServerTransport = class extends Transport {
624
- /**
625
- * Unique per instance of server transport.
626
- * This allows us to distinguish reconnects to different
627
- * server transports at the same reachable address and signal
628
- * the appropriate session disconnect back to the client at the
629
- * boot stage.
630
- */
631
- instanceId = nanoid2();
632
641
  constructor(clientId, providedOptions) {
633
642
  super(clientId, providedOptions);
634
643
  log?.info(
@@ -643,7 +652,14 @@ var ServerTransport = class extends Transport {
643
652
  (establishedSession) => {
644
653
  session = establishedSession;
645
654
  conn.removeDataListener(bootHandler);
646
- conn.addDataListener((data) => this.handleMsg(this.parseMsg(data)));
655
+ conn.addDataListener((data) => {
656
+ const parsed = this.parseMsg(data);
657
+ if (!parsed) {
658
+ conn.close();
659
+ return;
660
+ }
661
+ this.handleMsg(parsed);
662
+ });
647
663
  }
648
664
  );
649
665
  conn.addDataListener(bootHandler);
@@ -666,8 +682,10 @@ var ServerTransport = class extends Transport {
666
682
  receiveWithBootSequence(conn, sessionCb) {
667
683
  const bootHandler = (data) => {
668
684
  const parsed = this.parseMsg(data);
669
- if (!parsed)
685
+ if (!parsed) {
686
+ conn.close();
670
687
  return;
688
+ }
671
689
  if (!Value.Check(ControlMessageHandshakeRequestSchema, parsed.payload)) {
672
690
  const responseMsg2 = bootResponseMessage(
673
691
  this.clientId,
@@ -683,8 +701,9 @@ var ServerTransport = class extends Transport {
683
701
  );
684
702
  return;
685
703
  }
704
+ const instanceId = parsed.payload.instanceId;
686
705
  log?.debug(
687
- `${this.clientId} -- handshake from ${parsed.from} ok, responding with handshake success`
706
+ `${this.clientId} -- handshake from ${parsed.from} ok (instance id: ${instanceId}), responding with handshake success`
688
707
  );
689
708
  const responseMsg = bootResponseMessage(
690
709
  this.clientId,
@@ -693,7 +712,7 @@ var ServerTransport = class extends Transport {
693
712
  true
694
713
  );
695
714
  conn.send(this.codec.toBuffer(responseMsg));
696
- sessionCb(this.onConnect(conn, parsed.from));
715
+ sessionCb(this.onConnect(conn, parsed.from, instanceId));
697
716
  };
698
717
  return bootHandler;
699
718
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Connection
3
- } from "./chunk-ANGOKBE5.js";
3
+ } from "./chunk-CT57CKBS.js";
4
4
 
5
5
  // transport/impls/ws/connection.ts
6
6
  var WebSocketConnection = class extends Connection {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-IIBVKYDB.js";
4
4
  import {
5
5
  Connection
6
- } from "./chunk-ANGOKBE5.js";
6
+ } from "./chunk-CT57CKBS.js";
7
7
 
8
8
  // transport/impls/uds/connection.ts
9
9
  var UdsConnection = class extends Connection {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-IIBVKYDB.js";
4
4
  import {
5
5
  Connection
6
- } from "./chunk-ANGOKBE5.js";
6
+ } from "./chunk-CT57CKBS.js";
7
7
 
8
8
  // transport/impls/stdio/connection.ts
9
9
  var StreamConnection = class extends Connection {
@@ -22,7 +22,8 @@ var ControlMessageCloseSchema = Type.Object({
22
22
  var PROTOCOL_VERSION = "v1";
23
23
  var ControlMessageHandshakeRequestSchema = Type.Object({
24
24
  type: Type.Literal("HANDSHAKE_REQ"),
25
- protocolVersion: Type.Literal(PROTOCOL_VERSION)
25
+ protocolVersion: Type.Literal(PROTOCOL_VERSION),
26
+ instanceId: Type.String()
26
27
  });
27
28
  var ControlMessageHandshakeResponseSchema = Type.Object({
28
29
  type: Type.Literal("HANDSHAKE_RESP"),
@@ -46,7 +47,7 @@ var ControlMessagePayloadSchema = Type.Union([
46
47
  var OpaqueTransportMessageSchema = TransportMessageSchema(
47
48
  Type.Unknown()
48
49
  );
49
- function bootRequestMessage(from, to) {
50
+ function bootRequestMessage(from, to, instanceId) {
50
51
  return {
51
52
  id: nanoid(),
52
53
  from,
@@ -57,7 +58,8 @@ function bootRequestMessage(from, to) {
57
58
  controlFlags: 0,
58
59
  payload: {
59
60
  type: "HANDSHAKE_REQ",
60
- protocolVersion: PROTOCOL_VERSION
61
+ protocolVersion: PROTOCOL_VERSION,
62
+ instanceId
61
63
  }
62
64
  };
63
65
  }
@@ -1,4 +1,4 @@
1
- import { C as Connection } from './index-d91775d9.js';
1
+ import { C as Connection } from './index-0c0a69f6.js';
2
2
  import { U as Uint32LengthPrefixFraming } from './messageFraming-b200ef25.js';
3
3
 
4
4
  declare class StreamConnection extends Connection {
@@ -1,4 +1,4 @@
1
- import { C as Connection } from './index-d91775d9.js';
1
+ import { C as Connection } from './index-0c0a69f6.js';
2
2
  import { Socket } from 'node:net';
3
3
  import { U as Uint32LengthPrefixFraming } from './messageFraming-b200ef25.js';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import WebSocket from 'isomorphic-ws';
2
- import { C as Connection } from './index-d91775d9.js';
2
+ import { C as Connection } from './index-0c0a69f6.js';
3
3
 
4
4
  declare class WebSocketConnection extends Connection {
5
5
  ws: WebSocket;
@@ -295,6 +295,13 @@ interface TransportOptions {
295
295
  * @abstract
296
296
  */
297
297
  declare abstract class Transport<ConnType extends Connection> {
298
+ /**
299
+ * Unique per instance of the transport.
300
+ * This allows us to distinguish reconnects to different
301
+ * transports.
302
+ */
303
+ instanceId: string;
304
+ connectedInstanceIds: Map<string, string>;
298
305
  /**
299
306
  * A flag indicating whether the transport has been destroyed.
300
307
  * A destroyed transport will not attempt to reconnect and cannot be used again.
@@ -346,7 +353,7 @@ declare abstract class Transport<ConnType extends Connection> {
346
353
  * and we know the identity of the connected client.
347
354
  * @param conn The connection object.
348
355
  */
349
- protected onConnect(conn: ConnType, connectedTo: TransportClientId): Session<ConnType>;
356
+ protected onConnect(conn: ConnType, connectedTo: TransportClientId, instanceId: string): Session<ConnType>;
350
357
  private createSession;
351
358
  protected deleteSession(session: Session<ConnType>): void;
352
359
  /**
@@ -365,7 +372,7 @@ declare abstract class Transport<ConnType extends Connection> {
365
372
  * You generally shouldn't need to override this in downstream transport implementations.
366
373
  * @param msg The received message.
367
374
  */
368
- handleMsg(msg: OpaqueTransportMessage | null): void;
375
+ handleMsg(msg: OpaqueTransportMessage): void;
369
376
  /**
370
377
  * Adds a listener to this transport.
371
378
  * @param the type of event to listen for
@@ -405,7 +412,6 @@ declare abstract class ClientTransport<ConnType extends Connection> extends Tran
405
412
  */
406
413
  inflightConnectionPromises: Map<TransportClientId, Promise<ConnType>>;
407
414
  tryReconnecting: boolean;
408
- serverInstanceIds: Map<string, string>;
409
415
  constructor(clientId: TransportClientId, providedOptions?: Partial<TransportOptions>);
410
416
  protected handleConnection(conn: ConnType, to: TransportClientId): void;
411
417
  /**
@@ -426,14 +432,6 @@ declare abstract class ClientTransport<ConnType extends Connection> extends Tran
426
432
  onDisconnect(conn: ConnType, connectedTo: string | undefined): void;
427
433
  }
428
434
  declare abstract class ServerTransport<ConnType extends Connection> extends Transport<ConnType> {
429
- /**
430
- * Unique per instance of server transport.
431
- * This allows us to distinguish reconnects to different
432
- * server transports at the same reachable address and signal
433
- * the appropriate session disconnect back to the client at the
434
- * boot stage.
435
- */
436
- instanceId: string;
437
435
  constructor(clientId: TransportClientId, providedOptions?: Partial<TransportOptions>);
438
436
  protected handleConnection(conn: ConnType): void;
439
437
  receiveWithBootSequence(conn: ConnType, sessionCb: (sess: Session<ConnType>) => void): (data: Uint8Array) => void;
@@ -427,7 +427,8 @@ var ControlMessageCloseSchema = import_typebox2.Type.Object({
427
427
  var PROTOCOL_VERSION = "v1";
428
428
  var ControlMessageHandshakeRequestSchema = import_typebox2.Type.Object({
429
429
  type: import_typebox2.Type.Literal("HANDSHAKE_REQ"),
430
- protocolVersion: import_typebox2.Type.Literal(PROTOCOL_VERSION)
430
+ protocolVersion: import_typebox2.Type.Literal(PROTOCOL_VERSION),
431
+ instanceId: import_typebox2.Type.String()
431
432
  });
432
433
  var ControlMessageHandshakeResponseSchema = import_typebox2.Type.Object({
433
434
  type: import_typebox2.Type.Literal("HANDSHAKE_RESP"),
@@ -1,6 +1,6 @@
1
1
  import { A as AnyService, P as PayloadType, b as Result, R as RiverError, S as ServiceContext, d as ProcType, e as ProcInput, f as ProcOutput, g as ProcErrors, h as ProcHasInit, i as ProcInit } from '../builder-c593de11.js';
2
2
  export { E as Err, O as Ok, m as ProcHandler, k as ProcListing, a as Procedure, o as RiverErrorSchema, c as RiverUncaughtSchema, l as Service, j as ServiceBuilder, n as ServiceContextWithState, U as UNCAUGHT_ERROR, V as ValidProcType, s as serializeService } from '../builder-c593de11.js';
3
- import { T as Transport, C as Connection, b as TransportClientId } from '../index-d91775d9.js';
3
+ import { T as Transport, C as Connection, b as TransportClientId } from '../index-0c0a69f6.js';
4
4
  import { Pushable } from 'it-pushable';
5
5
  import { Static } from '@sinclair/typebox';
6
6
  import '../types-3e5768ec.js';
@@ -1,6 +1,6 @@
1
1
  import { A as AnyService, P as PayloadType, b as Result, R as RiverError, S as ServiceContext, d as ProcType, e as ProcInput, f as ProcOutput, g as ProcErrors, h as ProcHasInit, i as ProcInit } from '../builder-c593de11.js';
2
2
  export { E as Err, O as Ok, m as ProcHandler, k as ProcListing, a as Procedure, o as RiverErrorSchema, c as RiverUncaughtSchema, l as Service, j as ServiceBuilder, n as ServiceContextWithState, U as UNCAUGHT_ERROR, V as ValidProcType, s as serializeService } from '../builder-c593de11.js';
3
- import { T as Transport, C as Connection, b as TransportClientId } from '../index-d91775d9.js';
3
+ import { T as Transport, C as Connection, b as TransportClientId } from '../index-0c0a69f6.js';
4
4
  import { Pushable } from 'it-pushable';
5
5
  import { Static } from '@sinclair/typebox';
6
6
  import '../types-3e5768ec.js';
@@ -8,8 +8,8 @@ import {
8
8
  createClient,
9
9
  createServer,
10
10
  serializeService
11
- } from "../chunk-24O3BKZA.js";
12
- import "../chunk-WTOIOXB7.js";
11
+ } from "../chunk-55XUAPC6.js";
12
+ import "../chunk-XFFS4UOD.js";
13
13
  import "../chunk-H4BYJELI.js";
14
14
  export {
15
15
  Err,