@replit/river 0.23.9 → 0.23.10

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 (54) hide show
  1. package/dist/{chunk-U4CSF3SQ.js → chunk-B323CECK.js} +473 -15
  2. package/dist/chunk-B323CECK.js.map +1 -0
  3. package/dist/{chunk-XUVTMFTJ.js → chunk-FRICSBDW.js} +2 -2
  4. package/dist/chunk-FRICSBDW.js.map +1 -0
  5. package/dist/{chunk-YGW5PYGV.js → chunk-KBAZ5TWE.js} +25 -35
  6. package/dist/chunk-KBAZ5TWE.js.map +1 -0
  7. package/dist/{chunk-KIWWKSRI.js → chunk-UXQMGZKP.js} +2 -2
  8. package/dist/{chunk-XKVIPKMR.js → chunk-Z4G27Y2I.js} +2 -2
  9. package/dist/{connection-afa08cf1.d.ts → connection-700340c4.d.ts} +1 -1
  10. package/dist/{connection-f5fb7805.d.ts → connection-efcd4e1a.d.ts} +1 -1
  11. package/dist/router/index.cjs +473 -14
  12. package/dist/router/index.cjs.map +1 -1
  13. package/dist/router/index.d.cts +41 -7
  14. package/dist/router/index.d.ts +41 -7
  15. package/dist/router/index.js +4 -2
  16. package/dist/{services-49b1b43d.d.ts → services-409c5545.d.ts} +2 -2
  17. package/dist/transport/impls/uds/client.cjs +23 -33
  18. package/dist/transport/impls/uds/client.cjs.map +1 -1
  19. package/dist/transport/impls/uds/client.d.cts +2 -2
  20. package/dist/transport/impls/uds/client.d.ts +2 -2
  21. package/dist/transport/impls/uds/client.js +3 -3
  22. package/dist/transport/impls/uds/server.cjs +22 -32
  23. package/dist/transport/impls/uds/server.cjs.map +1 -1
  24. package/dist/transport/impls/uds/server.d.cts +2 -2
  25. package/dist/transport/impls/uds/server.d.ts +2 -2
  26. package/dist/transport/impls/uds/server.js +3 -3
  27. package/dist/transport/impls/ws/client.cjs +26 -33
  28. package/dist/transport/impls/ws/client.cjs.map +1 -1
  29. package/dist/transport/impls/ws/client.d.cts +2 -2
  30. package/dist/transport/impls/ws/client.d.ts +2 -2
  31. package/dist/transport/impls/ws/client.js +6 -3
  32. package/dist/transport/impls/ws/client.js.map +1 -1
  33. package/dist/transport/impls/ws/server.cjs +22 -32
  34. package/dist/transport/impls/ws/server.cjs.map +1 -1
  35. package/dist/transport/impls/ws/server.d.cts +2 -2
  36. package/dist/transport/impls/ws/server.d.ts +2 -2
  37. package/dist/transport/impls/ws/server.js +3 -3
  38. package/dist/transport/index.cjs +24 -34
  39. package/dist/transport/index.cjs.map +1 -1
  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/{transport-3d0ba1da.d.ts → transport-cf856c41.d.ts} +13 -17
  44. package/dist/util/testHelpers.cjs +1 -1
  45. package/dist/util/testHelpers.cjs.map +1 -1
  46. package/dist/util/testHelpers.d.cts +2 -2
  47. package/dist/util/testHelpers.d.ts +2 -2
  48. package/dist/util/testHelpers.js +3 -3
  49. package/package.json +3 -3
  50. package/dist/chunk-U4CSF3SQ.js.map +0 -1
  51. package/dist/chunk-XUVTMFTJ.js.map +0 -1
  52. package/dist/chunk-YGW5PYGV.js.map +0 -1
  53. /package/dist/{chunk-KIWWKSRI.js.map → chunk-UXQMGZKP.js.map} +0 -0
  54. /package/dist/{chunk-XKVIPKMR.js.map → chunk-Z4G27Y2I.js.map} +0 -0
@@ -159,11 +159,13 @@ var createLogProxy = (log) => ({
159
159
  var ProtocolError = {
160
160
  RetriesExceeded: "conn_retry_exceeded",
161
161
  HandshakeFailed: "handshake_failed",
162
- UseAfterDestroy: "use_after_destroy",
163
162
  MessageOrderingViolated: "message_ordering_violated"
164
163
  };
165
164
  var EventDispatcher = class {
166
165
  eventListeners = {};
166
+ removeAllListeners() {
167
+ this.eventListeners = {};
168
+ }
167
169
  numberOfListeners(eventType) {
168
170
  return this.eventListeners[eventType]?.size ?? 0;
169
171
  }
@@ -182,7 +184,8 @@ var EventDispatcher = class {
182
184
  dispatchEvent(eventType, event) {
183
185
  const handlers = this.eventListeners[eventType];
184
186
  if (handlers) {
185
- for (const handler of handlers) {
187
+ const copy = [...handlers];
188
+ for (const handler of copy) {
186
189
  handler(event);
187
190
  }
188
191
  }
@@ -196,7 +199,7 @@ var import_nanoid2 = require("nanoid");
196
199
  var import_api = require("@opentelemetry/api");
197
200
 
198
201
  // package.json
199
- var version = "0.23.9";
202
+ var version = "0.23.10";
200
203
 
201
204
  // tracing/index.ts
202
205
  function createSessionTelemetryInfo(session, propagationCtx) {
@@ -246,7 +249,7 @@ var Connection = class {
246
249
  get loggingMetadata() {
247
250
  const metadata = { connId: this.id };
248
251
  const spanContext = this.telemetry?.span.spanContext();
249
- if (spanContext) {
252
+ if (this.telemetry?.span.isRecording() && spanContext) {
250
253
  metadata.telemetry = {
251
254
  traceId: spanContext.traceId,
252
255
  spanId: spanContext.spanId
@@ -621,10 +624,9 @@ var defaultServerTransportOptions = {
621
624
  };
622
625
  var Transport = class {
623
626
  /**
624
- * A flag indicating whether the transport has been destroyed.
625
- * A destroyed transport will not attempt to reconnect and cannot be used again.
627
+ * The status of the transport.
626
628
  */
627
- state;
629
+ status;
628
630
  /**
629
631
  * The {@link Codec} used to encode and decode messages.
630
632
  */
@@ -666,7 +668,7 @@ var Transport = class {
666
668
  this.sessions = /* @__PURE__ */ new Map();
667
669
  this.codec = this.options.codec;
668
670
  this.clientId = clientId;
669
- this.state = "open";
671
+ this.status = "open";
670
672
  }
671
673
  bindLogger(fn, level) {
672
674
  if (typeof fn === "function") {
@@ -828,7 +830,7 @@ var Transport = class {
828
830
  * @param msg The received message.
829
831
  */
830
832
  handleMsg(msg, conn) {
831
- if (this.state !== "open")
833
+ if (this.getStatus() !== "open")
832
834
  return;
833
835
  const session = this.sessions.get(msg.from);
834
836
  if (!session) {
@@ -907,21 +909,14 @@ var Transport = class {
907
909
  * @returns The ID of the sent message or undefined if it wasn't sent
908
910
  */
909
911
  send(to, msg) {
910
- if (this.state === "destroyed") {
911
- const err = "transport is destroyed, cant send";
912
+ if (this.getStatus() === "closed") {
913
+ const err = "transport is closed, cant send";
912
914
  this.log?.error(err, {
913
915
  clientId: this.clientId,
914
916
  transportMessage: msg,
915
917
  tags: ["invariant-violation"]
916
918
  });
917
- this.protocolError(ProtocolError.UseAfterDestroy, err);
918
- return void 0;
919
- } else if (this.state === "closed") {
920
- this.log?.info(`transport closed when sending, discarding`, {
921
- clientId: this.clientId,
922
- transportMessage: msg
923
- });
924
- return void 0;
919
+ throw new Error(err);
925
920
  }
926
921
  return this.getOrCreateSession({ to }).session.send(msg);
927
922
  }
@@ -944,23 +939,18 @@ var Transport = class {
944
939
  * Closes the transport. Any messages sent while the transport is closed will be silently discarded.
945
940
  */
946
941
  close() {
947
- this.state = "closed";
942
+ this.status = "closed";
948
943
  for (const session of this.sessions.values()) {
949
944
  this.deleteSession({ session, closeHandshakingConnection: true });
950
945
  }
946
+ this.eventDispatcher.dispatchEvent("transportStatus", {
947
+ status: this.status
948
+ });
949
+ this.eventDispatcher.removeAllListeners();
951
950
  this.log?.info(`manually closed transport`, { clientId: this.clientId });
952
951
  }
953
- /**
954
- * Default destroy implementation for transports. You should override this in the downstream
955
- * implementation if you need to do any additional cleanup and call super.destroy() at the end.
956
- * Destroys the transport. Any messages sent while the transport is destroyed will throw an error.
957
- */
958
- destroy() {
959
- this.state = "destroyed";
960
- for (const session of this.sessions.values()) {
961
- this.deleteSession({ session, closeHandshakingConnection: true });
962
- }
963
- this.log?.info(`manually destroyed transport`, { clientId: this.clientId });
952
+ getStatus() {
953
+ return this.status;
964
954
  }
965
955
  };
966
956
  var ServerTransport = class extends Transport {
@@ -992,7 +982,7 @@ var ServerTransport = class extends Transport {
992
982
  this.handshakeExtensions = options;
993
983
  }
994
984
  handleConnection(conn) {
995
- if (this.state !== "open")
985
+ if (this.getStatus() !== "open")
996
986
  return;
997
987
  this.log?.info(`new incoming connection`, {
998
988
  ...conn.loggingMetadata,