@dxos/network-manager 0.6.13-main.ed424a1 → 0.6.13

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 (163) hide show
  1. package/dist/lib/browser/{chunk-MKIVP7G3.mjs → chunk-XYSYUN63.mjs} +1064 -1248
  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 +32 -22
  6. package/dist/lib/browser/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/{chunk-D6P7ACEM.cjs → chunk-4YAYC7WN.cjs} +1207 -1264
  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 +34 -24
  13. package/dist/lib/node/testing/index.cjs.map +3 -3
  14. package/dist/types/src/network-manager.d.ts +1 -2
  15. package/dist/types/src/network-manager.d.ts.map +1 -1
  16. package/dist/types/src/signal/ice.d.ts.map +1 -1
  17. package/dist/types/src/signal/integration.test.d.ts +2 -0
  18. package/dist/types/src/signal/integration.test.d.ts.map +1 -0
  19. package/dist/types/src/signal/swarm-messenger.test.d.ts +2 -0
  20. package/dist/types/src/signal/swarm-messenger.test.d.ts.map +1 -0
  21. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  22. package/dist/types/src/swarm/swarm.d.ts +1 -1
  23. package/dist/types/src/testing/test-builder.d.ts +2 -2
  24. package/dist/types/src/testing/test-builder.d.ts.map +1 -1
  25. package/dist/types/src/testing/test-wire-protocol.d.ts +2 -1
  26. package/dist/types/src/testing/test-wire-protocol.d.ts.map +1 -1
  27. package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
  28. package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
  29. package/dist/types/src/tests/tcp-transport.test.d.ts +2 -0
  30. package/dist/types/src/tests/tcp-transport.test.d.ts.map +1 -0
  31. package/dist/types/src/tests/utils.d.ts.map +1 -1
  32. package/dist/types/src/transport/index.d.ts +5 -1
  33. package/dist/types/src/transport/index.d.ts.map +1 -1
  34. package/dist/types/src/transport/libdatachannel-transport.d.ts +42 -0
  35. package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -0
  36. package/dist/types/src/transport/libdatachannel-transport.test.d.ts +2 -0
  37. package/dist/types/src/transport/libdatachannel-transport.test.d.ts.map +1 -0
  38. package/dist/types/src/transport/memory-transport.d.ts +2 -2
  39. package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
  40. package/dist/types/src/transport/memory-transport.test.d.ts +2 -0
  41. package/dist/types/src/transport/memory-transport.test.d.ts.map +1 -0
  42. package/dist/types/src/transport/simplepeer-simple-peer.d.ts +2 -0
  43. package/dist/types/src/transport/simplepeer-simple-peer.d.ts.map +1 -0
  44. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts +2 -0
  45. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts.map +1 -0
  46. package/dist/types/src/transport/{webrtc/rtc-transport-proxy.d.ts → simplepeer-transport-proxy.d.ts} +12 -10
  47. package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +1 -0
  48. package/dist/types/src/transport/{webrtc/rtc-transport-service.d.ts → simplepeer-transport-service.d.ts} +7 -9
  49. package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +1 -0
  50. package/dist/types/src/transport/simplepeer-transport.d.ts +36 -0
  51. package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -0
  52. package/dist/types/src/transport/simplepeer-transport.test.d.ts +2 -0
  53. package/dist/types/src/transport/simplepeer-transport.test.d.ts.map +1 -0
  54. package/dist/types/src/transport/{tcp/tcp-transport.browser.d.ts → tcp-transport.browser.d.ts} +3 -3
  55. package/dist/types/src/transport/tcp-transport.browser.d.ts.map +1 -0
  56. package/dist/types/src/transport/{tcp/tcp-transport.d.ts → tcp-transport.d.ts} +3 -3
  57. package/dist/types/src/transport/tcp-transport.d.ts.map +1 -0
  58. package/dist/types/src/transport/transport.d.ts +6 -7
  59. package/dist/types/src/transport/transport.d.ts.map +1 -1
  60. package/dist/types/src/transport/webrtc.d.ts +6 -0
  61. package/dist/types/src/transport/webrtc.d.ts.map +1 -0
  62. package/package.json +30 -55
  63. package/src/globals.d.ts +7 -0
  64. package/src/network-manager.ts +13 -5
  65. package/src/signal/ice.test.ts +3 -1
  66. package/src/signal/ice.ts +1 -6
  67. package/src/signal/{integration.node.test.ts → integration.test.ts} +15 -9
  68. package/src/signal/{swarm-messenger.node.test.ts → swarm-messenger.test.ts} +23 -13
  69. package/src/swarm/connection-limiter.test.ts +6 -3
  70. package/src/swarm/connection.test.ts +38 -63
  71. package/src/swarm/connection.ts +5 -5
  72. package/src/swarm/swarm.test.ts +12 -10
  73. package/src/swarm/swarm.ts +1 -1
  74. package/src/testing/test-builder.ts +29 -13
  75. package/src/testing/test-wire-protocol.ts +4 -1
  76. package/src/tests/basic-test-suite.ts +33 -34
  77. package/src/tests/memory-transport.test.ts +42 -40
  78. package/src/tests/property-test-suite.ts +22 -21
  79. package/src/tests/tcp-transport.test.ts +67 -0
  80. package/src/tests/utils.ts +2 -3
  81. package/src/tests/webrtc-transport.test.ts +9 -9
  82. package/src/transport/index.ts +5 -1
  83. package/src/transport/libdatachannel-transport.test.ts +100 -0
  84. package/src/transport/libdatachannel-transport.ts +376 -0
  85. package/src/transport/memory-transport.test.ts +74 -0
  86. package/src/transport/memory-transport.ts +0 -2
  87. package/src/transport/simplepeer-simple-peer.ts +26 -0
  88. package/src/transport/simplepeer-transport-proxy-test.ts +181 -0
  89. package/src/transport/simplepeer-transport-proxy.ts +246 -0
  90. package/src/transport/simplepeer-transport-service.ts +160 -0
  91. package/src/transport/simplepeer-transport.test.ts +61 -0
  92. package/src/transport/simplepeer-transport.ts +250 -0
  93. package/src/transport/{tcp/tcp-transport.browser.ts → tcp-transport.browser.ts} +3 -7
  94. package/src/transport/{tcp/tcp-transport.ts → tcp-transport.ts} +1 -3
  95. package/src/transport/transport.ts +7 -8
  96. package/src/transport/webrtc.ts +15 -0
  97. package/src/typings.d.ts +2 -8
  98. package/dist/lib/browser/chunk-GW3YM55A.mjs +0 -14
  99. package/dist/lib/browser/chunk-GW3YM55A.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-MKIVP7G3.mjs.map +0 -7
  101. package/dist/lib/browser/transport/tcp/index.mjs +0 -39
  102. package/dist/lib/browser/transport/tcp/index.mjs.map +0 -7
  103. package/dist/lib/node/chunk-D6P7ACEM.cjs.map +0 -7
  104. package/dist/lib/node/transport/tcp/index.cjs +0 -191
  105. package/dist/lib/node/transport/tcp/index.cjs.map +0 -7
  106. package/dist/lib/node-esm/chunk-22DA2US6.mjs +0 -4373
  107. package/dist/lib/node-esm/chunk-22DA2US6.mjs.map +0 -7
  108. package/dist/lib/node-esm/index.mjs +0 -50
  109. package/dist/lib/node-esm/index.mjs.map +0 -7
  110. package/dist/lib/node-esm/meta.json +0 -1
  111. package/dist/lib/node-esm/testing/index.mjs +0 -279
  112. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  113. package/dist/lib/node-esm/transport/tcp/index.mjs +0 -159
  114. package/dist/lib/node-esm/transport/tcp/index.mjs.map +0 -7
  115. package/dist/types/src/signal/integration.node.test.d.ts +0 -2
  116. package/dist/types/src/signal/integration.node.test.d.ts.map +0 -1
  117. package/dist/types/src/signal/swarm-messenger.node.test.d.ts +0 -2
  118. package/dist/types/src/signal/swarm-messenger.node.test.d.ts.map +0 -1
  119. package/dist/types/src/tests/tcp-transport.node.test.d.ts +0 -2
  120. package/dist/types/src/tests/tcp-transport.node.test.d.ts.map +0 -1
  121. package/dist/types/src/transport/tcp/index.d.ts +0 -2
  122. package/dist/types/src/transport/tcp/index.d.ts.map +0 -1
  123. package/dist/types/src/transport/tcp/tcp-transport.browser.d.ts.map +0 -1
  124. package/dist/types/src/transport/tcp/tcp-transport.d.ts.map +0 -1
  125. package/dist/types/src/transport/webrtc/index.d.ts +0 -4
  126. package/dist/types/src/transport/webrtc/index.d.ts.map +0 -1
  127. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts +0 -14
  128. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts.map +0 -1
  129. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts +0 -68
  130. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +0 -1
  131. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts +0 -33
  132. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts.map +0 -1
  133. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts +0 -2
  134. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts.map +0 -1
  135. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts +0 -4
  136. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts.map +0 -1
  137. package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +0 -1
  138. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts +0 -2
  139. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts.map +0 -1
  140. package/dist/types/src/transport/webrtc/rtc-transport-service.d.ts.map +0 -1
  141. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts +0 -4
  142. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts.map +0 -1
  143. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts +0 -2
  144. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts.map +0 -1
  145. package/dist/types/src/transport/webrtc/test-utils.d.ts +0 -5
  146. package/dist/types/src/transport/webrtc/test-utils.d.ts.map +0 -1
  147. package/dist/types/src/transport/webrtc/utils.d.ts +0 -3
  148. package/dist/types/src/transport/webrtc/utils.d.ts.map +0 -1
  149. package/src/tests/tcp-transport.node.test.ts +0 -65
  150. package/src/transport/tcp/index.ts +0 -5
  151. package/src/transport/webrtc/index.ts +0 -7
  152. package/src/transport/webrtc/rtc-connection-factory.ts +0 -82
  153. package/src/transport/webrtc/rtc-peer-connection.ts +0 -472
  154. package/src/transport/webrtc/rtc-transport-channel.test.ts +0 -176
  155. package/src/transport/webrtc/rtc-transport-channel.ts +0 -195
  156. package/src/transport/webrtc/rtc-transport-factory.ts +0 -28
  157. package/src/transport/webrtc/rtc-transport-proxy.test.ts +0 -413
  158. package/src/transport/webrtc/rtc-transport-proxy.ts +0 -264
  159. package/src/transport/webrtc/rtc-transport-service.ts +0 -192
  160. package/src/transport/webrtc/rtc-transport-stats.ts +0 -67
  161. package/src/transport/webrtc/rtc-transport.test.ts +0 -198
  162. package/src/transport/webrtc/test-utils.ts +0 -22
  163. package/src/transport/webrtc/utils.ts +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,mBAAmB,EAGnB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,KAAK,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAiD,aAAa,EAAE,MAAM,cAAc,CAAC;AAK5F,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAEtD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;gBAE9B,OAAO,GAAE,kBAAuB;IAE5D,mBAAmB;IAQnB,UAAU,CAAC,MAAM,GAAE,SAA8B;CAGlD;AAED;;GAEG;AACH,qBAAa,QAAQ;IAiBjB,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,MAAM,EAAE,SAAS;aACjB,SAAS,EAAE,aAAa;IAlB1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAY1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;gBAGlB,WAAW,EAAE,WAAW,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,aAEH;IAO1B,oBAAoB,CAAC,SAAS,EAAE,aAAa;IA6DvC,IAAI;IAMJ,KAAK;IASX,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAS/C,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,GAAE,4BAAuC,GAAG,mBAAmB;IAWvG,SAAS;IAIT,QAAQ;CAGf;AAGD,qBAAa,mBAAmB;IAI5B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B;IALzD,QAAQ,EAAE,gBAAgB,CAAC;gBAGhB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,4BAA4B;IASnD,IAAI,CAAC,QAAQ,yBAA+B;IAW5C,KAAK;CAIZ"}
1
+ {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,mBAAmB,EAGnB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAIjE,OAAO,EAAE,KAAK,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAOL,aAAa,EACd,MAAM,cAAc,CAAC;AAKtB,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAEtD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;gBAE9B,OAAO,GAAE,kBAAuB;IAE5D,mBAAmB;IAQnB,UAAU,CAAC,MAAM,GAAE,SAA8B;CAGlD;AAED;;GAEG;AACH,qBAAa,QAAQ;IAiBjB,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,MAAM,EAAE,SAAS;aACjB,SAAS,CAAC,EAAE,aAAa;IAlB3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAY1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;gBAGlB,WAAW,EAAE,WAAW,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,CAAC,EAAE,aAAa,YAAA;IAe3C,oBAAoB,CAAC,SAAS,EAAE,aAAa;IAgEvC,IAAI;IAMJ,KAAK;IASX,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAS/C,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,GAAE,4BAAuC,GAAG,mBAAmB;IAWvG,SAAS;IAIT,QAAQ;CAGf;AAGD,qBAAa,mBAAmB;IAI5B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B;IALzD,QAAQ,EAAE,gBAAgB,CAAC;gBAGhB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,4BAA4B;IASnD,IAAI,CAAC,QAAQ,yBAA+B;IAW5C,KAAK;CAIZ"}
@@ -9,6 +9,7 @@ export type TestTeleportExtension = {
9
9
  };
10
10
  export type TestTeleportExtensionFactory = () => TestTeleportExtension[];
11
11
  export declare class TestWireProtocol {
12
+ readonly peerId: PublicKey;
12
13
  private readonly _extensionFactory;
13
14
  readonly connections: ComplexMap<PublicKey, TestExtension>;
14
15
  readonly streamConnections: ComplexMap<PublicKey, TestExtensionWithStreams>;
@@ -18,7 +19,7 @@ export declare class TestWireProtocol {
18
19
  remotePeerId: PublicKey;
19
20
  extension: string;
20
21
  }, TeleportExtension>;
21
- constructor(_extensionFactory?: TestTeleportExtensionFactory);
22
+ constructor(peerId: PublicKey, _extensionFactory?: TestTeleportExtensionFactory);
22
23
  readonly factory: import("../wire-protocol").WireProtocolProvider;
23
24
  waitForConnection(peerId: PublicKey): Promise<TestExtension>;
24
25
  testConnection(peerId: PublicKey, message?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"test-wire-protocol.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-wire-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,qBAAqB,EAAE,CAAC;AAEzE,qBAAa,gBAAgB;IAWf,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAV9C,SAAgB,WAAW,uCAA4D;IACvF,SAAgB,iBAAiB,kDAAuE;IAExG,SAAgB,SAAS,mBAA0B;IACnD,SAAgB,YAAY,mBAA0B;IAEtD,SAAgB,gBAAgB;sBAAkC,SAAS;mBAAa,MAAM;0BAE5F;gBAE2B,iBAAiB,GAAE,4BAAuC;IAEvF,QAAQ,CAAC,OAAO,kDAwBb;IAEG,iBAAiB,CAAC,MAAM,EAAE,SAAS;IAanC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAKlD,UAAU,CACd,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IAQZ,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAOlF"}
1
+ {"version":3,"file":"test-wire-protocol.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-wire-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,qBAAqB,EAAE,CAAC;AAEzE,qBAAa,gBAAgB;aAYT,MAAM,EAAE,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAZpC,SAAgB,WAAW,uCAA4D;IACvF,SAAgB,iBAAiB,kDAAuE;IAExG,SAAgB,SAAS,mBAA0B;IACnD,SAAgB,YAAY,mBAA0B;IAEtD,SAAgB,gBAAgB;sBAAkC,SAAS;mBAAa,MAAM;0BAE5F;gBAGgB,MAAM,EAAE,SAAS,EAChB,iBAAiB,GAAE,4BAAuC;IAG7E,QAAQ,CAAC,OAAO,kDAwBb;IAEG,iBAAiB,CAAC,MAAM,EAAE,SAAS;IAanC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAKlD,UAAU,CACd,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IAQZ,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAOlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"basic-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/basic-test-suite.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAiB,WAAW,6BA+LtD,CAAC"}
1
+ {"version":3,"file":"basic-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/basic-test-suite.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAiB,WAAW,6BA4LtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/property-test-suite.ts"],"names":[],"mappings":"AAeA;;GAEG;AAEH,eAAO,MAAM,iBAAiB,YA0M7B,CAAC"}
1
+ {"version":3,"file":"property-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/property-test-suite.ts"],"names":[],"mappings":"AAgBA;;GAEG;AAEH,eAAO,MAAM,iBAAiB,YA0M7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tcp-transport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp-transport.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/tcp-transport.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/tests/utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAiB,QAAQ,EAAE,kBAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,UAAiB,QAAQ,EAAE,SAAS,SAAS,aAAa,QAAQ,CAAC,QAAQ,CAAC,mCAOjG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAiB,QAAQ,EAAE,SAAS,SAAS,mCAOnE,CAAC;AAEF;;GAEG;AAGH,eAAO,MAAM,gBAAgB,WAAkB,mBAAmB,UAAU,mBAAmB,YAAY,MAAM,kBAGhH,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/tests/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAiB,QAAQ,EAAE,kBAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,UAAiB,QAAQ,EAAE,SAAS,SAAS,aAAa,QAAQ,CAAC,QAAQ,CAAC,mCAOjG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAiB,QAAQ,EAAE,SAAS,SAAS,mCAOnE,CAAC;AAEF;;GAEG;AAGH,eAAO,MAAM,gBAAgB,WAAkB,mBAAmB,UAAU,mBAAmB,YAAY,MAAM,kBAGhH,CAAC"}
@@ -1,4 +1,8 @@
1
1
  export * from './memory-transport';
2
2
  export * from './transport';
3
- export * from './webrtc';
3
+ export * from './simplepeer-transport';
4
+ export * from './simplepeer-transport-service';
5
+ export * from './simplepeer-transport-proxy';
6
+ export * from './libdatachannel-transport';
7
+ export * from './tcp-transport';
4
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC"}
@@ -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.13-main.ed424a1",
3
+ "version": "0.6.13",
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
- "./transport/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
- "transport/tcp": [
64
- "dist/types/src/transport/tcp/index.d.ts"
65
34
  ]
66
35
  }
67
36
  },
@@ -72,37 +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/context": "0.6.13-main.ed424a1",
84
- "@dxos/codec-protobuf": "0.6.13-main.ed424a1",
85
- "@dxos/async": "0.6.13-main.ed424a1",
86
- "@dxos/debug": "0.6.13-main.ed424a1",
87
- "@dxos/invariant": "0.6.13-main.ed424a1",
88
- "@dxos/log": "0.6.13-main.ed424a1",
89
- "@dxos/messaging": "0.6.13-main.ed424a1",
90
- "@dxos/node-std": "0.6.13-main.ed424a1",
91
- "@dxos/protocols": "0.6.13-main.ed424a1",
92
- "@dxos/keys": "0.6.13-main.ed424a1",
93
- "@dxos/rpc": "0.6.13-main.ed424a1",
94
- "@dxos/teleport": "0.6.13-main.ed424a1",
95
- "@dxos/tracing": "0.6.13-main.ed424a1",
96
- "@dxos/util": "0.6.13-main.ed424a1"
54
+ "@dxos/codec-protobuf": "0.6.13",
55
+ "@dxos/async": "0.6.13",
56
+ "@dxos/config": "0.6.13",
57
+ "@dxos/context": "0.6.13",
58
+ "@dxos/crypto": "0.6.13",
59
+ "@dxos/credentials": "0.6.13",
60
+ "@dxos/debug": "0.6.13",
61
+ "@dxos/edge-client": "0.6.13",
62
+ "@dxos/keys": "0.6.13",
63
+ "@dxos/invariant": "0.6.13",
64
+ "@dxos/log": "0.6.13",
65
+ "@dxos/messaging": "0.6.13",
66
+ "@dxos/node-std": "0.6.13",
67
+ "@dxos/rpc": "0.6.13",
68
+ "@dxos/util": "0.6.13",
69
+ "@dxos/protocols": "0.6.13",
70
+ "@dxos/teleport": "0.6.13"
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/edge-client": "0.6.13-main.ed424a1",
104
- "@dxos/signal": "0.6.13-main.ed424a1",
105
- "@dxos/keyring": "0.6.13-main.ed424a1"
79
+ "typescript": "^5.5.4",
80
+ "@dxos/signal": "0.6.13"
106
81
  },
107
82
  "publishConfig": {
108
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
+ };
@@ -152,23 +152,31 @@ export class SwarmNetworkManager {
152
152
  */
153
153
  @synchronized
154
154
  async joinSwarm({
155
- topic, //
155
+ topic,
156
+ peerInfo,
156
157
  topology,
157
158
  protocolProvider: protocol,
158
159
  label,
159
160
  }: SwarmOptions): Promise<SwarmConnection> {
160
161
  invariant(PublicKey.isPublicKey(topic));
162
+ if (!peerInfo) {
163
+ peerInfo = {
164
+ peerKey: this._peerInfo?.peerKey ?? PublicKey.random().toHex(),
165
+ identityKey: this._peerInfo?.identityKey ?? PublicKey.random().toHex(),
166
+ };
167
+ }
168
+ invariant(PublicKey.from(peerInfo.peerKey));
169
+ invariant(PublicKey.from(peerInfo.identityKey!));
161
170
  invariant(topology);
162
- invariant(this._peerInfo);
163
171
  invariant(typeof protocol === 'function');
164
172
  if (this._swarms.has(topic)) {
165
173
  throw new Error(`Already connected to swarm: ${PublicKey.from(topic)}`);
166
174
  }
167
175
 
168
- log('joining', { topic: PublicKey.from(topic), peerInfo: this._peerInfo, topology: topology.toString() }); // TODO(burdon): Log peerId.
176
+ log('joining', { topic: PublicKey.from(topic), peerInfo, topology: topology.toString() }); // TODO(burdon): Log peerId.
169
177
  const swarm = new Swarm(
170
178
  topic,
171
- this._peerInfo,
179
+ peerInfo,
172
180
  topology,
173
181
  protocol,
174
182
  this._messenger,
@@ -187,7 +195,7 @@ export class SwarmNetworkManager {
187
195
  // Open before joining.
188
196
  await swarm.open();
189
197
 
190
- this._signalConnection.join({ topic, peer: this._peerInfo }).catch((error) => log.catch(error));
198
+ this._signalConnection.join({ topic, peer: peerInfo }).catch((error) => log.catch(error));
191
199
 
192
200
  this.topicsUpdated.emit();
193
201
  this._connectionLog?.joinedSwarm(swarm);