@replit/river 0.203.0 → 0.204.0
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/dist/{chunk-DGT3MPD4.js → chunk-3V7VMJNA.js} +19 -16
- package/dist/chunk-3V7VMJNA.js.map +1 -0
- package/dist/{chunk-FG22HHCY.js → chunk-6YUDEFCS.js} +47 -10
- package/dist/chunk-6YUDEFCS.js.map +1 -0
- package/dist/chunk-LJCR3ADI.js +1955 -0
- package/dist/chunk-LJCR3ADI.js.map +1 -0
- package/dist/{chunk-XBPEUVWN.js → chunk-QSW7AWEP.js} +5 -11
- package/dist/chunk-QSW7AWEP.js.map +1 -0
- package/dist/{chunk-LHH5LQ7C.js → chunk-WBGKPIFS.js} +11 -1
- package/dist/chunk-WBGKPIFS.js.map +1 -0
- package/dist/{chunk-D5EIDBUT.js → chunk-YODW2ZMU.js} +4 -3
- package/dist/chunk-YODW2ZMU.js.map +1 -0
- package/dist/{client-5d2e41a3.d.ts → client-0c0a4a5e.d.ts} +1 -1
- package/dist/{connection-11a4af0f.d.ts → connection-7b62dfec.d.ts} +1 -1
- package/dist/{context-d6dd8a1a.d.ts → context-3cf1ed4e.d.ts} +8 -2
- package/dist/logging/index.cjs +1 -0
- package/dist/logging/index.cjs.map +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/router/index.cjs +109 -111
- package/dist/router/index.cjs.map +1 -1
- package/dist/router/index.d.cts +7 -7
- package/dist/router/index.d.ts +7 -7
- package/dist/router/index.js +18 -1629
- package/dist/router/index.js.map +1 -1
- package/dist/{server-e46399f9.d.ts → server-a287de55.d.ts} +1 -1
- package/dist/{services-56cbea0d.d.ts → services-51980ecd.d.ts} +2 -2
- package/dist/testUtil/index.cjs +103 -36
- package/dist/testUtil/index.cjs.map +1 -1
- package/dist/testUtil/index.d.cts +4 -4
- package/dist/testUtil/index.d.ts +4 -4
- package/dist/testUtil/index.js +9 -7
- package/dist/testUtil/index.js.map +1 -1
- package/dist/transport/impls/ws/client.cjs +107 -48
- 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 +5 -5
- package/dist/transport/impls/ws/server.cjs +92 -35
- 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 +5 -5
- package/dist/transport/index.cjs +107 -41
- package/dist/transport/index.cjs.map +1 -1
- package/dist/transport/index.d.cts +3 -3
- package/dist/transport/index.d.ts +3 -3
- package/dist/transport/index.js +5 -5
- package/package.json +3 -3
- package/dist/chunk-D5EIDBUT.js.map +0 -1
- package/dist/chunk-DGT3MPD4.js.map +0 -1
- package/dist/chunk-FG22HHCY.js.map +0 -1
- package/dist/chunk-LHH5LQ7C.js.map +0 -1
- package/dist/chunk-SZHNMLKC.js +0 -310
- package/dist/chunk-SZHNMLKC.js.map +0 -1
- package/dist/chunk-XBPEUVWN.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { C as ClientTransport } from '../../../client-
|
|
1
|
+
import { C as ClientTransport } from '../../../client-0c0a4a5e.js';
|
|
2
2
|
import { c as TransportClientId } from '../../../message-3def9ded.js';
|
|
3
|
-
import { b as ProvidedClientTransportOptions } from '../../../context-
|
|
4
|
-
import { W as WebSocketConnection } from '../../../connection-
|
|
3
|
+
import { b as ProvidedClientTransportOptions } from '../../../context-3cf1ed4e.js';
|
|
4
|
+
import { W as WebSocketConnection } from '../../../connection-7b62dfec.js';
|
|
5
5
|
import { W as WsLike } from '../../../wslike-e0b32dd5.js';
|
|
6
6
|
import '@sinclair/typebox/value';
|
|
7
7
|
import '@sinclair/typebox';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { C as ClientTransport } from '../../../client-
|
|
1
|
+
import { C as ClientTransport } from '../../../client-0c0a4a5e.js';
|
|
2
2
|
import { c as TransportClientId } from '../../../message-3def9ded.js';
|
|
3
|
-
import { b as ProvidedClientTransportOptions } from '../../../context-
|
|
4
|
-
import { W as WebSocketConnection } from '../../../connection-
|
|
3
|
+
import { b as ProvidedClientTransportOptions } from '../../../context-3cf1ed4e.js';
|
|
4
|
+
import { W as WebSocketConnection } from '../../../connection-7b62dfec.js';
|
|
5
5
|
import { W as WsLike } from '../../../wslike-e0b32dd5.js';
|
|
6
6
|
import '@sinclair/typebox/value';
|
|
7
7
|
import '@sinclair/typebox';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ClientTransport
|
|
3
|
-
} from "../../../chunk-
|
|
3
|
+
} from "../../../chunk-3V7VMJNA.js";
|
|
4
4
|
import {
|
|
5
5
|
WebSocketConnection
|
|
6
|
-
} from "../../../chunk-
|
|
7
|
-
import "../../../chunk-
|
|
8
|
-
import "../../../chunk-
|
|
9
|
-
import "../../../chunk-
|
|
6
|
+
} from "../../../chunk-QSW7AWEP.js";
|
|
7
|
+
import "../../../chunk-6YUDEFCS.js";
|
|
8
|
+
import "../../../chunk-LJCR3ADI.js";
|
|
9
|
+
import "../../../chunk-WBGKPIFS.js";
|
|
10
10
|
import "../../../chunk-AJGIY2UB.js";
|
|
11
11
|
|
|
12
12
|
// transport/impls/ws/client.ts
|
|
@@ -40,8 +40,8 @@ var Connection = class {
|
|
|
40
40
|
}
|
|
41
41
|
get loggingMetadata() {
|
|
42
42
|
const metadata = { connId: this.id };
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
if (this.telemetry?.span.isRecording()) {
|
|
44
|
+
const spanContext = this.telemetry.span.spanContext();
|
|
45
45
|
metadata.telemetry = {
|
|
46
46
|
traceId: spanContext.traceId,
|
|
47
47
|
spanId: spanContext.spanId
|
|
@@ -62,6 +62,22 @@ var Connection = class {
|
|
|
62
62
|
get errorListeners() {
|
|
63
63
|
return [...this._errorListeners];
|
|
64
64
|
}
|
|
65
|
+
onData(msg) {
|
|
66
|
+
for (const cb of this.dataListeners) {
|
|
67
|
+
cb(msg);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
onError(err) {
|
|
71
|
+
for (const cb of this.errorListeners) {
|
|
72
|
+
cb(err);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
onClose() {
|
|
76
|
+
for (const cb of this.closeListeners) {
|
|
77
|
+
cb();
|
|
78
|
+
}
|
|
79
|
+
this.telemetry?.span.end();
|
|
80
|
+
}
|
|
65
81
|
/**
|
|
66
82
|
* Handle adding a callback for when a message is received.
|
|
67
83
|
* @param msg The message that was received.
|
|
@@ -128,18 +144,12 @@ var WebSocketConnection = class extends Connection {
|
|
|
128
144
|
const err = new Error(
|
|
129
145
|
`websocket closed with code and reason: ${code} - ${reason}`
|
|
130
146
|
);
|
|
131
|
-
|
|
132
|
-
cb(err);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
for (const cb of this.closeListeners) {
|
|
136
|
-
cb();
|
|
147
|
+
this.onError(err);
|
|
137
148
|
}
|
|
149
|
+
this.onClose();
|
|
138
150
|
};
|
|
139
151
|
this.ws.onmessage = (msg) => {
|
|
140
|
-
|
|
141
|
-
cb(msg.data);
|
|
142
|
-
}
|
|
152
|
+
this.onData(msg.data);
|
|
143
153
|
};
|
|
144
154
|
}
|
|
145
155
|
send(payload) {
|
|
@@ -155,7 +165,7 @@ var WebSocketConnection = class extends Connection {
|
|
|
155
165
|
};
|
|
156
166
|
|
|
157
167
|
// transport/server.ts
|
|
158
|
-
var
|
|
168
|
+
var import_api4 = require("@opentelemetry/api");
|
|
159
169
|
|
|
160
170
|
// transport/message.ts
|
|
161
171
|
var import_typebox = require("@sinclair/typebox");
|
|
@@ -350,6 +360,7 @@ var defaultServerTransportOptions = {
|
|
|
350
360
|
};
|
|
351
361
|
|
|
352
362
|
// logging/log.ts
|
|
363
|
+
var import_api = require("@opentelemetry/api");
|
|
353
364
|
var LoggingLevels = {
|
|
354
365
|
debug: -1,
|
|
355
366
|
info: 0,
|
|
@@ -358,6 +369,15 @@ var LoggingLevels = {
|
|
|
358
369
|
};
|
|
359
370
|
var cleanedLogFn = (log) => {
|
|
360
371
|
return (msg, metadata) => {
|
|
372
|
+
if (metadata && !metadata.telemetry) {
|
|
373
|
+
const span = import_api.trace.getSpan(import_api.context.active());
|
|
374
|
+
if (span) {
|
|
375
|
+
metadata.telemetry = {
|
|
376
|
+
traceId: span.spanContext().traceId,
|
|
377
|
+
spanId: span.spanContext().spanId
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
}
|
|
361
381
|
if (!metadata?.transportMessage) {
|
|
362
382
|
log(msg, metadata);
|
|
363
383
|
return;
|
|
@@ -501,12 +521,14 @@ var StateMachineState = class {
|
|
|
501
521
|
var CommonSession = class extends StateMachineState {
|
|
502
522
|
from;
|
|
503
523
|
options;
|
|
524
|
+
tracer;
|
|
504
525
|
log;
|
|
505
|
-
constructor({ from, options, log }) {
|
|
526
|
+
constructor({ from, options, log, tracer }) {
|
|
506
527
|
super();
|
|
507
528
|
this.from = from;
|
|
508
529
|
this.options = options;
|
|
509
530
|
this.log = log;
|
|
531
|
+
this.tracer = tracer;
|
|
510
532
|
}
|
|
511
533
|
parseMsg(msg) {
|
|
512
534
|
const parsedMsg = this.options.codec.fromBuffer(msg);
|
|
@@ -556,13 +578,13 @@ var IdentifiedSession = class extends CommonSession {
|
|
|
556
578
|
this.protocolVersion = protocolVersion;
|
|
557
579
|
}
|
|
558
580
|
get loggingMetadata() {
|
|
559
|
-
const spanContext = this.telemetry.span.spanContext();
|
|
560
581
|
const metadata = {
|
|
561
582
|
clientId: this.from,
|
|
562
583
|
connectedTo: this.to,
|
|
563
584
|
sessionId: this.id
|
|
564
585
|
};
|
|
565
586
|
if (this.telemetry.span.isRecording()) {
|
|
587
|
+
const spanContext = this.telemetry.span.spanContext();
|
|
566
588
|
metadata.telemetry = {
|
|
567
589
|
traceId: spanContext.traceId,
|
|
568
590
|
spanId: spanContext.spanId
|
|
@@ -689,16 +711,24 @@ var SessionNoConnection = class extends IdentifiedSessionWithGracePeriod {
|
|
|
689
711
|
};
|
|
690
712
|
|
|
691
713
|
// tracing/index.ts
|
|
692
|
-
var
|
|
714
|
+
var import_api2 = require("@opentelemetry/api");
|
|
715
|
+
|
|
716
|
+
// transport/stringifyError.ts
|
|
717
|
+
function coerceErrorString(err) {
|
|
718
|
+
if (err instanceof Error) {
|
|
719
|
+
return err.message || "unknown reason";
|
|
720
|
+
}
|
|
721
|
+
return `[coerced to error] ${String(err)}`;
|
|
722
|
+
}
|
|
693
723
|
|
|
694
724
|
// package.json
|
|
695
|
-
var version = "0.
|
|
725
|
+
var version = "0.204.0";
|
|
696
726
|
|
|
697
727
|
// tracing/index.ts
|
|
698
|
-
function createSessionTelemetryInfo(sessionId, to, from, propagationCtx) {
|
|
699
|
-
const parentCtx = propagationCtx ?
|
|
728
|
+
function createSessionTelemetryInfo(tracer, sessionId, to, from, propagationCtx) {
|
|
729
|
+
const parentCtx = propagationCtx ? import_api2.propagation.extract(import_api2.context.active(), propagationCtx) : import_api2.context.active();
|
|
700
730
|
const span = tracer.startSpan(
|
|
701
|
-
`session
|
|
731
|
+
`river.session.${sessionId}`,
|
|
702
732
|
{
|
|
703
733
|
attributes: {
|
|
704
734
|
component: "river",
|
|
@@ -709,10 +739,27 @@ function createSessionTelemetryInfo(sessionId, to, from, propagationCtx) {
|
|
|
709
739
|
},
|
|
710
740
|
parentCtx
|
|
711
741
|
);
|
|
712
|
-
const ctx =
|
|
742
|
+
const ctx = import_api2.trace.setSpan(parentCtx, span);
|
|
713
743
|
return { span, ctx };
|
|
714
744
|
}
|
|
715
|
-
|
|
745
|
+
function createConnectionTelemetryInfo(tracer, connection, info) {
|
|
746
|
+
const span = tracer.startSpan(
|
|
747
|
+
`connection ${connection.id}`,
|
|
748
|
+
{
|
|
749
|
+
attributes: {
|
|
750
|
+
component: "river",
|
|
751
|
+
"river.connection.id": connection.id
|
|
752
|
+
},
|
|
753
|
+
links: [{ context: info.span.spanContext() }]
|
|
754
|
+
},
|
|
755
|
+
info.ctx
|
|
756
|
+
);
|
|
757
|
+
const ctx = import_api2.trace.setSpan(info.ctx, span);
|
|
758
|
+
return { span, ctx };
|
|
759
|
+
}
|
|
760
|
+
function getTracer() {
|
|
761
|
+
return import_api2.trace.getTracer("river", version);
|
|
762
|
+
}
|
|
716
763
|
|
|
717
764
|
// transport/sessionStateMachine/SessionWaitingForHandshake.ts
|
|
718
765
|
var SessionWaitingForHandshake = class extends CommonSession {
|
|
@@ -818,7 +865,7 @@ var SessionHandshaking = class extends IdentifiedSessionWithGracePeriod {
|
|
|
818
865
|
};
|
|
819
866
|
|
|
820
867
|
// transport/sessionStateMachine/SessionConnected.ts
|
|
821
|
-
var
|
|
868
|
+
var import_api3 = require("@opentelemetry/api");
|
|
822
869
|
var SessionConnected = class extends IdentifiedSession {
|
|
823
870
|
state = "Connected" /* Connected */;
|
|
824
871
|
conn;
|
|
@@ -922,7 +969,7 @@ var SessionConnected = class extends IdentifiedSession {
|
|
|
922
969
|
tags: ["invariant-violation"]
|
|
923
970
|
});
|
|
924
971
|
this.telemetry.span.setStatus({
|
|
925
|
-
code:
|
|
972
|
+
code: import_api3.SpanStatusCode.ERROR,
|
|
926
973
|
message: reason
|
|
927
974
|
});
|
|
928
975
|
this.closeConnection();
|
|
@@ -998,6 +1045,7 @@ function inheritSharedSession(session) {
|
|
|
998
1045
|
telemetry: session.telemetry,
|
|
999
1046
|
options: session.options,
|
|
1000
1047
|
log: session.log,
|
|
1048
|
+
tracer: session.tracer,
|
|
1001
1049
|
protocolVersion: session.protocolVersion
|
|
1002
1050
|
};
|
|
1003
1051
|
}
|
|
@@ -1009,9 +1057,9 @@ function inheritSharedSessionWithGrace(session) {
|
|
|
1009
1057
|
}
|
|
1010
1058
|
var SessionStateGraph = {
|
|
1011
1059
|
entrypoints: {
|
|
1012
|
-
NoConnection: (to, from, listeners, options, protocolVersion, log) => {
|
|
1060
|
+
NoConnection: (to, from, listeners, options, protocolVersion, tracer, log) => {
|
|
1013
1061
|
const id = `session-${generateId()}`;
|
|
1014
|
-
const telemetry = createSessionTelemetryInfo(id, to, from);
|
|
1062
|
+
const telemetry = createSessionTelemetryInfo(tracer, id, to, from);
|
|
1015
1063
|
const sendBuffer = [];
|
|
1016
1064
|
const session = new SessionNoConnection({
|
|
1017
1065
|
listeners,
|
|
@@ -1025,6 +1073,7 @@ var SessionStateGraph = {
|
|
|
1025
1073
|
telemetry,
|
|
1026
1074
|
options,
|
|
1027
1075
|
protocolVersion,
|
|
1076
|
+
tracer,
|
|
1028
1077
|
log
|
|
1029
1078
|
});
|
|
1030
1079
|
session.log?.info(`session ${session.id} created in NoConnection state`, {
|
|
@@ -1033,12 +1082,13 @@ var SessionStateGraph = {
|
|
|
1033
1082
|
});
|
|
1034
1083
|
return session;
|
|
1035
1084
|
},
|
|
1036
|
-
WaitingForHandshake: (from, conn, listeners, options, log) => {
|
|
1085
|
+
WaitingForHandshake: (from, conn, listeners, options, tracer, log) => {
|
|
1037
1086
|
const session = new SessionWaitingForHandshake({
|
|
1038
1087
|
conn,
|
|
1039
1088
|
listeners,
|
|
1040
1089
|
from,
|
|
1041
1090
|
options,
|
|
1091
|
+
tracer,
|
|
1042
1092
|
log
|
|
1043
1093
|
});
|
|
1044
1094
|
session.log?.info(`session created in WaitingForHandshake state`, {
|
|
@@ -1094,6 +1144,11 @@ var SessionStateGraph = {
|
|
|
1094
1144
|
listeners,
|
|
1095
1145
|
...carriedState
|
|
1096
1146
|
});
|
|
1147
|
+
conn.telemetry = createConnectionTelemetryInfo(
|
|
1148
|
+
session.tracer,
|
|
1149
|
+
conn,
|
|
1150
|
+
session.telemetry
|
|
1151
|
+
);
|
|
1097
1152
|
session.log?.info(
|
|
1098
1153
|
`session ${session.id} transition from Connecting to Handshaking`,
|
|
1099
1154
|
{
|
|
@@ -1137,12 +1192,14 @@ var SessionStateGraph = {
|
|
|
1137
1192
|
ack: 0,
|
|
1138
1193
|
sendBuffer: [],
|
|
1139
1194
|
telemetry: createSessionTelemetryInfo(
|
|
1195
|
+
pendingSession.tracer,
|
|
1140
1196
|
sessionId,
|
|
1141
1197
|
to,
|
|
1142
1198
|
from,
|
|
1143
1199
|
propagationCtx
|
|
1144
1200
|
),
|
|
1145
1201
|
options,
|
|
1202
|
+
tracer: pendingSession.tracer,
|
|
1146
1203
|
log: pendingSession.log,
|
|
1147
1204
|
protocolVersion
|
|
1148
1205
|
}
|
|
@@ -1154,6 +1211,11 @@ var SessionStateGraph = {
|
|
|
1154
1211
|
listeners,
|
|
1155
1212
|
...carriedState
|
|
1156
1213
|
});
|
|
1214
|
+
conn.telemetry = createConnectionTelemetryInfo(
|
|
1215
|
+
session.tracer,
|
|
1216
|
+
conn,
|
|
1217
|
+
session.telemetry
|
|
1218
|
+
);
|
|
1157
1219
|
session.log?.info(
|
|
1158
1220
|
`session ${session.id} transition from WaitingForHandshake to Connected`,
|
|
1159
1221
|
{
|
|
@@ -1298,6 +1360,7 @@ var Transport = class {
|
|
|
1298
1360
|
*/
|
|
1299
1361
|
options;
|
|
1300
1362
|
log;
|
|
1363
|
+
tracer;
|
|
1301
1364
|
sessions;
|
|
1302
1365
|
/**
|
|
1303
1366
|
* Creates a new Transport instance.
|
|
@@ -1310,6 +1373,7 @@ var Transport = class {
|
|
|
1310
1373
|
this.clientId = clientId;
|
|
1311
1374
|
this.status = "open";
|
|
1312
1375
|
this.sessions = /* @__PURE__ */ new Map();
|
|
1376
|
+
this.tracer = getTracer();
|
|
1313
1377
|
}
|
|
1314
1378
|
bindLogger(fn, level) {
|
|
1315
1379
|
if (typeof fn === "function") {
|
|
@@ -1492,14 +1556,6 @@ var Transport = class {
|
|
|
1492
1556
|
}
|
|
1493
1557
|
};
|
|
1494
1558
|
|
|
1495
|
-
// transport/stringifyError.ts
|
|
1496
|
-
function coerceErrorString(err) {
|
|
1497
|
-
if (err instanceof Error) {
|
|
1498
|
-
return err.message || "unknown reason";
|
|
1499
|
-
}
|
|
1500
|
-
return `[coerced to error] ${String(err)}`;
|
|
1501
|
-
}
|
|
1502
|
-
|
|
1503
1559
|
// transport/server.ts
|
|
1504
1560
|
var import_value2 = require("@sinclair/typebox/value");
|
|
1505
1561
|
var ServerTransport = class extends Transport {
|
|
@@ -1604,13 +1660,14 @@ var ServerTransport = class extends Transport {
|
|
|
1604
1660
|
}
|
|
1605
1661
|
},
|
|
1606
1662
|
this.options,
|
|
1663
|
+
this.tracer,
|
|
1607
1664
|
this.log
|
|
1608
1665
|
);
|
|
1609
1666
|
this.pendingSessions.add(pendingSession);
|
|
1610
1667
|
}
|
|
1611
1668
|
rejectHandshakeRequest(session, to, reason, code, metadata) {
|
|
1612
1669
|
session.conn.telemetry?.span.setStatus({
|
|
1613
|
-
code:
|
|
1670
|
+
code: import_api4.SpanStatusCode.ERROR,
|
|
1614
1671
|
message: reason
|
|
1615
1672
|
});
|
|
1616
1673
|
this.log?.warn(reason, metadata);
|