@source-repo/rpc 3.0.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.
Files changed (124) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1208 -0
  3. package/dist/Logging/ILogger.d.ts +7 -0
  4. package/dist/Logging/ILogger.d.ts.map +1 -0
  5. package/dist/Logging/ILogger.js +2 -0
  6. package/dist/Logging/ILogger.js.map +1 -0
  7. package/dist/NodeRpcServer.d.ts +55 -0
  8. package/dist/NodeRpcServer.d.ts.map +1 -0
  9. package/dist/NodeRpcServer.js +46 -0
  10. package/dist/NodeRpcServer.js.map +1 -0
  11. package/dist/RPC/Auth.d.ts +98 -0
  12. package/dist/RPC/Auth.d.ts.map +1 -0
  13. package/dist/RPC/Auth.js +14 -0
  14. package/dist/RPC/Auth.js.map +1 -0
  15. package/dist/RPC/Codec.d.ts +24 -0
  16. package/dist/RPC/Codec.d.ts.map +1 -0
  17. package/dist/RPC/Codec.js +21 -0
  18. package/dist/RPC/Codec.js.map +1 -0
  19. package/dist/RPC/Compatibility.d.ts +39 -0
  20. package/dist/RPC/Compatibility.d.ts.map +1 -0
  21. package/dist/RPC/Compatibility.js +195 -0
  22. package/dist/RPC/Compatibility.js.map +1 -0
  23. package/dist/RPC/Core.d.ts +188 -0
  24. package/dist/RPC/Core.d.ts.map +1 -0
  25. package/dist/RPC/Core.js +354 -0
  26. package/dist/RPC/Core.js.map +1 -0
  27. package/dist/RPC/Expose.d.ts +90 -0
  28. package/dist/RPC/Expose.d.ts.map +1 -0
  29. package/dist/RPC/Expose.js +110 -0
  30. package/dist/RPC/Expose.js.map +1 -0
  31. package/dist/RPC/Idempotency.d.ts +90 -0
  32. package/dist/RPC/Idempotency.d.ts.map +1 -0
  33. package/dist/RPC/Idempotency.js +46 -0
  34. package/dist/RPC/Idempotency.js.map +1 -0
  35. package/dist/RPC/Introspection.d.ts +92 -0
  36. package/dist/RPC/Introspection.d.ts.map +1 -0
  37. package/dist/RPC/Introspection.js +188 -0
  38. package/dist/RPC/Introspection.js.map +1 -0
  39. package/dist/RPC/Introspection.types.json +1093 -0
  40. package/dist/RPC/Messages.d.ts +108 -0
  41. package/dist/RPC/Messages.d.ts.map +1 -0
  42. package/dist/RPC/Messages.js +30 -0
  43. package/dist/RPC/Messages.js.map +1 -0
  44. package/dist/RPC/Rpc.d.ts +51 -0
  45. package/dist/RPC/Rpc.d.ts.map +1 -0
  46. package/dist/RPC/Rpc.js +54 -0
  47. package/dist/RPC/Rpc.js.map +1 -0
  48. package/dist/RPC/RpcClientHandler.d.ts +129 -0
  49. package/dist/RPC/RpcClientHandler.d.ts.map +1 -0
  50. package/dist/RPC/RpcClientHandler.js +267 -0
  51. package/dist/RPC/RpcClientHandler.js.map +1 -0
  52. package/dist/RPC/RpcServerHandler.d.ts +226 -0
  53. package/dist/RPC/RpcServerHandler.d.ts.map +1 -0
  54. package/dist/RPC/RpcServerHandler.js +676 -0
  55. package/dist/RPC/RpcServerHandler.js.map +1 -0
  56. package/dist/RPC/Schema.d.ts +150 -0
  57. package/dist/RPC/Schema.d.ts.map +1 -0
  58. package/dist/RPC/Schema.js +198 -0
  59. package/dist/RPC/Schema.js.map +1 -0
  60. package/dist/RPC/Signing.d.ts +118 -0
  61. package/dist/RPC/Signing.d.ts.map +1 -0
  62. package/dist/RPC/Signing.js +171 -0
  63. package/dist/RPC/Signing.js.map +1 -0
  64. package/dist/RPC/Tokens.d.ts +49 -0
  65. package/dist/RPC/Tokens.d.ts.map +1 -0
  66. package/dist/RPC/Tokens.js +45 -0
  67. package/dist/RPC/Tokens.js.map +1 -0
  68. package/dist/RpcClient.d.ts +91 -0
  69. package/dist/RpcClient.d.ts.map +1 -0
  70. package/dist/RpcClient.js +145 -0
  71. package/dist/RpcClient.js.map +1 -0
  72. package/dist/RpcServer.d.ts +191 -0
  73. package/dist/RpcServer.d.ts.map +1 -0
  74. package/dist/RpcServer.js +293 -0
  75. package/dist/RpcServer.js.map +1 -0
  76. package/dist/Transports/Mqtt5Frame.d.ts +107 -0
  77. package/dist/Transports/Mqtt5Frame.d.ts.map +1 -0
  78. package/dist/Transports/Mqtt5Frame.js +162 -0
  79. package/dist/Transports/Mqtt5Frame.js.map +1 -0
  80. package/dist/Transports/MqttTransport.d.ts +279 -0
  81. package/dist/Transports/MqttTransport.d.ts.map +1 -0
  82. package/dist/Transports/MqttTransport.js +843 -0
  83. package/dist/Transports/MqttTransport.js.map +1 -0
  84. package/dist/Transports/Presence.d.ts +68 -0
  85. package/dist/Transports/Presence.d.ts.map +1 -0
  86. package/dist/Transports/Presence.js +21 -0
  87. package/dist/Transports/Presence.js.map +1 -0
  88. package/dist/Transports/SocketIoClientTransport.d.ts +89 -0
  89. package/dist/Transports/SocketIoClientTransport.d.ts.map +1 -0
  90. package/dist/Transports/SocketIoClientTransport.js +280 -0
  91. package/dist/Transports/SocketIoClientTransport.js.map +1 -0
  92. package/dist/Transports/SocketIoServerTransport.d.ts +135 -0
  93. package/dist/Transports/SocketIoServerTransport.d.ts.map +1 -0
  94. package/dist/Transports/SocketIoServerTransport.js +505 -0
  95. package/dist/Transports/SocketIoServerTransport.js.map +1 -0
  96. package/dist/Utilities/Converters.d.ts +22 -0
  97. package/dist/Utilities/Converters.d.ts.map +1 -0
  98. package/dist/Utilities/Converters.js +58 -0
  99. package/dist/Utilities/Converters.js.map +1 -0
  100. package/dist/Utilities/Filter.d.ts +7 -0
  101. package/dist/Utilities/Filter.d.ts.map +1 -0
  102. package/dist/Utilities/Filter.js +14 -0
  103. package/dist/Utilities/Filter.js.map +1 -0
  104. package/dist/Utilities/ReadableName.d.ts +38 -0
  105. package/dist/Utilities/ReadableName.d.ts.map +1 -0
  106. package/dist/Utilities/ReadableName.js +58 -0
  107. package/dist/Utilities/ReadableName.js.map +1 -0
  108. package/dist/Utilities/Switch.d.ts +21 -0
  109. package/dist/Utilities/Switch.d.ts.map +1 -0
  110. package/dist/Utilities/Switch.js +70 -0
  111. package/dist/Utilities/Switch.js.map +1 -0
  112. package/dist/Utilities/TryCatch.d.ts +11 -0
  113. package/dist/Utilities/TryCatch.d.ts.map +1 -0
  114. package/dist/Utilities/TryCatch.js +13 -0
  115. package/dist/Utilities/TryCatch.js.map +1 -0
  116. package/dist/index-web.d.ts +25 -0
  117. package/dist/index-web.d.ts.map +1 -0
  118. package/dist/index-web.js +28 -0
  119. package/dist/index-web.js.map +1 -0
  120. package/dist/index.d.ts +28 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +30 -0
  123. package/dist/index.js.map +1 -0
  124. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocketIoServerTransport.js","sourceRoot":"","sources":["../../src/Transports/SocketIoServerTransport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { GenericModule, IGenericModule } from '../RPC/Core.js';
2
+ export declare class Converter<I = unknown, O = unknown> extends GenericModule<I, unknown, O, unknown> {
3
+ converter?: ((message: I) => O) | undefined;
4
+ constructor(sources?: IGenericModule<unknown, unknown, I, unknown>[], converter?: ((message: I) => O) | undefined);
5
+ receive(message: I, source: string, target: string): Promise<void>;
6
+ }
7
+ export declare class JsonStringifier<I extends object> extends Converter<I, string> {
8
+ constructor(sources?: GenericModule<unknown, unknown, I, unknown>[]);
9
+ }
10
+ export declare class JsonStringifierToUint8Array<I extends object> extends Converter<I, Uint8Array> {
11
+ constructor(sources?: GenericModule<unknown, unknown, I, unknown>[]);
12
+ }
13
+ export declare class JsonParser extends Converter<string, object> {
14
+ constructor(sources?: IGenericModule<unknown, unknown, string | Uint8Array, unknown>[]);
15
+ }
16
+ export declare class MsgPackEncoder<I extends object> extends Converter<I, Uint8Array> {
17
+ constructor(sources?: GenericModule<unknown, unknown, I, unknown>[]);
18
+ }
19
+ export declare class MsgPackDecoder extends Converter<string | Uint8Array, object> {
20
+ constructor(sources?: IGenericModule<unknown, unknown, string | Uint8Array>[]);
21
+ }
22
+ //# sourceMappingURL=Converters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Converters.d.ts","sourceRoot":"","sources":["../../src/Utilities/Converters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG9D,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC;IAG/E,SAAS,CAAC,GAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;IAFxC,YACI,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EACjD,SAAS,CAAC,GAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,aAAA,EAGvC;IACc,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAEhE;CACJ;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;IACvE,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EAElE;CACJ;AAED,qBAAa,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;IACvF,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EAElE;CACJ;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACrD,YAAY,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,EAOrF;CACJ;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;IAC1E,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EAKlE;CACJ;AAED,qBAAa,cAAe,SAAQ,SAAS,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;IACtE,YAAY,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,EAAE,EAQ5E;CACJ"}
@@ -0,0 +1,58 @@
1
+ import { stringToUint8Array, uint8ArrayToString } from 'uint8array-extras';
2
+ import { GenericModule } from '../RPC/Core.js';
3
+ import { encode as msgPackEncode, decode as msgPackDecode } from '@msgpack/msgpack';
4
+ export class Converter extends GenericModule {
5
+ converter;
6
+ constructor(sources, converter) {
7
+ super('', sources);
8
+ this.converter = converter;
9
+ }
10
+ async receive(message, source, target) {
11
+ if (this.converter)
12
+ await this.send(this.converter(message), source, target);
13
+ }
14
+ }
15
+ export class JsonStringifier extends Converter {
16
+ constructor(sources) {
17
+ super(sources, (msg) => JSON.stringify(msg));
18
+ }
19
+ }
20
+ export class JsonStringifierToUint8Array extends Converter {
21
+ constructor(sources) {
22
+ super(sources, (msg) => stringToUint8Array(JSON.stringify(msg)));
23
+ }
24
+ }
25
+ export class JsonParser extends Converter {
26
+ constructor(sources) {
27
+ super(sources, (msg) => {
28
+ let result;
29
+ if (typeof msg === 'string')
30
+ result = JSON.parse(msg);
31
+ else
32
+ result = JSON.parse(uint8ArrayToString(msg));
33
+ return result;
34
+ });
35
+ }
36
+ }
37
+ export class MsgPackEncoder extends Converter {
38
+ constructor(sources) {
39
+ // Encode straight from the message. Round-tripping through JSON first would turn every
40
+ // Uint8Array into a {"0":1,"1":2,...} map and defeat the point of using MsgPack at all.
41
+ // ignoreUndefined keeps the old JSON behaviour of dropping undefined object properties.
42
+ super(sources, (msg) => msgPackEncode(msg, { ignoreUndefined: true }));
43
+ }
44
+ }
45
+ export class MsgPackDecoder extends Converter {
46
+ constructor(sources) {
47
+ super(sources, (msg) => {
48
+ let result = {};
49
+ let received;
50
+ if (typeof msg === 'object')
51
+ received = msgPackDecode(msg);
52
+ if (typeof received === 'object')
53
+ result = received;
54
+ return result;
55
+ });
56
+ }
57
+ }
58
+ //# sourceMappingURL=Converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Converters.js","sourceRoot":"","sources":["../../src/Utilities/Converters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEnF,MAAM,OAAO,SAAoC,SAAQ,aAAqC;IAG/E,SAAS;IAFpB,YACI,OAAwD,EACjD,SAA6B;QAEpC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;yBAFX,SAAS;IAGpB,CAAC;IACQ,KAAK,CAAC,OAAO,CAAC,OAAU,EAAE,MAAc,EAAE,MAAc;QAC7D,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChF,CAAC;CACJ;AAED,MAAM,OAAO,eAAkC,SAAQ,SAAoB;IACvE,YAAY,OAAuD;QAC/D,KAAK,CAAC,OAAO,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ;AAED,MAAM,OAAO,2BAA8C,SAAQ,SAAwB;IACvF,YAAY,OAAuD;QAC/D,KAAK,CAAC,OAAO,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;CACJ;AAED,MAAM,OAAO,UAAW,SAAQ,SAAyB;IACrD,YAAY,OAA0E;QAClF,KAAK,CAAC,OAAO,EAAE,CAAC,GAAwB,EAAE,EAAE;YACxC,IAAI,MAAM,CAAA;YACV,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;;gBAChD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,OAAO,MAAM,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAED,MAAM,OAAO,cAAiC,SAAQ,SAAwB;IAC1E,YAAY,OAAuD;QAC/D,uFAAuF;QACvF,wFAAwF;QACxF,wFAAwF;QACxF,KAAK,CAAC,OAAO,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,SAAsC;IACtE,YAAY,OAAiE;QACzE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAwB,EAAE,EAAE;YACxC,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,QAAiB,CAAA;YACrB,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YAC1D,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,GAAG,QAAkB,CAAA;YAC7D,OAAO,MAAM,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { GenericModule, IGenericModule } from '../RPC/Core.js';
2
+ export declare class Filter<MsgType = unknown> extends GenericModule {
3
+ filter: (msg: MsgType) => boolean;
4
+ constructor(name: string, sources: IGenericModule[], filter: (msg: MsgType) => boolean);
5
+ receive(message: MsgType, source: string, target: string): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=Filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../src/Utilities/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9D,qBAAa,MAAM,CAAC,OAAO,GAAG,OAAO,CAAE,SAAQ,aAAa;IAI7C,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO;IAH5C,YACI,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EAAE,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,EAG3C;IAEc,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAItE;CACJ"}
@@ -0,0 +1,14 @@
1
+ import { GenericModule } from '../RPC/Core.js';
2
+ export class Filter extends GenericModule {
3
+ filter;
4
+ constructor(name, sources, filter) {
5
+ super(name, sources);
6
+ this.filter = filter;
7
+ }
8
+ async receive(message, source, target) {
9
+ if (this.filter(message)) {
10
+ return await this.send(message, source, target);
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=Filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../src/Utilities/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAA;AAE9D,MAAM,OAAO,MAA0B,SAAQ,aAAa;IAI7C,MAAM;IAHjB,YACI,IAAY,EACZ,OAAyB,EAClB,MAAiC;QAExC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;sBAFb,MAAM;IAGjB,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAc,EAAE,MAAc;QACnE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Names a peer can be read out over a radio.
3
+ *
4
+ * A peer name is not decoration: it is what a caller addresses, what presence lists, what a log
5
+ * line blames and, over MQTT, the broker's client id. A UUID satisfies none of that - two of them
6
+ * in a peer list are indistinguishable at a glance, and nobody types one correctly.
7
+ *
8
+ * The words come from the BIP-39 English list, which is the useful part of that specification here:
9
+ * 2048 words chosen to be unambiguous in their first four letters, with no pairs that sound alike.
10
+ * The rest of BIP-39 - 128 to 256 bits of entropy with a checksum - is for seed phrases and does
11
+ * not apply; three words is 2048^3, about 8.6 billion, which is ample for naming peers on a bus and
12
+ * short enough to say out loud.
13
+ *
14
+ * Hyphenated rather than spaced, so a name is a single MQTT topic segment and survives a log line,
15
+ * a URL and a shell argument unquoted.
16
+ */
17
+ /** Words available. Exported so a caller sizing its own name space does not have to guess. */
18
+ export declare const readableWordCount: number;
19
+ /**
20
+ * A fresh name, three words by default. Two would be 4 million, which starts to collide on a busy
21
+ * bus; four is not noticeably safer and is longer to say.
22
+ */
23
+ export declare const readableName: (words?: number) => string;
24
+ /**
25
+ * The same, with a prefix saying what the peer is: `console-brisk-otter-cable`. Names are what a
26
+ * peer list shows, and a role is worth more there than another word of entropy.
27
+ */
28
+ export declare const readableNameFor: (role: string, words?: number) => string;
29
+ /**
30
+ * The same name every time for the same seed. A peer that wants to be recognisable across restarts
31
+ * - a page identified by the console it is attached to, say - derives its name instead of drawing
32
+ * one, and the network sees the same peer come back rather than a stranger.
33
+ *
34
+ * FNV-1a per word, which is not a cryptographic hash and does not need to be: this decides what to
35
+ * call something, and a caller wanting unguessable names should be drawing them at random anyway.
36
+ */
37
+ export declare const readableNameFrom: (seed: string, words?: number) => string;
38
+ //# sourceMappingURL=ReadableName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadableName.d.ts","sourceRoot":"","sources":["../../src/Utilities/ReadableName.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,QAAkB,CAAA;AAWhD;;;GAGG;AACH,eAAO,MAAM,YAAY,4BAAgF,CAAA;AAEzG;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,MAAM,2BAAgD,CAAA;AAE5F;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,2BAW5C,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { wordlist } from '@scure/bip39/wordlists/english.js';
2
+ /**
3
+ * Names a peer can be read out over a radio.
4
+ *
5
+ * A peer name is not decoration: it is what a caller addresses, what presence lists, what a log
6
+ * line blames and, over MQTT, the broker's client id. A UUID satisfies none of that - two of them
7
+ * in a peer list are indistinguishable at a glance, and nobody types one correctly.
8
+ *
9
+ * The words come from the BIP-39 English list, which is the useful part of that specification here:
10
+ * 2048 words chosen to be unambiguous in their first four letters, with no pairs that sound alike.
11
+ * The rest of BIP-39 - 128 to 256 bits of entropy with a checksum - is for seed phrases and does
12
+ * not apply; three words is 2048^3, about 8.6 billion, which is ample for naming peers on a bus and
13
+ * short enough to say out loud.
14
+ *
15
+ * Hyphenated rather than spaced, so a name is a single MQTT topic segment and survives a log line,
16
+ * a URL and a shell argument unquoted.
17
+ */
18
+ /** Words available. Exported so a caller sizing its own name space does not have to guess. */
19
+ export const readableWordCount = wordlist.length;
20
+ const randomIndexes = (count) => {
21
+ // WebCrypto rather than Math.random: available in Node and the browser, and a name that
22
+ // collides is a peer that cannot be addressed.
23
+ const values = new Uint32Array(count);
24
+ crypto.getRandomValues(values);
25
+ // Rejection-free and unbiased enough: 2^32 is a whole multiple of 2048.
26
+ return [...values].map((value) => value % wordlist.length);
27
+ };
28
+ /**
29
+ * A fresh name, three words by default. Two would be 4 million, which starts to collide on a busy
30
+ * bus; four is not noticeably safer and is longer to say.
31
+ */
32
+ export const readableName = (words = 3) => randomIndexes(words).map((index) => wordlist[index]).join('-');
33
+ /**
34
+ * The same, with a prefix saying what the peer is: `console-brisk-otter-cable`. Names are what a
35
+ * peer list shows, and a role is worth more there than another word of entropy.
36
+ */
37
+ export const readableNameFor = (role, words = 3) => `${role}-${readableName(words)}`;
38
+ /**
39
+ * The same name every time for the same seed. A peer that wants to be recognisable across restarts
40
+ * - a page identified by the console it is attached to, say - derives its name instead of drawing
41
+ * one, and the network sees the same peer come back rather than a stranger.
42
+ *
43
+ * FNV-1a per word, which is not a cryptographic hash and does not need to be: this decides what to
44
+ * call something, and a caller wanting unguessable names should be drawing them at random anyway.
45
+ */
46
+ export const readableNameFrom = (seed, words = 3) => {
47
+ const chosen = [];
48
+ for (let word = 0; word < words; word++) {
49
+ let hash = 0x811c9dc5 ^ word;
50
+ for (let index = 0; index < seed.length; index++) {
51
+ hash ^= seed.charCodeAt(index);
52
+ hash = Math.imul(hash, 0x01000193) >>> 0;
53
+ }
54
+ chosen.push(wordlist[hash % wordlist.length]);
55
+ }
56
+ return chosen.join('-');
57
+ };
58
+ //# sourceMappingURL=ReadableName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadableName.js","sourceRoot":"","sources":["../../src/Utilities/ReadableName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAE5D;;;;;;;;;;;;;;;GAeG;AAEH,8FAA8F;AAC9F,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAA;AAEhD,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACpC,wFAAwF;IACxF,+CAA+C;IAC/C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,wEAAwE;IACxE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEzG;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;AAE5F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IACxD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAA;QAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { GenericModule, IGenericModule, Message } from '../RPC/Core.js';
2
+ /**
3
+ * Sends received messages to the correct target.
4
+ * A message whose target cannot be resolved is dropped.
5
+ */
6
+ export declare class Switch extends GenericModule {
7
+ getTarget?: ((target: string) => IGenericModule) | undefined;
8
+ targets: Map<string, IGenericModule<unknown, unknown, unknown, unknown>>;
9
+ constructor(sources: IGenericModule[], getTarget?: ((target: string) => IGenericModule) | undefined);
10
+ receive(message: Message, source: string, target: string): Promise<void>;
11
+ /**
12
+ * Add a target for the switch.
13
+ * @param target The module to send the messages to.
14
+ * @param identifier A unique identifier for this target.
15
+ * @returns A function which can be called to remove this target.
16
+ */
17
+ setTarget(target: IGenericModule, identifier?: string): () => void;
18
+ setTargets(targets: IGenericModule[]): void;
19
+ targetExists(name: string, level?: number): IGenericModule<unknown, unknown, unknown, unknown> | undefined;
20
+ }
21
+ //# sourceMappingURL=Switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Utilities/Switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAkB,MAAM,gBAAgB,CAAA;AAEvF;;;GAGG;AACH,qBAAa,MAAO,SAAQ,aAAa;IAK1B,SAAS,CAAC,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc;IAJzD,OAAO,kEAAoC;IAE3C,YACI,OAAO,EAAE,cAAc,EAAE,EAClB,SAAS,CAAC,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,aAAA,EAGxD;IAEc,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAoBtE;IAED;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,cAe3D;IAEM,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,QAE1C;IAEQ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,kEAMpD;CACJ"}
@@ -0,0 +1,70 @@
1
+ import { GenericModule, TransportEvent } from '../RPC/Core.js';
2
+ /**
3
+ * Sends received messages to the correct target.
4
+ * A message whose target cannot be resolved is dropped.
5
+ */
6
+ export class Switch extends GenericModule {
7
+ getTarget;
8
+ targets = new Map();
9
+ constructor(sources, getTarget) {
10
+ super('', sources);
11
+ this.getTarget = getTarget;
12
+ }
13
+ async receive(message, source, target) {
14
+ let switchTarget;
15
+ if (this.getTarget)
16
+ switchTarget = this.getTarget(target);
17
+ if (!switchTarget)
18
+ switchTarget = this.targetExists(target);
19
+ if (!switchTarget)
20
+ switchTarget = super.targetExists(target);
21
+ if (!switchTarget) {
22
+ // Reported *and* refused. Reporting alone was not enough: the sender's promise still
23
+ // resolved, so a caller learned nothing until its own timeout expired ten seconds later
24
+ // with nothing to explain it - and the frame had been dropped here all along.
25
+ //
26
+ // The usual way to arrive here is calling a peer the moment ready() resolves. ready()
27
+ // means this peer's links are up, not that anyone else has announced themselves over
28
+ // them, and presence lands a moment later. Under load that moment is long enough to
29
+ // lose the race. RpcServerBase.awaitPeer is the wait that closes it.
30
+ this.emit(TransportEvent.unroutable, { source, target, reason: 'no switch target for this peer' });
31
+ throw new Error(`no route to '${target}': nothing here reaches that peer. If it has only just connected, its presence may not have arrived yet - await it before calling.`);
32
+ }
33
+ await switchTarget.receive(message, source, target);
34
+ }
35
+ /**
36
+ * Add a target for the switch.
37
+ * @param target The module to send the messages to.
38
+ * @param identifier A unique identifier for this target.
39
+ * @returns A function which can be called to remove this target.
40
+ */
41
+ setTarget(target, identifier) {
42
+ const getNameFromMod = (mod) => {
43
+ const result = mod.getName();
44
+ return result;
45
+ };
46
+ const targetName = identifier === undefined ? getNameFromMod(target) : identifier;
47
+ this.targets.set(targetName, target);
48
+ let deleted = false;
49
+ return () => {
50
+ if (deleted) {
51
+ return;
52
+ }
53
+ deleted = true;
54
+ this.targets.delete(targetName);
55
+ };
56
+ }
57
+ setTargets(targets) {
58
+ for (const target of targets)
59
+ this.setTarget(target);
60
+ }
61
+ targetExists(name, level = 0) {
62
+ let result;
63
+ this.targets.forEach((target) => {
64
+ if (!result && !target.isTransport() && target.targetExists(name, level + 1))
65
+ result = target;
66
+ });
67
+ return result;
68
+ }
69
+ }
70
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../src/Utilities/Switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,aAAa;IAK1B,SAAS;IAJpB,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;IAE3C,YACI,OAAyB,EAClB,SAA8C;QAErD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;yBAFX,SAAS;IAGpB,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAc,EAAE,MAAc;QACnE,IAAI,YAAwC,CAAA;QAC5C,IAAI,IAAI,CAAC,SAAS;YAAE,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,qFAAqF;YACrF,wFAAwF;YACxF,8EAA8E;YAC9E,EAAE;YACF,sFAAsF;YACtF,qFAAqF;YACrF,oFAAoF;YACpF,qEAAqE;YACrE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAA;YAClG,MAAM,IAAI,KAAK,CACX,gBAAgB,MAAM,oIAAoI,CAC7J,CAAA;QACL,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACvD,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,MAAsB,EAAE,UAAmB;QACxD,MAAM,cAAc,GAAG,CAAC,GAAmB,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;YAC5B,OAAO,MAAM,CAAA;QACjB,CAAC,CAAA;QACD,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QACjF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACpC,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,OAAO,GAAG,EAAE;YACR,IAAI,OAAO,EAAE,CAAC;gBACV,OAAM;YACV,CAAC;YACD,OAAO,GAAG,IAAI,CAAA;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC,CAAA;IACL,CAAC;IAEM,UAAU,CAAC,OAAyB;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;IAEQ,YAAY,CAAC,IAAY,EAAE,KAAK,GAAW,CAAC;QACjD,IAAI,MAAkC,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAA;QACjG,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ"}
@@ -0,0 +1,11 @@
1
+ import { GenericModule, IGenericModule } from '../RPC/Core.js';
2
+ export interface ITryCatch<MsgType = unknown> {
3
+ on(event: 'caught', handler: (message: MsgType, error: unknown) => void): this;
4
+ emit(event: 'caught', message: MsgType, error: unknown): boolean;
5
+ removeListener(event: 'caught', handler: (message: MsgType, error: unknown) => void): this;
6
+ }
7
+ export declare class TryCatch extends GenericModule implements ITryCatch<unknown> {
8
+ constructor(sources: IGenericModule[]);
9
+ receive(message: unknown, source: string, target: string): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=TryCatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TryCatch.d.ts","sourceRoot":"","sources":["../../src/Utilities/TryCatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9D,MAAM,WAAW,SAAS,CAAC,OAAO,GAAG,OAAO;IACxC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC9E,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;IAChE,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;CAC7F;AAED,qBAAa,QAAS,SAAQ,aAAc,YAAW,SAAS,CAAC,OAAO,CAAC;IACrE,YAAY,OAAO,EAAE,cAAc,EAAE,EAEpC;IAEc,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAKtE;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { GenericModule } from '../RPC/Core.js';
2
+ export class TryCatch extends GenericModule {
3
+ constructor(sources) {
4
+ super('', sources);
5
+ }
6
+ async receive(message, source, target) {
7
+ // 'caught' is the event this module's own interface declares. It emitted 'Caught exception',
8
+ // which no listener written against ITryCatch could ever have been registered for, so every
9
+ // error this module existed to surface was swallowed.
10
+ await this.send(message, source, target).catch((e) => this.emit('caught', message, e));
11
+ }
12
+ }
13
+ //# sourceMappingURL=TryCatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TryCatch.js","sourceRoot":"","sources":["../../src/Utilities/TryCatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAA;AAQ9D,MAAM,OAAO,QAAS,SAAQ,aAAa;IACvC,YAAY,OAAyB;QACjC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAc,EAAE,MAAc;QACnE,6FAA6F;QAC7F,4FAA4F;QAC5F,sDAAsD;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1F,CAAC;CACJ"}
@@ -0,0 +1,25 @@
1
+ export * from './RPC/Core.js';
2
+ export * from './RpcClient.js';
3
+ export * from './RpcServer.js';
4
+ export { RpcServerBase as RpcServer } from './RpcServer.js';
5
+ export * from './Transports/Presence.js';
6
+ export * from './Transports/SocketIoClientTransport.js';
7
+ export * from './RPC/Rpc.js';
8
+ export * from './RPC/Auth.js';
9
+ export * from './RPC/Tokens.js';
10
+ export * from './RPC/Messages.js';
11
+ export * from './RPC/Expose.js';
12
+ export * from './RPC/Introspection.js';
13
+ export * from './RPC/Schema.js';
14
+ export * from './RPC/Compatibility.js';
15
+ export * from './RPC/Codec.js';
16
+ export * from './RPC/Signing.js';
17
+ export * from './RPC/Idempotency.js';
18
+ export * from './RPC/RpcClientHandler.js';
19
+ export * from './RPC/RpcServerHandler.js';
20
+ export * from './Utilities/ReadableName.js';
21
+ export * from './Utilities/Converters.js';
22
+ export * from './Utilities/Switch.js';
23
+ export * from './Utilities/Filter.js';
24
+ export * from './Utilities/TryCatch.js';
25
+ //# sourceMappingURL=index-web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-web.d.ts","sourceRoot":"","sources":["../src/index-web.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAI9B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE3D,cAAc,0BAA0B,CAAA;AACxC,cAAc,yCAAyC,CAAA;AAEvD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,28 @@
1
+ export * from './RPC/Core.js';
2
+ export * from './RpcClient.js';
3
+ // A page can host a server as well as call one, over a connection it dials. `RpcServer` here is the
4
+ // portable base: no listener and no MQTT, because a page can do neither, so nothing in a browser
5
+ // bundle resolves socket.io's server or the MQTT client.
6
+ export * from './RpcServer.js';
7
+ export { RpcServerBase as RpcServer } from './RpcServer.js';
8
+ export * from './Transports/Presence.js';
9
+ export * from './Transports/SocketIoClientTransport.js';
10
+ export * from './RPC/Rpc.js';
11
+ export * from './RPC/Auth.js';
12
+ export * from './RPC/Tokens.js';
13
+ export * from './RPC/Messages.js';
14
+ export * from './RPC/Expose.js';
15
+ export * from './RPC/Introspection.js';
16
+ export * from './RPC/Schema.js';
17
+ export * from './RPC/Compatibility.js';
18
+ export * from './RPC/Codec.js';
19
+ export * from './RPC/Signing.js';
20
+ export * from './RPC/Idempotency.js';
21
+ export * from './RPC/RpcClientHandler.js';
22
+ export * from './RPC/RpcServerHandler.js';
23
+ export * from './Utilities/ReadableName.js';
24
+ export * from './Utilities/Converters.js';
25
+ export * from './Utilities/Switch.js';
26
+ export * from './Utilities/Filter.js';
27
+ export * from './Utilities/TryCatch.js';
28
+ //# sourceMappingURL=index-web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-web.js","sourceRoot":"","sources":["../src/index-web.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,oGAAoG;AACpG,iGAAiG;AACjG,yDAAyD;AACzD,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE3D,cAAc,0BAA0B,CAAA;AACxC,cAAc,yCAAyC,CAAA;AAEvD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,28 @@
1
+ export * from './RpcClient.js';
2
+ export * from './RpcServer.js';
3
+ export { NodeRpcServer, NodeRpcServer as RpcServer } from './NodeRpcServer.js';
4
+ export type { HttpServerOptions, ExternalServerOptions, MqttServerOptions, NodeRpcServerOptions } from './NodeRpcServer.js';
5
+ export * from './Transports/Presence.js';
6
+ export * from './Transports/SocketIoClientTransport.js';
7
+ export * from './Transports/SocketIoServerTransport.js';
8
+ export * from './Transports/MqttTransport.js';
9
+ export * from './RPC/Core.js';
10
+ export * from './RPC/Rpc.js';
11
+ export * from './RPC/Auth.js';
12
+ export * from './RPC/Tokens.js';
13
+ export * from './RPC/Messages.js';
14
+ export * from './RPC/Expose.js';
15
+ export * from './RPC/Introspection.js';
16
+ export * from './RPC/Schema.js';
17
+ export * from './RPC/Compatibility.js';
18
+ export * from './RPC/Codec.js';
19
+ export * from './RPC/Signing.js';
20
+ export * from './RPC/Idempotency.js';
21
+ export * from './RPC/RpcClientHandler.js';
22
+ export * from './RPC/RpcServerHandler.js';
23
+ export * from './Utilities/ReadableName.js';
24
+ export * from './Utilities/Converters.js';
25
+ export * from './Utilities/Switch.js';
26
+ export * from './Utilities/Filter.js';
27
+ export * from './Utilities/TryCatch.js';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAI9B,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9E,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE3H,cAAc,0BAA0B,CAAA;AACxC,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAE7C,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ export * from './RpcClient.js';
2
+ export * from './RpcServer.js';
3
+ // `RpcServer` is the portable name: this module and index-web both export one, so a file that
4
+ // sticks to transports a browser can use compiles and runs in either. NodeRpcServer is the same
5
+ // class under a name that says where it runs, for code that would rather be explicit.
6
+ export { NodeRpcServer, NodeRpcServer as RpcServer } from './NodeRpcServer.js';
7
+ export * from './Transports/Presence.js';
8
+ export * from './Transports/SocketIoClientTransport.js';
9
+ export * from './Transports/SocketIoServerTransport.js';
10
+ export * from './Transports/MqttTransport.js';
11
+ export * from './RPC/Core.js';
12
+ export * from './RPC/Rpc.js';
13
+ export * from './RPC/Auth.js';
14
+ export * from './RPC/Tokens.js';
15
+ export * from './RPC/Messages.js';
16
+ export * from './RPC/Expose.js';
17
+ export * from './RPC/Introspection.js';
18
+ export * from './RPC/Schema.js';
19
+ export * from './RPC/Compatibility.js';
20
+ export * from './RPC/Codec.js';
21
+ export * from './RPC/Signing.js';
22
+ export * from './RPC/Idempotency.js';
23
+ export * from './RPC/RpcClientHandler.js';
24
+ export * from './RPC/RpcServerHandler.js';
25
+ export * from './Utilities/ReadableName.js';
26
+ export * from './Utilities/Converters.js';
27
+ export * from './Utilities/Switch.js';
28
+ export * from './Utilities/Filter.js';
29
+ export * from './Utilities/TryCatch.js';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,8FAA8F;AAC9F,gGAAgG;AAChG,sFAAsF;AACtF,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9E,cAAc,0BAA0B,CAAA;AACxC,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAE7C,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@source-repo/rpc",
3
+ "version": "3.0.0",
4
+ "description": "Source RPC: TypeScript RPC over socket.io and MQTT 5, using classes as contracts shared by client and server",
5
+ "keywords": [
6
+ "rpc",
7
+ "mqtt",
8
+ "websocket",
9
+ "socket.io",
10
+ "typescript",
11
+ "msgpack"
12
+ ],
13
+ "type": "module",
14
+ "license": "MIT",
15
+ "author": "anderswestberg",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/source-repo/rpc.git",
19
+ "directory": "packages/rpc"
20
+ },
21
+ "engines": {
22
+ "node": ">=18.17"
23
+ },
24
+ "sideEffects": false,
25
+ "main": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
27
+ "exports": {
28
+ ".": {
29
+ "browser": {
30
+ "types": "./dist/index-web.d.ts",
31
+ "default": "./dist/index-web.js"
32
+ },
33
+ "types": "./dist/index.d.ts",
34
+ "default": "./dist/index.js"
35
+ },
36
+ "./package.json": "./package.json"
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "!dist/**/*.test.*"
41
+ ],
42
+ "scripts": {
43
+ "build": "tsc -p tsconfig.json",
44
+ "clean": "rimraf dist",
45
+ "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p examples/tsconfig.json",
46
+ "test": "npm run clean && npm run build && ava",
47
+ "prepack": "npm run clean && npm run build",
48
+ "build:examples": "tsc -p examples/tsconfig.json"
49
+ },
50
+ "dependencies": {
51
+ "@msgpack/msgpack": "^3.1.2",
52
+ "@scure/bip39": "^2.2.0",
53
+ "events": "^3.3.0",
54
+ "mqtt": "^5.10.1",
55
+ "socket.io": "^4.8.1",
56
+ "socket.io-client": "^4.8.1",
57
+ "uint8array-extras": "^1.1.0",
58
+ "uuid": "^14.0.1"
59
+ },
60
+ "devDependencies": {
61
+ "@types/node": "^26.1.2",
62
+ "ava": "^8.0.1",
63
+ "rimraf": "^6.0.1",
64
+ "typescript": "^7.0.2"
65
+ },
66
+ "ava": {
67
+ "files": [
68
+ "dist/**/*.test.js"
69
+ ],
70
+ "workerThreads": false,
71
+ "concurrency": 1
72
+ },
73
+ "homepage": "https://github.com/source-repo/rpc/tree/main/packages/rpc#readme",
74
+ "bugs": {
75
+ "url": "https://github.com/source-repo/rpc/issues"
76
+ }
77
+ }