@replit/river 0.20.1 → 0.21.1

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 (62) hide show
  1. package/README.md +1 -9
  2. package/dist/{chunk-FNK44ZN3.js → chunk-3Y7AB5EB.js} +5 -4
  3. package/dist/chunk-3Y7AB5EB.js.map +1 -0
  4. package/dist/{chunk-MJR36SUY.js → chunk-FDLAPYCK.js} +2 -2
  5. package/dist/{chunk-QU2EE6YU.js → chunk-JMXO5L2X.js} +21 -14
  6. package/dist/chunk-JMXO5L2X.js.map +1 -0
  7. package/dist/{chunk-DP5X7CCT.js → chunk-NCXUFDVL.js} +14 -9
  8. package/dist/{chunk-DP5X7CCT.js.map → chunk-NCXUFDVL.js.map} +1 -1
  9. package/dist/{chunk-DT5JS6TM.js → chunk-OTQNCLFH.js} +1 -1
  10. package/dist/chunk-OTQNCLFH.js.map +1 -0
  11. package/dist/{connection-dba95bc8.d.ts → connection-76c5ed01.d.ts} +2 -2
  12. package/dist/{connection-d49d5d56.d.ts → connection-975b25c9.d.ts} +1 -1
  13. package/dist/{index-3ac92295.d.ts → index-dfad460e.d.ts} +2 -0
  14. package/dist/logging/index.cjs.map +1 -1
  15. package/dist/logging/index.d.cts +1 -1
  16. package/dist/logging/index.d.ts +1 -1
  17. package/dist/logging/index.js +1 -1
  18. package/dist/router/index.cjs +12 -7
  19. package/dist/router/index.cjs.map +1 -1
  20. package/dist/router/index.d.cts +4 -4
  21. package/dist/router/index.d.ts +4 -4
  22. package/dist/router/index.js +2 -2
  23. package/dist/{services-abc077db.d.ts → services-7b716dcf.d.ts} +1 -1
  24. package/dist/{services-8496d6e8.d.ts → services-9c496c6e.d.ts} +1 -1
  25. package/dist/transport/impls/uds/client.cjs +17 -11
  26. package/dist/transport/impls/uds/client.cjs.map +1 -1
  27. package/dist/transport/impls/uds/client.d.cts +2 -2
  28. package/dist/transport/impls/uds/client.d.ts +2 -2
  29. package/dist/transport/impls/uds/client.js +3 -3
  30. package/dist/transport/impls/uds/server.cjs +17 -11
  31. package/dist/transport/impls/uds/server.cjs.map +1 -1
  32. package/dist/transport/impls/uds/server.d.cts +2 -2
  33. package/dist/transport/impls/uds/server.d.ts +2 -2
  34. package/dist/transport/impls/uds/server.js +3 -3
  35. package/dist/transport/impls/ws/client.cjs +39 -21
  36. package/dist/transport/impls/ws/client.cjs.map +1 -1
  37. package/dist/transport/impls/ws/client.d.cts +7 -6
  38. package/dist/transport/impls/ws/client.d.ts +7 -6
  39. package/dist/transport/impls/ws/client.js +12 -11
  40. package/dist/transport/impls/ws/client.js.map +1 -1
  41. package/dist/transport/impls/ws/server.cjs +30 -13
  42. package/dist/transport/impls/ws/server.cjs.map +1 -1
  43. package/dist/transport/impls/ws/server.d.cts +3 -3
  44. package/dist/transport/impls/ws/server.d.ts +3 -3
  45. package/dist/transport/impls/ws/server.js +3 -3
  46. package/dist/transport/impls/ws/server.js.map +1 -1
  47. package/dist/transport/index.cjs +19 -12
  48. package/dist/transport/index.cjs.map +1 -1
  49. package/dist/transport/index.d.cts +2 -2
  50. package/dist/transport/index.d.ts +2 -2
  51. package/dist/transport/index.js +2 -2
  52. package/dist/util/testHelpers.cjs +15 -31
  53. package/dist/util/testHelpers.cjs.map +1 -1
  54. package/dist/util/testHelpers.d.cts +11 -15
  55. package/dist/util/testHelpers.d.ts +11 -15
  56. package/dist/util/testHelpers.js +5 -17
  57. package/dist/util/testHelpers.js.map +1 -1
  58. package/package.json +2 -2
  59. package/dist/chunk-DT5JS6TM.js.map +0 -1
  60. package/dist/chunk-FNK44ZN3.js.map +0 -1
  61. package/dist/chunk-QU2EE6YU.js.map +0 -1
  62. /package/dist/{chunk-MJR36SUY.js.map → chunk-FDLAPYCK.js.map} +0 -0
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // transport/impls/ws/client.ts
@@ -23,6 +33,7 @@ __export(client_exports, {
23
33
  WebSocketClientTransport: () => WebSocketClientTransport
24
34
  });
25
35
  module.exports = __toCommonJS(client_exports);
36
+ var import_agnostic_ws2 = __toESM(require("agnostic-ws"), 1);
26
37
 
27
38
  // transport/transport.ts
28
39
  var import_value = require("@sinclair/typebox/value");
@@ -300,18 +311,20 @@ var Session = class {
300
311
  log?.error(errMsg, {
301
312
  ...this.loggingMetadata,
302
313
  fullTransportMessage: msg,
303
- connId: conn.debugId
314
+ connId: conn.debugId,
315
+ tags: ["invariant-violation"]
304
316
  });
305
- throw new Error(errMsg);
317
+ conn.close();
318
+ return;
306
319
  }
307
320
  }
308
321
  }
309
322
  updateBookkeeping(ack, seq) {
310
323
  if (seq + 1 < this.ack) {
311
- log?.error(
312
- `received stale seq ${seq} + 1 < ${this.ack}`,
313
- this.loggingMetadata
314
- );
324
+ log?.error(`received stale seq ${seq} + 1 < ${this.ack}`, {
325
+ ...this.loggingMetadata,
326
+ tags: ["invariant-violation"]
327
+ });
315
328
  return;
316
329
  }
317
330
  this.sendBuffer = this.sendBuffer.filter((unacked) => unacked.seq >= ack);
@@ -696,9 +709,10 @@ var Transport = class {
696
709
  return;
697
710
  const session = this.sessions.get(msg.from);
698
711
  if (!session) {
699
- log?.error(`(invariant violation) no existing session for ${msg.from}`, {
712
+ log?.error(`no existing session for ${msg.from}`, {
700
713
  clientId: this.clientId,
701
- fullTransportMessage: msg
714
+ fullTransportMessage: msg,
715
+ tags: ["invariant-violation"]
702
716
  });
703
717
  return;
704
718
  }
@@ -717,7 +731,8 @@ var Transport = class {
717
731
  const errMsg = `received out-of-order msg (got seq: ${msg.seq}, wanted seq: ${session.nextExpectedSeq})`;
718
732
  log?.error(`${errMsg}, marking connection as dead`, {
719
733
  clientId: this.clientId,
720
- fullTransportMessage: msg
734
+ fullTransportMessage: msg,
735
+ tags: ["invariant-violation"]
721
736
  });
722
737
  this.protocolError(ProtocolError.MessageOrderingViolated, errMsg);
723
738
  session.close();
@@ -761,7 +776,8 @@ var Transport = class {
761
776
  const err = "transport is destroyed, cant send";
762
777
  log?.error(err, {
763
778
  clientId: this.clientId,
764
- partialTransportMessage: msg
779
+ partialTransportMessage: msg,
780
+ tags: ["invariant-violation"]
765
781
  });
766
782
  this.protocolError(ProtocolError.UseAfterDestroy, err);
767
783
  return void 0;
@@ -1096,7 +1112,8 @@ var ClientTransport = class extends Transport {
1096
1112
  if (!import_value.Value.Check(this.options.handshake.schema, metadata)) {
1097
1113
  log?.error(`handshake metadata did not match schema`, {
1098
1114
  clientId: this.clientId,
1099
- connectedTo: to
1115
+ connectedTo: to,
1116
+ tags: ["invariant-violation"]
1100
1117
  });
1101
1118
  this.protocolError(
1102
1119
  ProtocolError.HandshakeFailed,
@@ -1127,6 +1144,7 @@ var ClientTransport = class extends Transport {
1127
1144
  };
1128
1145
 
1129
1146
  // transport/impls/ws/connection.ts
1147
+ var import_agnostic_ws = __toESM(require("agnostic-ws"), 1);
1130
1148
  var WebSocketConnection = class extends Connection {
1131
1149
  ws;
1132
1150
  constructor(ws) {
@@ -1144,10 +1162,10 @@ var WebSocketConnection = class extends Connection {
1144
1162
  this.ws.onclose = cb;
1145
1163
  }
1146
1164
  addErrorListener(cb) {
1147
- this.ws.onerror = (err) => cb(new Error(err.message));
1165
+ this.ws.onerror = (err) => cb(err.error);
1148
1166
  }
1149
1167
  send(payload) {
1150
- if (this.ws.readyState === this.ws.OPEN) {
1168
+ if (this.ws.readyState === import_agnostic_ws.default.OPEN) {
1151
1169
  this.ws.send(payload);
1152
1170
  return true;
1153
1171
  } else {
@@ -1162,9 +1180,9 @@ var WebSocketConnection = class extends Connection {
1162
1180
  // transport/impls/ws/client.ts
1163
1181
  var WebSocketClientTransport = class extends ClientTransport {
1164
1182
  /**
1165
- * A function that returns a Promise that resolves to a WebSocket instance.
1183
+ * A function that returns a Promise that resolves to a websocket URL.
1166
1184
  */
1167
- wsGetter;
1185
+ urlGetter;
1168
1186
  /**
1169
1187
  * Creates a new WebSocketClientTransport instance.
1170
1188
  * @param wsGetter A function that returns a Promise that resolves to a WebSocket instance.
@@ -1172,9 +1190,9 @@ var WebSocketClientTransport = class extends ClientTransport {
1172
1190
  * @param serverId The ID of the server this transport is connecting to.
1173
1191
  * @param providedOptions An optional object containing configuration options for the transport.
1174
1192
  */
1175
- constructor(wsGetter, clientId, providedOptions) {
1193
+ constructor(urlGetter, clientId, providedOptions) {
1176
1194
  super(clientId, providedOptions);
1177
- this.wsGetter = wsGetter;
1195
+ this.urlGetter = urlGetter;
1178
1196
  }
1179
1197
  async createNewOutgoingConnection(to) {
1180
1198
  const wsRes = await new Promise((resolve) => {
@@ -1182,12 +1200,12 @@ var WebSocketClientTransport = class extends ClientTransport {
1182
1200
  clientId: this.clientId,
1183
1201
  connectedTo: to
1184
1202
  });
1185
- this.wsGetter(to).then((ws) => {
1186
- if (ws.readyState === ws.OPEN) {
1203
+ Promise.resolve(this.urlGetter(to)).then((url) => new import_agnostic_ws2.default(url)).then((ws) => {
1204
+ if (ws.readyState === import_agnostic_ws2.default.OPEN) {
1187
1205
  resolve({ ws });
1188
1206
  return;
1189
1207
  }
1190
- if (ws.readyState === ws.CLOSING || ws.readyState === ws.CLOSED) {
1208
+ if (ws.readyState === import_agnostic_ws2.default.CLOSING || ws.readyState === import_agnostic_ws2.default.CLOSED) {
1191
1209
  resolve({ err: "ws is closing or closed" });
1192
1210
  return;
1193
1211
  }
@@ -1200,7 +1218,7 @@ var WebSocketClientTransport = class extends ClientTransport {
1200
1218
  ws.onerror = (evt) => {
1201
1219
  const err = evt.error;
1202
1220
  resolve({
1203
- err: err?.code ?? "unexpected disconnect"
1221
+ err: `${err.name}: ${err.message}`
1204
1222
  });
1205
1223
  };
1206
1224
  }).catch((e) => {