@replit/river 0.22.0 → 0.23.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.
Files changed (57) hide show
  1. package/dist/{chunk-ZPBWKBM5.js → chunk-AUH7GO52.js} +84 -88
  2. package/dist/chunk-AUH7GO52.js.map +1 -0
  3. package/dist/{chunk-GCLEWC26.js → chunk-IKKP6BZG.js} +34 -18
  4. package/dist/chunk-IKKP6BZG.js.map +1 -0
  5. package/dist/{chunk-S3YKQT4J.js → chunk-KA5T736W.js} +2 -2
  6. package/dist/{chunk-3MFX6NXA.js → chunk-RBH47IKH.js} +2 -2
  7. package/dist/chunk-RBH47IKH.js.map +1 -0
  8. package/dist/{chunk-HUBFYN37.js → chunk-XTVPDTQD.js} +2 -2
  9. package/dist/{connection-8b059ac4.d.ts → connection-5685d817.d.ts} +1 -1
  10. package/dist/{connection-bbfe1147.d.ts → connection-7582fb92.d.ts} +1 -1
  11. package/dist/{index-2ece5234.d.ts → index-a6fe0edd.d.ts} +40 -53
  12. package/dist/logging/index.d.cts +1 -1
  13. package/dist/logging/index.d.ts +1 -1
  14. package/dist/router/index.cjs +33 -17
  15. package/dist/router/index.cjs.map +1 -1
  16. package/dist/router/index.d.cts +11 -6
  17. package/dist/router/index.d.ts +11 -6
  18. package/dist/router/index.js +2 -2
  19. package/dist/{services-cb01a7a8.d.ts → services-95cb17b9.d.ts} +23 -52
  20. package/dist/{services-acbcc441.d.ts → services-e95a89d6.d.ts} +23 -52
  21. package/dist/transport/impls/uds/client.cjs +14 -13
  22. package/dist/transport/impls/uds/client.cjs.map +1 -1
  23. package/dist/transport/impls/uds/client.d.cts +2 -2
  24. package/dist/transport/impls/uds/client.d.ts +2 -2
  25. package/dist/transport/impls/uds/client.js +3 -3
  26. package/dist/transport/impls/uds/server.cjs +71 -82
  27. package/dist/transport/impls/uds/server.cjs.map +1 -1
  28. package/dist/transport/impls/uds/server.d.cts +2 -2
  29. package/dist/transport/impls/uds/server.d.ts +2 -2
  30. package/dist/transport/impls/uds/server.js +3 -3
  31. package/dist/transport/impls/ws/client.cjs +14 -13
  32. package/dist/transport/impls/ws/client.cjs.map +1 -1
  33. package/dist/transport/impls/ws/client.d.cts +2 -2
  34. package/dist/transport/impls/ws/client.d.ts +2 -2
  35. package/dist/transport/impls/ws/client.js +3 -3
  36. package/dist/transport/impls/ws/server.cjs +71 -82
  37. package/dist/transport/impls/ws/server.cjs.map +1 -1
  38. package/dist/transport/impls/ws/server.d.cts +2 -2
  39. package/dist/transport/impls/ws/server.d.ts +2 -2
  40. package/dist/transport/impls/ws/server.js +3 -3
  41. package/dist/transport/index.cjs +83 -87
  42. package/dist/transport/index.cjs.map +1 -1
  43. package/dist/transport/index.d.cts +22 -11
  44. package/dist/transport/index.d.ts +22 -11
  45. package/dist/transport/index.js +2 -2
  46. package/dist/util/testHelpers.cjs +4 -9
  47. package/dist/util/testHelpers.cjs.map +1 -1
  48. package/dist/util/testHelpers.d.cts +2 -2
  49. package/dist/util/testHelpers.d.ts +2 -2
  50. package/dist/util/testHelpers.js +5 -4
  51. package/dist/util/testHelpers.js.map +1 -1
  52. package/package.json +4 -4
  53. package/dist/chunk-3MFX6NXA.js.map +0 -1
  54. package/dist/chunk-GCLEWC26.js.map +0 -1
  55. package/dist/chunk-ZPBWKBM5.js.map +0 -1
  56. /package/dist/{chunk-S3YKQT4J.js.map → chunk-KA5T736W.js.map} +0 -0
  57. /package/dist/{chunk-HUBFYN37.js.map → chunk-XTVPDTQD.js.map} +0 -0
@@ -35,14 +35,18 @@ module.exports = __toCommonJS(router_exports);
35
35
 
36
36
  // router/services.ts
37
37
  var import_typebox = require("@sinclair/typebox");
38
- function serializeSchema(services) {
39
- return Object.entries(services).reduce(
40
- (acc, [name, value]) => {
41
- acc[name] = value.serialize();
42
- return acc;
43
- },
44
- {}
45
- );
38
+ function serializeSchema(services, handshakeSchema) {
39
+ const serializedServiceObject = Object.entries(services).reduce((acc, [name, value]) => {
40
+ acc[name] = value.serialize();
41
+ return acc;
42
+ }, {});
43
+ const schema = {
44
+ services: serializedServiceObject
45
+ };
46
+ if (handshakeSchema) {
47
+ schema.handshakeSchema = import_typebox.Type.Strict(handshakeSchema);
48
+ }
49
+ return schema;
46
50
  }
47
51
  var ServiceSchema = class _ServiceSchema {
48
52
  /**
@@ -706,7 +710,7 @@ var log = void 0;
706
710
  var import_api = require("@opentelemetry/api");
707
711
 
708
712
  // package.json
709
- var version = "0.22.0";
713
+ var version = "0.23.1";
710
714
 
711
715
  // tracing/index.ts
712
716
  function getPropagationContext(ctx) {
@@ -782,7 +786,10 @@ var defaultClientOptions = {
782
786
  connectOnInvoke: true,
783
787
  eagerlyConnect: true
784
788
  };
785
- var createClient = (transport, serverId, providedClientOptions = {}) => {
789
+ function createClient(transport, serverId, providedClientOptions = {}) {
790
+ if (providedClientOptions.handshakeOptions) {
791
+ transport.extendHandshake(providedClientOptions.handshakeOptions);
792
+ }
786
793
  const options = { ...defaultClientOptions, ...providedClientOptions };
787
794
  if (options.eagerlyConnect) {
788
795
  void transport.connect(serverId);
@@ -818,7 +825,7 @@ var createClient = (transport, serverId, providedClientOptions = {}) => {
818
825
  throw new Error(`invalid river call, unknown procedure type ${procType}`);
819
826
  }
820
827
  }, []);
821
- };
828
+ }
822
829
  function createSessionDisconnectHandler(from, cb) {
823
830
  return (evt) => {
824
831
  if (evt.status === "disconnect" && evt.session.to === from) {
@@ -1097,7 +1104,7 @@ var RiverServer = class {
1097
1104
  // map of client to their open streams by streamId
1098
1105
  clientStreams;
1099
1106
  disconnectedSessions;
1100
- constructor(transport, services, extendedContext) {
1107
+ constructor(transport, services, handshakeOptions, extendedContext) {
1101
1108
  const instances = {};
1102
1109
  this.services = instances;
1103
1110
  this.contextMap = /* @__PURE__ */ new Map();
@@ -1109,6 +1116,9 @@ var RiverServer = class {
1109
1116
  state: instance.state
1110
1117
  });
1111
1118
  }
1119
+ if (handshakeOptions) {
1120
+ transport.extendHandshake(handshakeOptions);
1121
+ }
1112
1122
  this.transport = transport;
1113
1123
  this.disconnectedSessions = /* @__PURE__ */ new Set();
1114
1124
  this.streamMap = /* @__PURE__ */ new Map();
@@ -1265,7 +1275,8 @@ var RiverServer = class {
1265
1275
  })
1266
1276
  );
1267
1277
  };
1268
- if (session.metadata === void 0) {
1278
+ const sessionMeta = this.transport.sessionHandshakeMetadata.get(session);
1279
+ if (!sessionMeta) {
1269
1280
  log?.error(`session doesn't have handshake metadata`, {
1270
1281
  ...session.loggingMetadata,
1271
1282
  tags: ["invariant-violation"]
@@ -1279,8 +1290,8 @@ var RiverServer = class {
1279
1290
  to: message.to,
1280
1291
  from: message.from,
1281
1292
  streamId: message.streamId,
1282
- // we've already validated that the session has handshake metadata
1283
- session
1293
+ session,
1294
+ metadata: sessionMeta
1284
1295
  };
1285
1296
  switch (procedure.type) {
1286
1297
  case "rpc":
@@ -1500,8 +1511,13 @@ var RiverServer = class {
1500
1511
  this.streamMap.delete(id);
1501
1512
  };
1502
1513
  };
1503
- function createServer(transport, services, extendedContext) {
1504
- return new RiverServer(transport, services, extendedContext);
1514
+ function createServer(transport, services, providedServerOptions) {
1515
+ return new RiverServer(
1516
+ transport,
1517
+ services,
1518
+ providedServerOptions?.handshakeOptions,
1519
+ providedServerOptions?.extendedContext
1520
+ );
1505
1521
  }
1506
1522
  // Annotate the CommonJS export names for ESM import in node:
1507
1523
  0 && (module.exports = {