@replit/river 0.23.0 → 0.23.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 (63) hide show
  1. package/dist/{chunk-PCKHBAVP.js → chunk-3ZS3RHZF.js} +2 -2
  2. package/dist/chunk-3ZS3RHZF.js.map +1 -0
  3. package/dist/{chunk-DZOATC6M.js → chunk-6Z4YTBOM.js} +2 -2
  4. package/dist/{chunk-ZF2UFTNN.js → chunk-KPLLLP3F.js} +2 -2
  5. package/dist/{chunk-MJUFKPBT.js → chunk-LHLQY5FR.js} +45 -25
  6. package/dist/chunk-LHLQY5FR.js.map +1 -0
  7. package/dist/{chunk-OTQNCLFH.js → chunk-SPP7ACQN.js} +29 -5
  8. package/dist/chunk-SPP7ACQN.js.map +1 -0
  9. package/dist/{chunk-VOJVLWVX.js → chunk-ZPUDMABQ.js} +32 -16
  10. package/dist/chunk-ZPUDMABQ.js.map +1 -0
  11. package/dist/{connection-7582fb92.d.ts → connection-6eb86e22.d.ts} +1 -1
  12. package/dist/{connection-5685d817.d.ts → connection-a25109b5.d.ts} +1 -1
  13. package/dist/{index-a6fe0edd.d.ts → index-72b688b7.d.ts} +16 -16
  14. package/dist/logging/index.cjs +28 -4
  15. package/dist/logging/index.cjs.map +1 -1
  16. package/dist/logging/index.d.cts +3 -2
  17. package/dist/logging/index.d.ts +3 -2
  18. package/dist/logging/index.js +1 -1
  19. package/dist/router/index.cjs +30 -14
  20. package/dist/router/index.cjs.map +1 -1
  21. package/dist/router/index.d.cts +6 -5
  22. package/dist/router/index.d.ts +6 -5
  23. package/dist/router/index.js +3 -3
  24. package/dist/{services-be91b485.d.ts → services-0af830a4.d.ts} +3 -1
  25. package/dist/{services-eb9326a1.d.ts → services-eeb6e56f.d.ts} +3 -1
  26. package/dist/transport/impls/uds/client.cjs +31 -19
  27. package/dist/transport/impls/uds/client.cjs.map +1 -1
  28. package/dist/transport/impls/uds/client.d.cts +3 -2
  29. package/dist/transport/impls/uds/client.d.ts +3 -2
  30. package/dist/transport/impls/uds/client.js +4 -4
  31. package/dist/transport/impls/uds/server.cjs +30 -19
  32. package/dist/transport/impls/uds/server.cjs.map +1 -1
  33. package/dist/transport/impls/uds/server.d.cts +3 -2
  34. package/dist/transport/impls/uds/server.d.ts +3 -2
  35. package/dist/transport/impls/uds/server.js +4 -4
  36. package/dist/transport/impls/ws/client.cjs +31 -19
  37. package/dist/transport/impls/ws/client.cjs.map +1 -1
  38. package/dist/transport/impls/ws/client.d.cts +3 -2
  39. package/dist/transport/impls/ws/client.d.ts +3 -2
  40. package/dist/transport/impls/ws/client.js +4 -4
  41. package/dist/transport/impls/ws/server.cjs +30 -19
  42. package/dist/transport/impls/ws/server.cjs.map +1 -1
  43. package/dist/transport/impls/ws/server.d.cts +4 -3
  44. package/dist/transport/impls/ws/server.d.ts +4 -3
  45. package/dist/transport/impls/ws/server.js +4 -4
  46. package/dist/transport/index.cjs +43 -23
  47. package/dist/transport/index.cjs.map +1 -1
  48. package/dist/transport/index.d.cts +3 -2
  49. package/dist/transport/index.d.ts +3 -2
  50. package/dist/transport/index.js +3 -3
  51. package/dist/util/testHelpers.cjs +7 -7
  52. package/dist/util/testHelpers.cjs.map +1 -1
  53. package/dist/util/testHelpers.d.cts +3 -2
  54. package/dist/util/testHelpers.d.ts +3 -2
  55. package/dist/util/testHelpers.js +4 -4
  56. package/dist/util/testHelpers.js.map +1 -1
  57. package/package.json +4 -4
  58. package/dist/chunk-MJUFKPBT.js.map +0 -1
  59. package/dist/chunk-OTQNCLFH.js.map +0 -1
  60. package/dist/chunk-PCKHBAVP.js.map +0 -1
  61. package/dist/chunk-VOJVLWVX.js.map +0 -1
  62. /package/dist/{chunk-DZOATC6M.js.map → chunk-6Z4YTBOM.js.map} +0 -0
  63. /package/dist/{chunk-ZF2UFTNN.js.map → chunk-KPLLLP3F.js.map} +0 -0
@@ -1,11 +1,12 @@
1
- import { T as TransportClientId } from '../../../index-a6fe0edd.js';
1
+ import { T as TransportClientId } from '../../../index-72b688b7.js';
2
2
  import { ServerTransport, ServerTransportOptions as ProvidedServerTransportOptions } from '../../index.cjs';
3
3
  import { WebSocketServer } from 'ws';
4
- import { W as WebSocketConnection } from '../../../connection-5685d817.js';
4
+ import { W as WebSocketConnection } from '../../../connection-a25109b5.js';
5
5
  import { W as WsLike } from '../../../wslike-e0b32dd5.js';
6
+ import '@sinclair/typebox/value';
6
7
  import '@sinclair/typebox';
7
- import '../../../types-3e5768ec.js';
8
8
  import '@opentelemetry/api';
9
+ import '../../../types-3e5768ec.js';
9
10
 
10
11
  declare class WebSocketServerTransport extends ServerTransport<WebSocketConnection> {
11
12
  wss: WebSocketServer;
@@ -1,11 +1,12 @@
1
- import { T as TransportClientId } from '../../../index-a6fe0edd.js';
1
+ import { T as TransportClientId } from '../../../index-72b688b7.js';
2
2
  import { ServerTransport, ServerTransportOptions as ProvidedServerTransportOptions } from '../../index.js';
3
3
  import { WebSocketServer } from 'ws';
4
- import { W as WebSocketConnection } from '../../../connection-5685d817.js';
4
+ import { W as WebSocketConnection } from '../../../connection-a25109b5.js';
5
5
  import { W as WsLike } from '../../../wslike-e0b32dd5.js';
6
+ import '@sinclair/typebox/value';
6
7
  import '@sinclair/typebox';
7
- import '../../../types-3e5768ec.js';
8
8
  import '@opentelemetry/api';
9
+ import '../../../types-3e5768ec.js';
9
10
 
10
11
  declare class WebSocketServerTransport extends ServerTransport<WebSocketConnection> {
11
12
  wss: WebSocketServer;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WebSocketConnection
3
- } from "../../../chunk-ZF2UFTNN.js";
3
+ } from "../../../chunk-KPLLLP3F.js";
4
4
  import {
5
5
  ServerTransport
6
- } from "../../../chunk-MJUFKPBT.js";
7
- import "../../../chunk-PCKHBAVP.js";
8
- import "../../../chunk-OTQNCLFH.js";
6
+ } from "../../../chunk-LHLQY5FR.js";
7
+ import "../../../chunk-3ZS3RHZF.js";
8
+ import "../../../chunk-SPP7ACQN.js";
9
9
  import "../../../chunk-3AW3IXVD.js";
10
10
 
11
11
  // transport/impls/ws/server.ts
@@ -171,7 +171,7 @@ var import_nanoid2 = require("nanoid");
171
171
  var import_api = require("@opentelemetry/api");
172
172
 
173
173
  // package.json
174
- var version = "0.23.0";
174
+ var version = "0.23.2";
175
175
 
176
176
  // tracing/index.ts
177
177
  function getPropagationContext(ctx) {
@@ -305,7 +305,7 @@ var Session = class {
305
305
  const fullMsg = this.constructMsg(msg);
306
306
  log?.debug(`sending msg`, {
307
307
  ...this.loggingMetadata,
308
- fullTransportMessage: fullMsg
308
+ transportMessage: fullMsg
309
309
  });
310
310
  if (this.connection) {
311
311
  const ok = this.connection.send(this.codec.toBuffer(fullMsg));
@@ -315,13 +315,13 @@ var Session = class {
315
315
  `failed to send msg to ${fullMsg.to}, connection is probably dead`,
316
316
  {
317
317
  ...this.loggingMetadata,
318
- fullTransportMessage: fullMsg
318
+ transportMessage: fullMsg
319
319
  }
320
320
  );
321
321
  } else {
322
322
  log?.info(
323
323
  `failed to send msg to ${fullMsg.to}, connection not ready yet`,
324
- { ...this.loggingMetadata, fullTransportMessage: fullMsg }
324
+ { ...this.loggingMetadata, transportMessage: fullMsg }
325
325
  );
326
326
  }
327
327
  return fullMsg.id;
@@ -362,7 +362,7 @@ var Session = class {
362
362
  for (const msg of this.sendBuffer) {
363
363
  log?.debug(`resending msg`, {
364
364
  ...this.loggingMetadata,
365
- fullTransportMessage: msg,
365
+ transportMessage: msg,
366
366
  connId: conn.id
367
367
  });
368
368
  const ok = conn.send(this.codec.toBuffer(msg));
@@ -374,7 +374,7 @@ var Session = class {
374
374
  });
375
375
  log?.error(errMsg, {
376
376
  ...this.loggingMetadata,
377
- fullTransportMessage: msg,
377
+ transportMessage: msg,
378
378
  connId: conn.id,
379
379
  tags: ["invariant-violation"]
380
380
  });
@@ -407,8 +407,8 @@ var Session = class {
407
407
  replaceWithNewConnection(newConn) {
408
408
  this.closeStaleConnection(newConn);
409
409
  this.cancelGrace();
410
- this.connection = newConn;
411
410
  this.sendBufferedMessages(newConn);
411
+ this.connection = newConn;
412
412
  }
413
413
  beginGrace(cb) {
414
414
  log?.info(
@@ -763,7 +763,10 @@ var Transport = class {
763
763
  }
764
764
  if (!import_value.Value.Check(OpaqueTransportMessageSchema, parsedMsg)) {
765
765
  log?.error(`received invalid msg: ${JSON.stringify(parsedMsg)}`, {
766
- clientId: this.clientId
766
+ clientId: this.clientId,
767
+ validationErrors: [
768
+ ...import_value.Value.Errors(OpaqueTransportMessageSchema, parsedMsg)
769
+ ]
767
770
  });
768
771
  return null;
769
772
  }
@@ -781,7 +784,7 @@ var Transport = class {
781
784
  if (!session) {
782
785
  log?.error(`no existing session for ${msg.from}`, {
783
786
  clientId: this.clientId,
784
- fullTransportMessage: msg,
787
+ transportMessage: msg,
785
788
  tags: ["invariant-violation"]
786
789
  });
787
790
  return;
@@ -789,19 +792,19 @@ var Transport = class {
789
792
  session.cancelGrace();
790
793
  log?.debug(`received msg`, {
791
794
  clientId: this.clientId,
792
- fullTransportMessage: msg
795
+ transportMessage: msg
793
796
  });
794
797
  if (msg.seq !== session.nextExpectedSeq) {
795
798
  if (msg.seq < session.nextExpectedSeq) {
796
799
  log?.debug(
797
800
  `received duplicate msg (got seq: ${msg.seq}, wanted seq: ${session.nextExpectedSeq}), discarding`,
798
- { clientId: this.clientId, fullTransportMessage: msg }
801
+ { clientId: this.clientId, transportMessage: msg }
799
802
  );
800
803
  } else {
801
804
  const errMsg = `received out-of-order msg (got seq: ${msg.seq}, wanted seq: ${session.nextExpectedSeq})`;
802
805
  log?.error(`${errMsg}, marking connection as dead`, {
803
806
  clientId: this.clientId,
804
- fullTransportMessage: msg,
807
+ transportMessage: msg,
805
808
  tags: ["invariant-violation"]
806
809
  });
807
810
  this.protocolError(ProtocolError.MessageOrderingViolated, errMsg);
@@ -819,7 +822,7 @@ var Transport = class {
819
822
  } else {
820
823
  log?.debug(`discarding msg (ack bit set)`, {
821
824
  clientId: this.clientId,
822
- fullTransportMessage: msg
825
+ transportMessage: msg
823
826
  });
824
827
  }
825
828
  }
@@ -850,7 +853,7 @@ var Transport = class {
850
853
  const err = "transport is destroyed, cant send";
851
854
  log?.error(err, {
852
855
  clientId: this.clientId,
853
- partialTransportMessage: msg,
856
+ transportMessage: msg,
854
857
  tags: ["invariant-violation"]
855
858
  });
856
859
  this.protocolError(ProtocolError.UseAfterDestroy, err);
@@ -858,7 +861,7 @@ var Transport = class {
858
861
  } else if (this.state === "closed") {
859
862
  log?.info(`transport closed when sending, discarding`, {
860
863
  clientId: this.clientId,
861
- partialTransportMessage: msg
864
+ transportMessage: msg
862
865
  });
863
866
  return void 0;
864
867
  }
@@ -1019,7 +1022,13 @@ var ClientTransport = class extends Transport {
1019
1022
  log?.warn(`received invalid handshake resp`, {
1020
1023
  clientId: this.clientId,
1021
1024
  connectedTo: parsed.from,
1022
- fullTransportMessage: parsed
1025
+ transportMessage: parsed,
1026
+ validationErrors: [
1027
+ ...import_value.Value.Errors(
1028
+ ControlMessageHandshakeResponseSchema,
1029
+ parsed.payload
1030
+ )
1031
+ ]
1023
1032
  });
1024
1033
  this.protocolError(
1025
1034
  ProtocolError.HandshakeFailed,
@@ -1035,7 +1044,7 @@ var ClientTransport = class extends Transport {
1035
1044
  log?.warn(`received handshake rejection`, {
1036
1045
  clientId: this.clientId,
1037
1046
  connectedTo: parsed.from,
1038
- fullTransportMessage: parsed
1047
+ transportMessage: parsed
1039
1048
  });
1040
1049
  this.protocolError(
1041
1050
  ProtocolError.HandshakeFailed,
@@ -1046,7 +1055,7 @@ var ClientTransport = class extends Transport {
1046
1055
  log?.debug(`handshake from ${parsed.from} ok`, {
1047
1056
  clientId: this.clientId,
1048
1057
  connectedTo: parsed.from,
1049
- fullTransportMessage: parsed
1058
+ transportMessage: parsed
1050
1059
  });
1051
1060
  const { session, isReconnect } = this.getOrCreateSession(
1052
1061
  parsed.from,
@@ -1164,6 +1173,9 @@ var ClientTransport = class extends Transport {
1164
1173
  log?.error(`constructed handshake metadata did not match schema`, {
1165
1174
  clientId: this.clientId,
1166
1175
  connectedTo: to,
1176
+ validationErrors: [
1177
+ ...import_value.Value.Errors(this.handshakeExtensions.schema, metadata)
1178
+ ],
1167
1179
  tags: ["invariant-violation"]
1168
1180
  });
1169
1181
  this.protocolError(
@@ -1177,7 +1189,7 @@ var ClientTransport = class extends Transport {
1177
1189
  return false;
1178
1190
  }
1179
1191
  }
1180
- const { session } = this.getOrCreateSession(to, conn);
1192
+ const { session } = this.getOrCreateSession(to);
1181
1193
  const requestMsg = handshakeRequestMessage(
1182
1194
  this.clientId,
1183
1195
  to,
@@ -1323,14 +1335,18 @@ var ServerTransport = class extends Transport {
1323
1335
  conn.send(this.codec.toBuffer(responseMsg));
1324
1336
  log?.warn(`received malformed handshake metadata from ${from}`, {
1325
1337
  clientId: this.clientId,
1326
- connId: conn.id
1338
+ connId: conn.id,
1339
+ validationErrors: [
1340
+ ...import_value.Value.Errors(this.handshakeExtensions.schema, rawMetadata)
1341
+ ]
1327
1342
  });
1328
1343
  this.protocolError(ProtocolError.HandshakeFailed, reason);
1329
1344
  return false;
1330
1345
  }
1346
+ const previousParsedMetadata = session ? this.sessionHandshakeMetadata.get(session) : void 0;
1331
1347
  parsedMetadata = await this.handshakeExtensions.validate(
1332
1348
  rawMetadata,
1333
- session
1349
+ previousParsedMetadata
1334
1350
  );
1335
1351
  if (parsedMetadata === false) {
1336
1352
  const reason = "rejected by handshake handler";
@@ -1377,11 +1393,15 @@ var ServerTransport = class extends Transport {
1377
1393
  reason
1378
1394
  });
1379
1395
  conn.send(this.codec.toBuffer(responseMsg2));
1380
- const logData = { ...parsed.payload ?? {}, metadata: "redacted" };
1381
1396
  log?.warn(reason, {
1382
1397
  clientId: this.clientId,
1383
1398
  connId: conn.id,
1384
- partialTransportMessage: { ...parsed, payload: logData }
1399
+ // safe to log metadata here as we remove the payload
1400
+ // before passing it to user-land
1401
+ transportMessage: parsed,
1402
+ validationErrors: [
1403
+ ...import_value.Value.Errors(ControlMessageHandshakeRequestSchema, parsed.payload)
1404
+ ]
1385
1405
  });
1386
1406
  this.protocolError(
1387
1407
  ProtocolError.HandshakeFailed,