@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.
- package/README.md +1 -9
- package/dist/{chunk-FNK44ZN3.js → chunk-3Y7AB5EB.js} +5 -4
- package/dist/chunk-3Y7AB5EB.js.map +1 -0
- package/dist/{chunk-MJR36SUY.js → chunk-FDLAPYCK.js} +2 -2
- package/dist/{chunk-QU2EE6YU.js → chunk-JMXO5L2X.js} +21 -14
- package/dist/chunk-JMXO5L2X.js.map +1 -0
- package/dist/{chunk-DP5X7CCT.js → chunk-NCXUFDVL.js} +14 -9
- package/dist/{chunk-DP5X7CCT.js.map → chunk-NCXUFDVL.js.map} +1 -1
- package/dist/{chunk-DT5JS6TM.js → chunk-OTQNCLFH.js} +1 -1
- package/dist/chunk-OTQNCLFH.js.map +1 -0
- package/dist/{connection-dba95bc8.d.ts → connection-76c5ed01.d.ts} +2 -2
- package/dist/{connection-d49d5d56.d.ts → connection-975b25c9.d.ts} +1 -1
- package/dist/{index-3ac92295.d.ts → index-dfad460e.d.ts} +2 -0
- package/dist/logging/index.cjs.map +1 -1
- package/dist/logging/index.d.cts +1 -1
- package/dist/logging/index.d.ts +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/router/index.cjs +12 -7
- package/dist/router/index.cjs.map +1 -1
- package/dist/router/index.d.cts +4 -4
- package/dist/router/index.d.ts +4 -4
- package/dist/router/index.js +2 -2
- package/dist/{services-abc077db.d.ts → services-7b716dcf.d.ts} +1 -1
- package/dist/{services-8496d6e8.d.ts → services-9c496c6e.d.ts} +1 -1
- package/dist/transport/impls/uds/client.cjs +17 -11
- package/dist/transport/impls/uds/client.cjs.map +1 -1
- package/dist/transport/impls/uds/client.d.cts +2 -2
- package/dist/transport/impls/uds/client.d.ts +2 -2
- package/dist/transport/impls/uds/client.js +3 -3
- package/dist/transport/impls/uds/server.cjs +17 -11
- package/dist/transport/impls/uds/server.cjs.map +1 -1
- package/dist/transport/impls/uds/server.d.cts +2 -2
- package/dist/transport/impls/uds/server.d.ts +2 -2
- package/dist/transport/impls/uds/server.js +3 -3
- package/dist/transport/impls/ws/client.cjs +39 -21
- package/dist/transport/impls/ws/client.cjs.map +1 -1
- package/dist/transport/impls/ws/client.d.cts +7 -6
- package/dist/transport/impls/ws/client.d.ts +7 -6
- package/dist/transport/impls/ws/client.js +12 -11
- package/dist/transport/impls/ws/client.js.map +1 -1
- package/dist/transport/impls/ws/server.cjs +30 -13
- package/dist/transport/impls/ws/server.cjs.map +1 -1
- package/dist/transport/impls/ws/server.d.cts +3 -3
- package/dist/transport/impls/ws/server.d.ts +3 -3
- package/dist/transport/impls/ws/server.js +3 -3
- package/dist/transport/impls/ws/server.js.map +1 -1
- package/dist/transport/index.cjs +19 -12
- package/dist/transport/index.cjs.map +1 -1
- package/dist/transport/index.d.cts +2 -2
- package/dist/transport/index.d.ts +2 -2
- package/dist/transport/index.js +2 -2
- package/dist/util/testHelpers.cjs +15 -31
- package/dist/util/testHelpers.cjs.map +1 -1
- package/dist/util/testHelpers.d.cts +11 -15
- package/dist/util/testHelpers.d.ts +11 -15
- package/dist/util/testHelpers.js +5 -17
- package/dist/util/testHelpers.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-DT5JS6TM.js.map +0 -1
- package/dist/chunk-FNK44ZN3.js.map +0 -1
- package/dist/chunk-QU2EE6YU.js.map +0 -1
- /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
|
-
|
|
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
|
-
|
|
313
|
-
|
|
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(`
|
|
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(
|
|
1165
|
+
this.ws.onerror = (err) => cb(err.error);
|
|
1148
1166
|
}
|
|
1149
1167
|
send(payload) {
|
|
1150
|
-
if (this.ws.readyState ===
|
|
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
|
|
1183
|
+
* A function that returns a Promise that resolves to a websocket URL.
|
|
1166
1184
|
*/
|
|
1167
|
-
|
|
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(
|
|
1193
|
+
constructor(urlGetter, clientId, providedOptions) {
|
|
1176
1194
|
super(clientId, providedOptions);
|
|
1177
|
-
this.
|
|
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.
|
|
1186
|
-
if (ws.readyState ===
|
|
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 ===
|
|
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
|
|
1221
|
+
err: `${err.name}: ${err.message}`
|
|
1204
1222
|
});
|
|
1205
1223
|
};
|
|
1206
1224
|
}).catch((e) => {
|