@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.
- package/dist/lib/browser/{chunk-ZT4NXID2.mjs → chunk-ZQ4OU7JZ.mjs} +289 -251
- package/dist/lib/browser/chunk-ZQ4OU7JZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +5 -2
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-DZJ3BJOK.cjs → chunk-IQBYIEAR.cjs} +294 -256
- package/dist/lib/node/chunk-IQBYIEAR.cjs.map +7 -0
- package/dist/lib/node/index.cjs +28 -28
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +22 -19
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/types/src/network-manager.d.ts +9 -6
- package/dist/types/src/network-manager.d.ts.map +1 -1
- package/dist/types/src/signal/signal-connection.d.ts +3 -2
- package/dist/types/src/signal/signal-connection.d.ts.map +1 -1
- package/dist/types/src/signal/signal-messenger.d.ts +5 -4
- package/dist/types/src/signal/signal-messenger.d.ts.map +1 -1
- package/dist/types/src/signal/swarm-messenger.d.ts +4 -7
- package/dist/types/src/signal/swarm-messenger.d.ts.map +1 -1
- package/dist/types/src/swarm/connection.d.ts +4 -4
- package/dist/types/src/swarm/connection.d.ts.map +1 -1
- package/dist/types/src/swarm/peer.d.ts +5 -4
- package/dist/types/src/swarm/peer.d.ts.map +1 -1
- package/dist/types/src/swarm/swarm-mapper.d.ts.map +1 -1
- package/dist/types/src/swarm/swarm.d.ts +4 -4
- package/dist/types/src/swarm/swarm.d.ts.map +1 -1
- package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
- package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
- package/package.json +19 -18
- package/src/connection-log.ts +1 -1
- package/src/network-manager.ts +27 -13
- package/src/signal/integration.test.ts +25 -19
- package/src/signal/signal-connection.ts +3 -2
- package/src/signal/signal-messenger.ts +5 -4
- package/src/signal/swarm-messenger.test.ts +21 -21
- package/src/signal/swarm-messenger.ts +11 -10
- package/src/swarm/connection.test.ts +19 -17
- package/src/swarm/connection.ts +16 -15
- package/src/swarm/peer.ts +41 -35
- package/src/swarm/swarm-mapper.ts +7 -6
- package/src/swarm/swarm.test.ts +36 -28
- package/src/swarm/swarm.ts +57 -53
- package/src/testing/test-builder.ts +1 -1
- package/src/tests/basic-test-suite.ts +8 -5
- package/src/tests/property-test-suite.ts +4 -1
- package/dist/lib/browser/chunk-ZT4NXID2.mjs.map +0 -7
- package/dist/lib/node/chunk-DZJ3BJOK.cjs.map +0 -7
package/dist/lib/node/meta.json
CHANGED
|
@@ -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
|
|
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,
|
|
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" ?
|
|
153
|
+
transport = process.env.MOCHA_ENV === "nodejs" ? import_chunk_IQBYIEAR.TransportKind.LIBDATACHANNEL : import_chunk_IQBYIEAR.TransportKind.SIMPLE_PEER;
|
|
154
154
|
} else {
|
|
155
|
-
transport =
|
|
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
|
|
171
|
+
case import_chunk_IQBYIEAR.TransportKind.MEMORY:
|
|
172
172
|
throw new Error("Memory transport not supported with signal server.");
|
|
173
|
-
case
|
|
174
|
-
transportFactory =
|
|
173
|
+
case import_chunk_IQBYIEAR.TransportKind.TCP:
|
|
174
|
+
transportFactory = import_chunk_IQBYIEAR.TcpTransportFactory;
|
|
175
175
|
break;
|
|
176
|
-
case
|
|
177
|
-
transportFactory = (0,
|
|
176
|
+
case import_chunk_IQBYIEAR.TransportKind.SIMPLE_PEER:
|
|
177
|
+
transportFactory = (0, import_chunk_IQBYIEAR.createSimplePeerTransportFactory)();
|
|
178
178
|
break;
|
|
179
|
-
case
|
|
180
|
-
transportFactory = (0,
|
|
179
|
+
case import_chunk_IQBYIEAR.TransportKind.LIBDATACHANNEL:
|
|
180
|
+
transportFactory = (0, import_chunk_IQBYIEAR.createLibDataChannelTransportFactory)();
|
|
181
181
|
break;
|
|
182
|
-
case
|
|
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
|
|
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
|
|
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 !==
|
|
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 =
|
|
229
|
+
transportFactory = import_chunk_IQBYIEAR.MemoryTransportFactory;
|
|
230
230
|
}
|
|
231
|
-
return new
|
|
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
|
|
276
|
+
async join(topology = new import_chunk_IQBYIEAR.FullyConnectedTopology()) {
|
|
277
277
|
await this.peer._networkManager.joinSwarm({
|
|
278
278
|
topic: this.topic,
|
|
279
|
-
|
|
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
|
|
22
|
+
* This node's peer info.
|
|
23
23
|
*/
|
|
24
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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:
|
|
5
|
-
recipient:
|
|
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:
|
|
14
|
-
recipient:
|
|
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,
|
|
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:
|
|
28
|
-
recipient:
|
|
24
|
+
author: PeerInfo;
|
|
25
|
+
recipient: PeerInfo;
|
|
29
26
|
payload: Any;
|
|
30
27
|
}): Promise<void>;
|
|
31
28
|
signal(message: SignalMessage): Promise<void>;
|