@replit/river 0.202.0 → 0.203.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/dist/{chunk-BDUOHZMF.js → chunk-2FHJVQBE.js} +2 -2
- package/dist/{chunk-2T22KY5X.js → chunk-7MKTFUJO.js} +3 -3
- package/dist/{chunk-QMXUCLGE.js → chunk-AK7NTFAM.js} +31 -10
- package/dist/{chunk-QMXUCLGE.js.map → chunk-AK7NTFAM.js.map} +1 -1
- package/dist/{chunk-NSH4D6OB.js → chunk-T4WWG42M.js} +13 -3
- package/dist/chunk-T4WWG42M.js.map +1 -0
- package/dist/{chunk-W4AGHFXK.js → chunk-TMOCPK63.js} +18 -8
- package/dist/chunk-TMOCPK63.js.map +1 -0
- package/dist/{chunk-LHH5LQ7C.js → chunk-WBGKPIFS.js} +11 -1
- package/dist/chunk-WBGKPIFS.js.map +1 -0
- package/dist/{client-a32692b0.d.ts → client-5d2e41a3.d.ts} +7 -1
- package/dist/{connection-48d021ca.d.ts → connection-11a4af0f.d.ts} +1 -1
- package/dist/{context-8d263a7f.d.ts → context-d6dd8a1a.d.ts} +14 -0
- 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 +91 -103
- 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 +78 -95
- package/dist/router/index.js.map +1 -1
- package/dist/{server-48d90a77.d.ts → server-e46399f9.d.ts} +1 -1
- package/dist/{services-a05f5174.d.ts → services-56cbea0d.d.ts} +2 -2
- package/dist/testUtil/index.cjs +55 -11
- package/dist/testUtil/index.cjs.map +1 -1
- package/dist/testUtil/index.d.cts +5 -5
- package/dist/testUtil/index.d.ts +5 -5
- package/dist/testUtil/index.js +5 -5
- package/dist/transport/impls/ws/client.cjs +60 -16
- 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 +48 -14
- 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 +62 -18
- package/dist/transport/index.cjs.map +1 -1
- package/dist/transport/index.d.cts +4 -4
- package/dist/transport/index.d.ts +4 -4
- package/dist/transport/index.js +5 -5
- package/package.json +2 -2
- package/dist/chunk-LHH5LQ7C.js.map +0 -1
- package/dist/chunk-NSH4D6OB.js.map +0 -1
- package/dist/chunk-W4AGHFXK.js.map +0 -1
- /package/dist/{chunk-BDUOHZMF.js.map → chunk-2FHJVQBE.js.map} +0 -0
- /package/dist/{chunk-2T22KY5X.js.map → chunk-7MKTFUJO.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as TransportClientId } from '../../../message-3def9ded.js';
|
|
2
2
|
import { WebSocketServer } from 'ws';
|
|
3
|
-
import { W as WebSocketConnection } from '../../../connection-
|
|
3
|
+
import { W as WebSocketConnection } from '../../../connection-11a4af0f.js';
|
|
4
4
|
import { W as WsLike } from '../../../wslike-e0b32dd5.js';
|
|
5
|
-
import { S as ServerTransport } from '../../../server-
|
|
6
|
-
import { c as ProvidedServerTransportOptions } from '../../../context-
|
|
5
|
+
import { S as ServerTransport } from '../../../server-e46399f9.js';
|
|
6
|
+
import { c as ProvidedServerTransportOptions } from '../../../context-d6dd8a1a.js';
|
|
7
7
|
import { IncomingMessage } from 'http';
|
|
8
8
|
import '@sinclair/typebox/value';
|
|
9
9
|
import '@sinclair/typebox';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as TransportClientId } from '../../../message-3def9ded.js';
|
|
2
2
|
import { WebSocketServer } from 'ws';
|
|
3
|
-
import { W as WebSocketConnection } from '../../../connection-
|
|
3
|
+
import { W as WebSocketConnection } from '../../../connection-11a4af0f.js';
|
|
4
4
|
import { W as WsLike } from '../../../wslike-e0b32dd5.js';
|
|
5
|
-
import { S as ServerTransport } from '../../../server-
|
|
6
|
-
import { c as ProvidedServerTransportOptions } from '../../../context-
|
|
5
|
+
import { S as ServerTransport } from '../../../server-e46399f9.js';
|
|
6
|
+
import { c as ProvidedServerTransportOptions } from '../../../context-d6dd8a1a.js';
|
|
7
7
|
import { IncomingMessage } from 'http';
|
|
8
8
|
import '@sinclair/typebox/value';
|
|
9
9
|
import '@sinclair/typebox';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ServerTransport
|
|
3
|
-
} from "../../../chunk-
|
|
3
|
+
} from "../../../chunk-7MKTFUJO.js";
|
|
4
4
|
import {
|
|
5
5
|
WebSocketConnection
|
|
6
|
-
} from "../../../chunk-
|
|
7
|
-
import "../../../chunk-
|
|
8
|
-
import "../../../chunk-
|
|
9
|
-
import "../../../chunk-
|
|
6
|
+
} from "../../../chunk-2FHJVQBE.js";
|
|
7
|
+
import "../../../chunk-TMOCPK63.js";
|
|
8
|
+
import "../../../chunk-AK7NTFAM.js";
|
|
9
|
+
import "../../../chunk-WBGKPIFS.js";
|
|
10
10
|
import "../../../chunk-AJGIY2UB.js";
|
|
11
11
|
|
|
12
12
|
// transport/impls/ws/server.ts
|
package/dist/transport/index.cjs
CHANGED
|
@@ -32,6 +32,7 @@ __export(transport_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(transport_exports);
|
|
33
33
|
|
|
34
34
|
// logging/log.ts
|
|
35
|
+
var import_api = require("@opentelemetry/api");
|
|
35
36
|
var LoggingLevels = {
|
|
36
37
|
debug: -1,
|
|
37
38
|
info: 0,
|
|
@@ -40,6 +41,15 @@ var LoggingLevels = {
|
|
|
40
41
|
};
|
|
41
42
|
var cleanedLogFn = (log) => {
|
|
42
43
|
return (msg, metadata) => {
|
|
44
|
+
if (metadata && !metadata.telemetry) {
|
|
45
|
+
const span = import_api.trace.getSpan(import_api.context.active());
|
|
46
|
+
if (span) {
|
|
47
|
+
metadata.telemetry = {
|
|
48
|
+
traceId: span.spanContext().traceId,
|
|
49
|
+
spanId: span.spanContext().spanId
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
43
53
|
if (!metadata?.transportMessage) {
|
|
44
54
|
log(msg, metadata);
|
|
45
55
|
return;
|
|
@@ -367,6 +377,14 @@ var StateMachineState = class {
|
|
|
367
377
|
* and we've moved on to another state
|
|
368
378
|
*/
|
|
369
379
|
_isConsumed;
|
|
380
|
+
/**
|
|
381
|
+
* Cleanup this state machine state and mark it as consumed.
|
|
382
|
+
* After calling close, it is an error to access any properties on the state.
|
|
383
|
+
* You should never need to call this as a consumer.
|
|
384
|
+
*
|
|
385
|
+
* If you're looking to close the session from the client,
|
|
386
|
+
* use `.hardDisconnect` on the client transport.
|
|
387
|
+
*/
|
|
370
388
|
close() {
|
|
371
389
|
this._handleClose();
|
|
372
390
|
}
|
|
@@ -421,9 +439,8 @@ var CommonSession = class extends StateMachineState {
|
|
|
421
439
|
parseMsg(msg) {
|
|
422
440
|
const parsedMsg = this.options.codec.fromBuffer(msg);
|
|
423
441
|
if (parsedMsg === null) {
|
|
424
|
-
const decodedBuffer = new TextDecoder().decode(Buffer.from(msg));
|
|
425
442
|
this.log?.error(
|
|
426
|
-
`received malformed msg: ${
|
|
443
|
+
`received malformed msg: ${Buffer.from(msg).toString("base64")}`,
|
|
427
444
|
this.loggingMetadata
|
|
428
445
|
);
|
|
429
446
|
return null;
|
|
@@ -467,13 +484,13 @@ var IdentifiedSession = class extends CommonSession {
|
|
|
467
484
|
this.protocolVersion = protocolVersion;
|
|
468
485
|
}
|
|
469
486
|
get loggingMetadata() {
|
|
470
|
-
const spanContext = this.telemetry.span.spanContext();
|
|
471
487
|
const metadata = {
|
|
472
488
|
clientId: this.from,
|
|
473
489
|
connectedTo: this.to,
|
|
474
490
|
sessionId: this.id
|
|
475
491
|
};
|
|
476
492
|
if (this.telemetry.span.isRecording()) {
|
|
493
|
+
const spanContext = this.telemetry.span.spanContext();
|
|
477
494
|
metadata.telemetry = {
|
|
478
495
|
traceId: spanContext.traceId,
|
|
479
496
|
spanId: spanContext.spanId
|
|
@@ -600,10 +617,10 @@ var SessionNoConnection = class extends IdentifiedSessionWithGracePeriod {
|
|
|
600
617
|
};
|
|
601
618
|
|
|
602
619
|
// tracing/index.ts
|
|
603
|
-
var
|
|
620
|
+
var import_api2 = require("@opentelemetry/api");
|
|
604
621
|
|
|
605
622
|
// package.json
|
|
606
|
-
var version = "0.
|
|
623
|
+
var version = "0.203.1";
|
|
607
624
|
|
|
608
625
|
// tracing/index.ts
|
|
609
626
|
function getPropagationContext(ctx) {
|
|
@@ -611,11 +628,11 @@ function getPropagationContext(ctx) {
|
|
|
611
628
|
traceparent: "",
|
|
612
629
|
tracestate: ""
|
|
613
630
|
};
|
|
614
|
-
|
|
631
|
+
import_api2.propagation.inject(ctx, tracing);
|
|
615
632
|
return tracing;
|
|
616
633
|
}
|
|
617
634
|
function createSessionTelemetryInfo(sessionId, to, from, propagationCtx) {
|
|
618
|
-
const parentCtx = propagationCtx ?
|
|
635
|
+
const parentCtx = propagationCtx ? import_api2.propagation.extract(import_api2.context.active(), propagationCtx) : import_api2.context.active();
|
|
619
636
|
const span = tracer.startSpan(
|
|
620
637
|
`session ${sessionId}`,
|
|
621
638
|
{
|
|
@@ -628,10 +645,25 @@ function createSessionTelemetryInfo(sessionId, to, from, propagationCtx) {
|
|
|
628
645
|
},
|
|
629
646
|
parentCtx
|
|
630
647
|
);
|
|
631
|
-
const ctx =
|
|
648
|
+
const ctx = import_api2.trace.setSpan(parentCtx, span);
|
|
649
|
+
return { span, ctx };
|
|
650
|
+
}
|
|
651
|
+
function createConnectionTelemetryInfo(connection, info) {
|
|
652
|
+
const span = tracer.startSpan(
|
|
653
|
+
`connection ${connection.id}`,
|
|
654
|
+
{
|
|
655
|
+
attributes: {
|
|
656
|
+
component: "river",
|
|
657
|
+
"river.connection.id": connection.id
|
|
658
|
+
},
|
|
659
|
+
links: [{ context: info.span.spanContext() }]
|
|
660
|
+
},
|
|
661
|
+
info.ctx
|
|
662
|
+
);
|
|
663
|
+
const ctx = import_api2.trace.setSpan(info.ctx, span);
|
|
632
664
|
return { span, ctx };
|
|
633
665
|
}
|
|
634
|
-
var tracer =
|
|
666
|
+
var tracer = import_api2.trace.getTracer("river", version);
|
|
635
667
|
var tracing_default = tracer;
|
|
636
668
|
|
|
637
669
|
// transport/sessionStateMachine/SessionWaitingForHandshake.ts
|
|
@@ -738,7 +770,7 @@ var SessionHandshaking = class extends IdentifiedSessionWithGracePeriod {
|
|
|
738
770
|
};
|
|
739
771
|
|
|
740
772
|
// transport/sessionStateMachine/SessionConnected.ts
|
|
741
|
-
var
|
|
773
|
+
var import_api3 = require("@opentelemetry/api");
|
|
742
774
|
var SessionConnected = class extends IdentifiedSession {
|
|
743
775
|
state = "Connected" /* Connected */;
|
|
744
776
|
conn;
|
|
@@ -842,7 +874,7 @@ var SessionConnected = class extends IdentifiedSession {
|
|
|
842
874
|
tags: ["invariant-violation"]
|
|
843
875
|
});
|
|
844
876
|
this.telemetry.span.setStatus({
|
|
845
|
-
code:
|
|
877
|
+
code: import_api3.SpanStatusCode.ERROR,
|
|
846
878
|
message: reason
|
|
847
879
|
});
|
|
848
880
|
this.closeConnection();
|
|
@@ -1014,6 +1046,7 @@ var SessionStateGraph = {
|
|
|
1014
1046
|
listeners,
|
|
1015
1047
|
...carriedState
|
|
1016
1048
|
});
|
|
1049
|
+
conn.telemetry = createConnectionTelemetryInfo(conn, session.telemetry);
|
|
1017
1050
|
session.log?.info(
|
|
1018
1051
|
`session ${session.id} transition from Connecting to Handshaking`,
|
|
1019
1052
|
{
|
|
@@ -1074,6 +1107,7 @@ var SessionStateGraph = {
|
|
|
1074
1107
|
listeners,
|
|
1075
1108
|
...carriedState
|
|
1076
1109
|
});
|
|
1110
|
+
conn.telemetry = createConnectionTelemetryInfo(conn, session.telemetry);
|
|
1077
1111
|
session.log?.info(
|
|
1078
1112
|
`session ${session.id} transition from WaitingForHandshake to Connected`,
|
|
1079
1113
|
{
|
|
@@ -1413,7 +1447,7 @@ var Transport = class {
|
|
|
1413
1447
|
};
|
|
1414
1448
|
|
|
1415
1449
|
// transport/client.ts
|
|
1416
|
-
var
|
|
1450
|
+
var import_api4 = require("@opentelemetry/api");
|
|
1417
1451
|
|
|
1418
1452
|
// transport/rateLimit.ts
|
|
1419
1453
|
var LeakyBucketRateLimit = class {
|
|
@@ -1614,7 +1648,7 @@ var ClientTransport = class extends Transport {
|
|
|
1614
1648
|
}
|
|
1615
1649
|
rejectHandshakeResponse(session, reason, metadata) {
|
|
1616
1650
|
session.conn.telemetry?.span.setStatus({
|
|
1617
|
-
code:
|
|
1651
|
+
code: import_api4.SpanStatusCode.ERROR,
|
|
1618
1652
|
message: reason
|
|
1619
1653
|
});
|
|
1620
1654
|
this.log?.warn(reason, metadata);
|
|
@@ -1744,6 +1778,16 @@ var ClientTransport = class extends Transport {
|
|
|
1744
1778
|
);
|
|
1745
1779
|
this.updateSession(backingOffSession);
|
|
1746
1780
|
}
|
|
1781
|
+
/**
|
|
1782
|
+
* Manually kills all sessions to the server (including all pending state).
|
|
1783
|
+
* This is useful for when you want to close all connections to a server
|
|
1784
|
+
* and don't want to wait for the grace period to elapse.
|
|
1785
|
+
*/
|
|
1786
|
+
hardDisconnect() {
|
|
1787
|
+
for (const session of this.sessions.values()) {
|
|
1788
|
+
this.deleteSession(session);
|
|
1789
|
+
}
|
|
1790
|
+
}
|
|
1747
1791
|
onBackoffFinished(session) {
|
|
1748
1792
|
const connPromise = tracing_default.startActiveSpan("connect", async (span) => {
|
|
1749
1793
|
try {
|
|
@@ -1751,7 +1795,7 @@ var ClientTransport = class extends Transport {
|
|
|
1751
1795
|
} catch (err) {
|
|
1752
1796
|
const errStr = coerceErrorString(err);
|
|
1753
1797
|
span.recordException(errStr);
|
|
1754
|
-
span.setStatus({ code:
|
|
1798
|
+
span.setStatus({ code: import_api4.SpanStatusCode.ERROR });
|
|
1755
1799
|
throw err;
|
|
1756
1800
|
} finally {
|
|
1757
1801
|
span.end();
|
|
@@ -1825,7 +1869,7 @@ var ClientTransport = class extends Transport {
|
|
|
1825
1869
|
};
|
|
1826
1870
|
|
|
1827
1871
|
// transport/server.ts
|
|
1828
|
-
var
|
|
1872
|
+
var import_api5 = require("@opentelemetry/api");
|
|
1829
1873
|
var import_value3 = require("@sinclair/typebox/value");
|
|
1830
1874
|
var ServerTransport = class extends Transport {
|
|
1831
1875
|
/**
|
|
@@ -1935,7 +1979,7 @@ var ServerTransport = class extends Transport {
|
|
|
1935
1979
|
}
|
|
1936
1980
|
rejectHandshakeRequest(session, to, reason, code, metadata) {
|
|
1937
1981
|
session.conn.telemetry?.span.setStatus({
|
|
1938
|
-
code:
|
|
1982
|
+
code: import_api5.SpanStatusCode.ERROR,
|
|
1939
1983
|
message: reason
|
|
1940
1984
|
});
|
|
1941
1985
|
this.log?.warn(reason, metadata);
|
|
@@ -2189,8 +2233,8 @@ var Connection = class {
|
|
|
2189
2233
|
}
|
|
2190
2234
|
get loggingMetadata() {
|
|
2191
2235
|
const metadata = { connId: this.id };
|
|
2192
|
-
|
|
2193
|
-
|
|
2236
|
+
if (this.telemetry?.span.isRecording()) {
|
|
2237
|
+
const spanContext = this.telemetry.span.spanContext();
|
|
2194
2238
|
metadata.telemetry = {
|
|
2195
2239
|
traceId: spanContext.traceId,
|
|
2196
2240
|
spanId: spanContext.spanId
|