@dxos/network-manager 0.6.8-main.3be982f → 0.6.8-staging.63bcb81

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 (49) hide show
  1. package/dist/lib/browser/{chunk-ZT4NXID2.mjs → chunk-ZQ4OU7JZ.mjs} +289 -251
  2. package/dist/lib/browser/chunk-ZQ4OU7JZ.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +5 -2
  6. package/dist/lib/browser/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/{chunk-DZJ3BJOK.cjs → chunk-IQBYIEAR.cjs} +294 -256
  8. package/dist/lib/node/chunk-IQBYIEAR.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +28 -28
  10. package/dist/lib/node/index.cjs.map +1 -1
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/testing/index.cjs +22 -19
  13. package/dist/lib/node/testing/index.cjs.map +3 -3
  14. package/dist/types/src/network-manager.d.ts +9 -6
  15. package/dist/types/src/network-manager.d.ts.map +1 -1
  16. package/dist/types/src/signal/signal-connection.d.ts +3 -2
  17. package/dist/types/src/signal/signal-connection.d.ts.map +1 -1
  18. package/dist/types/src/signal/signal-messenger.d.ts +5 -4
  19. package/dist/types/src/signal/signal-messenger.d.ts.map +1 -1
  20. package/dist/types/src/signal/swarm-messenger.d.ts +4 -7
  21. package/dist/types/src/signal/swarm-messenger.d.ts.map +1 -1
  22. package/dist/types/src/swarm/connection.d.ts +4 -4
  23. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  24. package/dist/types/src/swarm/peer.d.ts +5 -4
  25. package/dist/types/src/swarm/peer.d.ts.map +1 -1
  26. package/dist/types/src/swarm/swarm-mapper.d.ts.map +1 -1
  27. package/dist/types/src/swarm/swarm.d.ts +4 -4
  28. package/dist/types/src/swarm/swarm.d.ts.map +1 -1
  29. package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
  30. package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
  31. package/package.json +19 -18
  32. package/src/connection-log.ts +1 -1
  33. package/src/network-manager.ts +27 -13
  34. package/src/signal/integration.test.ts +25 -19
  35. package/src/signal/signal-connection.ts +3 -2
  36. package/src/signal/signal-messenger.ts +5 -4
  37. package/src/signal/swarm-messenger.test.ts +21 -21
  38. package/src/signal/swarm-messenger.ts +11 -10
  39. package/src/swarm/connection.test.ts +19 -17
  40. package/src/swarm/connection.ts +16 -15
  41. package/src/swarm/peer.ts +41 -35
  42. package/src/swarm/swarm-mapper.ts +7 -6
  43. package/src/swarm/swarm.test.ts +36 -28
  44. package/src/swarm/swarm.ts +57 -53
  45. package/src/testing/test-builder.ts +1 -1
  46. package/src/tests/basic-test-suite.ts +8 -5
  47. package/src/tests/property-test-suite.ts +4 -1
  48. package/dist/lib/browser/chunk-ZT4NXID2.mjs.map +0 -7
  49. package/dist/lib/node/chunk-DZJ3BJOK.cjs.map +0 -7
@@ -1 +1 @@
1
- {"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytes":54628,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytes":46709,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytes":3945,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytes":22514,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-connection.ts":{"bytes":1157,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-messenger.ts":{"bytes":1580,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytes":832,"imports":[{"path":"packages/core/mesh/network-manager/src/signal/ice.ts","kind":"import-statement","original":"./ice"},{"path":"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts","kind":"import-statement","original":"./swarm-messenger"},{"path":"packages/core/mesh/network-manager/src/signal/signal-connection.ts","kind":"import-statement","original":"./signal-connection"},{"path":"packages/core/mesh/network-manager/src/signal/signal-messenger.ts","kind":"import-statement","original":"./signal-messenger"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytes":50117,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/peer.ts","kind":"import-statement","original":"./peer"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"../signal"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytes":11982,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytes":8620,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytes":817,"imports":[{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts","kind":"import-statement","original":"./swarm-mapper"},{"path":"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts","kind":"import-statement","original":"./connection-limiter"}],"format":"esm"},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytes":16247,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytes":26755,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytes":3621,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytes":18138,"imports":[{"path":"xor-distance","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytes":8188,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/topology.ts":{"bytes":2382,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytes":853,"imports":[{"path":"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts","kind":"import-statement","original":"./fully-connected-topology"},{"path":"packages/core/mesh/network-manager/src/topology/mmst-topology.ts","kind":"import-statement","original":"./mmst-topology"},{"path":"packages/core/mesh/network-manager/src/topology/star-topology.ts","kind":"import-statement","original":"./star-topology"},{"path":"packages/core/mesh/network-manager/src/topology/topology.ts","kind":"import-statement","original":"./topology"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytes":23274,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytes":3122,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc.ts":{"bytes":1189,"imports":[{"path":"@koush/wrtc","kind":"require-call","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts":{"bytes":32910,"imports":[{"path":"simple-peer","kind":"import-statement","external":true},{"path":"tiny-invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts":{"bytes":16894,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts","kind":"import-statement","original":"./simplepeer-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts":{"bytes":28099,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts":{"bytes":47822,"imports":[{"path":"stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/tcp-transport.ts":{"bytes":14524,"imports":[{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytes":1256,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/memory-transport.ts","kind":"import-statement","original":"./memory-transport"},{"path":"packages/core/mesh/network-manager/src/transport/transport.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts","kind":"import-statement","original":"./simplepeer-transport"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts","kind":"import-statement","original":"./simplepeer-transport-service"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts","kind":"import-statement","original":"./simplepeer-transport-proxy"},{"path":"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts","kind":"import-statement","original":"./libdatachannel-transport"},{"path":"packages/core/mesh/network-manager/src/transport/tcp-transport.ts","kind":"import-statement","original":"./tcp-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/types.ts":{"bytes":630,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytes":4331,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/index.ts":{"bytes":1165,"imports":[{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"./network-manager"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"./signal"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"./topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"./wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytes":12924,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"../wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytes":26939,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts","kind":"import-statement","original":"./test-wire-protocol"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"../network-manager"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"../topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"../transport"},{"path":"packages/core/mesh/network-manager/src/transport/tcp-transport.ts","kind":"import-statement","original":"../transport/tcp-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytes":526,"imports":[{"path":"packages/core/mesh/network-manager/src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"}},"outputs":{"packages/core/mesh/network-manager/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/mesh/network-manager/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node/chunk-DZJ3BJOK.cjs","kind":"import-statement"}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","LibDataChannelTransport","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","SimplePeerTransport","SimplePeerTransportProxy","SimplePeerTransportProxyFactory","SimplePeerTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TcpTransport","TcpTransportFactory","TransportKind","createIceProvider","createLibDataChannelTransportFactory","createSimplePeerTransportFactory","createTeleportProtocolFactory"],"entryPoint":"packages/core/mesh/network-manager/src/index.ts","inputs":{"packages/core/mesh/network-manager/src/index.ts":{"bytesInOutput":0}},"bytes":1329},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19112},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node/chunk-DZJ3BJOK.cjs","kind":"import-statement"},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["TEST_SIGNAL_HOSTS","TestBuilder","TestPeer","TestSwarmConnection"],"entryPoint":"packages/core/mesh/network-manager/src/testing/index.ts","inputs":{"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytesInOutput":6109},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytesInOutput":3230},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytesInOutput":0}},"bytes":9992},"packages/core/mesh/network-manager/dist/lib/node/chunk-DZJ3BJOK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":197732},"packages/core/mesh/network-manager/dist/lib/node/chunk-DZJ3BJOK.cjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"xor-distance","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"simple-peer","kind":"import-statement","external":true},{"path":"tiny-invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@koush/wrtc","kind":"require-call","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","LibDataChannelTransport","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","SimplePeerTransport","SimplePeerTransportProxy","SimplePeerTransportProxyFactory","SimplePeerTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TcpTransport","TcpTransportFactory","TransportKind","createIceProvider","createLibDataChannelTransportFactory","createSimplePeerTransportFactory","createTeleportProtocolFactory"],"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytesInOutput":15909},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytesInOutput":928},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytesInOutput":6235},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytesInOutput":14410},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytesInOutput":13223},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytesInOutput":2135},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytesInOutput":2596},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytesInOutput":3413},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytesInOutput":7271},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytesInOutput":965},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytesInOutput":5342},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytesInOutput":2489},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytesInOutput":6210},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytesInOutput":327},"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts":{"bytesInOutput":9356},"packages/core/mesh/network-manager/src/transport/webrtc.ts":{"bytesInOutput":70},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts":{"bytesInOutput":4524},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts":{"bytesInOutput":7619},"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts":{"bytesInOutput":13392},"packages/core/mesh/network-manager/src/transport/tcp-transport.ts":{"bytesInOutput":3798},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytesInOutput":537}},"bytes":123370}}}
1
+ {"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytes":54998,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytes":47352,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytes":3945,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytes":22454,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-connection.ts":{"bytes":1217,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-messenger.ts":{"bytes":1640,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytes":832,"imports":[{"path":"packages/core/mesh/network-manager/src/signal/ice.ts","kind":"import-statement","original":"./ice"},{"path":"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts","kind":"import-statement","original":"./swarm-messenger"},{"path":"packages/core/mesh/network-manager/src/signal/signal-connection.ts","kind":"import-statement","original":"./signal-connection"},{"path":"packages/core/mesh/network-manager/src/signal/signal-messenger.ts","kind":"import-statement","original":"./signal-messenger"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytes":51902,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/peer.ts","kind":"import-statement","original":"./peer"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"../signal"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytes":12298,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytes":8620,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytes":817,"imports":[{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts","kind":"import-statement","original":"./swarm-mapper"},{"path":"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts","kind":"import-statement","original":"./connection-limiter"}],"format":"esm"},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytes":16365,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytes":28756,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytes":3621,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytes":18138,"imports":[{"path":"xor-distance","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytes":8188,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/topology.ts":{"bytes":2382,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytes":853,"imports":[{"path":"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts","kind":"import-statement","original":"./fully-connected-topology"},{"path":"packages/core/mesh/network-manager/src/topology/mmst-topology.ts","kind":"import-statement","original":"./mmst-topology"},{"path":"packages/core/mesh/network-manager/src/topology/star-topology.ts","kind":"import-statement","original":"./star-topology"},{"path":"packages/core/mesh/network-manager/src/topology/topology.ts","kind":"import-statement","original":"./topology"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytes":23274,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytes":3122,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc.ts":{"bytes":1189,"imports":[{"path":"@koush/wrtc","kind":"require-call","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts":{"bytes":32910,"imports":[{"path":"simple-peer","kind":"import-statement","external":true},{"path":"tiny-invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts":{"bytes":16894,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts","kind":"import-statement","original":"./simplepeer-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts":{"bytes":28099,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts":{"bytes":47822,"imports":[{"path":"stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/tcp-transport.ts":{"bytes":14524,"imports":[{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytes":1256,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/memory-transport.ts","kind":"import-statement","original":"./memory-transport"},{"path":"packages/core/mesh/network-manager/src/transport/transport.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts","kind":"import-statement","original":"./simplepeer-transport"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts","kind":"import-statement","original":"./simplepeer-transport-service"},{"path":"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts","kind":"import-statement","original":"./simplepeer-transport-proxy"},{"path":"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts","kind":"import-statement","original":"./libdatachannel-transport"},{"path":"packages/core/mesh/network-manager/src/transport/tcp-transport.ts","kind":"import-statement","original":"./tcp-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/types.ts":{"bytes":630,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytes":4331,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/index.ts":{"bytes":1165,"imports":[{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"./network-manager"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"./signal"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"./topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"./wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytes":12924,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"../wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytes":27297,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts","kind":"import-statement","original":"./test-wire-protocol"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"../network-manager"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"../topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"../transport"},{"path":"packages/core/mesh/network-manager/src/transport/tcp-transport.ts","kind":"import-statement","original":"../transport/tcp-transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytes":526,"imports":[{"path":"packages/core/mesh/network-manager/src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"}},"outputs":{"packages/core/mesh/network-manager/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/mesh/network-manager/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node/chunk-IQBYIEAR.cjs","kind":"import-statement"}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","LibDataChannelTransport","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","SimplePeerTransport","SimplePeerTransportProxy","SimplePeerTransportProxyFactory","SimplePeerTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TcpTransport","TcpTransportFactory","TransportKind","createIceProvider","createLibDataChannelTransportFactory","createSimplePeerTransportFactory","createTeleportProtocolFactory"],"entryPoint":"packages/core/mesh/network-manager/src/index.ts","inputs":{"packages/core/mesh/network-manager/src/index.ts":{"bytesInOutput":0}},"bytes":1329},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19283},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node/chunk-IQBYIEAR.cjs","kind":"import-statement"},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["TEST_SIGNAL_HOSTS","TestBuilder","TestPeer","TestSwarmConnection"],"entryPoint":"packages/core/mesh/network-manager/src/testing/index.ts","inputs":{"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytesInOutput":6193},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytesInOutput":3230},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytesInOutput":0}},"bytes":10076},"packages/core/mesh/network-manager/dist/lib/node/chunk-IQBYIEAR.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":200090},"packages/core/mesh/network-manager/dist/lib/node/chunk-IQBYIEAR.cjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"xor-distance","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"simple-peer","kind":"import-statement","external":true},{"path":"tiny-invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@koush/wrtc","kind":"require-call","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","LibDataChannelTransport","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","SimplePeerTransport","SimplePeerTransportProxy","SimplePeerTransportProxyFactory","SimplePeerTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TcpTransport","TcpTransportFactory","TransportKind","createIceProvider","createLibDataChannelTransportFactory","createSimplePeerTransportFactory","createTeleportProtocolFactory"],"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytesInOutput":16021},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytesInOutput":928},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytesInOutput":6235},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytesInOutput":15026},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytesInOutput":13378},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytesInOutput":2225},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytesInOutput":2596},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytesInOutput":3440},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytesInOutput":7840},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytesInOutput":965},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytesInOutput":5342},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytesInOutput":2489},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytesInOutput":6210},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytesInOutput":327},"packages/core/mesh/network-manager/src/transport/simplepeer-transport.ts":{"bytesInOutput":9356},"packages/core/mesh/network-manager/src/transport/webrtc.ts":{"bytesInOutput":70},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-service.ts":{"bytesInOutput":4524},"packages/core/mesh/network-manager/src/transport/simplepeer-transport-proxy.ts":{"bytesInOutput":7619},"packages/core/mesh/network-manager/src/transport/libdatachannel-transport.ts":{"bytesInOutput":13392},"packages/core/mesh/network-manager/src/transport/tcp-transport.ts":{"bytesInOutput":3798},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytesInOutput":537}},"bytes":124939}}}
@@ -24,7 +24,7 @@ __export(testing_exports, {
24
24
  TestSwarmConnection: () => TestSwarmConnection
25
25
  });
26
26
  module.exports = __toCommonJS(testing_exports);
27
- var import_chunk_DZJ3BJOK = require("../chunk-DZJ3BJOK.cjs");
27
+ var import_chunk_IQBYIEAR = require("../chunk-IQBYIEAR.cjs");
28
28
  var import_keys = require("@dxos/keys");
29
29
  var import_log = require("@dxos/log");
30
30
  var import_messaging = require("@dxos/messaging");
@@ -47,7 +47,7 @@ var TestWireProtocol = class {
47
47
  this.connected = new import_async.Event();
48
48
  this.disconnected = new import_async.Event();
49
49
  this.otherConnections = new import_util2.ComplexMap(({ remotePeerId, extension }) => remotePeerId.toHex() + extension);
50
- this.factory = (0, import_chunk_DZJ3BJOK.createTeleportProtocolFactory)(async (teleport) => {
50
+ this.factory = (0, import_chunk_IQBYIEAR.createTeleportProtocolFactory)(async (teleport) => {
51
51
  (0, import_log2.log)("create", {
52
52
  remotePeerId: teleport.remotePeerId
53
53
  }, {
@@ -150,9 +150,9 @@ var TestPeer = class {
150
150
  this._signalManager = this.testBuilder.createSignalManager();
151
151
  if (!transport) {
152
152
  if (this.testBuilder.options.signalHosts) {
153
- transport = process.env.MOCHA_ENV === "nodejs" ? import_chunk_DZJ3BJOK.TransportKind.LIBDATACHANNEL : import_chunk_DZJ3BJOK.TransportKind.SIMPLE_PEER;
153
+ transport = process.env.MOCHA_ENV === "nodejs" ? import_chunk_IQBYIEAR.TransportKind.LIBDATACHANNEL : import_chunk_IQBYIEAR.TransportKind.SIMPLE_PEER;
154
154
  } else {
155
- transport = import_chunk_DZJ3BJOK.TransportKind.MEMORY;
155
+ transport = import_chunk_IQBYIEAR.TransportKind.MEMORY;
156
156
  }
157
157
  }
158
158
  this._networkManager = this.createNetworkManager(transport);
@@ -168,18 +168,18 @@ var TestPeer = class {
168
168
  C: (f, a) => f(...a)
169
169
  });
170
170
  switch (transport) {
171
- case import_chunk_DZJ3BJOK.TransportKind.MEMORY:
171
+ case import_chunk_IQBYIEAR.TransportKind.MEMORY:
172
172
  throw new Error("Memory transport not supported with signal server.");
173
- case import_chunk_DZJ3BJOK.TransportKind.TCP:
174
- transportFactory = import_chunk_DZJ3BJOK.TcpTransportFactory;
173
+ case import_chunk_IQBYIEAR.TransportKind.TCP:
174
+ transportFactory = import_chunk_IQBYIEAR.TcpTransportFactory;
175
175
  break;
176
- case import_chunk_DZJ3BJOK.TransportKind.SIMPLE_PEER:
177
- transportFactory = (0, import_chunk_DZJ3BJOK.createSimplePeerTransportFactory)();
176
+ case import_chunk_IQBYIEAR.TransportKind.SIMPLE_PEER:
177
+ transportFactory = (0, import_chunk_IQBYIEAR.createSimplePeerTransportFactory)();
178
178
  break;
179
- case import_chunk_DZJ3BJOK.TransportKind.LIBDATACHANNEL:
180
- transportFactory = (0, import_chunk_DZJ3BJOK.createLibDataChannelTransportFactory)();
179
+ case import_chunk_IQBYIEAR.TransportKind.LIBDATACHANNEL:
180
+ transportFactory = (0, import_chunk_IQBYIEAR.createLibDataChannelTransportFactory)();
181
181
  break;
182
- case import_chunk_DZJ3BJOK.TransportKind.SIMPLE_PEER_PROXY:
182
+ case import_chunk_IQBYIEAR.TransportKind.SIMPLE_PEER_PROXY:
183
183
  {
184
184
  const [proxyPort, servicePort] = (0, import_rpc.createLinkedPorts)();
185
185
  this._proxy = (0, import_rpc.createProtoRpcPeer)({
@@ -198,21 +198,21 @@ var TestPeer = class {
198
198
  BridgeService: import_protocols.schema.getService("dxos.mesh.bridge.BridgeService")
199
199
  },
200
200
  handlers: {
201
- BridgeService: new import_chunk_DZJ3BJOK.SimplePeerTransportService()
201
+ BridgeService: new import_chunk_IQBYIEAR.SimplePeerTransportService()
202
202
  },
203
203
  noHandshake: true,
204
204
  encodingOptions: {
205
205
  preserveAny: true
206
206
  }
207
207
  });
208
- transportFactory = new import_chunk_DZJ3BJOK.SimplePeerTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);
208
+ transportFactory = new import_chunk_IQBYIEAR.SimplePeerTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);
209
209
  }
210
210
  break;
211
211
  default:
212
212
  throw new Error(`Unsupported transport: ${transport}`);
213
213
  }
214
214
  } else {
215
- if (transport !== import_chunk_DZJ3BJOK.TransportKind.MEMORY && transport !== import_chunk_DZJ3BJOK.TransportKind.TCP) {
215
+ if (transport !== import_chunk_IQBYIEAR.TransportKind.MEMORY && transport !== import_chunk_IQBYIEAR.TransportKind.TCP) {
216
216
  import_log.log.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`, void 0, {
217
217
  F: __dxlog_file2,
218
218
  L: 155,
@@ -226,9 +226,9 @@ var TestPeer = class {
226
226
  S: this,
227
227
  C: (f, a) => f(...a)
228
228
  });
229
- transportFactory = import_chunk_DZJ3BJOK.MemoryTransportFactory;
229
+ transportFactory = import_chunk_IQBYIEAR.MemoryTransportFactory;
230
230
  }
231
- return new import_chunk_DZJ3BJOK.SwarmNetworkManager({
231
+ return new import_chunk_IQBYIEAR.SwarmNetworkManager({
232
232
  signalManager: this._signalManager,
233
233
  transportFactory
234
234
  });
@@ -273,10 +273,13 @@ var TestSwarmConnection = class {
273
273
  }
274
274
  // TODO(burdon): Need to create new plugin instance per swarm?
275
275
  // If so, then perhaps joinSwarm should return swarm object with access to plugins.
276
- async join(topology = new import_chunk_DZJ3BJOK.FullyConnectedTopology()) {
276
+ async join(topology = new import_chunk_IQBYIEAR.FullyConnectedTopology()) {
277
277
  await this.peer._networkManager.joinSwarm({
278
278
  topic: this.topic,
279
- peerId: this.peer.peerId,
279
+ peerInfo: {
280
+ peerKey: this.peer.peerId.toHex(),
281
+ identityKey: this.peer.peerId.toHex()
282
+ },
280
283
  protocolProvider: this.protocol.factory,
281
284
  topology
282
285
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/test-builder.ts", "../../../../src/testing/test-wire-protocol.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport {\n MemorySignalManager,\n MemorySignalManagerContext,\n type SignalManager,\n WebsocketSignalManager,\n} from '@dxos/messaging';\nimport { schema } from '@dxos/protocols';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Runtime } from '@dxos/protocols/proto/dxos/config';\nimport { createLinkedPorts, createProtoRpcPeer, type ProtoRpcPeer } from '@dxos/rpc';\nimport { ComplexMap } from '@dxos/util';\n\nimport { type TestTeleportExtensionFactory, TestWireProtocol } from './test-wire-protocol';\nimport { SwarmNetworkManager } from '../network-manager';\nimport { FullyConnectedTopology } from '../topology';\nimport {\n createLibDataChannelTransportFactory,\n createSimplePeerTransportFactory,\n MemoryTransportFactory,\n SimplePeerTransportProxyFactory,\n SimplePeerTransportService,\n type TransportFactory,\n TransportKind,\n} from '../transport';\nimport { TcpTransportFactory } from '../transport/tcp-transport';\n\n// Signal server will be started by the setup script.\nconst port = process.env.SIGNAL_PORT ?? 4000;\nexport const TEST_SIGNAL_HOSTS: Runtime.Services.Signal[] = [\n { server: `ws://localhost:${port}/.well-known/dx/signal` },\n];\n\nexport type TestBuilderOptions = {\n signalHosts?: Runtime.Services.Signal[];\n bridge?: boolean;\n transport?: TransportKind;\n};\n\n/**\n * Builder used to construct networks and peers.\n */\nexport class TestBuilder {\n private _signalContext = new MemorySignalManagerContext();\n\n constructor(public readonly options: TestBuilderOptions = {}) {}\n\n createSignalManager() {\n if (this.options.signalHosts) {\n return new WebsocketSignalManager(this.options.signalHosts);\n }\n\n return new MemorySignalManager(this._signalContext);\n }\n\n createPeer(peerId: PublicKey = PublicKey.random()) {\n return new TestPeer(this, peerId, this.options.transport);\n }\n}\n\n/**\n * Testing network peer.\n */\nexport class TestPeer {\n private readonly _swarms = new ComplexMap<PublicKey, TestSwarmConnection>(PublicKey.hash);\n\n /**\n * @internal\n */\n readonly _signalManager: SignalManager;\n\n /**\n * @internal\n */\n readonly _networkManager: SwarmNetworkManager;\n\n private _proxy?: ProtoRpcPeer<any>;\n private _service?: ProtoRpcPeer<any>;\n\n constructor(\n private readonly testBuilder: TestBuilder,\n public readonly peerId: PublicKey,\n public readonly transport?: TransportKind,\n ) {\n this._signalManager = this.testBuilder.createSignalManager();\n if (!transport) {\n if (this.testBuilder.options.signalHosts) {\n // TODO(nf): configure better\n transport = process.env.MOCHA_ENV === 'nodejs' ? TransportKind.LIBDATACHANNEL : TransportKind.SIMPLE_PEER;\n } else {\n transport = TransportKind.MEMORY;\n }\n }\n this._networkManager = this.createNetworkManager(transport);\n }\n\n // TODO(burdon): Move to TestBuilder.\n createNetworkManager(transport: TransportKind) {\n let transportFactory: TransportFactory;\n if (this.testBuilder.options.signalHosts) {\n log.info(`using ${transport} transport with signal server.`);\n switch (transport) {\n case TransportKind.MEMORY:\n throw new Error('Memory transport not supported with signal server.');\n case TransportKind.TCP:\n transportFactory = TcpTransportFactory;\n break;\n case TransportKind.SIMPLE_PEER:\n transportFactory = createSimplePeerTransportFactory();\n break;\n case TransportKind.LIBDATACHANNEL:\n transportFactory = createLibDataChannelTransportFactory();\n break;\n case TransportKind.SIMPLE_PEER_PROXY:\n {\n // Simulates bridge to shared worker.\n const [proxyPort, servicePort] = createLinkedPorts();\n\n this._proxy = createProtoRpcPeer({\n port: proxyPort,\n requested: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n this._service = createProtoRpcPeer({\n port: servicePort,\n exposed: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n handlers: { BridgeService: new SimplePeerTransportService() },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n transportFactory = new SimplePeerTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);\n }\n break;\n default:\n throw new Error(`Unsupported transport: ${transport}`);\n }\n } else {\n if (transport !== TransportKind.MEMORY && transport !== TransportKind.TCP) {\n log.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`);\n }\n log.info(`using ${transport} transport without signal server.`);\n transportFactory = MemoryTransportFactory;\n }\n\n return new SwarmNetworkManager({\n signalManager: this._signalManager,\n transportFactory,\n });\n }\n\n async open() {\n await this._networkManager.open();\n await this._proxy?.open();\n await this._service?.open();\n }\n\n async close() {\n await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));\n this._swarms.clear();\n\n await this._proxy?.close();\n await this._service?.close();\n await this._networkManager.close();\n }\n\n getSwarm(topic: PublicKey): TestSwarmConnection {\n const swarm = this._swarms.get(topic);\n if (!swarm) {\n throw new Error(`Swarm not found for topic: ${topic}`);\n }\n\n return swarm;\n }\n\n createSwarm(topic: PublicKey, extensionFactory: TestTeleportExtensionFactory = () => []): TestSwarmConnection {\n // TODO(burdon): Multiple.\n // if (this._swarms.get(topic)) {\n // throw new Error(`Swarm already exists for topic: ${topic.truncate()}`);\n // }\n\n const swarm = new TestSwarmConnection(this, topic, extensionFactory);\n this._swarms.set(topic, swarm);\n return swarm;\n }\n\n async goOffline() {\n await this._networkManager.setConnectionState(ConnectionState.OFFLINE);\n }\n\n async goOnline() {\n await this._networkManager.setConnectionState(ConnectionState.ONLINE);\n }\n}\n\n// TODO(burdon): Reconcile with new Swarm concept.\nexport class TestSwarmConnection {\n protocol: TestWireProtocol;\n\n constructor(\n readonly peer: TestPeer,\n readonly topic: PublicKey,\n readonly extensionFactory: TestTeleportExtensionFactory,\n ) {\n // TODO(burdon): Configure plugins.\n // TODO(burdon): Prevent reuse?\n this.protocol = new TestWireProtocol(this.peer.peerId, this.extensionFactory);\n }\n\n // TODO(burdon): Need to create new plugin instance per swarm?\n // If so, then perhaps joinSwarm should return swarm object with access to plugins.\n async join(topology = new FullyConnectedTopology()) {\n await this.peer._networkManager.joinSwarm({\n topic: this.topic,\n peerId: this.peer.peerId,\n protocolProvider: this.protocol.factory,\n topology,\n });\n\n return this;\n }\n\n async leave() {\n await this.peer._networkManager.leaveSwarm(this.topic);\n return this;\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { asyncTimeout, Event } from '@dxos/async';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { TestExtension, TestExtensionWithStreams } from '@dxos/teleport';\nimport type { TestStreamStats, TeleportExtension } from '@dxos/teleport';\nimport { ComplexMap } from '@dxos/util';\n\nimport { createTeleportProtocolFactory } from '../wire-protocol';\n\nexport type TestTeleportExtension = {\n name: string;\n extension: TeleportExtension;\n};\n\nexport type TestTeleportExtensionFactory = () => TestTeleportExtension[];\n\nexport class TestWireProtocol {\n public readonly connections = new ComplexMap<PublicKey, TestExtension>(PublicKey.hash);\n public readonly streamConnections = new ComplexMap<PublicKey, TestExtensionWithStreams>(PublicKey.hash);\n\n public readonly connected = new Event<PublicKey>();\n public readonly disconnected = new Event<PublicKey>();\n\n public readonly otherConnections = new ComplexMap<{ remotePeerId: PublicKey; extension: string }, TeleportExtension>(\n ({ remotePeerId, extension }) => remotePeerId.toHex() + extension,\n );\n\n constructor(\n public readonly peerId: PublicKey,\n private readonly _extensionFactory: TestTeleportExtensionFactory = () => [],\n ) {}\n\n readonly factory = createTeleportProtocolFactory(async (teleport) => {\n log('create', { remotePeerId: teleport.remotePeerId });\n const extension = new TestExtension({\n onClose: async () => {\n this.connections.delete(teleport.remotePeerId);\n this.disconnected.emit(teleport.remotePeerId);\n },\n });\n this.connections.set(teleport.remotePeerId, extension);\n teleport.addExtension('test', extension);\n this.connected.emit(teleport.remotePeerId);\n\n const streamExtension = new TestExtensionWithStreams({\n onClose: async () => {\n this.streamConnections.delete(teleport.remotePeerId);\n },\n });\n this.streamConnections.set(teleport.remotePeerId, streamExtension);\n teleport.addExtension('test-stream', streamExtension);\n\n for (const { name, extension } of this._extensionFactory()) {\n this.otherConnections.set({ remotePeerId: teleport.remotePeerId, extension: name }, extension);\n teleport.addExtension(name, extension);\n }\n });\n\n async waitForConnection(peerId: PublicKey) {\n if (this.connections.has(peerId)) {\n return this.connections.get(peerId)!;\n }\n log('waitForConnection', { peerId });\n await asyncTimeout(\n this.connected.waitFor((connectedId) => connectedId.equals(peerId)),\n // TODO(nf): Make this configurable.\n 10_000,\n );\n return this.connections.get(peerId)!;\n }\n\n async testConnection(peerId: PublicKey, message?: string) {\n const connection = await this.waitForConnection(peerId);\n await connection.test(message);\n }\n\n async openStream(\n peerId: PublicKey,\n streamTag: string,\n streamLoadInterval: number,\n streamLoadChunkSize: number,\n ): Promise<string> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.addNewStream(streamLoadInterval, streamLoadChunkSize, streamTag);\n }\n\n async closeStream(peerId: PublicKey, streamTag: string): Promise<TestStreamStats> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.closeStream(streamTag);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_keys", "import_log", "import_util", "TestWireProtocol", "constructor", "peerId", "_extensionFactory", "connections", "ComplexMap", "PublicKey", "hash", "streamConnections", "connected", "Event", "disconnected", "otherConnections", "remotePeerId", "extension", "toHex", "factory", "createTeleportProtocolFactory", "teleport", "log", "TestExtension", "onClose", "delete", "emit", "set", "addExtension", "streamExtension", "TestExtensionWithStreams", "name", "waitForConnection", "has", "get", "asyncTimeout", "waitFor", "connectedId", "equals", "testConnection", "message", "connection", "test", "openStream", "streamTag", "streamLoadInterval", "streamLoadChunkSize", "Error", "addNewStream", "closeStream", "port", "process", "env", "SIGNAL_PORT", "TEST_SIGNAL_HOSTS", "server", "TestBuilder", "options", "_signalContext", "MemorySignalManagerContext", "createSignalManager", "signalHosts", "WebsocketSignalManager", "MemorySignalManager", "createPeer", "random", "TestPeer", "transport", "testBuilder", "_swarms", "_signalManager", "MOCHA_ENV", "TransportKind", "LIBDATACHANNEL", "SIMPLE_PEER", "MEMORY", "_networkManager", "createNetworkManager", "transportFactory", "info", "TCP", "TcpTransportFactory", "createSimplePeerTransportFactory", "createLibDataChannelTransportFactory", "SIMPLE_PEER_PROXY", "proxyPort", "servicePort", "createLinkedPorts", "_proxy", "createProtoRpcPeer", "requested", "BridgeService", "schema", "getService", "noHandshake", "encodingOptions", "preserveAny", "_service", "exposed", "handlers", "SimplePeerTransportService", "SimplePeerTransportProxyFactory", "setBridgeService", "rpc", "warn", "MemoryTransportFactory", "SwarmNetworkManager", "signalManager", "open", "close", "Promise", "all", "Array", "from", "values", "map", "swarm", "leave", "clear", "getSwarm", "topic", "createSwarm", "extensionFactory", "TestSwarmConnection", "goOffline", "setConnectionState", "ConnectionState", "OFFLINE", "goOnline", "ONLINE", "peer", "protocol", "join", "topology", "FullyConnectedTopology", "joinSwarm", "protocolProvider", "leaveSwarm"]
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport {\n MemorySignalManager,\n MemorySignalManagerContext,\n type SignalManager,\n WebsocketSignalManager,\n} from '@dxos/messaging';\nimport { schema } from '@dxos/protocols';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Runtime } from '@dxos/protocols/proto/dxos/config';\nimport { createLinkedPorts, createProtoRpcPeer, type ProtoRpcPeer } from '@dxos/rpc';\nimport { ComplexMap } from '@dxos/util';\n\nimport { type TestTeleportExtensionFactory, TestWireProtocol } from './test-wire-protocol';\nimport { SwarmNetworkManager } from '../network-manager';\nimport { FullyConnectedTopology } from '../topology';\nimport {\n createLibDataChannelTransportFactory,\n createSimplePeerTransportFactory,\n MemoryTransportFactory,\n SimplePeerTransportProxyFactory,\n SimplePeerTransportService,\n type TransportFactory,\n TransportKind,\n} from '../transport';\nimport { TcpTransportFactory } from '../transport/tcp-transport';\n\n// Signal server will be started by the setup script.\nconst port = process.env.SIGNAL_PORT ?? 4000;\nexport const TEST_SIGNAL_HOSTS: Runtime.Services.Signal[] = [\n { server: `ws://localhost:${port}/.well-known/dx/signal` },\n];\n\nexport type TestBuilderOptions = {\n signalHosts?: Runtime.Services.Signal[];\n bridge?: boolean;\n transport?: TransportKind;\n};\n\n/**\n * Builder used to construct networks and peers.\n */\nexport class TestBuilder {\n private _signalContext = new MemorySignalManagerContext();\n\n constructor(public readonly options: TestBuilderOptions = {}) {}\n\n createSignalManager() {\n if (this.options.signalHosts) {\n return new WebsocketSignalManager(this.options.signalHosts);\n }\n\n return new MemorySignalManager(this._signalContext);\n }\n\n createPeer(peerId: PublicKey = PublicKey.random()) {\n return new TestPeer(this, peerId, this.options.transport);\n }\n}\n\n/**\n * Testing network peer.\n */\nexport class TestPeer {\n private readonly _swarms = new ComplexMap<PublicKey, TestSwarmConnection>(PublicKey.hash);\n\n /**\n * @internal\n */\n readonly _signalManager: SignalManager;\n\n /**\n * @internal\n */\n readonly _networkManager: SwarmNetworkManager;\n\n private _proxy?: ProtoRpcPeer<any>;\n private _service?: ProtoRpcPeer<any>;\n\n constructor(\n private readonly testBuilder: TestBuilder,\n public readonly peerId: PublicKey,\n public readonly transport?: TransportKind,\n ) {\n this._signalManager = this.testBuilder.createSignalManager();\n if (!transport) {\n if (this.testBuilder.options.signalHosts) {\n // TODO(nf): configure better\n transport = process.env.MOCHA_ENV === 'nodejs' ? TransportKind.LIBDATACHANNEL : TransportKind.SIMPLE_PEER;\n } else {\n transport = TransportKind.MEMORY;\n }\n }\n this._networkManager = this.createNetworkManager(transport);\n }\n\n // TODO(burdon): Move to TestBuilder.\n createNetworkManager(transport: TransportKind) {\n let transportFactory: TransportFactory;\n if (this.testBuilder.options.signalHosts) {\n log.info(`using ${transport} transport with signal server.`);\n switch (transport) {\n case TransportKind.MEMORY:\n throw new Error('Memory transport not supported with signal server.');\n case TransportKind.TCP:\n transportFactory = TcpTransportFactory;\n break;\n case TransportKind.SIMPLE_PEER:\n transportFactory = createSimplePeerTransportFactory();\n break;\n case TransportKind.LIBDATACHANNEL:\n transportFactory = createLibDataChannelTransportFactory();\n break;\n case TransportKind.SIMPLE_PEER_PROXY:\n {\n // Simulates bridge to shared worker.\n const [proxyPort, servicePort] = createLinkedPorts();\n\n this._proxy = createProtoRpcPeer({\n port: proxyPort,\n requested: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n this._service = createProtoRpcPeer({\n port: servicePort,\n exposed: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n handlers: { BridgeService: new SimplePeerTransportService() },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n transportFactory = new SimplePeerTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);\n }\n break;\n default:\n throw new Error(`Unsupported transport: ${transport}`);\n }\n } else {\n if (transport !== TransportKind.MEMORY && transport !== TransportKind.TCP) {\n log.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`);\n }\n log.info(`using ${transport} transport without signal server.`);\n transportFactory = MemoryTransportFactory;\n }\n\n return new SwarmNetworkManager({\n signalManager: this._signalManager,\n transportFactory,\n });\n }\n\n async open() {\n await this._networkManager.open();\n await this._proxy?.open();\n await this._service?.open();\n }\n\n async close() {\n await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));\n this._swarms.clear();\n\n await this._proxy?.close();\n await this._service?.close();\n await this._networkManager.close();\n }\n\n getSwarm(topic: PublicKey): TestSwarmConnection {\n const swarm = this._swarms.get(topic);\n if (!swarm) {\n throw new Error(`Swarm not found for topic: ${topic}`);\n }\n\n return swarm;\n }\n\n createSwarm(topic: PublicKey, extensionFactory: TestTeleportExtensionFactory = () => []): TestSwarmConnection {\n // TODO(burdon): Multiple.\n // if (this._swarms.get(topic)) {\n // throw new Error(`Swarm already exists for topic: ${topic.truncate()}`);\n // }\n\n const swarm = new TestSwarmConnection(this, topic, extensionFactory);\n this._swarms.set(topic, swarm);\n return swarm;\n }\n\n async goOffline() {\n await this._networkManager.setConnectionState(ConnectionState.OFFLINE);\n }\n\n async goOnline() {\n await this._networkManager.setConnectionState(ConnectionState.ONLINE);\n }\n}\n\n// TODO(burdon): Reconcile with new Swarm concept.\nexport class TestSwarmConnection {\n protocol: TestWireProtocol;\n\n constructor(\n readonly peer: TestPeer,\n readonly topic: PublicKey,\n readonly extensionFactory: TestTeleportExtensionFactory,\n ) {\n // TODO(burdon): Configure plugins.\n // TODO(burdon): Prevent reuse?\n this.protocol = new TestWireProtocol(this.peer.peerId, this.extensionFactory);\n }\n\n // TODO(burdon): Need to create new plugin instance per swarm?\n // If so, then perhaps joinSwarm should return swarm object with access to plugins.\n async join(topology = new FullyConnectedTopology()) {\n await this.peer._networkManager.joinSwarm({\n topic: this.topic,\n peerInfo: { peerKey: this.peer.peerId.toHex(), identityKey: this.peer.peerId.toHex() },\n protocolProvider: this.protocol.factory,\n topology,\n });\n\n return this;\n }\n\n async leave() {\n await this.peer._networkManager.leaveSwarm(this.topic);\n return this;\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { asyncTimeout, Event } from '@dxos/async';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { TestExtension, TestExtensionWithStreams } from '@dxos/teleport';\nimport type { TestStreamStats, TeleportExtension } from '@dxos/teleport';\nimport { ComplexMap } from '@dxos/util';\n\nimport { createTeleportProtocolFactory } from '../wire-protocol';\n\nexport type TestTeleportExtension = {\n name: string;\n extension: TeleportExtension;\n};\n\nexport type TestTeleportExtensionFactory = () => TestTeleportExtension[];\n\nexport class TestWireProtocol {\n public readonly connections = new ComplexMap<PublicKey, TestExtension>(PublicKey.hash);\n public readonly streamConnections = new ComplexMap<PublicKey, TestExtensionWithStreams>(PublicKey.hash);\n\n public readonly connected = new Event<PublicKey>();\n public readonly disconnected = new Event<PublicKey>();\n\n public readonly otherConnections = new ComplexMap<{ remotePeerId: PublicKey; extension: string }, TeleportExtension>(\n ({ remotePeerId, extension }) => remotePeerId.toHex() + extension,\n );\n\n constructor(\n public readonly peerId: PublicKey,\n private readonly _extensionFactory: TestTeleportExtensionFactory = () => [],\n ) {}\n\n readonly factory = createTeleportProtocolFactory(async (teleport) => {\n log('create', { remotePeerId: teleport.remotePeerId });\n const extension = new TestExtension({\n onClose: async () => {\n this.connections.delete(teleport.remotePeerId);\n this.disconnected.emit(teleport.remotePeerId);\n },\n });\n this.connections.set(teleport.remotePeerId, extension);\n teleport.addExtension('test', extension);\n this.connected.emit(teleport.remotePeerId);\n\n const streamExtension = new TestExtensionWithStreams({\n onClose: async () => {\n this.streamConnections.delete(teleport.remotePeerId);\n },\n });\n this.streamConnections.set(teleport.remotePeerId, streamExtension);\n teleport.addExtension('test-stream', streamExtension);\n\n for (const { name, extension } of this._extensionFactory()) {\n this.otherConnections.set({ remotePeerId: teleport.remotePeerId, extension: name }, extension);\n teleport.addExtension(name, extension);\n }\n });\n\n async waitForConnection(peerId: PublicKey) {\n if (this.connections.has(peerId)) {\n return this.connections.get(peerId)!;\n }\n log('waitForConnection', { peerId });\n await asyncTimeout(\n this.connected.waitFor((connectedId) => connectedId.equals(peerId)),\n // TODO(nf): Make this configurable.\n 10_000,\n );\n return this.connections.get(peerId)!;\n }\n\n async testConnection(peerId: PublicKey, message?: string) {\n const connection = await this.waitForConnection(peerId);\n await connection.test(message);\n }\n\n async openStream(\n peerId: PublicKey,\n streamTag: string,\n streamLoadInterval: number,\n streamLoadChunkSize: number,\n ): Promise<string> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.addNewStream(streamLoadInterval, streamLoadChunkSize, streamTag);\n }\n\n async closeStream(peerId: PublicKey, streamTag: string): Promise<TestStreamStats> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.closeStream(streamTag);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_keys", "import_log", "import_util", "TestWireProtocol", "constructor", "peerId", "_extensionFactory", "connections", "ComplexMap", "PublicKey", "hash", "streamConnections", "connected", "Event", "disconnected", "otherConnections", "remotePeerId", "extension", "toHex", "factory", "createTeleportProtocolFactory", "teleport", "log", "TestExtension", "onClose", "delete", "emit", "set", "addExtension", "streamExtension", "TestExtensionWithStreams", "name", "waitForConnection", "has", "get", "asyncTimeout", "waitFor", "connectedId", "equals", "testConnection", "message", "connection", "test", "openStream", "streamTag", "streamLoadInterval", "streamLoadChunkSize", "Error", "addNewStream", "closeStream", "port", "process", "env", "SIGNAL_PORT", "TEST_SIGNAL_HOSTS", "server", "TestBuilder", "options", "_signalContext", "MemorySignalManagerContext", "createSignalManager", "signalHosts", "WebsocketSignalManager", "MemorySignalManager", "createPeer", "random", "TestPeer", "transport", "testBuilder", "_swarms", "_signalManager", "MOCHA_ENV", "TransportKind", "LIBDATACHANNEL", "SIMPLE_PEER", "MEMORY", "_networkManager", "createNetworkManager", "transportFactory", "info", "TCP", "TcpTransportFactory", "createSimplePeerTransportFactory", "createLibDataChannelTransportFactory", "SIMPLE_PEER_PROXY", "proxyPort", "servicePort", "createLinkedPorts", "_proxy", "createProtoRpcPeer", "requested", "BridgeService", "schema", "getService", "noHandshake", "encodingOptions", "preserveAny", "_service", "exposed", "handlers", "SimplePeerTransportService", "SimplePeerTransportProxyFactory", "setBridgeService", "rpc", "warn", "MemoryTransportFactory", "SwarmNetworkManager", "signalManager", "open", "close", "Promise", "all", "Array", "from", "values", "map", "swarm", "leave", "clear", "getSwarm", "topic", "createSwarm", "extensionFactory", "TestSwarmConnection", "goOffline", "setConnectionState", "ConnectionState", "OFFLINE", "goOnline", "ONLINE", "peer", "protocol", "join", "topology", "FullyConnectedTopology", "joinSwarm", "peerInfo", "peerKey", "identityKey", "protocolProvider", "leaveSwarm"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { Event } from '@dxos/async';
2
2
  import { PublicKey } from '@dxos/keys';
3
- import { type SignalManager } from '@dxos/messaging';
3
+ import { type PeerInfo, type SignalManager } from '@dxos/messaging';
4
4
  import { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';
5
5
  import { ConnectionLog } from './connection-log';
6
6
  import { Swarm, SwarmMapper } from './swarm';
@@ -19,9 +19,9 @@ export type SwarmOptions = {
19
19
  */
20
20
  topic: PublicKey;
21
21
  /**
22
- * This node's peer id.
22
+ * This node's peer info.
23
23
  */
24
- peerId: PublicKey;
24
+ peerInfo?: PeerInfo;
25
25
  /**
26
26
  * Protocol to use for every connection.
27
27
  */
@@ -39,7 +39,8 @@ export type SwarmOptions = {
39
39
  export type SwarmNetworkManagerOptions = {
40
40
  transportFactory: TransportFactory;
41
41
  signalManager: SignalManager;
42
- log?: boolean;
42
+ enableDevtoolsLogging?: boolean;
43
+ peerInfo?: PeerInfo;
43
44
  };
44
45
  /**
45
46
  * Manages p2p connection to the swarm.
@@ -53,21 +54,23 @@ export declare class SwarmNetworkManager {
53
54
  private readonly _connectionLimiter;
54
55
  private readonly _connectionLog?;
55
56
  private readonly _instanceId;
57
+ private _peerInfo?;
56
58
  private _connectionState;
57
59
  readonly connectionStateChanged: Event<ConnectionState>;
58
60
  readonly topicsUpdated: Event<void>;
59
- constructor({ transportFactory, signalManager, log }: SwarmNetworkManagerOptions);
61
+ constructor({ transportFactory, signalManager, enableDevtoolsLogging, peerInfo }: SwarmNetworkManagerOptions);
60
62
  get connectionLog(): ConnectionLog | undefined;
61
63
  get connectionState(): ConnectionState;
62
64
  get topics(): PublicKey[];
63
65
  getSwarmMap(topic: PublicKey): SwarmMapper | undefined;
64
66
  getSwarm(topic: PublicKey): Swarm | undefined;
67
+ setPeerInfo(peerInfo: PeerInfo): void;
65
68
  open(): Promise<void>;
66
69
  close(): Promise<void>;
67
70
  /**
68
71
  * Join the swarm.
69
72
  */
70
- joinSwarm({ topic, peerId, topology, protocolProvider: protocol, label, }: SwarmOptions): Promise<SwarmConnection>;
73
+ joinSwarm({ topic, peerInfo, topology, protocolProvider: protocol, label, }: SwarmOptions): Promise<SwarmConnection>;
71
74
  /**
72
75
  * Close the connection.
73
76
  */
@@ -1 +1 @@
1
- {"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;IAK9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IAEnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,OAAO,CAAC,gBAAgB,CAA0B;IAClD,SAAgB,sBAAsB,yBAAgC;IACtE,SAAgB,aAAa,cAAqB;gBAEtC,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,0BAA0B;IAoBhF,IAAI,aAAa,8BAEhB;IAED,IAAI,eAAe,oBAElB;IAGD,IAAI,MAAM,gBAET;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAIvC,IAAI;IAOJ,KAAK;IAWX;;OAEG;IAEG,SAAS,CAAC,EACd,KAAK,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,GACN,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA0C1C;;OAEG;IAEG,UAAU,CAAC,KAAK,EAAE,SAAS;IAuB3B,kBAAkB,CAAC,KAAK,EAAE,eAAe;CA0BhD"}
1
+ {"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;IAK9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IAEnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAuB;IAEzC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,SAAgB,sBAAsB,yBAAgC;IACtE,SAAgB,aAAa,cAAqB;gBAEtC,EAAE,gBAAgB,EAAE,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,0BAA0B;IAqB5G,IAAI,aAAa,8BAEhB;IAED,IAAI,eAAe,oBAElB;IAGD,IAAI,MAAM,gBAET;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAI7C,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAIxB,IAAI;IAOJ,KAAK;IAWX;;OAEG;IAEG,SAAS,CAAC,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,GACN,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAiD1C;;OAEG;IAEG,UAAU,CAAC,KAAK,EAAE,SAAS;IAuB3B,kBAAkB,CAAC,KAAK,EAAE,eAAe;CA0BhD"}
@@ -1,4 +1,5 @@
1
1
  import { type PublicKey } from '@dxos/keys';
2
+ import { type PeerInfo } from '@dxos/messaging';
2
3
  /**
3
4
  * Signal peer discovery interface.
4
5
  */
@@ -8,14 +9,14 @@ export interface SignalConnection {
8
9
  */
9
10
  join(params: {
10
11
  topic: PublicKey;
11
- peerId: PublicKey;
12
+ peer: PeerInfo;
12
13
  }): Promise<void>;
13
14
  /**
14
15
  * Leave topic on signal network, to stop being discoverable by other peers.
15
16
  */
16
17
  leave(params: {
17
18
  topic: PublicKey;
18
- peerId: PublicKey;
19
+ peer: PeerInfo;
19
20
  }): Promise<void>;
20
21
  }
21
22
  //# sourceMappingURL=signal-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal-connection.d.ts","sourceRoot":"","sources":["../../../../src/signal/signal-connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE"}
1
+ {"version":3,"file":"signal-connection.d.ts","sourceRoot":"","sources":["../../../../src/signal/signal-connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
@@ -1,8 +1,9 @@
1
1
  import { type PublicKey } from '@dxos/keys';
2
+ import { type PeerInfo } from '@dxos/messaging';
2
3
  import { type Answer, type Offer, type Signal, type SignalBatch } from '@dxos/protocols/proto/dxos/mesh/swarm';
3
4
  export interface OfferMessage {
4
- author: PublicKey;
5
- recipient: PublicKey;
5
+ author: PeerInfo;
6
+ recipient: PeerInfo;
6
7
  topic: PublicKey;
7
8
  sessionId: PublicKey;
8
9
  data: {
@@ -10,8 +11,8 @@ export interface OfferMessage {
10
11
  };
11
12
  }
12
13
  export interface SignalMessage {
13
- author: PublicKey;
14
- recipient: PublicKey;
14
+ author: PeerInfo;
15
+ recipient: PeerInfo;
15
16
  topic: PublicKey;
16
17
  sessionId: PublicKey;
17
18
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"signal-messenger.d.ts","sourceRoot":"","sources":["../../../../src/signal/signal-messenger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAE/G,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"signal-messenger.d.ts","sourceRoot":"","sources":["../../../../src/signal/signal-messenger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAE/G,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -1,13 +1,10 @@
1
1
  import { type Any } from '@dxos/codec-protobuf';
2
2
  import { PublicKey } from '@dxos/keys';
3
+ import { type PeerInfo, type Message } from '@dxos/messaging';
3
4
  import { type Answer } from '@dxos/protocols/proto/dxos/mesh/swarm';
4
5
  import { type OfferMessage, type SignalMessage, type SignalMessenger } from './signal-messenger';
5
6
  export type SwarmMessengerOptions = {
6
- sendMessage: (params: {
7
- author: PublicKey;
8
- recipient: PublicKey;
9
- payload: Any;
10
- }) => Promise<void>;
7
+ sendMessage: (params: Message) => Promise<void>;
11
8
  onOffer: (message: OfferMessage) => Promise<Answer>;
12
9
  onSignal: (message: SignalMessage) => Promise<void>;
13
10
  topic: PublicKey;
@@ -24,8 +21,8 @@ export declare class SwarmMessenger implements SignalMessenger {
24
21
  private readonly _offerRecords;
25
22
  constructor({ sendMessage, onSignal, onOffer, topic }: SwarmMessengerOptions);
26
23
  receiveMessage({ author, recipient, payload, }: {
27
- author: PublicKey;
28
- recipient: PublicKey;
24
+ author: PeerInfo;
25
+ recipient: PeerInfo;
29
26
  payload: Any;
30
27
  }): Promise<void>;
31
28
  signal(message: SignalMessage): Promise<void>;