@replit/river 0.23.11 → 0.23.13

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 (74) hide show
  1. package/dist/chunk-2FNLANTJ.js +327 -0
  2. package/dist/chunk-2FNLANTJ.js.map +1 -0
  3. package/dist/{chunk-3AW3IXVD.js → chunk-4PVU7J25.js} +1 -21
  4. package/dist/chunk-4PVU7J25.js.map +1 -0
  5. package/dist/{chunk-T6YEMFUF.js → chunk-4QZOW4DH.js} +2 -2
  6. package/dist/{chunk-MEHCOYKJ.js → chunk-ES4XO2XD.js} +2 -2
  7. package/dist/{chunk-MEHCOYKJ.js.map → chunk-ES4XO2XD.js.map} +1 -1
  8. package/dist/{chunk-ZSKCZYVU.js → chunk-KFTGQ3QC.js} +2 -2
  9. package/dist/chunk-KFTGQ3QC.js.map +1 -0
  10. package/dist/chunk-S4DUN7KK.js +455 -0
  11. package/dist/chunk-S4DUN7KK.js.map +1 -0
  12. package/dist/{chunk-HM7VDTDJ.js → chunk-SX6HI63Q.js} +2 -2
  13. package/dist/chunk-XM656KMN.js +408 -0
  14. package/dist/chunk-XM656KMN.js.map +1 -0
  15. package/dist/chunk-ZUKDZY54.js +271 -0
  16. package/dist/chunk-ZUKDZY54.js.map +1 -0
  17. package/dist/client-dd5c9dd0.d.ts +52 -0
  18. package/dist/codec/index.js +20 -2
  19. package/dist/codec/index.js.map +1 -1
  20. package/dist/{connection-261eee8f.d.ts → connection-39816c00.d.ts} +1 -1
  21. package/dist/{connection-c1eeb95d.d.ts → connection-40318f22.d.ts} +1 -1
  22. package/dist/{transport-c8f36f6d.d.ts → handshake-e428d1c8.d.ts} +91 -155
  23. package/dist/{index-60f03cb7.d.ts → index-ea74cdbb.d.ts} +1 -1
  24. package/dist/logging/index.d.cts +1 -1
  25. package/dist/logging/index.d.ts +1 -1
  26. package/dist/router/index.cjs +1 -1
  27. package/dist/router/index.cjs.map +1 -1
  28. package/dist/router/index.d.cts +8 -6
  29. package/dist/router/index.d.ts +8 -6
  30. package/dist/router/index.js +2 -2
  31. package/dist/server-ebf80863.d.ts +24 -0
  32. package/dist/{services-524bab79.d.ts → services-f406b3aa.d.ts} +3 -2
  33. package/dist/transport/impls/uds/client.cjs +222 -174
  34. package/dist/transport/impls/uds/client.cjs.map +1 -1
  35. package/dist/transport/impls/uds/client.d.cts +6 -5
  36. package/dist/transport/impls/uds/client.d.ts +6 -5
  37. package/dist/transport/impls/uds/client.js +6 -4
  38. package/dist/transport/impls/uds/client.js.map +1 -1
  39. package/dist/transport/impls/uds/server.cjs +252 -223
  40. package/dist/transport/impls/uds/server.cjs.map +1 -1
  41. package/dist/transport/impls/uds/server.d.cts +6 -5
  42. package/dist/transport/impls/uds/server.d.ts +6 -5
  43. package/dist/transport/impls/uds/server.js +8 -6
  44. package/dist/transport/impls/uds/server.js.map +1 -1
  45. package/dist/transport/impls/ws/client.cjs +224 -176
  46. package/dist/transport/impls/ws/client.cjs.map +1 -1
  47. package/dist/transport/impls/ws/client.d.cts +6 -5
  48. package/dist/transport/impls/ws/client.d.ts +6 -5
  49. package/dist/transport/impls/ws/client.js +6 -4
  50. package/dist/transport/impls/ws/client.js.map +1 -1
  51. package/dist/transport/impls/ws/server.cjs +206 -177
  52. package/dist/transport/impls/ws/server.cjs.map +1 -1
  53. package/dist/transport/impls/ws/server.d.cts +4 -3
  54. package/dist/transport/impls/ws/server.d.ts +4 -3
  55. package/dist/transport/impls/ws/server.js +8 -6
  56. package/dist/transport/impls/ws/server.js.map +1 -1
  57. package/dist/transport/index.cjs +170 -116
  58. package/dist/transport/index.cjs.map +1 -1
  59. package/dist/transport/index.d.cts +4 -2
  60. package/dist/transport/index.d.ts +4 -2
  61. package/dist/transport/index.js +14 -8
  62. package/dist/util/testHelpers.cjs +6 -8
  63. package/dist/util/testHelpers.cjs.map +1 -1
  64. package/dist/util/testHelpers.d.cts +5 -4
  65. package/dist/util/testHelpers.d.ts +5 -4
  66. package/dist/util/testHelpers.js +4 -5
  67. package/dist/util/testHelpers.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/chunk-3AW3IXVD.js.map +0 -1
  70. package/dist/chunk-EOJMKMDO.js +0 -1372
  71. package/dist/chunk-EOJMKMDO.js.map +0 -1
  72. package/dist/chunk-ZSKCZYVU.js.map +0 -1
  73. /package/dist/{chunk-T6YEMFUF.js.map → chunk-4QZOW4DH.js.map} +0 -0
  74. /package/dist/{chunk-HM7VDTDJ.js.map → chunk-SX6HI63Q.js.map} +0 -0
@@ -224,7 +224,7 @@ var import_nanoid2 = require("nanoid");
224
224
  var import_api = require("@opentelemetry/api");
225
225
 
226
226
  // package.json
227
- var version = "0.23.11";
227
+ var version = "0.23.13";
228
228
 
229
229
  // tracing/index.ts
230
230
  function getPropagationContext(ctx) {
@@ -483,10 +483,12 @@ var Session = class {
483
483
  this.connection.close();
484
484
  this.connection = void 0;
485
485
  }
486
- replaceWithNewConnection(newConn) {
486
+ replaceWithNewConnection(newConn, isTransparentReconnect) {
487
487
  this.closeStaleConnection(newConn);
488
488
  this.cancelGrace();
489
- this.sendBufferedMessages(newConn);
489
+ if (isTransparentReconnect) {
490
+ this.sendBufferedMessages(newConn);
491
+ }
490
492
  this.connection = newConn;
491
493
  this.handshakingConnection = void 0;
492
494
  }
@@ -557,84 +559,8 @@ var Session = class {
557
559
  }
558
560
  };
559
561
 
560
- // util/stringify.ts
561
- function coerceErrorString(err) {
562
- if (err instanceof Error) {
563
- return err.message || "unknown reason";
564
- }
565
- return `[coerced to error] ${String(err)}`;
566
- }
567
-
568
- // transport/rateLimit.ts
569
- var LeakyBucketRateLimit = class {
570
- budgetConsumed;
571
- intervalHandles;
572
- options;
573
- constructor(options) {
574
- this.options = options;
575
- this.budgetConsumed = /* @__PURE__ */ new Map();
576
- this.intervalHandles = /* @__PURE__ */ new Map();
577
- }
578
- getBackoffMs(user) {
579
- if (!this.budgetConsumed.has(user))
580
- return 0;
581
- const exponent = Math.max(0, this.getBudgetConsumed(user) - 1);
582
- const jitter = Math.floor(Math.random() * this.options.maxJitterMs);
583
- const backoffMs = Math.min(
584
- this.options.baseIntervalMs * 2 ** exponent,
585
- this.options.maxBackoffMs
586
- );
587
- return backoffMs + jitter;
588
- }
589
- get totalBudgetRestoreTime() {
590
- return this.options.budgetRestoreIntervalMs * this.options.attemptBudgetCapacity;
591
- }
592
- consumeBudget(user) {
593
- this.stopLeak(user);
594
- this.budgetConsumed.set(user, this.getBudgetConsumed(user) + 1);
595
- }
596
- getBudgetConsumed(user) {
597
- return this.budgetConsumed.get(user) ?? 0;
598
- }
599
- hasBudget(user) {
600
- return this.getBudgetConsumed(user) < this.options.attemptBudgetCapacity;
601
- }
602
- startRestoringBudget(user) {
603
- if (this.intervalHandles.has(user)) {
604
- return;
605
- }
606
- const restoreBudgetForUser = () => {
607
- const currentBudget = this.budgetConsumed.get(user);
608
- if (!currentBudget) {
609
- this.stopLeak(user);
610
- return;
611
- }
612
- const newBudget = currentBudget - 1;
613
- if (newBudget === 0) {
614
- this.budgetConsumed.delete(user);
615
- return;
616
- }
617
- this.budgetConsumed.set(user, newBudget);
618
- };
619
- const intervalHandle = setInterval(
620
- restoreBudgetForUser,
621
- this.options.budgetRestoreIntervalMs
622
- );
623
- this.intervalHandles.set(user, intervalHandle);
624
- }
625
- stopLeak(user) {
626
- if (!this.intervalHandles.has(user)) {
627
- return;
628
- }
629
- clearInterval(this.intervalHandles.get(user));
630
- this.intervalHandles.delete(user);
631
- }
632
- close() {
633
- for (const user of this.intervalHandles.keys()) {
634
- this.stopLeak(user);
635
- }
636
- }
637
- };
562
+ // transport/transport.ts
563
+ var import_api3 = require("@opentelemetry/api");
638
564
 
639
565
  // codec/json.ts
640
566
  var encoder = new TextEncoder();
@@ -688,8 +614,7 @@ var NaiveJsonCodec = {
688
614
  }
689
615
  };
690
616
 
691
- // transport/transport.ts
692
- var import_api3 = require("@opentelemetry/api");
617
+ // transport/options.ts
693
618
  var defaultTransportOptions = {
694
619
  heartbeatIntervalMs: 1e3,
695
620
  heartbeatsUntilDead: 2,
@@ -710,6 +635,8 @@ var defaultClientTransportOptions = {
710
635
  var defaultServerTransportOptions = {
711
636
  ...defaultTransportOptions
712
637
  };
638
+
639
+ // transport/transport.ts
713
640
  var Transport = class {
714
641
  /**
715
642
  * The status of the transport.
@@ -770,15 +697,13 @@ var Transport = class {
770
697
  * and we know the identity of the connected client.
771
698
  * @param conn The connection object.
772
699
  */
773
- onConnect(conn, session, isReconnect) {
700
+ onConnect(conn, session, isTransparentReconnect) {
774
701
  this.eventDispatcher.dispatchEvent("connectionStatus", {
775
702
  status: "connect",
776
703
  conn
777
704
  });
778
705
  conn.telemetry = createConnectionTelemetryInfo(conn, session.telemetry);
779
- if (isReconnect) {
780
- session.replaceWithNewConnection(conn);
781
- }
706
+ session.replaceWithNewConnection(conn, isTransparentReconnect);
782
707
  this.log?.info(`connected to ${session.to}`, {
783
708
  ...conn.loggingMetadata,
784
709
  ...session.loggingMetadata
@@ -810,7 +735,8 @@ var Transport = class {
810
735
  propagationCtx
811
736
  }) {
812
737
  let session = this.sessions.get(to);
813
- let isReconnect = session !== void 0;
738
+ const isReconnect = session !== void 0;
739
+ let isTransparentReconnect = isReconnect;
814
740
  if (session?.advertisedSessionId !== void 0 && sessionId !== void 0 && session.advertisedSessionId !== sessionId) {
815
741
  this.log?.info(
816
742
  `session for ${to} already exists but has a different session id (expected: ${session.advertisedSessionId}, got: ${sessionId}), creating a new one`,
@@ -821,7 +747,7 @@ var Transport = class {
821
747
  closeHandshakingConnection: handshakingConn !== void 0,
822
748
  handshakingConn
823
749
  });
824
- isReconnect = false;
750
+ isTransparentReconnect = false;
825
751
  session = void 0;
826
752
  }
827
753
  if (!session) {
@@ -837,7 +763,7 @@ var Transport = class {
837
763
  if (handshakingConn !== void 0) {
838
764
  session.replaceWithNewHandshakingConnection(handshakingConn);
839
765
  }
840
- return { session, isReconnect };
766
+ return { session, isReconnect, isTransparentReconnect };
841
767
  }
842
768
  deleteSession({
843
769
  session,
@@ -865,6 +791,16 @@ var Transport = class {
865
791
  * @param connectedTo The peer we are connected to.
866
792
  */
867
793
  onDisconnect(conn, session) {
794
+ if (session.connection !== void 0 && session.connection.id !== conn.id) {
795
+ session.telemetry.span.addEvent("onDisconnect race");
796
+ this.log?.warn("onDisconnect race", {
797
+ clientId: this.clientId,
798
+ ...session.loggingMetadata,
799
+ ...conn.loggingMetadata,
800
+ tags: ["invariant-violation"]
801
+ });
802
+ return;
803
+ }
868
804
  conn.telemetry?.span.end();
869
805
  this.eventDispatcher.dispatchEvent("connectionStatus", {
870
806
  status: "disconnect",
@@ -872,6 +808,16 @@ var Transport = class {
872
808
  });
873
809
  session.connection = void 0;
874
810
  session.beginGrace(() => {
811
+ if (session.connection !== void 0) {
812
+ session.telemetry.span.addEvent("session grace period race");
813
+ this.log?.warn("session grace period race", {
814
+ clientId: this.clientId,
815
+ ...session.loggingMetadata,
816
+ ...conn.loggingMetadata,
817
+ tags: ["invariant-violation"]
818
+ });
819
+ return;
820
+ }
875
821
  session.telemetry.span.addEvent("session grace period expired");
876
822
  this.deleteSession({
877
823
  session,
@@ -1039,6 +985,91 @@ var Transport = class {
1039
985
  return this.status;
1040
986
  }
1041
987
  };
988
+
989
+ // transport/client.ts
990
+ var import_api4 = require("@opentelemetry/api");
991
+
992
+ // transport/rateLimit.ts
993
+ var LeakyBucketRateLimit = class {
994
+ budgetConsumed;
995
+ intervalHandles;
996
+ options;
997
+ constructor(options) {
998
+ this.options = options;
999
+ this.budgetConsumed = /* @__PURE__ */ new Map();
1000
+ this.intervalHandles = /* @__PURE__ */ new Map();
1001
+ }
1002
+ getBackoffMs(user) {
1003
+ if (!this.budgetConsumed.has(user))
1004
+ return 0;
1005
+ const exponent = Math.max(0, this.getBudgetConsumed(user) - 1);
1006
+ const jitter = Math.floor(Math.random() * this.options.maxJitterMs);
1007
+ const backoffMs = Math.min(
1008
+ this.options.baseIntervalMs * 2 ** exponent,
1009
+ this.options.maxBackoffMs
1010
+ );
1011
+ return backoffMs + jitter;
1012
+ }
1013
+ get totalBudgetRestoreTime() {
1014
+ return this.options.budgetRestoreIntervalMs * this.options.attemptBudgetCapacity;
1015
+ }
1016
+ consumeBudget(user) {
1017
+ this.stopLeak(user);
1018
+ this.budgetConsumed.set(user, this.getBudgetConsumed(user) + 1);
1019
+ }
1020
+ getBudgetConsumed(user) {
1021
+ return this.budgetConsumed.get(user) ?? 0;
1022
+ }
1023
+ hasBudget(user) {
1024
+ return this.getBudgetConsumed(user) < this.options.attemptBudgetCapacity;
1025
+ }
1026
+ startRestoringBudget(user) {
1027
+ if (this.intervalHandles.has(user)) {
1028
+ return;
1029
+ }
1030
+ const restoreBudgetForUser = () => {
1031
+ const currentBudget = this.budgetConsumed.get(user);
1032
+ if (!currentBudget) {
1033
+ this.stopLeak(user);
1034
+ return;
1035
+ }
1036
+ const newBudget = currentBudget - 1;
1037
+ if (newBudget === 0) {
1038
+ this.budgetConsumed.delete(user);
1039
+ return;
1040
+ }
1041
+ this.budgetConsumed.set(user, newBudget);
1042
+ };
1043
+ const intervalHandle = setInterval(
1044
+ restoreBudgetForUser,
1045
+ this.options.budgetRestoreIntervalMs
1046
+ );
1047
+ this.intervalHandles.set(user, intervalHandle);
1048
+ }
1049
+ stopLeak(user) {
1050
+ if (!this.intervalHandles.has(user)) {
1051
+ return;
1052
+ }
1053
+ clearInterval(this.intervalHandles.get(user));
1054
+ this.intervalHandles.delete(user);
1055
+ }
1056
+ close() {
1057
+ for (const user of this.intervalHandles.keys()) {
1058
+ this.stopLeak(user);
1059
+ }
1060
+ }
1061
+ };
1062
+
1063
+ // util/stringify.ts
1064
+ function coerceErrorString(err) {
1065
+ if (err instanceof Error) {
1066
+ return err.message || "unknown reason";
1067
+ }
1068
+ return `[coerced to error] ${String(err)}`;
1069
+ }
1070
+
1071
+ // transport/client.ts
1072
+ var import_value2 = require("@sinclair/typebox/value");
1042
1073
  var ClientTransport = class extends Transport {
1043
1074
  /**
1044
1075
  * The options for this transport.
@@ -1099,7 +1130,7 @@ var ClientTransport = class extends Transport {
1099
1130
  const parsed = this.parseMsg(data2, conn);
1100
1131
  if (!parsed) {
1101
1132
  conn.telemetry?.span.setStatus({
1102
- code: import_api3.SpanStatusCode.ERROR,
1133
+ code: import_api4.SpanStatusCode.ERROR,
1103
1134
  message: "message parse failure"
1104
1135
  });
1105
1136
  conn.close();
@@ -1130,7 +1161,7 @@ var ClientTransport = class extends Transport {
1130
1161
  });
1131
1162
  conn.addErrorListener((err) => {
1132
1163
  conn.telemetry?.span.setStatus({
1133
- code: import_api3.SpanStatusCode.ERROR,
1164
+ code: import_api4.SpanStatusCode.ERROR,
1134
1165
  message: "connection error"
1135
1166
  });
1136
1167
  this.log?.warn(
@@ -1148,7 +1179,7 @@ var ClientTransport = class extends Transport {
1148
1179
  const parsed = this.parseMsg(data, conn);
1149
1180
  if (!parsed) {
1150
1181
  conn.telemetry?.span.setStatus({
1151
- code: import_api3.SpanStatusCode.ERROR,
1182
+ code: import_api4.SpanStatusCode.ERROR,
1152
1183
  message: "non-transport message"
1153
1184
  });
1154
1185
  this.protocolError(
@@ -1157,9 +1188,9 @@ var ClientTransport = class extends Transport {
1157
1188
  );
1158
1189
  return false;
1159
1190
  }
1160
- if (!import_value.Value.Check(ControlMessageHandshakeResponseSchema, parsed.payload)) {
1191
+ if (!import_value2.Value.Check(ControlMessageHandshakeResponseSchema, parsed.payload)) {
1161
1192
  conn.telemetry?.span.setStatus({
1162
- code: import_api3.SpanStatusCode.ERROR,
1193
+ code: import_api4.SpanStatusCode.ERROR,
1163
1194
  message: "invalid handshake response"
1164
1195
  });
1165
1196
  this.log?.warn(`received invalid handshake resp`, {
@@ -1168,7 +1199,7 @@ var ClientTransport = class extends Transport {
1168
1199
  connectedTo: parsed.from,
1169
1200
  transportMessage: parsed,
1170
1201
  validationErrors: [
1171
- ...import_value.Value.Errors(
1202
+ ...import_value2.Value.Errors(
1172
1203
  ControlMessageHandshakeResponseSchema,
1173
1204
  parsed.payload
1174
1205
  )
@@ -1182,7 +1213,7 @@ var ClientTransport = class extends Transport {
1182
1213
  }
1183
1214
  if (!parsed.payload.status.ok) {
1184
1215
  conn.telemetry?.span.setStatus({
1185
- code: import_api3.SpanStatusCode.ERROR,
1216
+ code: import_api4.SpanStatusCode.ERROR,
1186
1217
  message: "handshake rejected"
1187
1218
  });
1188
1219
  this.log?.warn(`received handshake rejection`, {
@@ -1197,18 +1228,37 @@ var ClientTransport = class extends Transport {
1197
1228
  );
1198
1229
  return false;
1199
1230
  }
1231
+ const previousSession = this.sessions.get(parsed.from);
1232
+ if (previousSession?.advertisedSessionId && previousSession.advertisedSessionId !== parsed.payload.status.sessionId) {
1233
+ this.deleteSession({
1234
+ session: previousSession,
1235
+ closeHandshakingConnection: true
1236
+ });
1237
+ conn.telemetry?.span.setStatus({
1238
+ code: import_api4.SpanStatusCode.ERROR,
1239
+ message: "session id mismatch"
1240
+ });
1241
+ this.log?.warn(`handshake from ${parsed.from} session id mismatch`, {
1242
+ ...conn.loggingMetadata,
1243
+ clientId: this.clientId,
1244
+ connectedTo: parsed.from,
1245
+ transportMessage: parsed
1246
+ });
1247
+ this.protocolError(ProtocolError.HandshakeFailed, "session id mismatch");
1248
+ return false;
1249
+ }
1200
1250
  this.log?.debug(`handshake from ${parsed.from} ok`, {
1201
1251
  ...conn.loggingMetadata,
1202
1252
  clientId: this.clientId,
1203
1253
  connectedTo: parsed.from,
1204
1254
  transportMessage: parsed
1205
1255
  });
1206
- const { session, isReconnect } = this.getOrCreateSession({
1256
+ const { session, isTransparentReconnect } = this.getOrCreateSession({
1207
1257
  to: parsed.from,
1208
1258
  conn,
1209
1259
  sessionId: parsed.payload.status.sessionId
1210
1260
  });
1211
- this.onConnect(conn, session, isReconnect);
1261
+ this.onConnect(conn, session, isTransparentReconnect);
1212
1262
  this.retryBudget.startRestoringBudget(session.to);
1213
1263
  return session;
1214
1264
  }
@@ -1285,7 +1335,7 @@ var ClientTransport = class extends Transport {
1285
1335
  } catch (err) {
1286
1336
  const errStr = coerceErrorString(err);
1287
1337
  span.recordException(errStr);
1288
- span.setStatus({ code: import_api3.SpanStatusCode.ERROR });
1338
+ span.setStatus({ code: import_api4.SpanStatusCode.ERROR });
1289
1339
  throw err;
1290
1340
  } finally {
1291
1341
  span.end();
@@ -1336,13 +1386,13 @@ var ClientTransport = class extends Transport {
1336
1386
  let metadata = void 0;
1337
1387
  if (this.handshakeExtensions) {
1338
1388
  metadata = await this.handshakeExtensions.construct();
1339
- if (!import_value.Value.Check(this.handshakeExtensions.schema, metadata)) {
1389
+ if (!import_value2.Value.Check(this.handshakeExtensions.schema, metadata)) {
1340
1390
  this.log?.error(`constructed handshake metadata did not match schema`, {
1341
1391
  ...conn.loggingMetadata,
1342
1392
  clientId: this.clientId,
1343
1393
  connectedTo: to,
1344
1394
  validationErrors: [
1345
- ...import_value.Value.Errors(this.handshakeExtensions.schema, metadata)
1395
+ ...import_value2.Value.Errors(this.handshakeExtensions.schema, metadata)
1346
1396
  ],
1347
1397
  tags: ["invariant-violation"]
1348
1398
  });
@@ -1351,7 +1401,7 @@ var ClientTransport = class extends Transport {
1351
1401
  "handshake metadata did not match schema"
1352
1402
  );
1353
1403
  conn.telemetry?.span.setStatus({
1354
- code: import_api3.SpanStatusCode.ERROR,
1404
+ code: import_api4.SpanStatusCode.ERROR,
1355
1405
  message: "handshake meta mismatch"
1356
1406
  });
1357
1407
  return false;
@@ -1379,6 +1429,10 @@ var ClientTransport = class extends Transport {
1379
1429
  super.close();
1380
1430
  }
1381
1431
  };
1432
+
1433
+ // transport/server.ts
1434
+ var import_api5 = require("@opentelemetry/api");
1435
+ var import_value3 = require("@sinclair/typebox/value");
1382
1436
  var ServerTransport = class extends Transport {
1383
1437
  /**
1384
1438
  * The options for this transport.
@@ -1427,7 +1481,7 @@ var ServerTransport = class extends Transport {
1427
1481
  }
1428
1482
  );
1429
1483
  conn.telemetry?.span.setStatus({
1430
- code: import_api3.SpanStatusCode.ERROR,
1484
+ code: import_api5.SpanStatusCode.ERROR,
1431
1485
  message: "handshake timeout"
1432
1486
  });
1433
1487
  conn.close();
@@ -1478,7 +1532,7 @@ var ServerTransport = class extends Transport {
1478
1532
  });
1479
1533
  conn.addErrorListener((err) => {
1480
1534
  conn.telemetry?.span.setStatus({
1481
- code: import_api3.SpanStatusCode.ERROR,
1535
+ code: import_api5.SpanStatusCode.ERROR,
1482
1536
  message: "connection error"
1483
1537
  });
1484
1538
  if (!session)
@@ -1492,9 +1546,9 @@ var ServerTransport = class extends Transport {
1492
1546
  async validateHandshakeMetadata(conn, session, rawMetadata, from) {
1493
1547
  let parsedMetadata = {};
1494
1548
  if (this.handshakeExtensions) {
1495
- if (!import_value.Value.Check(this.handshakeExtensions.schema, rawMetadata)) {
1549
+ if (!import_value3.Value.Check(this.handshakeExtensions.schema, rawMetadata)) {
1496
1550
  conn.telemetry?.span.setStatus({
1497
- code: import_api3.SpanStatusCode.ERROR,
1551
+ code: import_api5.SpanStatusCode.ERROR,
1498
1552
  message: "malformed handshake meta"
1499
1553
  });
1500
1554
  const reason = "received malformed handshake metadata";
@@ -1507,7 +1561,7 @@ var ServerTransport = class extends Transport {
1507
1561
  ...conn.loggingMetadata,
1508
1562
  clientId: this.clientId,
1509
1563
  validationErrors: [
1510
- ...import_value.Value.Errors(this.handshakeExtensions.schema, rawMetadata)
1564
+ ...import_value3.Value.Errors(this.handshakeExtensions.schema, rawMetadata)
1511
1565
  ]
1512
1566
  });
1513
1567
  this.protocolError(ProtocolError.HandshakeFailed, reason);
@@ -1521,7 +1575,7 @@ var ServerTransport = class extends Transport {
1521
1575
  if (parsedMetadata === false) {
1522
1576
  const reason = "rejected by handshake handler";
1523
1577
  conn.telemetry?.span.setStatus({
1524
- code: import_api3.SpanStatusCode.ERROR,
1578
+ code: import_api5.SpanStatusCode.ERROR,
1525
1579
  message: reason
1526
1580
  });
1527
1581
  const responseMsg = handshakeResponseMessage(this.clientId, from, {
@@ -1543,7 +1597,7 @@ var ServerTransport = class extends Transport {
1543
1597
  const parsed = this.parseMsg(data, conn);
1544
1598
  if (!parsed) {
1545
1599
  conn.telemetry?.span.setStatus({
1546
- code: import_api3.SpanStatusCode.ERROR,
1600
+ code: import_api5.SpanStatusCode.ERROR,
1547
1601
  message: "non-transport message"
1548
1602
  });
1549
1603
  this.protocolError(
@@ -1552,9 +1606,9 @@ var ServerTransport = class extends Transport {
1552
1606
  );
1553
1607
  return false;
1554
1608
  }
1555
- if (!import_value.Value.Check(ControlMessageHandshakeRequestSchema, parsed.payload)) {
1609
+ if (!import_value3.Value.Check(ControlMessageHandshakeRequestSchema, parsed.payload)) {
1556
1610
  conn.telemetry?.span.setStatus({
1557
- code: import_api3.SpanStatusCode.ERROR,
1611
+ code: import_api5.SpanStatusCode.ERROR,
1558
1612
  message: "invalid handshake request"
1559
1613
  });
1560
1614
  const reason = "received invalid handshake msg";
@@ -1570,7 +1624,7 @@ var ServerTransport = class extends Transport {
1570
1624
  // before passing it to user-land
1571
1625
  transportMessage: parsed,
1572
1626
  validationErrors: [
1573
- ...import_value.Value.Errors(ControlMessageHandshakeRequestSchema, parsed.payload)
1627
+ ...import_value3.Value.Errors(ControlMessageHandshakeRequestSchema, parsed.payload)
1574
1628
  ]
1575
1629
  });
1576
1630
  this.protocolError(
@@ -1582,7 +1636,7 @@ var ServerTransport = class extends Transport {
1582
1636
  const gotVersion = parsed.payload.protocolVersion;
1583
1637
  if (gotVersion !== PROTOCOL_VERSION) {
1584
1638
  conn.telemetry?.span.setStatus({
1585
- code: import_api3.SpanStatusCode.ERROR,
1639
+ code: import_api5.SpanStatusCode.ERROR,
1586
1640
  message: "incorrect protocol version"
1587
1641
  });
1588
1642
  const reason = `incorrect version (got: ${gotVersion} wanted ${PROTOCOL_VERSION})`;
@@ -1608,7 +1662,7 @@ var ServerTransport = class extends Transport {
1608
1662
  if (parsedMetadata === false) {
1609
1663
  return false;
1610
1664
  }
1611
- const { session, isReconnect } = this.getOrCreateSession({
1665
+ const { session, isTransparentReconnect } = this.getOrCreateSession({
1612
1666
  to: parsed.from,
1613
1667
  conn,
1614
1668
  sessionId: parsed.payload.sessionId,
@@ -1624,7 +1678,7 @@ var ServerTransport = class extends Transport {
1624
1678
  sessionId: session.id
1625
1679
  });
1626
1680
  conn.send(this.codec.toBuffer(responseMsg));
1627
- this.onConnect(conn, session, isReconnect);
1681
+ this.onConnect(conn, session, isTransparentReconnect);
1628
1682
  return session;
1629
1683
  }
1630
1684
  };