@replit/river 0.200.3 → 0.200.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 (53) hide show
  1. package/dist/{chunk-HYPTZTEZ.js → chunk-3FMY7VTM.js} +2 -2
  2. package/dist/{chunk-QHMZKXXG.js → chunk-64J442AK.js} +2 -2
  3. package/dist/{chunk-QHMZKXXG.js.map → chunk-64J442AK.js.map} +1 -1
  4. package/dist/{chunk-HFW27CAC.js → chunk-7Z5MSOKL.js} +4 -4
  5. package/dist/{chunk-YTMS7OP6.js → chunk-LHH5LQ7C.js} +1 -1
  6. package/dist/chunk-LHH5LQ7C.js.map +1 -0
  7. package/dist/{chunk-O2VICK2U.js → chunk-MSJGPQRT.js} +4 -4
  8. package/dist/{chunk-YOC4BXQ5.js → chunk-WN7GEBMX.js} +4 -4
  9. package/dist/{chunk-FX5DKRIK.js → chunk-Z7Q5CDXD.js} +2 -2
  10. package/dist/chunk-Z7Q5CDXD.js.map +1 -0
  11. package/dist/{client-9292552a.d.ts → client-ba6815ae.d.ts} +2 -2
  12. package/dist/{connection-94dea547.d.ts → connection-d217c989.d.ts} +4 -4
  13. package/dist/{context-69f37ac1.d.ts → context-8d1ed9a1.d.ts} +3 -3
  14. package/dist/logging/index.cjs.map +1 -1
  15. package/dist/logging/index.d.cts +1 -1
  16. package/dist/logging/index.d.ts +1 -1
  17. package/dist/logging/index.js +1 -1
  18. package/dist/{message-57bb8187.d.ts → message-45658364.d.ts} +2 -2
  19. package/dist/router/index.cjs +10 -9
  20. package/dist/router/index.cjs.map +1 -1
  21. package/dist/router/index.d.cts +8 -8
  22. package/dist/router/index.d.ts +8 -8
  23. package/dist/router/index.js +10 -9
  24. package/dist/router/index.js.map +1 -1
  25. package/dist/{server-8fdd7fb2.d.ts → server-eb7d2cfd.d.ts} +3 -3
  26. package/dist/{services-c8fe49bf.d.ts → services-94e0afc3.d.ts} +3 -3
  27. package/dist/transport/impls/ws/client.cjs +1 -1
  28. package/dist/transport/impls/ws/client.cjs.map +1 -1
  29. package/dist/transport/impls/ws/client.d.cts +4 -4
  30. package/dist/transport/impls/ws/client.d.ts +4 -4
  31. package/dist/transport/impls/ws/client.js +6 -6
  32. package/dist/transport/impls/ws/server.cjs +1 -1
  33. package/dist/transport/impls/ws/server.cjs.map +1 -1
  34. package/dist/transport/impls/ws/server.d.cts +4 -4
  35. package/dist/transport/impls/ws/server.d.ts +4 -4
  36. package/dist/transport/impls/ws/server.js +6 -6
  37. package/dist/transport/index.cjs +1 -1
  38. package/dist/transport/index.cjs.map +1 -1
  39. package/dist/transport/index.d.cts +4 -4
  40. package/dist/transport/index.d.ts +4 -4
  41. package/dist/transport/index.js +6 -6
  42. package/dist/util/testHelpers.cjs +1 -1
  43. package/dist/util/testHelpers.cjs.map +1 -1
  44. package/dist/util/testHelpers.d.cts +5 -5
  45. package/dist/util/testHelpers.d.ts +5 -5
  46. package/dist/util/testHelpers.js +2 -2
  47. package/package.json +1 -1
  48. package/dist/chunk-FX5DKRIK.js.map +0 -1
  49. package/dist/chunk-YTMS7OP6.js.map +0 -1
  50. /package/dist/{chunk-HYPTZTEZ.js.map → chunk-3FMY7VTM.js.map} +0 -0
  51. /package/dist/{chunk-HFW27CAC.js.map → chunk-7Z5MSOKL.js.map} +0 -0
  52. /package/dist/{chunk-O2VICK2U.js.map → chunk-MSJGPQRT.js.map} +0 -0
  53. /package/dist/{chunk-YOC4BXQ5.js.map → chunk-WN7GEBMX.js.map} +0 -0
@@ -1,11 +1,11 @@
1
- import { T as Transport, C as Connection, m as SessionOptions, n as ClientTransportOptions, e as SessionNoConnection, o as SessionBoundSendFn, p as ServiceContext, S as Session } from '../context-69f37ac1.js';
2
- import { C as ClientTransport } from '../client-9292552a.js';
3
- import { S as ServerTransport } from '../server-8fdd7fb2.js';
4
- import { P as PartialTransportMessage, b as OpaqueTransportMessage } from '../message-57bb8187.js';
1
+ import { T as Transport, C as Connection, m as SessionOptions, n as ClientTransportOptions, e as SessionNoConnection, o as SessionBoundSendFn, p as ServiceContext, S as Session } from '../context-8d1ed9a1.js';
2
+ import { C as ClientTransport } from '../client-ba6815ae.js';
3
+ import { S as ServerTransport } from '../server-eb7d2cfd.js';
4
+ import { P as PartialTransportMessage, b as OpaqueTransportMessage } from '../message-45658364.js';
5
5
  import { Static } from '@sinclair/typebox';
6
6
  import NodeWs from 'ws';
7
7
  import http from 'node:http';
8
- import { B as BaseErrorSchemaType, R as Readable, a as ReadableIterator, b as ReadableResult, P as PayloadType, c as ProcedureErrorSchemaType, d as Procedure, e as Result, f as ReaderErrorSchema, W as Writable } from '../services-c8fe49bf.js';
8
+ import { B as BaseErrorSchemaType, R as Readable, a as ReadableIterator, b as ReadableResult, P as PayloadType, c as ProcedureErrorSchemaType, d as Procedure, e as Result, f as ReaderErrorSchema, W as Writable } from '../services-94e0afc3.js';
9
9
  import { W as WsLike } from '../wslike-e0b32dd5.js';
10
10
  import '@sinclair/typebox/errors';
11
11
  import '../types-3e5768ec.js';
@@ -1,11 +1,11 @@
1
- import { T as Transport, C as Connection, m as SessionOptions, n as ClientTransportOptions, e as SessionNoConnection, o as SessionBoundSendFn, p as ServiceContext, S as Session } from '../context-69f37ac1.js';
2
- import { C as ClientTransport } from '../client-9292552a.js';
3
- import { S as ServerTransport } from '../server-8fdd7fb2.js';
4
- import { P as PartialTransportMessage, b as OpaqueTransportMessage } from '../message-57bb8187.js';
1
+ import { T as Transport, C as Connection, m as SessionOptions, n as ClientTransportOptions, e as SessionNoConnection, o as SessionBoundSendFn, p as ServiceContext, S as Session } from '../context-8d1ed9a1.js';
2
+ import { C as ClientTransport } from '../client-ba6815ae.js';
3
+ import { S as ServerTransport } from '../server-eb7d2cfd.js';
4
+ import { P as PartialTransportMessage, b as OpaqueTransportMessage } from '../message-45658364.js';
5
5
  import { Static } from '@sinclair/typebox';
6
6
  import NodeWs from 'ws';
7
7
  import http from 'node:http';
8
- import { B as BaseErrorSchemaType, R as Readable, a as ReadableIterator, b as ReadableResult, P as PayloadType, c as ProcedureErrorSchemaType, d as Procedure, e as Result, f as ReaderErrorSchema, W as Writable } from '../services-c8fe49bf.js';
8
+ import { B as BaseErrorSchemaType, R as Readable, a as ReadableIterator, b as ReadableResult, P as PayloadType, c as ProcedureErrorSchemaType, d as Procedure, e as Result, f as ReaderErrorSchema, W as Writable } from '../services-94e0afc3.js';
9
9
  import { W as WsLike } from '../wslike-e0b32dd5.js';
10
10
  import '@sinclair/typebox/errors';
11
11
  import '../types-3e5768ec.js';
@@ -9,11 +9,11 @@ import {
9
9
  SessionStateGraph,
10
10
  defaultClientTransportOptions,
11
11
  defaultTransportOptions
12
- } from "../chunk-HYPTZTEZ.js";
12
+ } from "../chunk-3FMY7VTM.js";
13
13
  import {
14
14
  coerceErrorString,
15
15
  currentProtocolVersion
16
- } from "../chunk-QHMZKXXG.js";
16
+ } from "../chunk-64J442AK.js";
17
17
  import "../chunk-AJGIY2UB.js";
18
18
 
19
19
  // util/testHelpers.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@replit/river",
3
3
  "description": "It's like tRPC but... with JSON Schema Support, duplex streaming and support for service multiplexing. Transport agnostic!",
4
- "version": "0.200.3",
4
+ "version": "0.200.5",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../transport/impls/ws/connection.ts"],"sourcesContent":["import { Connection } from '../../connection';\nimport { WsLike } from './wslike';\n\ninterface ConnectionInfoExtras {\n headers: Record<string, string>;\n}\n\nconst WS_HEALTHY_CLOSE_CODE = 1000;\n\nexport class WebSocketConnection extends Connection {\n ws: WsLike;\n extras?: ConnectionInfoExtras;\n\n get loggingMetadata() {\n const metadata = super.loggingMetadata;\n if (this.extras) {\n metadata.extras = this.extras;\n }\n\n return metadata;\n }\n\n constructor(ws: WsLike, extras?: ConnectionInfoExtras) {\n super();\n this.ws = ws;\n this.extras = extras;\n this.ws.binaryType = 'arraybuffer';\n\n // Websockets are kinda shitty, they emit error events with no\n // information other than it errored, so we have to do some extra\n // work to figure out what happened.\n let didError = false;\n this.ws.onerror = () => {\n didError = true;\n };\n\n this.ws.onclose = ({ code, reason }) => {\n if (didError) {\n const err = new Error(\n `websocket closed with code and reason: ${code} - ${reason}`,\n );\n\n for (const cb of this.errorListeners) {\n cb(err);\n }\n }\n\n for (const cb of this.closeListeners) {\n cb();\n }\n };\n\n this.ws.onmessage = (msg) => {\n for (const cb of this.dataListeners) {\n cb(msg.data as Uint8Array);\n }\n };\n }\n\n send(payload: Uint8Array) {\n if (this.ws.readyState !== this.ws.OPEN) {\n return false;\n }\n\n this.ws.send(payload);\n\n return true;\n }\n\n close() {\n // we close with 1000 normal even if its not really healthy at the river level\n // if we don't specify this, it defaults to 1005 which\n // some proxies/loggers detect as an error\n this.ws.close(WS_HEALTHY_CLOSE_CODE);\n }\n}\n"],"mappings":";;;;;AAOA,IAAM,wBAAwB;AAEvB,IAAM,sBAAN,cAAkC,WAAW;AAAA,EAClD;AAAA,EACA;AAAA,EAEA,IAAI,kBAAkB;AACpB,UAAM,WAAW,MAAM;AACvB,QAAI,KAAK,QAAQ;AACf,eAAS,SAAS,KAAK;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,IAAY,QAA+B;AACrD,UAAM;AACN,SAAK,KAAK;AACV,SAAK,SAAS;AACd,SAAK,GAAG,aAAa;AAKrB,QAAI,WAAW;AACf,SAAK,GAAG,UAAU,MAAM;AACtB,iBAAW;AAAA,IACb;AAEA,SAAK,GAAG,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM;AACtC,UAAI,UAAU;AACZ,cAAM,MAAM,IAAI;AAAA,UACd,0CAA0C,IAAI,MAAM,MAAM;AAAA,QAC5D;AAEA,mBAAW,MAAM,KAAK,gBAAgB;AACpC,aAAG,GAAG;AAAA,QACR;AAAA,MACF;AAEA,iBAAW,MAAM,KAAK,gBAAgB;AACpC,WAAG;AAAA,MACL;AAAA,IACF;AAEA,SAAK,GAAG,YAAY,CAAC,QAAQ;AAC3B,iBAAW,MAAM,KAAK,eAAe;AACnC,WAAG,IAAI,IAAkB;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,SAAqB;AACxB,QAAI,KAAK,GAAG,eAAe,KAAK,GAAG,MAAM;AACvC,aAAO;AAAA,IACT;AAEA,SAAK,GAAG,KAAK,OAAO;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AAIN,SAAK,GAAG,MAAM,qBAAqB;AAAA,EACrC;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../logging/log.ts"],"sourcesContent":["import { ValueError } from '@sinclair/typebox/value';\nimport { OpaqueTransportMessage, ProtocolVersion } from '../transport/message';\n\nconst LoggingLevels = {\n debug: -1,\n info: 0,\n warn: 1,\n error: 2,\n} as const;\nexport type LoggingLevel = keyof typeof LoggingLevels;\n\nexport type LogFn = (\n msg: string,\n ctx?: MessageMetadata,\n level?: LoggingLevel,\n) => void;\nexport type Logger = {\n [key in LoggingLevel]: (msg: string, metadata?: MessageMetadata) => void;\n};\n\nexport type Tags =\n | 'invariant-violation'\n | 'state-transition'\n | 'invalid-request'\n | 'unhealthy-session';\n\nconst cleanedLogFn = (log: LogFn) => {\n return (msg: string, metadata?: MessageMetadata) => {\n // skip cloning object if metadata has no transportMessage\n if (!metadata?.transportMessage) {\n log(msg, metadata);\n\n return;\n }\n\n // clone metadata and clean transportMessage\n const { payload, ...rest } = metadata.transportMessage;\n metadata.transportMessage = rest;\n log(msg, metadata);\n };\n};\n\nexport type MessageMetadata = Partial<{\n protocolVersion: ProtocolVersion;\n clientId: string;\n connectedTo: string;\n sessionId: string;\n connId: string;\n transportMessage: Partial<OpaqueTransportMessage>;\n validationErrors: Array<ValueError>;\n tags: Array<Tags>;\n telemetry: {\n traceId: string;\n spanId: string;\n };\n extras: unknown;\n}>;\n\nexport class BaseLogger implements Logger {\n minLevel: LoggingLevel;\n private output: LogFn;\n\n constructor(output: LogFn, minLevel: LoggingLevel = 'info') {\n this.minLevel = minLevel;\n this.output = output;\n }\n\n debug(msg: string, metadata?: MessageMetadata) {\n if (LoggingLevels[this.minLevel] <= LoggingLevels.debug) {\n this.output(msg, metadata ?? {}, 'debug');\n }\n }\n\n info(msg: string, metadata?: MessageMetadata) {\n if (LoggingLevels[this.minLevel] <= LoggingLevels.info) {\n this.output(msg, metadata ?? {}, 'info');\n }\n }\n\n warn(msg: string, metadata?: MessageMetadata) {\n if (LoggingLevels[this.minLevel] <= LoggingLevels.warn) {\n this.output(msg, metadata ?? {}, 'warn');\n }\n }\n\n error(msg: string, metadata?: MessageMetadata) {\n if (LoggingLevels[this.minLevel] <= LoggingLevels.error) {\n this.output(msg, metadata ?? {}, 'error');\n }\n }\n}\n\nexport const stringLogger: LogFn = (msg, ctx, level = 'info') => {\n const from = ctx?.clientId ? `${ctx.clientId} -- ` : '';\n console.log(`[river:${level}] ${from}${msg}`);\n};\n\nconst colorMap = {\n debug: '\\u001b[34m',\n info: '\\u001b[32m',\n warn: '\\u001b[33m',\n error: '\\u001b[31m',\n};\n\nexport const coloredStringLogger: LogFn = (msg, ctx, level = 'info') => {\n const color = colorMap[level];\n const from = ctx?.clientId ? `${ctx.clientId} -- ` : '';\n console.log(`[river:${color}${level}\\u001b[0m] ${from}${msg}`);\n};\n\nexport const jsonLogger: LogFn = (msg, ctx, level) => {\n console.log(JSON.stringify({ msg, ctx, level }));\n};\n\nexport const createLogProxy = (log: Logger) => ({\n debug: cleanedLogFn(log.debug.bind(log)),\n info: cleanedLogFn(log.info.bind(log)),\n warn: cleanedLogFn(log.warn.bind(log)),\n error: cleanedLogFn(log.error.bind(log)),\n});\n"],"mappings":";AAGA,IAAM,gBAAgB;AAAA,EACpB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;AAkBA,IAAM,eAAe,CAAC,QAAe;AACnC,SAAO,CAAC,KAAa,aAA+B;AAElD,QAAI,CAAC,UAAU,kBAAkB;AAC/B,UAAI,KAAK,QAAQ;AAEjB;AAAA,IACF;AAGA,UAAM,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS;AACtC,aAAS,mBAAmB;AAC5B,QAAI,KAAK,QAAQ;AAAA,EACnB;AACF;AAkBO,IAAM,aAAN,MAAmC;AAAA,EACxC;AAAA,EACQ;AAAA,EAER,YAAY,QAAe,WAAyB,QAAQ;AAC1D,SAAK,WAAW;AAChB,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAa,UAA4B;AAC7C,QAAI,cAAc,KAAK,QAAQ,KAAK,cAAc,OAAO;AACvD,WAAK,OAAO,KAAK,YAAY,CAAC,GAAG,OAAO;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,KAAK,KAAa,UAA4B;AAC5C,QAAI,cAAc,KAAK,QAAQ,KAAK,cAAc,MAAM;AACtD,WAAK,OAAO,KAAK,YAAY,CAAC,GAAG,MAAM;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,KAAK,KAAa,UAA4B;AAC5C,QAAI,cAAc,KAAK,QAAQ,KAAK,cAAc,MAAM;AACtD,WAAK,OAAO,KAAK,YAAY,CAAC,GAAG,MAAM;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,KAAa,UAA4B;AAC7C,QAAI,cAAc,KAAK,QAAQ,KAAK,cAAc,OAAO;AACvD,WAAK,OAAO,KAAK,YAAY,CAAC,GAAG,OAAO;AAAA,IAC1C;AAAA,EACF;AACF;AAEO,IAAM,eAAsB,CAAC,KAAK,KAAK,QAAQ,WAAW;AAC/D,QAAM,OAAO,KAAK,WAAW,GAAG,IAAI,QAAQ,SAAS;AACrD,UAAQ,IAAI,UAAU,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE;AAC9C;AAEA,IAAM,WAAW;AAAA,EACf,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;AAEO,IAAM,sBAA6B,CAAC,KAAK,KAAK,QAAQ,WAAW;AACtE,QAAM,QAAQ,SAAS,KAAK;AAC5B,QAAM,OAAO,KAAK,WAAW,GAAG,IAAI,QAAQ,SAAS;AACrD,UAAQ,IAAI,UAAU,KAAK,GAAG,KAAK,YAAc,IAAI,GAAG,GAAG,EAAE;AAC/D;AAEO,IAAM,aAAoB,CAAC,KAAK,KAAK,UAAU;AACpD,UAAQ,IAAI,KAAK,UAAU,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;AACjD;AAEO,IAAM,iBAAiB,CAAC,SAAiB;AAAA,EAC9C,OAAO,aAAa,IAAI,MAAM,KAAK,GAAG,CAAC;AAAA,EACvC,MAAM,aAAa,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACrC,MAAM,aAAa,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACrC,OAAO,aAAa,IAAI,MAAM,KAAK,GAAG,CAAC;AACzC;","names":[]}