@replit/river 0.209.3 → 0.209.5

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.
Files changed (47) hide show
  1. package/dist/{chunk-EHTVQM2C.js → chunk-JY4555JT.js} +2 -2
  2. package/dist/chunk-JY4555JT.js.map +1 -0
  3. package/dist/{chunk-I24PIZXW.js → chunk-Y6YEPMH6.js} +72 -7
  4. package/dist/chunk-Y6YEPMH6.js.map +1 -0
  5. package/dist/{client-aETS93z1.d.cts → client-DXJRow2s.d.cts} +1 -1
  6. package/dist/{client-BzJwq-hg.d.ts → client-Dw0JBBs3.d.ts} +1 -1
  7. package/dist/codec/index.js +2 -2
  8. package/dist/{connection-b1wd5XrC.d.ts → connection-C2lYgRh0.d.ts} +7 -2
  9. package/dist/{connection-hUWlS-hg.d.cts → connection-Dzkqj18h.d.cts} +7 -2
  10. package/dist/router/index.cjs +1 -1
  11. package/dist/router/index.cjs.map +1 -1
  12. package/dist/router/index.d.cts +7 -7
  13. package/dist/router/index.d.ts +7 -7
  14. package/dist/router/index.js +1 -1
  15. package/dist/{server-BBgDVOzk.d.cts → server-BDSYa-CO.d.cts} +1 -1
  16. package/dist/{server-DZ0Yzmpf.d.ts → server-DFOzjvLh.d.ts} +1 -1
  17. package/dist/{services-C53K219K.d.cts → services-BXjRTxa7.d.cts} +5 -5
  18. package/dist/{services-DYik59tk.d.ts → services-BsHCCIEq.d.ts} +5 -5
  19. package/dist/testUtil/index.cjs +15 -6
  20. package/dist/testUtil/index.cjs.map +1 -1
  21. package/dist/testUtil/index.d.cts +5 -5
  22. package/dist/testUtil/index.d.ts +5 -5
  23. package/dist/testUtil/index.js +2 -2
  24. package/dist/transport/impls/ws/client.cjs +69 -53
  25. package/dist/transport/impls/ws/client.cjs.map +1 -1
  26. package/dist/transport/impls/ws/client.d.cts +3 -3
  27. package/dist/transport/impls/ws/client.d.ts +3 -3
  28. package/dist/transport/impls/ws/client.js +3 -5
  29. package/dist/transport/impls/ws/client.js.map +1 -1
  30. package/dist/transport/impls/ws/server.cjs +13 -5
  31. package/dist/transport/impls/ws/server.cjs.map +1 -1
  32. package/dist/transport/impls/ws/server.d.cts +3 -3
  33. package/dist/transport/impls/ws/server.d.ts +3 -3
  34. package/dist/transport/impls/ws/server.js +3 -5
  35. package/dist/transport/impls/ws/server.js.map +1 -1
  36. package/dist/transport/index.cjs +75 -8
  37. package/dist/transport/index.cjs.map +1 -1
  38. package/dist/transport/index.d.cts +5 -3
  39. package/dist/transport/index.d.ts +5 -3
  40. package/dist/transport/index.js +8 -4
  41. package/dist/{transport-CxjUaGhi.d.cts → transport-CxT7y8Qk.d.cts} +5 -0
  42. package/dist/{transport-DwEB67zY.d.ts → transport-pdbkDzmJ.d.ts} +5 -0
  43. package/package.json +1 -9
  44. package/dist/chunk-EHTVQM2C.js.map +0 -1
  45. package/dist/chunk-I24PIZXW.js.map +0 -1
  46. package/dist/chunk-JRBDMLR3.js +0 -55
  47. package/dist/chunk-JRBDMLR3.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { c as TransportClientId } from '../../../message-Dlsh5WDF.cjs';
2
2
  import { WebSocketServer } from 'ws';
3
- import { W as WebSocketConnection } from '../../../connection-hUWlS-hg.cjs';
3
+ import { a as WebSocketConnection } from '../../../connection-Dzkqj18h.cjs';
4
4
  import { W as WsLike } from '../../../wslike-Dng9H1C7.cjs';
5
- import { S as ServerTransport } from '../../../server-BBgDVOzk.cjs';
6
- import { c as ProvidedServerTransportOptions } from '../../../transport-CxjUaGhi.cjs';
5
+ import { S as ServerTransport } from '../../../server-BDSYa-CO.cjs';
6
+ import { c as ProvidedServerTransportOptions } from '../../../transport-CxT7y8Qk.cjs';
7
7
  import { IncomingMessage } from 'http';
8
8
  import { TSchema } from '@sinclair/typebox';
9
9
  import '@opentelemetry/api';
@@ -1,9 +1,9 @@
1
1
  import { c as TransportClientId } from '../../../message-Dlsh5WDF.js';
2
2
  import { WebSocketServer } from 'ws';
3
- import { W as WebSocketConnection } from '../../../connection-b1wd5XrC.js';
3
+ import { a as WebSocketConnection } from '../../../connection-C2lYgRh0.js';
4
4
  import { W as WsLike } from '../../../wslike-Dng9H1C7.js';
5
- import { S as ServerTransport } from '../../../server-DZ0Yzmpf.js';
6
- import { c as ProvidedServerTransportOptions } from '../../../transport-DwEB67zY.js';
5
+ import { S as ServerTransport } from '../../../server-DFOzjvLh.js';
6
+ import { c as ProvidedServerTransportOptions } from '../../../transport-pdbkDzmJ.js';
7
7
  import { IncomingMessage } from 'http';
8
8
  import { TSchema } from '@sinclair/typebox';
9
9
  import '@opentelemetry/api';
@@ -1,11 +1,9 @@
1
1
  import {
2
+ ServerTransport,
2
3
  WebSocketConnection
3
- } from "../../../chunk-JRBDMLR3.js";
4
- import {
5
- ServerTransport
6
- } from "../../../chunk-I24PIZXW.js";
4
+ } from "../../../chunk-Y6YEPMH6.js";
7
5
  import "../../../chunk-CC7RN7GI.js";
8
- import "../../../chunk-EHTVQM2C.js";
6
+ import "../../../chunk-JY4555JT.js";
9
7
 
10
8
  // transport/impls/ws/server.ts
11
9
  function cleanHeaders(headers) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../transport/impls/ws/server.ts"],"sourcesContent":["import { TransportClientId } from '../../message';\nimport { WebSocketServer } from 'ws';\nimport { WebSocketConnection } from './connection';\nimport { WsLike } from './wslike';\nimport { ServerTransport } from '../../server';\nimport { ProvidedServerTransportOptions } from '../../options';\nimport { type IncomingMessage } from 'http';\nimport { TSchema } from '@sinclair/typebox';\n\nfunction cleanHeaders(\n headers: IncomingMessage['headers'],\n): Record<string, string> {\n const cleanedHeaders: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(headers)) {\n if (!key.startsWith('sec-') && value) {\n const cleanedValue = Array.isArray(value) ? value[0] : value;\n cleanedHeaders[key] = cleanedValue;\n }\n }\n\n return cleanedHeaders;\n}\n\nexport class WebSocketServerTransport<\n MetadataSchema extends TSchema = TSchema,\n ParsedMetadata extends object = object,\n> extends ServerTransport<WebSocketConnection, MetadataSchema, ParsedMetadata> {\n wss: WebSocketServer;\n\n constructor(\n wss: WebSocketServer,\n clientId: TransportClientId,\n providedOptions?: ProvidedServerTransportOptions,\n ) {\n super(clientId, providedOptions);\n this.wss = wss;\n this.wss.on('connection', this.connectionHandler);\n }\n\n connectionHandler = (ws: WsLike, req: IncomingMessage) => {\n const conn = new WebSocketConnection(ws, {\n headers: cleanHeaders(req.headersDistinct),\n });\n\n this.handleConnection(conn);\n };\n\n close() {\n super.close();\n this.wss.off('connection', this.connectionHandler);\n }\n}\n"],"mappings":";;;;;;;;;;AASA,SAAS,aACP,SACwB;AACxB,QAAM,iBAAyC,CAAC;AAEhD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,IAAI,WAAW,MAAM,KAAK,OAAO;AACpC,YAAM,eAAe,MAAM,QAAQ,KAAK,IAAI,MAAM,CAAC,IAAI;AACvD,qBAAe,GAAG,IAAI;AAAA,IACxB;AAAA,EACF;AAEA,SAAO;AACT;AAEO,IAAM,2BAAN,cAGG,gBAAqE;AAAA,EAC7E;AAAA,EAEA,YACE,KACA,UACA,iBACA;AACA,UAAM,UAAU,eAAe;AAC/B,SAAK,MAAM;AACX,SAAK,IAAI,GAAG,cAAc,KAAK,iBAAiB;AAAA,EAClD;AAAA,EAEA,oBAAoB,CAAC,IAAY,QAAyB;AACxD,UAAM,OAAO,IAAI,oBAAoB,IAAI;AAAA,MACvC,SAAS,aAAa,IAAI,eAAe;AAAA,IAC3C,CAAC;AAED,SAAK,iBAAiB,IAAI;AAAA,EAC5B;AAAA,EAEA,QAAQ;AACN,UAAM,MAAM;AACZ,SAAK,IAAI,IAAI,cAAc,KAAK,iBAAiB;AAAA,EACnD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../transport/impls/ws/server.ts"],"sourcesContent":["import { TransportClientId } from '../../message';\nimport { WebSocketServer } from 'ws';\nimport { WebSocketConnection } from './connection';\nimport { WsLike } from './wslike';\nimport { ServerTransport } from '../../server';\nimport { ProvidedServerTransportOptions } from '../../options';\nimport { type IncomingMessage } from 'http';\nimport { TSchema } from '@sinclair/typebox';\n\nfunction cleanHeaders(\n headers: IncomingMessage['headers'],\n): Record<string, string> {\n const cleanedHeaders: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(headers)) {\n if (!key.startsWith('sec-') && value) {\n const cleanedValue = Array.isArray(value) ? value[0] : value;\n cleanedHeaders[key] = cleanedValue;\n }\n }\n\n return cleanedHeaders;\n}\n\nexport class WebSocketServerTransport<\n MetadataSchema extends TSchema = TSchema,\n ParsedMetadata extends object = object,\n> extends ServerTransport<WebSocketConnection, MetadataSchema, ParsedMetadata> {\n wss: WebSocketServer;\n\n constructor(\n wss: WebSocketServer,\n clientId: TransportClientId,\n providedOptions?: ProvidedServerTransportOptions,\n ) {\n super(clientId, providedOptions);\n this.wss = wss;\n this.wss.on('connection', this.connectionHandler);\n }\n\n connectionHandler = (ws: WsLike, req: IncomingMessage) => {\n const conn = new WebSocketConnection(ws, {\n headers: cleanHeaders(req.headersDistinct),\n });\n\n this.handleConnection(conn);\n };\n\n close() {\n super.close();\n this.wss.off('connection', this.connectionHandler);\n }\n}\n"],"mappings":";;;;;;;;AASA,SAAS,aACP,SACwB;AACxB,QAAM,iBAAyC,CAAC;AAEhD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,IAAI,WAAW,MAAM,KAAK,OAAO;AACpC,YAAM,eAAe,MAAM,QAAQ,KAAK,IAAI,MAAM,CAAC,IAAI;AACvD,qBAAe,GAAG,IAAI;AAAA,IACxB;AAAA,EACF;AAEA,SAAO;AACT;AAEO,IAAM,2BAAN,cAGG,gBAAqE;AAAA,EAC7E;AAAA,EAEA,YACE,KACA,UACA,iBACA;AACA,UAAM,UAAU,eAAe;AAC/B,SAAK,MAAM;AACX,SAAK,IAAI,GAAG,cAAc,KAAK,iBAAiB;AAAA,EAClD;AAAA,EAEA,oBAAoB,CAAC,IAAY,QAAyB;AACxD,UAAM,OAAO,IAAI,oBAAoB,IAAI;AAAA,MACvC,SAAS,aAAa,IAAI,eAAe;AAAA,IAC3C,CAAC;AAED,SAAK,iBAAiB,IAAI;AAAA,EAC5B;AAAA,EAEA,QAAQ;AACN,UAAM,MAAM;AACZ,SAAK,IAAI,IAAI,cAAc,KAAK,iBAAiB;AAAA,EACnD;AACF;","names":[]}
@@ -27,7 +27,9 @@ __export(transport_exports, {
27
27
  ServerTransport: () => ServerTransport,
28
28
  SessionState: () => SessionState,
29
29
  Transport: () => Transport,
30
- TransportMessageSchema: () => TransportMessageSchema
30
+ TransportMessageSchema: () => TransportMessageSchema,
31
+ WebSocketCloseError: () => WebSocketCloseError,
32
+ WebSocketConnection: () => WebSocketConnection
31
33
  });
32
34
  module.exports = __toCommonJS(transport_exports);
33
35
 
@@ -197,7 +199,8 @@ var defaultConnectionRetryOptions = {
197
199
  maxJitterMs: 200,
198
200
  maxBackoffMs: 32e3,
199
201
  attemptBudgetCapacity: 5,
200
- budgetRestoreIntervalMs: 200
202
+ budgetRestoreIntervalMs: 200,
203
+ isFatalConnectionError: () => false
201
204
  };
202
205
  var defaultClientTransportOptions = {
203
206
  ...defaultTransportOptions,
@@ -640,7 +643,7 @@ function coerceErrorString(err) {
640
643
  }
641
644
 
642
645
  // package.json
643
- var version = "0.209.3";
646
+ var version = "0.209.5";
644
647
 
645
648
  // tracing/index.ts
646
649
  function getPropagationContext(ctx) {
@@ -1817,10 +1820,18 @@ var ClientTransport = class extends Transport {
1817
1820
  const connectedSession = ClientSessionStateGraph.transition.HandshakingToConnected(session, {
1818
1821
  onConnectionErrored: (err) => {
1819
1822
  const errStr = coerceErrorString(err);
1820
- this.log?.warn(
1821
- `connection to ${connectedSession.to} errored: ${errStr}`,
1822
- connectedSession.loggingMetadata
1823
- );
1823
+ if (err instanceof Error && this.options.isFatalConnectionError(err)) {
1824
+ this.log?.warn(
1825
+ `connection to ${connectedSession.to} fatally errored: ${errStr}`,
1826
+ connectedSession.loggingMetadata
1827
+ );
1828
+ this.reconnectOnConnectionDrop = false;
1829
+ } else {
1830
+ this.log?.warn(
1831
+ `connection to ${connectedSession.to} errored: ${errStr}`,
1832
+ connectedSession.loggingMetadata
1833
+ );
1834
+ }
1824
1835
  },
1825
1836
  onConnectionClosed: () => {
1826
1837
  this.log?.info(
@@ -2484,6 +2495,60 @@ var Connection = class {
2484
2495
  this.errorListener = void 0;
2485
2496
  }
2486
2497
  };
2498
+
2499
+ // transport/impls/ws/connection.ts
2500
+ var WS_HEALTHY_CLOSE_CODE = 1e3;
2501
+ var WebSocketCloseError = class extends Error {
2502
+ code;
2503
+ reason;
2504
+ constructor(code, reason) {
2505
+ super(`websocket closed with code and reason: ${code} - ${reason}`);
2506
+ this.code = code;
2507
+ this.reason = reason;
2508
+ }
2509
+ };
2510
+ var WebSocketConnection = class extends Connection {
2511
+ ws;
2512
+ extras;
2513
+ get loggingMetadata() {
2514
+ const metadata = super.loggingMetadata;
2515
+ if (this.extras) {
2516
+ metadata.extras = this.extras;
2517
+ }
2518
+ return metadata;
2519
+ }
2520
+ constructor(ws, extras) {
2521
+ super();
2522
+ this.ws = ws;
2523
+ this.extras = extras;
2524
+ this.ws.binaryType = "arraybuffer";
2525
+ let didError = false;
2526
+ this.ws.onerror = () => {
2527
+ didError = true;
2528
+ };
2529
+ this.ws.onclose = ({ code, reason }) => {
2530
+ if (didError) {
2531
+ const err = new WebSocketCloseError(code, reason);
2532
+ this.onError(err);
2533
+ }
2534
+ this.onClose();
2535
+ };
2536
+ this.ws.onmessage = (msg) => {
2537
+ this.onData(msg.data);
2538
+ };
2539
+ }
2540
+ send(payload) {
2541
+ try {
2542
+ this.ws.send(payload);
2543
+ return true;
2544
+ } catch {
2545
+ return false;
2546
+ }
2547
+ }
2548
+ close() {
2549
+ this.ws.close(WS_HEALTHY_CLOSE_CODE);
2550
+ }
2551
+ };
2487
2552
  // Annotate the CommonJS export names for ESM import in node:
2488
2553
  0 && (module.exports = {
2489
2554
  ClientTransport,
@@ -2493,6 +2558,8 @@ var Connection = class {
2493
2558
  ServerTransport,
2494
2559
  SessionState,
2495
2560
  Transport,
2496
- TransportMessageSchema
2561
+ TransportMessageSchema,
2562
+ WebSocketCloseError,
2563
+ WebSocketConnection
2497
2564
  });
2498
2565
  //# sourceMappingURL=index.cjs.map