@replit/river 0.23.6 → 0.23.8
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 +10 -3
- package/dist/{chunk-GX2YS7BY.js → chunk-6LCL2ZZF.js} +17 -31
- package/dist/chunk-6LCL2ZZF.js.map +1 -0
- package/dist/{chunk-ZFN6I2GJ.js → chunk-CBNCT4B3.js} +2 -3
- package/dist/chunk-CBNCT4B3.js.map +1 -0
- package/dist/{chunk-NJJYBNYM.js → chunk-DXTG3E3B.js} +2 -2
- package/dist/{chunk-2PSMEETT.js → chunk-ELZRZNA5.js} +24 -11
- package/dist/{chunk-2PSMEETT.js.map → chunk-ELZRZNA5.js.map} +1 -1
- package/dist/{chunk-NB3OHLXB.js → chunk-RJ6CXPBM.js} +165 -101
- package/dist/chunk-RJ6CXPBM.js.map +1 -0
- package/dist/{chunk-7E53HHNS.js → chunk-WQRQFAP6.js} +33 -31
- package/dist/chunk-WQRQFAP6.js.map +1 -0
- package/dist/{connection-e257f6b7.d.ts → connection-6ce35bd5.d.ts} +1 -1
- package/dist/{connection-5331d77f.d.ts → connection-a3fdfa3a.d.ts} +1 -1
- package/dist/{index-926aea33.d.ts → index-60f03cb7.d.ts} +5 -2
- package/dist/logging/index.cjs +6 -73
- 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 -3
- package/dist/router/index.cjs +47 -33
- package/dist/router/index.cjs.map +1 -1
- package/dist/router/index.d.cts +6 -6
- package/dist/router/index.d.ts +6 -6
- package/dist/router/index.js +2 -3
- package/dist/{services-3f99f5d2.d.ts → services-fd8a9894.d.ts} +2 -2
- package/dist/transport/impls/uds/client.cjs +195 -81
- package/dist/transport/impls/uds/client.cjs.map +1 -1
- package/dist/transport/impls/uds/client.d.cts +3 -3
- package/dist/transport/impls/uds/client.d.ts +3 -3
- package/dist/transport/impls/uds/client.js +5 -7
- package/dist/transport/impls/uds/client.js.map +1 -1
- package/dist/transport/impls/uds/server.cjs +170 -73
- package/dist/transport/impls/uds/server.cjs.map +1 -1
- package/dist/transport/impls/uds/server.d.cts +3 -3
- package/dist/transport/impls/uds/server.d.ts +3 -3
- package/dist/transport/impls/uds/server.js +4 -4
- package/dist/transport/impls/ws/client.cjs +194 -81
- package/dist/transport/impls/ws/client.cjs.map +1 -1
- package/dist/transport/impls/ws/client.d.cts +3 -3
- package/dist/transport/impls/ws/client.d.ts +3 -3
- package/dist/transport/impls/ws/client.js +6 -8
- package/dist/transport/impls/ws/client.js.map +1 -1
- package/dist/transport/impls/ws/server.cjs +170 -74
- 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 +4 -4
- package/dist/transport/index.cjs +219 -105
- 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 +3 -3
- package/dist/{transport-cbe70659.d.ts → transport-3d34f714.d.ts} +11 -6
- package/dist/util/testHelpers.cjs +27 -18
- package/dist/util/testHelpers.cjs.map +1 -1
- package/dist/util/testHelpers.d.cts +5 -4
- package/dist/util/testHelpers.d.ts +5 -4
- package/dist/util/testHelpers.js +5 -4
- package/dist/util/testHelpers.js.map +1 -1
- package/package.json +5 -3
- package/dist/chunk-7E53HHNS.js.map +0 -1
- package/dist/chunk-GX2YS7BY.js.map +0 -1
- package/dist/chunk-NB3OHLXB.js.map +0 -1
- package/dist/chunk-ZFN6I2GJ.js.map +0 -1
- /package/dist/{chunk-NJJYBNYM.js.map → chunk-DXTG3E3B.js.map} +0 -0
package/dist/router/index.cjs
CHANGED
|
@@ -705,14 +705,11 @@ function Err(error) {
|
|
|
705
705
|
};
|
|
706
706
|
}
|
|
707
707
|
|
|
708
|
-
// logging/log.ts
|
|
709
|
-
var log = void 0;
|
|
710
|
-
|
|
711
708
|
// tracing/index.ts
|
|
712
709
|
var import_api = require("@opentelemetry/api");
|
|
713
710
|
|
|
714
711
|
// package.json
|
|
715
|
-
var version = "0.23.
|
|
712
|
+
var version = "0.23.8";
|
|
716
713
|
|
|
717
714
|
// tracing/index.ts
|
|
718
715
|
function getPropagationContext(ctx) {
|
|
@@ -723,8 +720,8 @@ function getPropagationContext(ctx) {
|
|
|
723
720
|
import_api.propagation.inject(ctx, tracing);
|
|
724
721
|
return tracing;
|
|
725
722
|
}
|
|
726
|
-
function createProcTelemetryInfo(kind, serviceName, procedureName, streamId) {
|
|
727
|
-
const
|
|
723
|
+
function createProcTelemetryInfo(transport, kind, serviceName, procedureName, streamId) {
|
|
724
|
+
const baseCtx = import_api.context.active();
|
|
728
725
|
const span = tracer.startSpan(
|
|
729
726
|
`procedure call ${serviceName}.${procedureName}`,
|
|
730
727
|
{
|
|
@@ -738,8 +735,20 @@ function createProcTelemetryInfo(kind, serviceName, procedureName, streamId) {
|
|
|
738
735
|
},
|
|
739
736
|
kind: import_api.SpanKind.CLIENT
|
|
740
737
|
},
|
|
741
|
-
|
|
738
|
+
baseCtx
|
|
742
739
|
);
|
|
740
|
+
const ctx = import_api.trace.setSpan(baseCtx, span);
|
|
741
|
+
transport.log?.info(`invoked ${serviceName}.${procedureName}`, {
|
|
742
|
+
clientId: transport.clientId,
|
|
743
|
+
transportMessage: {
|
|
744
|
+
procedureName,
|
|
745
|
+
serviceName
|
|
746
|
+
},
|
|
747
|
+
telemetry: {
|
|
748
|
+
traceId: span.spanContext().traceId,
|
|
749
|
+
spanId: span.spanContext().spanId
|
|
750
|
+
}
|
|
751
|
+
});
|
|
743
752
|
return { span, ctx };
|
|
744
753
|
}
|
|
745
754
|
function createHandlerSpan(kind, message, fn) {
|
|
@@ -804,13 +813,6 @@ function createClient(transport, serverId, providedClientOptions = {}) {
|
|
|
804
813
|
);
|
|
805
814
|
}
|
|
806
815
|
const [input] = opts.args;
|
|
807
|
-
log?.info(`invoked ${procType} ${serviceName}.${procName}`, {
|
|
808
|
-
clientId: transport.clientId,
|
|
809
|
-
transportMessage: {
|
|
810
|
-
procedureName: procName,
|
|
811
|
-
serviceName
|
|
812
|
-
}
|
|
813
|
-
});
|
|
814
816
|
if (options.connectOnInvoke && !transport.connections.has(serverId)) {
|
|
815
817
|
void transport.connect(serverId);
|
|
816
818
|
}
|
|
@@ -837,6 +839,7 @@ function createSessionDisconnectHandler(from, cb) {
|
|
|
837
839
|
function handleRpc(transport, serverId, input, serviceName, procedureName) {
|
|
838
840
|
const streamId = (0, import_nanoid2.nanoid)();
|
|
839
841
|
const { span, ctx } = createProcTelemetryInfo(
|
|
842
|
+
transport,
|
|
840
843
|
"rpc",
|
|
841
844
|
serviceName,
|
|
842
845
|
procedureName,
|
|
@@ -881,6 +884,7 @@ function handleRpc(transport, serverId, input, serviceName, procedureName) {
|
|
|
881
884
|
function handleStream(transport, serverId, init, serviceName, procedureName) {
|
|
882
885
|
const streamId = (0, import_nanoid2.nanoid)();
|
|
883
886
|
const { span, ctx } = createProcTelemetryInfo(
|
|
887
|
+
transport,
|
|
884
888
|
"stream",
|
|
885
889
|
serviceName,
|
|
886
890
|
procedureName,
|
|
@@ -957,6 +961,7 @@ function handleStream(transport, serverId, init, serviceName, procedureName) {
|
|
|
957
961
|
function handleSubscribe(transport, serverId, input, serviceName, procedureName) {
|
|
958
962
|
const streamId = (0, import_nanoid2.nanoid)();
|
|
959
963
|
const { span, ctx } = createProcTelemetryInfo(
|
|
964
|
+
transport,
|
|
960
965
|
"subscription",
|
|
961
966
|
serviceName,
|
|
962
967
|
procedureName,
|
|
@@ -1012,6 +1017,7 @@ function handleSubscribe(transport, serverId, input, serviceName, procedureName)
|
|
|
1012
1017
|
function handleUpload(transport, serverId, init, serviceName, procedureName) {
|
|
1013
1018
|
const streamId = (0, import_nanoid2.nanoid)();
|
|
1014
1019
|
const { span, ctx } = createProcTelemetryInfo(
|
|
1020
|
+
transport,
|
|
1015
1021
|
"upload",
|
|
1016
1022
|
serviceName,
|
|
1017
1023
|
procedureName,
|
|
@@ -1105,6 +1111,7 @@ var RiverServer = class {
|
|
|
1105
1111
|
// map of client to their open streams by streamId
|
|
1106
1112
|
clientStreams;
|
|
1107
1113
|
disconnectedSessions;
|
|
1114
|
+
log;
|
|
1108
1115
|
constructor(transport, services, handshakeOptions, extendedContext) {
|
|
1109
1116
|
const instances = {};
|
|
1110
1117
|
this.services = instances;
|
|
@@ -1126,16 +1133,20 @@ var RiverServer = class {
|
|
|
1126
1133
|
this.clientStreams = /* @__PURE__ */ new Map();
|
|
1127
1134
|
this.transport.addEventListener("message", this.onMessage);
|
|
1128
1135
|
this.transport.addEventListener("sessionStatus", this.onSessionStatus);
|
|
1136
|
+
this.log = transport.log;
|
|
1129
1137
|
}
|
|
1130
1138
|
get streams() {
|
|
1131
1139
|
return this.streamMap;
|
|
1132
1140
|
}
|
|
1133
1141
|
onMessage = async (message) => {
|
|
1134
1142
|
if (message.to !== this.transport.clientId) {
|
|
1135
|
-
log?.info(
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1143
|
+
this.log?.info(
|
|
1144
|
+
`got msg with destination that isn't this server, ignoring`,
|
|
1145
|
+
{
|
|
1146
|
+
clientId: this.transport.clientId,
|
|
1147
|
+
transportMessage: message
|
|
1148
|
+
}
|
|
1149
|
+
);
|
|
1139
1150
|
return;
|
|
1140
1151
|
}
|
|
1141
1152
|
let procStream = this.streamMap.get(message.streamId);
|
|
@@ -1151,7 +1162,7 @@ var RiverServer = class {
|
|
|
1151
1162
|
if (evt.status !== "disconnect")
|
|
1152
1163
|
return;
|
|
1153
1164
|
const disconnectedClientId = evt.session.to;
|
|
1154
|
-
log?.info(
|
|
1165
|
+
this.log?.info(
|
|
1155
1166
|
`got session disconnect from ${disconnectedClientId}, cleaning up streams`,
|
|
1156
1167
|
evt.session.loggingMetadata
|
|
1157
1168
|
);
|
|
@@ -1180,7 +1191,7 @@ var RiverServer = class {
|
|
|
1180
1191
|
}
|
|
1181
1192
|
createNewProcStream(message) {
|
|
1182
1193
|
if (!isStreamOpen(message.controlFlags)) {
|
|
1183
|
-
log?.error(
|
|
1194
|
+
this.log?.error(
|
|
1184
1195
|
`can't create a new procedure stream from a message that doesn't have the stream open bit set`,
|
|
1185
1196
|
{
|
|
1186
1197
|
clientId: this.transport.clientId,
|
|
@@ -1191,14 +1202,17 @@ var RiverServer = class {
|
|
|
1191
1202
|
return;
|
|
1192
1203
|
}
|
|
1193
1204
|
if (!message.procedureName || !message.serviceName) {
|
|
1194
|
-
log?.warn(
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1205
|
+
this.log?.warn(
|
|
1206
|
+
`missing procedure or service name in stream open message`,
|
|
1207
|
+
{
|
|
1208
|
+
clientId: this.transport.clientId,
|
|
1209
|
+
transportMessage: message
|
|
1210
|
+
}
|
|
1211
|
+
);
|
|
1198
1212
|
return;
|
|
1199
1213
|
}
|
|
1200
1214
|
if (!(message.serviceName in this.services)) {
|
|
1201
|
-
log?.warn(`couldn't find service ${message.serviceName}`, {
|
|
1215
|
+
this.log?.warn(`couldn't find service ${message.serviceName}`, {
|
|
1202
1216
|
clientId: this.transport.clientId,
|
|
1203
1217
|
transportMessage: message
|
|
1204
1218
|
});
|
|
@@ -1207,7 +1221,7 @@ var RiverServer = class {
|
|
|
1207
1221
|
const service = this.services[message.serviceName];
|
|
1208
1222
|
const serviceContext = this.getContext(service, message.serviceName);
|
|
1209
1223
|
if (!(message.procedureName in service.procedures)) {
|
|
1210
|
-
log?.warn(
|
|
1224
|
+
this.log?.warn(
|
|
1211
1225
|
`couldn't find a matching procedure for ${message.serviceName}.${message.procedureName}`,
|
|
1212
1226
|
{
|
|
1213
1227
|
clientId: this.transport.clientId,
|
|
@@ -1218,7 +1232,7 @@ var RiverServer = class {
|
|
|
1218
1232
|
}
|
|
1219
1233
|
const session = this.transport.sessions.get(message.from);
|
|
1220
1234
|
if (!session) {
|
|
1221
|
-
log?.warn(`couldn't find session for ${message.from}`, {
|
|
1235
|
+
this.log?.warn(`couldn't find session for ${message.from}`, {
|
|
1222
1236
|
clientId: this.transport.clientId,
|
|
1223
1237
|
transportMessage: message
|
|
1224
1238
|
});
|
|
@@ -1263,7 +1277,7 @@ var RiverServer = class {
|
|
|
1263
1277
|
);
|
|
1264
1278
|
const errorHandler = (err, span) => {
|
|
1265
1279
|
const errorMsg = coerceErrorString(err);
|
|
1266
|
-
log?.error(
|
|
1280
|
+
this.log?.error(
|
|
1267
1281
|
`procedure ${message.serviceName}.${message.procedureName} threw an uncaught error: ${errorMsg}`,
|
|
1268
1282
|
session.loggingMetadata
|
|
1269
1283
|
);
|
|
@@ -1278,7 +1292,7 @@ var RiverServer = class {
|
|
|
1278
1292
|
};
|
|
1279
1293
|
const sessionMeta = this.transport.sessionHandshakeMetadata.get(session);
|
|
1280
1294
|
if (!sessionMeta) {
|
|
1281
|
-
log?.error(`session doesn't have handshake metadata`, {
|
|
1295
|
+
this.log?.error(`session doesn't have handshake metadata`, {
|
|
1282
1296
|
...session.loggingMetadata,
|
|
1283
1297
|
tags: ["invariant-violation"]
|
|
1284
1298
|
});
|
|
@@ -1443,7 +1457,7 @@ var RiverServer = class {
|
|
|
1443
1457
|
}
|
|
1444
1458
|
break;
|
|
1445
1459
|
default:
|
|
1446
|
-
log?.warn(
|
|
1460
|
+
this.log?.warn(
|
|
1447
1461
|
`got request for invalid procedure type ${procedure.type} at ${message.serviceName}.${message.procedureName}`,
|
|
1448
1462
|
{ ...session.loggingMetadata, transportMessage: message }
|
|
1449
1463
|
);
|
|
@@ -1471,7 +1485,7 @@ var RiverServer = class {
|
|
|
1471
1485
|
if (import_value.Value.Check(procedure.init, message.payload)) {
|
|
1472
1486
|
procStream.incoming.push(message.payload);
|
|
1473
1487
|
} else {
|
|
1474
|
-
log?.error(
|
|
1488
|
+
this.log?.error(
|
|
1475
1489
|
`procedure ${serviceName}.${procedureName} received invalid init payload`,
|
|
1476
1490
|
{
|
|
1477
1491
|
clientId: this.transport.clientId,
|
|
@@ -1485,7 +1499,7 @@ var RiverServer = class {
|
|
|
1485
1499
|
} else if (import_value.Value.Check(procedure.input, message.payload)) {
|
|
1486
1500
|
procStream.incoming.push(message.payload);
|
|
1487
1501
|
} else if (!import_value.Value.Check(ControlMessagePayloadSchema, message.payload)) {
|
|
1488
|
-
log?.error(
|
|
1502
|
+
this.log?.error(
|
|
1489
1503
|
`procedure ${serviceName}.${procedureName} received invalid payload`,
|
|
1490
1504
|
{
|
|
1491
1505
|
clientId: this.transport.clientId,
|
|
@@ -1509,7 +1523,7 @@ var RiverServer = class {
|
|
|
1509
1523
|
const context2 = this.contextMap.get(service);
|
|
1510
1524
|
if (!context2) {
|
|
1511
1525
|
const err = `no context found for ${serviceName}`;
|
|
1512
|
-
log?.error(err, {
|
|
1526
|
+
this.log?.error(err, {
|
|
1513
1527
|
clientId: this.transport.clientId,
|
|
1514
1528
|
tags: ["invariant-violation"]
|
|
1515
1529
|
});
|