@dxos/network-manager 0.6.12-main.ed7cda7 → 0.6.12-staging.0b4bb48

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 (155) hide show
  1. package/dist/lib/browser/{chunk-YOKKEU6T.mjs → chunk-XYSYUN63.mjs} +998 -1192
  2. package/dist/lib/browser/chunk-XYSYUN63.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +19 -10
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +27 -18
  6. package/dist/lib/browser/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/{chunk-7ZWQLO5T.cjs → chunk-4YAYC7WN.cjs} +1166 -1233
  8. package/dist/lib/node/chunk-4YAYC7WN.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +37 -27
  10. package/dist/lib/node/index.cjs.map +2 -2
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/testing/index.cjs +29 -20
  13. package/dist/lib/node/testing/index.cjs.map +3 -3
  14. package/dist/types/src/signal/integration.test.d.ts +2 -0
  15. package/dist/types/src/signal/integration.test.d.ts.map +1 -0
  16. package/dist/types/src/signal/swarm-messenger.test.d.ts +2 -0
  17. package/dist/types/src/signal/swarm-messenger.test.d.ts.map +1 -0
  18. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  19. package/dist/types/src/swarm/swarm.d.ts +1 -1
  20. package/dist/types/src/testing/test-builder.d.ts +2 -2
  21. package/dist/types/src/testing/test-builder.d.ts.map +1 -1
  22. package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
  23. package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
  24. package/dist/types/src/tests/tcp-transport.test.d.ts +2 -0
  25. package/dist/types/src/tests/tcp-transport.test.d.ts.map +1 -0
  26. package/dist/types/src/tests/utils.d.ts.map +1 -1
  27. package/dist/types/src/transport/index.d.ts +5 -1
  28. package/dist/types/src/transport/index.d.ts.map +1 -1
  29. package/dist/types/src/transport/libdatachannel-transport.d.ts +42 -0
  30. package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -0
  31. package/dist/types/src/transport/libdatachannel-transport.test.d.ts +2 -0
  32. package/dist/types/src/transport/libdatachannel-transport.test.d.ts.map +1 -0
  33. package/dist/types/src/transport/memory-transport.d.ts +2 -2
  34. package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
  35. package/dist/types/src/transport/memory-transport.test.d.ts +2 -0
  36. package/dist/types/src/transport/memory-transport.test.d.ts.map +1 -0
  37. package/dist/types/src/transport/simplepeer-simple-peer.d.ts +2 -0
  38. package/dist/types/src/transport/simplepeer-simple-peer.d.ts.map +1 -0
  39. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts +2 -0
  40. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts.map +1 -0
  41. package/dist/types/src/transport/{webrtc/rtc-transport-proxy.d.ts → simplepeer-transport-proxy.d.ts} +12 -10
  42. package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +1 -0
  43. package/dist/types/src/transport/{webrtc/rtc-transport-service.d.ts → simplepeer-transport-service.d.ts} +7 -9
  44. package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +1 -0
  45. package/dist/types/src/transport/simplepeer-transport.d.ts +36 -0
  46. package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -0
  47. package/dist/types/src/transport/simplepeer-transport.test.d.ts +2 -0
  48. package/dist/types/src/transport/simplepeer-transport.test.d.ts.map +1 -0
  49. package/dist/types/src/transport/{tcp/tcp-transport.browser.d.ts → tcp-transport.browser.d.ts} +3 -3
  50. package/dist/types/src/transport/tcp-transport.browser.d.ts.map +1 -0
  51. package/dist/types/src/transport/{tcp/tcp-transport.d.ts → tcp-transport.d.ts} +3 -3
  52. package/dist/types/src/transport/tcp-transport.d.ts.map +1 -0
  53. package/dist/types/src/transport/transport.d.ts +6 -7
  54. package/dist/types/src/transport/transport.d.ts.map +1 -1
  55. package/dist/types/src/transport/webrtc.d.ts +6 -0
  56. package/dist/types/src/transport/webrtc.d.ts.map +1 -0
  57. package/package.json +30 -53
  58. package/src/globals.d.ts +7 -0
  59. package/src/signal/ice.test.ts +3 -1
  60. package/src/signal/{integration.node.test.ts → integration.test.ts} +15 -9
  61. package/src/signal/{swarm-messenger.node.test.ts → swarm-messenger.test.ts} +23 -13
  62. package/src/swarm/connection-limiter.test.ts +6 -3
  63. package/src/swarm/connection.test.ts +38 -63
  64. package/src/swarm/connection.ts +5 -5
  65. package/src/swarm/swarm.test.ts +11 -9
  66. package/src/swarm/swarm.ts +1 -1
  67. package/src/testing/test-builder.ts +28 -12
  68. package/src/tests/basic-test-suite.ts +33 -34
  69. package/src/tests/memory-transport.test.ts +42 -40
  70. package/src/tests/property-test-suite.ts +22 -21
  71. package/src/tests/tcp-transport.test.ts +67 -0
  72. package/src/tests/utils.ts +2 -3
  73. package/src/tests/webrtc-transport.test.ts +9 -9
  74. package/src/transport/index.ts +5 -1
  75. package/src/transport/libdatachannel-transport.test.ts +100 -0
  76. package/src/transport/libdatachannel-transport.ts +376 -0
  77. package/src/transport/memory-transport.test.ts +74 -0
  78. package/src/transport/memory-transport.ts +0 -2
  79. package/src/transport/simplepeer-simple-peer.ts +26 -0
  80. package/src/transport/simplepeer-transport-proxy-test.ts +181 -0
  81. package/src/transport/simplepeer-transport-proxy.ts +246 -0
  82. package/src/transport/simplepeer-transport-service.ts +160 -0
  83. package/src/transport/simplepeer-transport.test.ts +61 -0
  84. package/src/transport/simplepeer-transport.ts +250 -0
  85. package/src/transport/{tcp/tcp-transport.browser.ts → tcp-transport.browser.ts} +3 -7
  86. package/src/transport/{tcp/tcp-transport.ts → tcp-transport.ts} +1 -3
  87. package/src/transport/transport.ts +7 -8
  88. package/src/transport/webrtc.ts +15 -0
  89. package/src/typings.d.ts +2 -8
  90. package/dist/lib/browser/chunk-GW3YM55A.mjs +0 -14
  91. package/dist/lib/browser/chunk-GW3YM55A.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-YOKKEU6T.mjs.map +0 -7
  93. package/dist/lib/browser/transport/tcp/index.mjs +0 -39
  94. package/dist/lib/browser/transport/tcp/index.mjs.map +0 -7
  95. package/dist/lib/node/chunk-7ZWQLO5T.cjs.map +0 -7
  96. package/dist/lib/node/transport/tcp/index.cjs +0 -191
  97. package/dist/lib/node/transport/tcp/index.cjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-4VO725JT.mjs +0 -4383
  99. package/dist/lib/node-esm/chunk-4VO725JT.mjs.map +0 -7
  100. package/dist/lib/node-esm/index.mjs +0 -50
  101. package/dist/lib/node-esm/index.mjs.map +0 -7
  102. package/dist/lib/node-esm/meta.json +0 -1
  103. package/dist/lib/node-esm/testing/index.mjs +0 -280
  104. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  105. package/dist/lib/node-esm/transport/tcp/index.mjs +0 -159
  106. package/dist/lib/node-esm/transport/tcp/index.mjs.map +0 -7
  107. package/dist/types/src/signal/integration.node.test.d.ts +0 -2
  108. package/dist/types/src/signal/integration.node.test.d.ts.map +0 -1
  109. package/dist/types/src/signal/swarm-messenger.node.test.d.ts +0 -2
  110. package/dist/types/src/signal/swarm-messenger.node.test.d.ts.map +0 -1
  111. package/dist/types/src/tests/tcp-transport.node.test.d.ts +0 -2
  112. package/dist/types/src/tests/tcp-transport.node.test.d.ts.map +0 -1
  113. package/dist/types/src/transport/tcp/index.d.ts +0 -2
  114. package/dist/types/src/transport/tcp/index.d.ts.map +0 -1
  115. package/dist/types/src/transport/tcp/tcp-transport.browser.d.ts.map +0 -1
  116. package/dist/types/src/transport/tcp/tcp-transport.d.ts.map +0 -1
  117. package/dist/types/src/transport/webrtc/index.d.ts +0 -4
  118. package/dist/types/src/transport/webrtc/index.d.ts.map +0 -1
  119. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts +0 -14
  120. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts.map +0 -1
  121. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts +0 -68
  122. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +0 -1
  123. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts +0 -33
  124. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts.map +0 -1
  125. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts +0 -2
  126. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts.map +0 -1
  127. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts +0 -4
  128. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts.map +0 -1
  129. package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +0 -1
  130. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts +0 -2
  131. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts.map +0 -1
  132. package/dist/types/src/transport/webrtc/rtc-transport-service.d.ts.map +0 -1
  133. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts +0 -4
  134. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts.map +0 -1
  135. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts +0 -2
  136. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts.map +0 -1
  137. package/dist/types/src/transport/webrtc/test-utils.d.ts +0 -5
  138. package/dist/types/src/transport/webrtc/test-utils.d.ts.map +0 -1
  139. package/dist/types/src/transport/webrtc/utils.d.ts +0 -3
  140. package/dist/types/src/transport/webrtc/utils.d.ts.map +0 -1
  141. package/src/tests/tcp-transport.node.test.ts +0 -65
  142. package/src/transport/tcp/index.ts +0 -5
  143. package/src/transport/webrtc/index.ts +0 -7
  144. package/src/transport/webrtc/rtc-connection-factory.ts +0 -82
  145. package/src/transport/webrtc/rtc-peer-connection.ts +0 -472
  146. package/src/transport/webrtc/rtc-transport-channel.test.ts +0 -176
  147. package/src/transport/webrtc/rtc-transport-channel.ts +0 -195
  148. package/src/transport/webrtc/rtc-transport-factory.ts +0 -28
  149. package/src/transport/webrtc/rtc-transport-proxy.test.ts +0 -413
  150. package/src/transport/webrtc/rtc-transport-proxy.ts +0 -264
  151. package/src/transport/webrtc/rtc-transport-service.ts +0 -192
  152. package/src/transport/webrtc/rtc-transport-stats.ts +0 -67
  153. package/src/transport/webrtc/rtc-transport.test.ts +0 -198
  154. package/src/transport/webrtc/test-utils.ts +0 -22
  155. package/src/transport/webrtc/utils.ts +0 -36
@@ -0,0 +1,42 @@
1
+ import { Event } from '@dxos/async';
2
+ import { ErrorStream } from '@dxos/debug';
3
+ import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
4
+ import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from './transport';
5
+ import { type IceProvider } from '../signal';
6
+ export type LibDataChannelTransportOptions = TransportOptions & {
7
+ webrtcConfig?: RTCConfiguration;
8
+ iceProvider?: IceProvider;
9
+ };
10
+ export declare const createLibDataChannelTransportFactory: (webrtcConfig?: RTCConfiguration, iceProvider?: IceProvider) => TransportFactory;
11
+ /**
12
+ * Transport
13
+ */
14
+ export declare class LibDataChannelTransport implements Transport {
15
+ private readonly _options;
16
+ private static _instanceCount;
17
+ private _peer?;
18
+ private _channel;
19
+ private _stream;
20
+ private _closed;
21
+ private _connected;
22
+ private _writeCallback;
23
+ private readonly _readyForCandidates;
24
+ readonly closed: Event<void>;
25
+ readonly connected: Event<void>;
26
+ readonly errors: ErrorStream;
27
+ constructor(_options: LibDataChannelTransportOptions);
28
+ get isOpen(): boolean;
29
+ open(): Promise<void>;
30
+ close(): Promise<void>;
31
+ private _close;
32
+ /**
33
+ * Handle data channel events.
34
+ */
35
+ private _handleChannel;
36
+ onSignal(signal: Signal): Promise<void>;
37
+ getDetails(): Promise<string>;
38
+ getStats(): Promise<TransportStats>;
39
+ _getStats(): Promise<any>;
40
+ private _disconnectStreams;
41
+ }
42
+ //# sourceMappingURL=libdatachannel-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libdatachannel-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/libdatachannel-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG;IAC9D,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,oCAAoC,kBAChC,gBAAgB,gBACjB,WAAW,KACxB,gBASF,CAAC;AAEF;;GAEG;AAEH,qBAAa,uBAAwB,YAAW,SAAS;IAiB3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhBrC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAK;IAElC,OAAO,CAAC,KAAK,CAAC,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IAErD,QAAQ,CAAC,MAAM,cAAe;IAC9B,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,MAAM,cAAqB;gBAEP,QAAQ,EAAE,8BAA8B;IAErE,IAAI,MAAM,YAET;IAEK,IAAI;IA0GJ,KAAK;YAQG,MAAM;IAiBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8DhB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAkDvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAc7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAqBnC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;YAqBjB,kBAAkB;CAGjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=libdatachannel-transport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libdatachannel-transport.test.d.ts","sourceRoot":"","sources":["../../../../src/transport/libdatachannel-transport.test.ts"],"names":[],"mappings":""}
@@ -21,8 +21,8 @@ export declare class MemoryTransport implements Transport {
21
21
  readonly errors: ErrorStream;
22
22
  constructor(_options: TransportOptions);
23
23
  get isOpen(): boolean;
24
- open(): Promise<this>;
25
- close(): Promise<this>;
24
+ open(): Promise<void>;
25
+ close(): Promise<void>;
26
26
  onSignal({ payload }: Signal): Promise<void>;
27
27
  getDetails(): Promise<string>;
28
28
  getStats(): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"memory-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/memory-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAkB3F,eAAO,MAAM,sBAAsB,EAAE,gBAEpC,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAuBnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA8D;IAGlG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAE5E,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAE5C,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;gBAEd,QAAQ,EAAE,gBAAgB;IAKvD,IAAI,MAAM,YAGT;IAEK,IAAI;IAwDJ,KAAK;IAiCL,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM;IAc5B,UAAU;IAIV,QAAQ;;;;;;CAQf"}
1
+ {"version":3,"file":"memory-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/memory-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAkB3F,eAAO,MAAM,sBAAsB,EAAE,gBAEpC,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAuBnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA8D;IAGlG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAE5E,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAE5C,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;gBAEd,QAAQ,EAAE,gBAAgB;IAKvD,IAAI,MAAM,YAGT;IAEK,IAAI;IAuDJ,KAAK;IAgCL,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM;IAc5B,UAAU;IAIV,QAAQ;;;;;;CAQf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memory-transport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-transport.test.d.ts","sourceRoot":"","sources":["../../../../src/transport/memory-transport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simplepeer-simple-peer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-simple-peer.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-simple-peer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simplepeer-transport-proxy-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-transport-proxy-test.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-transport-proxy-test.ts"],"names":[],"mappings":""}
@@ -1,35 +1,37 @@
1
1
  import { Event } from '@dxos/async';
2
- import { Resource } from '@dxos/context';
3
2
  import { ErrorStream } from '@dxos/debug';
4
3
  import { type BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';
5
4
  import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
6
- import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from '../transport';
7
- export type RtcTransportProxyOptions = TransportOptions & {
5
+ import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from './transport';
6
+ export type SimplePeerTransportProxyOptions = TransportOptions & {
8
7
  bridgeService: BridgeService;
9
8
  };
10
- export declare class RtcTransportProxy extends Resource implements Transport {
9
+ export declare class SimplePeerTransportProxy implements Transport {
11
10
  private readonly _options;
12
11
  private readonly _proxyId;
12
+ private readonly _ctx;
13
+ private _timeoutCount;
13
14
  readonly closed: Event<void>;
14
15
  readonly connected: Event<void>;
15
16
  readonly errors: ErrorStream;
17
+ private _closed;
16
18
  private _serviceStream;
17
- constructor(_options: RtcTransportProxyOptions);
18
- protected _open(): Promise<void>;
19
- protected _close(): Promise<void>;
19
+ constructor(_options: SimplePeerTransportProxyOptions);
20
+ get isOpen(): boolean;
21
+ open(): Promise<void>;
22
+ close(): Promise<void>;
20
23
  onSignal(signal: Signal): Promise<void>;
21
24
  private _handleConnection;
22
25
  private _handleData;
23
26
  private _handleSignal;
24
27
  getDetails(): Promise<string>;
25
28
  getStats(): Promise<TransportStats>;
26
- private _raiseIfOpen;
27
29
  /**
28
30
  * Called when underlying proxy service becomes unavailable.
29
31
  */
30
32
  forceClose(): void;
31
33
  }
32
- export declare class RtcTransportProxyFactory implements TransportFactory {
34
+ export declare class SimplePeerTransportProxyFactory implements TransportFactory {
33
35
  private _bridgeService;
34
36
  private _connections;
35
37
  /**
@@ -39,4 +41,4 @@ export declare class RtcTransportProxyFactory implements TransportFactory {
39
41
  setBridgeService(bridgeService: BridgeService | undefined): this;
40
42
  createTransport(options: TransportOptions): Transport;
41
43
  }
42
- //# sourceMappingURL=rtc-transport-proxy.d.ts.map
44
+ //# sourceMappingURL=simplepeer-transport-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-transport-proxy.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-transport-proxy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW1C,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAMhH,MAAM,MAAM,+BAA+B,GAAG,gBAAgB,GAAG;IAC/D,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,qBAAa,wBAAyB,YAAW,SAAS;IAY5C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAXrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAK;IAE1B,QAAQ,CAAC,MAAM,cAAe;IAC9B,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,MAAM,cAAqB;IAEpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAuB;gBAEhB,QAAQ,EAAE,+BAA+B;IAEtE,IAAI,MAAM,YAGT;IAEK,IAAI;IAqEJ,KAAK;IAkBL,QAAQ,CAAC,MAAM,EAAE,MAAM;YAYf,iBAAiB;IAiB/B,OAAO,CAAC,WAAW;YAKL,aAAa;IAIrB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAKzC;;OAEG;IAEH,UAAU;CAKX;AAGD,qBAAa,+BAAgC,YAAW,gBAAgB;IACtE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAuC;IAE3D;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAShE,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS;CAWtD"}
@@ -1,18 +1,16 @@
1
1
  import { Stream } from '@dxos/codec-protobuf';
2
2
  import { type BridgeService, type ConnectionRequest, type SignalRequest, type DataRequest, type BridgeEvent, type CloseRequest, type DetailsRequest, type DetailsResponse, type StatsRequest, type StatsResponse } from '@dxos/protocols/proto/dxos/mesh/bridge';
3
- import { type IceProvider } from '../../signal';
4
- import { type TransportFactory } from '../transport';
5
- export declare class RtcTransportService implements BridgeService {
6
- private readonly _transportFactory;
7
- private readonly _openTransports;
8
- constructor(webrtcConfig?: RTCConfiguration, iceProvider?: IceProvider, _transportFactory?: TransportFactory);
9
- hasOpenTransports(): boolean;
3
+ import { type IceProvider } from '../signal';
4
+ export declare class SimplePeerTransportService implements BridgeService {
5
+ private readonly _webrtcConfig?;
6
+ private readonly _iceProvider?;
7
+ private readonly transports;
8
+ constructor(_webrtcConfig?: RTCConfiguration | undefined, _iceProvider?: IceProvider | undefined);
10
9
  open(request: ConnectionRequest): Stream<BridgeEvent>;
11
10
  sendSignal({ proxyId, signal }: SignalRequest): Promise<void>;
12
11
  getDetails({ proxyId }: DetailsRequest): Promise<DetailsResponse>;
13
12
  getStats({ proxyId }: StatsRequest): Promise<StatsResponse>;
14
13
  sendData({ proxyId, payload }: DataRequest): Promise<void>;
15
14
  close({ proxyId }: CloseRequest): Promise<void>;
16
- private _safeCloseTransport;
17
15
  }
18
- //# sourceMappingURL=rtc-transport-service.d.ts.map
16
+ //# sourceMappingURL=simplepeer-transport-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-transport-service.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-transport-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAS7C,qBAAa,0BAA2B,YAAW,aAAa;IAI5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAJhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6D;gBAGrE,aAAa,CAAC,EAAE,gBAAgB,YAAA,EAChC,YAAY,CAAC,EAAE,WAAW,YAAA;IAG7C,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IA+E/C,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAKjE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAK3D,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1D,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY;CAQtC"}
@@ -0,0 +1,36 @@
1
+ import { Event } from '@dxos/async';
2
+ import { ErrorStream } from '@dxos/debug';
3
+ import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
4
+ import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from './transport';
5
+ import { type IceProvider } from '../signal';
6
+ export type SimplePeerTransportParams = TransportOptions & {
7
+ webrtcConfig?: RTCConfiguration;
8
+ iceProvider?: IceProvider;
9
+ };
10
+ export declare const createSimplePeerTransportFactory: (webrtcConfig?: RTCConfiguration, iceProvider?: IceProvider) => TransportFactory;
11
+ /**
12
+ * Implements Transport for WebRTC. Uses simple-peer under the hood.
13
+ */
14
+ export declare class SimplePeerTransport implements Transport {
15
+ private readonly _params;
16
+ private _peer?;
17
+ private _closed;
18
+ private _piped;
19
+ readonly closed: Event<void>;
20
+ readonly connected: Event<void>;
21
+ readonly errors: ErrorStream;
22
+ private readonly _instanceId;
23
+ get isOpen(): boolean;
24
+ /**
25
+ * @params opts.config formatted as per https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection
26
+ */
27
+ constructor(_params: SimplePeerTransportParams);
28
+ getStats(): Promise<TransportStats>;
29
+ _getStats(): Promise<any>;
30
+ getDetails(): Promise<string>;
31
+ open(): Promise<void>;
32
+ close(): Promise<void>;
33
+ onSignal(signal: Signal): Promise<void>;
34
+ private _disconnectStreams;
35
+ }
36
+ //# sourceMappingURL=simplepeer-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-transport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAS,MAAM,aAAa,CAAC;AAIjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IACzD,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,gCAAgC,kBAC5B,gBAAgB,gBACjB,WAAW,KACxB,gBAOD,CAAC;AAEH;;GAEG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IAmBvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC,OAAO,CAAC,KAAK,CAAC,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IAEvB,QAAQ,CAAC,MAAM,cAAe;IAC9B,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,MAAM,cAAqB;IAEpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,IAAI,MAAM,YAGT;IAED;;OAEG;gBAC0B,OAAO,EAAE,yBAAyB;IAEzD,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAsBnC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAwBzB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAc7B,IAAI;IAoGJ,KAAK;IAaL,QAAQ,CAAC,MAAM,EAAE,MAAM;IAU7B,OAAO,CAAC,kBAAkB;CAM3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simplepeer-transport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplepeer-transport.test.d.ts","sourceRoot":"","sources":["../../../../src/transport/simplepeer-transport.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { Event } from '@dxos/async';
2
2
  import { ErrorStream } from '@dxos/debug';
3
- import { type Transport, type TransportFactory, type TransportStats } from '../transport';
3
+ import { type Transport, type TransportFactory, type TransportStats } from './transport';
4
4
  export declare const TcpTransportFactory: TransportFactory;
5
5
  /**
6
6
  * NOTE: Browser stub.
@@ -10,8 +10,8 @@ export declare class TcpTransport implements Transport {
10
10
  readonly connected: Event<void>;
11
11
  readonly errors: ErrorStream;
12
12
  get isOpen(): boolean;
13
- open(): Promise<this>;
14
- close(): Promise<this>;
13
+ open(): Promise<void>;
14
+ close(): Promise<void>;
15
15
  onSignal(): Promise<void>;
16
16
  getStats(): Promise<TransportStats>;
17
17
  getDetails(): Promise<string>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp-transport.browser.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzF,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;IAE3C,IAAI,MAAM,YAET;IAEK,IAAI;IAEJ,KAAK;IAEL,QAAQ;IAIR,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAGpC"}
@@ -1,7 +1,7 @@
1
1
  import { Event } from '@dxos/async';
2
2
  import { ErrorStream } from '@dxos/debug';
3
3
  import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
4
- import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from '../transport';
4
+ import { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from './transport';
5
5
  export declare const TcpTransportFactory: TransportFactory;
6
6
  /**
7
7
  * Fake transport.
@@ -17,8 +17,8 @@ export declare class TcpTransport implements Transport {
17
17
  readonly errors: ErrorStream;
18
18
  constructor(options: TransportOptions);
19
19
  get isOpen(): boolean;
20
- open(): Promise<this>;
21
- close(): Promise<this>;
20
+ open(): Promise<void>;
21
+ close(): Promise<void>;
22
22
  onSignal({ payload }: Signal): Promise<void>;
23
23
  getDetails(): Promise<string>;
24
24
  getStats(): Promise<TransportStats>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAWhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAqB;IAErC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IAExB,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;gBAEd,OAAO,EAAE,gBAAgB;IAEtD,IAAI,MAAM,YAET;IAEK,IAAI;IAuCJ,KAAK;IAOL,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM;IAW5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IASzC,OAAO,CAAC,aAAa;CAoBtB"}
@@ -3,8 +3,9 @@ import { type ErrorStream } from '@dxos/debug';
3
3
  import { type PublicKey } from '@dxos/keys';
4
4
  import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
5
5
  export declare enum TransportKind {
6
- WEB_RTC = "WEB-RTC",
7
- WEB_RTC_PROXY = "WEB-RTC_PROXY",
6
+ SIMPLE_PEER = "SIMPLE_PEER",
7
+ SIMPLE_PEER_PROXY = "SIMPLE_PEER_PROXY",
8
+ LIBDATACHANNEL = "LIBDATACHANNEL",
8
9
  MEMORY = "MEMORY",
9
10
  TCP = "TCP"
10
11
  }
@@ -16,8 +17,9 @@ export interface Transport {
16
17
  closed: Event;
17
18
  connected: Event;
18
19
  errors: ErrorStream;
19
- open(): Promise<this>;
20
- close(): Promise<this>;
20
+ open(): Promise<void>;
21
+ close(): Promise<void>;
22
+ get isOpen(): boolean;
21
23
  /**
22
24
  * Handle message from signaling.
23
25
  */
@@ -35,9 +37,6 @@ export interface Transport {
35
37
  * Common options for all transports.
36
38
  */
37
39
  export type TransportOptions = {
38
- ownPeerKey: string;
39
- remotePeerKey: string;
40
- topic: string;
41
40
  /**
42
41
  * Did local node initiate this connection.
43
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IAEpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IAEtB,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IAEpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,MAAM,IAAI,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Will be null if WebRTC is not available in this environment.
3
+ */
4
+ declare let wrtc: any;
5
+ export { wrtc };
6
+ //# sourceMappingURL=webrtc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc.d.ts","sourceRoot":"","sources":["../../../../src/transport/webrtc.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,QAAA,IAAI,IAAI,EAAE,GAAU,CAAC;AAOrB,OAAO,EAAE,IAAI,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,67 +1,36 @@
1
1
  {
2
2
  "name": "@dxos/network-manager",
3
- "version": "0.6.12-main.ed7cda7",
3
+ "version": "0.6.12-staging.0b4bb48",
4
4
  "description": "Network Manager",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
- "imports": {
10
- "#node-datachannel": {
11
- "browser": "./module-stub.js",
12
- "workerd": "./module-stub.js",
13
- "default": "node-datachannel"
14
- },
15
- "#node-datachannel/*": {
16
- "browser": "./module-stub.js",
17
- "workerd": "./module-stub.js",
18
- "default": "node-datachannel/*"
19
- },
20
- "#tcp-transport": {
21
- "browser": "./dist/lib/browser/transport/tcp/index.mjs",
22
- "node": "./dist/lib/node/transport/tcp/index.cjs",
23
- "import": "./dist/lib/browser/transport/tcp/index.mjs",
24
- "require": "./dist/lib/node/transport/tcp/index.cjs",
25
- "types": "./dist/types/src/transport/tcp/index.d.ts"
26
- }
27
- },
28
9
  "exports": {
29
10
  ".": {
30
11
  "browser": "./dist/lib/browser/index.mjs",
31
12
  "node": {
32
- "require": "./dist/lib/node/index.cjs",
33
- "default": "./dist/lib/node-esm/index.mjs"
13
+ "default": "./dist/lib/node/index.cjs"
34
14
  },
35
15
  "types": "./dist/types/src/index.d.ts"
36
16
  },
37
17
  "./testing": {
38
18
  "browser": "./dist/lib/browser/testing/index.mjs",
39
19
  "node": {
40
- "require": "./dist/lib/node/testing/index.cjs",
41
- "default": "./dist/lib/node-esm/testing/index.mjs"
20
+ "default": "./dist/lib/node/testing/index.cjs"
42
21
  },
43
22
  "types": "./dist/types/src/testing/index.d.ts"
44
- },
45
- "./tcp": {
46
- "browser": "./dist/lib/browser/transport/tcp/index.mjs",
47
- "node": {
48
- "require": "./dist/lib/node/transport/tcp/index.cjs",
49
- "default": "./dist/lib/node-esm/transport/tcp/index.mjs"
50
- },
51
- "types": "./dist/types/src/transport/tcp/index.d.ts"
52
23
  }
53
24
  },
54
25
  "browser": {
55
- "./src/transport/tcp/tcp-transport.ts": "./src/transport/tcp/tcp-transport.browser.ts"
26
+ "./src/transport/tcp-transport.ts": "./src/transport/tcp-transport.browser.ts",
27
+ "./src/transport/datachannel/index.ts": "./src/transport/datachannel/index.browser.ts"
56
28
  },
57
29
  "types": "dist/types/src/index.d.ts",
58
30
  "typesVersions": {
59
31
  "*": {
60
32
  "testing": [
61
33
  "dist/types/src/testing/index.d.ts"
62
- ],
63
- "tcp": [
64
- "dist/types/src/transport/tcp/index.d.ts"
65
34
  ]
66
35
  }
67
36
  },
@@ -72,35 +41,43 @@
72
41
  "src"
73
42
  ],
74
43
  "dependencies": {
44
+ "@koush/wrtc": "^0.5.3",
75
45
  "isomorphic-ws": "^5.0.0",
76
46
  "nanomessage-rpc": "^3.0.0",
77
- "node-datachannel": "^0.9.2",
47
+ "node-datachannel": "^0.5.5",
78
48
  "p-defer": "^3.0.0",
79
- "stream": "^0.0.3",
49
+ "simple-peer": "9.11.1",
50
+ "stream": "^0.0.2",
80
51
  "tiny-invariant": "^1.3.1",
81
52
  "ws": "^8.14.2",
82
53
  "xor-distance": "^2.0.0",
83
- "@dxos/async": "0.6.12-main.ed7cda7",
84
- "@dxos/codec-protobuf": "0.6.12-main.ed7cda7",
85
- "@dxos/context": "0.6.12-main.ed7cda7",
86
- "@dxos/debug": "0.6.12-main.ed7cda7",
87
- "@dxos/invariant": "0.6.12-main.ed7cda7",
88
- "@dxos/keys": "0.6.12-main.ed7cda7",
89
- "@dxos/log": "0.6.12-main.ed7cda7",
90
- "@dxos/messaging": "0.6.12-main.ed7cda7",
91
- "@dxos/node-std": "0.6.12-main.ed7cda7",
92
- "@dxos/protocols": "0.6.12-main.ed7cda7",
93
- "@dxos/rpc": "0.6.12-main.ed7cda7",
94
- "@dxos/teleport": "0.6.12-main.ed7cda7",
95
- "@dxos/tracing": "0.6.12-main.ed7cda7",
96
- "@dxos/util": "0.6.12-main.ed7cda7"
54
+ "@dxos/async": "0.6.12-staging.0b4bb48",
55
+ "@dxos/codec-protobuf": "0.6.12-staging.0b4bb48",
56
+ "@dxos/config": "0.6.12-staging.0b4bb48",
57
+ "@dxos/credentials": "0.6.12-staging.0b4bb48",
58
+ "@dxos/debug": "0.6.12-staging.0b4bb48",
59
+ "@dxos/edge-client": "0.6.12-staging.0b4bb48",
60
+ "@dxos/crypto": "0.6.12-staging.0b4bb48",
61
+ "@dxos/context": "0.6.12-staging.0b4bb48",
62
+ "@dxos/keys": "0.6.12-staging.0b4bb48",
63
+ "@dxos/invariant": "0.6.12-staging.0b4bb48",
64
+ "@dxos/log": "0.6.12-staging.0b4bb48",
65
+ "@dxos/node-std": "0.6.12-staging.0b4bb48",
66
+ "@dxos/messaging": "0.6.12-staging.0b4bb48",
67
+ "@dxos/protocols": "0.6.12-staging.0b4bb48",
68
+ "@dxos/rpc": "0.6.12-staging.0b4bb48",
69
+ "@dxos/util": "0.6.12-staging.0b4bb48",
70
+ "@dxos/teleport": "0.6.12-staging.0b4bb48"
97
71
  },
98
72
  "devDependencies": {
99
73
  "@swc-node/register": "1.9.1",
74
+ "@types/simple-peer": "9.11.3",
100
75
  "@types/ws": "^7.4.0",
76
+ "earljs": "~0.1.10",
101
77
  "fast-check": "^3.19.0",
102
78
  "fetch-mock": "^11.0.0",
103
- "@dxos/signal": "0.6.12-main.ed7cda7"
79
+ "typescript": "^5.5.4",
80
+ "@dxos/signal": "0.6.12-staging.0b4bb48"
104
81
  },
105
82
  "publishConfig": {
106
83
  "access": "public"
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ declare const mochaExecutor: {
6
+ environment: import('@dxos/test').TestEnvironment;
7
+ };
@@ -2,8 +2,10 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import { expect } from 'chai';
5
6
  import fetchMock from 'fetch-mock';
6
- import { afterEach, test, expect, describe } from 'vitest';
7
+
8
+ import { test, describe } from '@dxos/test';
7
9
 
8
10
  import { createIceProvider } from './ice';
9
11
 
@@ -2,11 +2,15 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import { afterAll, onTestFinished, beforeAll, describe, expect, test } from 'vitest';
5
+ // @dxos/test platform=nodejs
6
+
7
+ import { expect } from 'earljs';
8
+ import waitForExpect from 'wait-for-expect';
6
9
 
7
10
  import { PublicKey } from '@dxos/keys';
8
11
  import { Messenger, type PeerInfo, WebsocketSignalManager } from '@dxos/messaging';
9
12
  import { runTestSignalServer, type SignalServerRunner } from '@dxos/signal';
13
+ import { afterAll, afterTest, beforeAll, describe, test } from '@dxos/test';
10
14
 
11
15
  import { type SignalMessage } from './signal-messenger';
12
16
  import { SwarmMessenger } from './swarm-messenger';
@@ -31,15 +35,13 @@ describe('Signal Integration Test', () => {
31
35
  }) => {
32
36
  const signalManager = new WebsocketSignalManager([{ server: broker.url() }]);
33
37
  await signalManager.open();
34
- onTestFinished(async () => {
35
- await signalManager.close();
36
- });
38
+ afterTest(() => signalManager.close());
37
39
 
38
40
  const messenger = new Messenger({
39
41
  signalManager,
40
42
  });
41
43
  messenger.open();
42
- onTestFinished(() => messenger.close());
44
+ afterTest(() => messenger.close());
43
45
  await messenger.listen({
44
46
  peer,
45
47
  onMessage: async (message) => await messageRouter.receiveMessage(message),
@@ -94,7 +96,7 @@ describe('Signal Integration Test', () => {
94
96
  offer: {},
95
97
  },
96
98
  }),
97
- ).toEqual(expect.objectContaining({ accept: true }));
99
+ ).toBeAnObjectWith({ accept: true });
98
100
 
99
101
  expect(
100
102
  await peerNetworking2.messageRouter.offer({
@@ -106,7 +108,7 @@ describe('Signal Integration Test', () => {
106
108
  offer: {},
107
109
  },
108
110
  }),
109
- ).toEqual(expect.objectContaining({ accept: true }));
111
+ ).toBeAnObjectWith({ accept: true });
110
112
 
111
113
  {
112
114
  const message: SignalMessage = {
@@ -121,7 +123,9 @@ describe('Signal Integration Test', () => {
121
123
  };
122
124
  await peerNetworking1.messageRouter.signal(message);
123
125
 
124
- await expect.poll(() => peerNetworking2.receivedSignals[0]).toEqual(expect.objectContaining(message));
126
+ await waitForExpect(() => {
127
+ expect(peerNetworking2.receivedSignals[0]).toBeAnObjectWith(message);
128
+ });
125
129
  }
126
130
 
127
131
  {
@@ -137,7 +141,9 @@ describe('Signal Integration Test', () => {
137
141
  };
138
142
  await peerNetworking2.messageRouter.signal(message);
139
143
 
140
- await expect.poll(() => peerNetworking1.receivedSignals[0]).toEqual(expect.objectContaining(message));
144
+ await waitForExpect(() => {
145
+ expect(peerNetworking1.receivedSignals[0]).toBeAnObjectWith(message);
146
+ });
141
147
  }
142
148
  });
143
149
  });