@replit/river 0.213.1 → 0.215.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/{adapter-Cp7_gIVA.d.ts → adapter-CgF7vQPu.d.ts} +3 -2
- package/dist/{adapter-DjiEwOYi.d.cts → adapter-IGrG4KLL.d.cts} +3 -2
- package/dist/{chunk-X4PP65DW.js → chunk-RDTQZ7HO.js} +58 -18
- package/dist/chunk-RDTQZ7HO.js.map +1 -0
- package/dist/{chunk-2A645F27.js → chunk-VXRAFUA3.js} +178 -54
- package/dist/chunk-VXRAFUA3.js.map +1 -0
- package/dist/{client-Dw0JBBs3.d.ts → client-BhwlY0-L.d.ts} +2 -2
- package/dist/{client-DXJRow2s.d.cts → client-Dk4H7qeg.d.cts} +2 -2
- package/dist/codec/index.cjs.map +1 -1
- package/dist/codec/index.d.cts +3 -3
- package/dist/codec/index.d.ts +3 -3
- package/dist/codec/index.js +2 -2
- package/dist/{connection-Dzkqj18h.d.cts → connection-CS00EWuS.d.cts} +3 -3
- package/dist/{connection-C2lYgRh0.d.ts → connection-DU9v3y8a.d.ts} +3 -3
- package/dist/{index-D9R6UTMl.d.cts → index-CHCzvZ9D.d.cts} +1 -1
- package/dist/{index-CSM8soK7.d.ts → index-uF0cBM7z.d.ts} +1 -1
- package/dist/logging/index.d.cts +2 -2
- package/dist/logging/index.d.ts +2 -2
- package/dist/{message-Dlsh5WDF.d.cts → message-aABg0s5M.d.cts} +12 -1
- package/dist/{message-Dlsh5WDF.d.ts → message-aABg0s5M.d.ts} +12 -1
- package/dist/router/index.cjs +60 -17
- package/dist/router/index.cjs.map +1 -1
- package/dist/router/index.d.cts +10 -10
- package/dist/router/index.d.ts +10 -10
- package/dist/router/index.js +1 -1
- package/dist/{server-BDSYa-CO.d.cts → server-BR0DZaWi.d.cts} +4 -4
- package/dist/{server-DFOzjvLh.d.ts → server-uNzkzIRh.d.ts} +4 -4
- package/dist/{services-C656NVV3.d.cts → services-B5SY771g.d.ts} +20 -4
- package/dist/{services-ChTb4jmc.d.ts → services-DBv2nmly.d.cts} +20 -4
- package/dist/testUtil/index.cjs +179 -53
- package/dist/testUtil/index.cjs.map +1 -1
- package/dist/testUtil/index.d.cts +7 -7
- package/dist/testUtil/index.d.ts +7 -7
- package/dist/testUtil/index.js +4 -2
- package/dist/testUtil/index.js.map +1 -1
- package/dist/transport/impls/ws/client.cjs +166 -53
- package/dist/transport/impls/ws/client.cjs.map +1 -1
- package/dist/transport/impls/ws/client.d.cts +6 -6
- package/dist/transport/impls/ws/client.d.ts +6 -6
- package/dist/transport/impls/ws/client.js +2 -2
- package/dist/transport/impls/ws/server.cjs +133 -53
- package/dist/transport/impls/ws/server.cjs.map +1 -1
- package/dist/transport/impls/ws/server.d.cts +6 -6
- package/dist/transport/impls/ws/server.d.ts +6 -6
- package/dist/transport/impls/ws/server.js +2 -2
- package/dist/transport/index.cjs +177 -53
- package/dist/transport/index.cjs.map +1 -1
- package/dist/transport/index.d.cts +7 -7
- package/dist/transport/index.d.ts +7 -7
- package/dist/transport/index.js +2 -2
- package/dist/{transport-CxT7y8Qk.d.cts → transport-BOL2p5s-.d.ts} +70 -64
- package/dist/{transport-pdbkDzmJ.d.ts → transport-D3jzhFSi.d.cts} +70 -64
- package/package.json +1 -1
- package/dist/chunk-2A645F27.js.map +0 -1
- package/dist/chunk-X4PP65DW.js.map +0 -1
|
@@ -92,6 +92,17 @@ type PartialTransportMessage<Payload = unknown> = Omit<TransportMessage<Payload>
|
|
|
92
92
|
*/
|
|
93
93
|
type OpaqueTransportMessage = TransportMessage;
|
|
94
94
|
type TransportClientId = string;
|
|
95
|
+
/**
|
|
96
|
+
* An encoded message that is ready to be sent over the transport.
|
|
97
|
+
* The seq number is kept to track which messages have been
|
|
98
|
+
* acked by the peer and can be dropped from the send buffer.
|
|
99
|
+
*/
|
|
100
|
+
interface EncodedTransportMessage {
|
|
101
|
+
id: string;
|
|
102
|
+
seq: number;
|
|
103
|
+
msg: PartialTransportMessage;
|
|
104
|
+
data: Uint8Array;
|
|
105
|
+
}
|
|
95
106
|
/**
|
|
96
107
|
* Checks if the given control flag (usually found in msg.controlFlag) is a stream open message.
|
|
97
108
|
* @param controlFlag - The control flag to check.
|
|
@@ -105,4 +116,4 @@ declare function isStreamOpen(controlFlag: number): boolean;
|
|
|
105
116
|
*/
|
|
106
117
|
declare function isStreamClose(controlFlag: number): boolean;
|
|
107
118
|
|
|
108
|
-
export { HandshakeErrorResponseCodes as H, OpaqueTransportMessageSchema as O, type ProtocolVersion as P, TransportMessageSchema as T, type TransportMessage as a, type OpaqueTransportMessage as b, type TransportClientId as c, isStreamClose as d, type PartialTransportMessage as e, type TelemetryInfo as f, HandshakeErrorCustomHandlerFatalResponseCodes as g, isStreamOpen as i };
|
|
119
|
+
export { type EncodedTransportMessage as E, HandshakeErrorResponseCodes as H, OpaqueTransportMessageSchema as O, type ProtocolVersion as P, TransportMessageSchema as T, type TransportMessage as a, type OpaqueTransportMessage as b, type TransportClientId as c, isStreamClose as d, type PartialTransportMessage as e, type TelemetryInfo as f, HandshakeErrorCustomHandlerFatalResponseCodes as g, isStreamOpen as i };
|
|
@@ -92,6 +92,17 @@ type PartialTransportMessage<Payload = unknown> = Omit<TransportMessage<Payload>
|
|
|
92
92
|
*/
|
|
93
93
|
type OpaqueTransportMessage = TransportMessage;
|
|
94
94
|
type TransportClientId = string;
|
|
95
|
+
/**
|
|
96
|
+
* An encoded message that is ready to be sent over the transport.
|
|
97
|
+
* The seq number is kept to track which messages have been
|
|
98
|
+
* acked by the peer and can be dropped from the send buffer.
|
|
99
|
+
*/
|
|
100
|
+
interface EncodedTransportMessage {
|
|
101
|
+
id: string;
|
|
102
|
+
seq: number;
|
|
103
|
+
msg: PartialTransportMessage;
|
|
104
|
+
data: Uint8Array;
|
|
105
|
+
}
|
|
95
106
|
/**
|
|
96
107
|
* Checks if the given control flag (usually found in msg.controlFlag) is a stream open message.
|
|
97
108
|
* @param controlFlag - The control flag to check.
|
|
@@ -105,4 +116,4 @@ declare function isStreamOpen(controlFlag: number): boolean;
|
|
|
105
116
|
*/
|
|
106
117
|
declare function isStreamClose(controlFlag: number): boolean;
|
|
107
118
|
|
|
108
|
-
export { HandshakeErrorResponseCodes as H, OpaqueTransportMessageSchema as O, type ProtocolVersion as P, TransportMessageSchema as T, type TransportMessage as a, type OpaqueTransportMessage as b, type TransportClientId as c, isStreamClose as d, type PartialTransportMessage as e, type TelemetryInfo as f, HandshakeErrorCustomHandlerFatalResponseCodes as g, isStreamOpen as i };
|
|
119
|
+
export { type EncodedTransportMessage as E, HandshakeErrorResponseCodes as H, OpaqueTransportMessageSchema as O, type ProtocolVersion as P, TransportMessageSchema as T, type TransportMessage as a, type OpaqueTransportMessage as b, type TransportClientId as c, isStreamClose as d, type PartialTransportMessage as e, type TelemetryInfo as f, HandshakeErrorCustomHandlerFatalResponseCodes as g, isStreamOpen as i };
|
package/dist/router/index.cjs
CHANGED
|
@@ -927,6 +927,9 @@ function recordRiverError(span, error) {
|
|
|
927
927
|
"river.error_message": error.message
|
|
928
928
|
});
|
|
929
929
|
}
|
|
930
|
+
function getTracer() {
|
|
931
|
+
return import_api.trace.getTracer("river", version);
|
|
932
|
+
}
|
|
930
933
|
|
|
931
934
|
// router/client.ts
|
|
932
935
|
var import_value = require("@sinclair/typebox/value");
|
|
@@ -1158,14 +1161,19 @@ function handleProc(procType, transport, serverId, init, serviceName, procedureN
|
|
|
1158
1161
|
abortSignal?.addEventListener("abort", onClientCancel);
|
|
1159
1162
|
transport.addEventListener("message", onMessage);
|
|
1160
1163
|
transport.addEventListener("sessionStatus", onSessionStatus);
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1164
|
+
try {
|
|
1165
|
+
sessionScopedSend({
|
|
1166
|
+
streamId,
|
|
1167
|
+
serviceName,
|
|
1168
|
+
procedureName,
|
|
1169
|
+
tracing: getPropagationContext(ctx),
|
|
1170
|
+
payload: init,
|
|
1171
|
+
controlFlags: procClosesWithInit ? 2 /* StreamOpenBit */ | 8 /* StreamClosedBit */ : 2 /* StreamOpenBit */
|
|
1172
|
+
});
|
|
1173
|
+
} catch (e) {
|
|
1174
|
+
cleanup();
|
|
1175
|
+
throw e;
|
|
1176
|
+
}
|
|
1169
1177
|
if (procClosesWithInit) {
|
|
1170
1178
|
reqWritable.close();
|
|
1171
1179
|
}
|
|
@@ -1238,6 +1246,7 @@ function coerceErrorString(err) {
|
|
|
1238
1246
|
}
|
|
1239
1247
|
|
|
1240
1248
|
// router/server.ts
|
|
1249
|
+
var import_api2 = require("@opentelemetry/api");
|
|
1241
1250
|
var RiverServer = class {
|
|
1242
1251
|
transport;
|
|
1243
1252
|
contextMap;
|
|
@@ -1501,9 +1510,49 @@ var RiverServer = class {
|
|
|
1501
1510
|
resWritable.close();
|
|
1502
1511
|
cancelStream(streamId, result);
|
|
1503
1512
|
};
|
|
1513
|
+
const deferredCleanups = [];
|
|
1514
|
+
let cleanupsHaveRun = false;
|
|
1515
|
+
const runCleanupSafe = async (fn) => {
|
|
1516
|
+
try {
|
|
1517
|
+
await fn();
|
|
1518
|
+
} catch (err) {
|
|
1519
|
+
span.recordException(
|
|
1520
|
+
err instanceof Error ? err : new Error(coerceErrorString(err))
|
|
1521
|
+
);
|
|
1522
|
+
}
|
|
1523
|
+
};
|
|
1524
|
+
const deferCleanup = (fn) => {
|
|
1525
|
+
if (cleanupsHaveRun) {
|
|
1526
|
+
void runCleanupSafe(fn);
|
|
1527
|
+
return;
|
|
1528
|
+
}
|
|
1529
|
+
deferredCleanups.push(fn);
|
|
1530
|
+
};
|
|
1531
|
+
const runDeferredCleanups = async () => {
|
|
1532
|
+
if (deferredCleanups.length === 0) {
|
|
1533
|
+
cleanupsHaveRun = true;
|
|
1534
|
+
span.end();
|
|
1535
|
+
return;
|
|
1536
|
+
}
|
|
1537
|
+
const cleanupSpan = getTracer().startSpan(
|
|
1538
|
+
"river.cleanup",
|
|
1539
|
+
{},
|
|
1540
|
+
import_api2.trace.setSpan(import_api2.context.active(), span)
|
|
1541
|
+
);
|
|
1542
|
+
try {
|
|
1543
|
+
for (let fn = deferredCleanups.pop(); fn; fn = deferredCleanups.pop()) {
|
|
1544
|
+
await runCleanupSafe(fn);
|
|
1545
|
+
}
|
|
1546
|
+
} finally {
|
|
1547
|
+
cleanupsHaveRun = true;
|
|
1548
|
+
cleanupSpan.end();
|
|
1549
|
+
span.end();
|
|
1550
|
+
}
|
|
1551
|
+
};
|
|
1504
1552
|
const cleanup = () => {
|
|
1505
1553
|
finishedController.abort();
|
|
1506
1554
|
this.streams.delete(streamId);
|
|
1555
|
+
void runDeferredCleanups();
|
|
1507
1556
|
};
|
|
1508
1557
|
const procClosesWithResponse = procedure.type === "rpc" || procedure.type === "upload";
|
|
1509
1558
|
const reqReadable = new ReadableImpl();
|
|
@@ -1592,6 +1641,7 @@ var RiverServer = class {
|
|
|
1592
1641
|
onServerCancel(errRes);
|
|
1593
1642
|
return Err(errRes);
|
|
1594
1643
|
},
|
|
1644
|
+
deferCleanup,
|
|
1595
1645
|
signal: finishedController.signal
|
|
1596
1646
|
};
|
|
1597
1647
|
const middlewareContext = {
|
|
@@ -1600,6 +1650,7 @@ var RiverServer = class {
|
|
|
1600
1650
|
from,
|
|
1601
1651
|
metadata: sessionMetadata,
|
|
1602
1652
|
span,
|
|
1653
|
+
deferCleanup,
|
|
1603
1654
|
signal: finishedController.signal,
|
|
1604
1655
|
streamId,
|
|
1605
1656
|
procedureName,
|
|
@@ -1619,8 +1670,6 @@ var RiverServer = class {
|
|
|
1619
1670
|
resWritable.write(responsePayload);
|
|
1620
1671
|
} catch (err) {
|
|
1621
1672
|
onHandlerError(err, span);
|
|
1622
|
-
} finally {
|
|
1623
|
-
span.end();
|
|
1624
1673
|
}
|
|
1625
1674
|
break;
|
|
1626
1675
|
case "stream":
|
|
@@ -1633,8 +1682,6 @@ var RiverServer = class {
|
|
|
1633
1682
|
});
|
|
1634
1683
|
} catch (err) {
|
|
1635
1684
|
onHandlerError(err, span);
|
|
1636
|
-
} finally {
|
|
1637
|
-
span.end();
|
|
1638
1685
|
}
|
|
1639
1686
|
break;
|
|
1640
1687
|
case "subscription":
|
|
@@ -1646,8 +1693,6 @@ var RiverServer = class {
|
|
|
1646
1693
|
});
|
|
1647
1694
|
} catch (err) {
|
|
1648
1695
|
onHandlerError(err, span);
|
|
1649
|
-
} finally {
|
|
1650
|
-
span.end();
|
|
1651
1696
|
}
|
|
1652
1697
|
break;
|
|
1653
1698
|
case "upload":
|
|
@@ -1663,8 +1708,6 @@ var RiverServer = class {
|
|
|
1663
1708
|
resWritable.write(responsePayload);
|
|
1664
1709
|
} catch (err) {
|
|
1665
1710
|
onHandlerError(err, span);
|
|
1666
|
-
} finally {
|
|
1667
|
-
span.end();
|
|
1668
1711
|
}
|
|
1669
1712
|
break;
|
|
1670
1713
|
}
|
|
@@ -1966,7 +2009,7 @@ function createServerHandshakeOptions(schema, validate) {
|
|
|
1966
2009
|
}
|
|
1967
2010
|
|
|
1968
2011
|
// package.json
|
|
1969
|
-
var version = "0.
|
|
2012
|
+
var version = "0.215.0";
|
|
1970
2013
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1971
2014
|
0 && (module.exports = {
|
|
1972
2015
|
CANCEL_CODE,
|