@dxos/network-manager 0.8.3 → 0.8.4-main.f9ba587

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.
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n Connection,\n ConnectionLimiter,\n ConnectionLog,\n ConnectionState,\n EventType,\n FullyConnectedTopology,\n MAX_CONCURRENT_INITIATING_CONNECTIONS,\n MMSTTopology,\n MemoryTransport,\n MemoryTransportFactory,\n RtcTransportProxy,\n RtcTransportProxyFactory,\n RtcTransportService,\n StarTopology,\n Swarm,\n SwarmMapper,\n SwarmMessenger,\n SwarmNetworkManager,\n TransportKind,\n createIceProvider,\n createRtcTransportFactory,\n createTeleportProtocolFactory\n} from \"./chunk-2G6RZMS5.cjs\";\nexport {\n Connection,\n ConnectionLimiter,\n ConnectionLog,\n ConnectionState,\n EventType,\n FullyConnectedTopology,\n MAX_CONCURRENT_INITIATING_CONNECTIONS,\n MMSTTopology,\n MemoryTransport,\n MemoryTransportFactory,\n RtcTransportProxy,\n RtcTransportProxyFactory,\n RtcTransportService,\n StarTopology,\n Swarm,\n SwarmMapper,\n SwarmMessenger,\n SwarmNetworkManager,\n TransportKind,\n createIceProvider,\n createRtcTransportFactory,\n createTeleportProtocolFactory\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAuBO;",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytes":55671,"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":47321,"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":4551,"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":22190,"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/protocols/proto","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":1185,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-messenger.ts":{"bytes":1608,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytes":800,"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":55253,"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":12253,"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":8468,"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":781,"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":16221,"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":27185,"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":3549,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytes":20389,"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/star-topology.ts":{"bytes":8020,"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":2354,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytes":817,"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":23288,"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":3022,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts":{"bytes":8623,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"#node-datachannel","kind":"dynamic-import","external":true},{"path":"#node-datachannel/polyfill","kind":"dynamic-import","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts":{"bytes":7349,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts":{"bytes":22849,"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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts","kind":"import-statement","original":"./rtc-transport-stats"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts":{"bytes":3902,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts":{"bytes":64183,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts","kind":"import-statement","original":"./rtc-transport-channel"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts":{"bytes":3429,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts","kind":"import-statement","original":"./rtc-connection-factory"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts","kind":"import-statement","original":"./rtc-peer-connection"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts":{"bytes":29224,"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/webrtc/rtc-transport-service.ts":{"bytes":21452,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","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/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/index.ts":{"bytes":764,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts","kind":"import-statement","original":"./rtc-transport-proxy"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-service.ts","kind":"import-statement","original":"./rtc-transport-service"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytes":679,"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/webrtc/index.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"packages/core/mesh/network-manager/src/types.ts":{"bytes":598,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytes":4267,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/index.ts":{"bytes":1125,"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":12962,"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":26078,"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/proto","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":"#tcp-transport","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/index.ts","kind":"import-statement","original":"../transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytes":494,"imports":[{"path":"packages/core/mesh/network-manager/src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts":{"bytes":14454,"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/tcp/index.ts":{"bytes":505,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts","kind":"import-statement","original":"./tcp-transport"}],"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-2G6RZMS5.cjs","kind":"import-statement"}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","RtcTransportProxy","RtcTransportProxyFactory","RtcTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TransportKind","createIceProvider","createRtcTransportFactory","createTeleportProtocolFactory"],"entryPoint":"packages/core/mesh/network-manager/src/index.ts","inputs":{"packages/core/mesh/network-manager/src/index.ts":{"bytesInOutput":0}},"bytes":1015},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19108},"packages/core/mesh/network-manager/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node/chunk-2G6RZMS5.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/proto","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":"#tcp-transport","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":6016},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytesInOutput":3296},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytesInOutput":0}},"bytes":9881},"packages/core/mesh/network-manager/dist/lib/node/chunk-2G6RZMS5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":215898},"packages/core/mesh/network-manager/dist/lib/node/chunk-2G6RZMS5.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/protocols/proto","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":"@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":"@dxos/async","kind":"import-statement","external":true},{"path":"#node-datachannel","kind":"dynamic-import","external":true},{"path":"#node-datachannel/polyfill","kind":"dynamic-import","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/tracing","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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","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":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","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":"@dxos/teleport","kind":"import-statement","external":true}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","RtcTransportProxy","RtcTransportProxyFactory","RtcTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TransportKind","createIceProvider","createRtcTransportFactory","createTeleportProtocolFactory"],"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytesInOutput":16453},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytesInOutput":1098},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytesInOutput":6275},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytesInOutput":16217},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytesInOutput":13619},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytesInOutput":2264},"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":3449},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytesInOutput":7387},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytesInOutput":965},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytesInOutput":5984},"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":6222},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytesInOutput":261},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts":{"bytesInOutput":1528},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts":{"bytesInOutput":18722},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts":{"bytesInOutput":6053},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts":{"bytesInOutput":1668},"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts":{"bytesInOutput":718},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts":{"bytesInOutput":528},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts":{"bytesInOutput":7894},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-service.ts":{"bytesInOutput":6039},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/transport/webrtc/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytesInOutput":537}},"bytes":131351},"packages/core/mesh/network-manager/dist/lib/node/transport/tcp/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6702},"packages/core/mesh/network-manager/dist/lib/node/transport/tcp/index.cjs":{"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}],"exports":["TcpTransport","TcpTransportFactory"],"entryPoint":"packages/core/mesh/network-manager/src/transport/tcp/index.ts","inputs":{"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts":{"bytesInOutput":3765},"packages/core/mesh/network-manager/src/transport/tcp/index.ts":{"bytesInOutput":0}},"bytes":3923}}}
@@ -1,296 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var testing_exports = {};
20
- __export(testing_exports, {
21
- TEST_SIGNAL_HOSTS: () => TEST_SIGNAL_HOSTS,
22
- TestBuilder: () => TestBuilder,
23
- TestPeer: () => TestPeer,
24
- TestSwarmConnection: () => TestSwarmConnection
25
- });
26
- module.exports = __toCommonJS(testing_exports);
27
- var import_chunk_2G6RZMS5 = require("../chunk-2G6RZMS5.cjs");
28
- var import_keys = require("@dxos/keys");
29
- var import_log = require("@dxos/log");
30
- var import_messaging = require("@dxos/messaging");
31
- var import_proto = require("@dxos/protocols/proto");
32
- var import_services = require("@dxos/protocols/proto/dxos/client/services");
33
- var import_rpc = require("@dxos/rpc");
34
- var import_util = require("@dxos/util");
35
- var import_tcp_transport = require("#tcp-transport");
36
- var import_async = require("@dxos/async");
37
- var import_keys2 = require("@dxos/keys");
38
- var import_log2 = require("@dxos/log");
39
- var import_teleport = require("@dxos/teleport");
40
- var import_util2 = require("@dxos/util");
41
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts";
42
- var TestWireProtocol = class {
43
- constructor(_extensionFactory = () => []) {
44
- this._extensionFactory = _extensionFactory;
45
- this.connections = new import_util2.ComplexMap(import_keys2.PublicKey.hash);
46
- this.streamConnections = new import_util2.ComplexMap(import_keys2.PublicKey.hash);
47
- this.connected = new import_async.Event();
48
- this.disconnected = new import_async.Event();
49
- this.otherConnections = new import_util2.ComplexMap(({ remotePeerId, extension }) => remotePeerId.toHex() + extension);
50
- this.factory = (0, import_chunk_2G6RZMS5.createTeleportProtocolFactory)(async (teleport) => {
51
- (0, import_log2.log)("create", {
52
- remotePeerId: teleport.remotePeerId
53
- }, {
54
- F: __dxlog_file,
55
- L: 35,
56
- S: this,
57
- C: (f, a) => f(...a)
58
- });
59
- const handleDisconnect = () => {
60
- this.connections.delete(teleport.remotePeerId);
61
- this.disconnected.emit(teleport.remotePeerId);
62
- };
63
- const extension = new import_teleport.TestExtension({
64
- onClose: async () => handleDisconnect(),
65
- onAbort: async () => handleDisconnect()
66
- });
67
- this.connections.set(teleport.remotePeerId, extension);
68
- teleport.addExtension("test", extension);
69
- this.connected.emit(teleport.remotePeerId);
70
- const streamExtension = new import_teleport.TestExtensionWithStreams({
71
- onClose: async () => {
72
- this.streamConnections.delete(teleport.remotePeerId);
73
- }
74
- });
75
- this.streamConnections.set(teleport.remotePeerId, streamExtension);
76
- teleport.addExtension("test-stream", streamExtension);
77
- for (const { name, extension: extension2 } of this._extensionFactory()) {
78
- this.otherConnections.set({
79
- remotePeerId: teleport.remotePeerId,
80
- extension: name
81
- }, extension2);
82
- teleport.addExtension(name, extension2);
83
- }
84
- });
85
- }
86
- async waitForConnection(peerId) {
87
- if (this.connections.has(peerId)) {
88
- return this.connections.get(peerId);
89
- }
90
- (0, import_log2.log)("waitForConnection", {
91
- peerId
92
- }, {
93
- F: __dxlog_file,
94
- L: 66,
95
- S: this,
96
- C: (f, a) => f(...a)
97
- });
98
- await (0, import_async.asyncTimeout)(
99
- this.connected.waitFor((connectedId) => connectedId.equals(peerId)),
100
- // TODO(nf): Make this configurable.
101
- 1e4
102
- );
103
- return this.connections.get(peerId);
104
- }
105
- async testConnection(peerId, message) {
106
- const connection = await this.waitForConnection(peerId);
107
- await connection.test(message);
108
- }
109
- async openStream(peerId, streamTag, streamLoadInterval, streamLoadChunkSize) {
110
- if (!this.streamConnections.has(peerId)) {
111
- throw new Error("Connection does not exist.");
112
- }
113
- const connection = this.streamConnections.get(peerId);
114
- return connection.addNewStream(streamLoadInterval, streamLoadChunkSize, streamTag);
115
- }
116
- async closeStream(peerId, streamTag) {
117
- if (!this.streamConnections.has(peerId)) {
118
- throw new Error("Connection does not exist.");
119
- }
120
- const connection = this.streamConnections.get(peerId);
121
- return connection.closeStream(streamTag);
122
- }
123
- };
124
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/testing/test-builder.ts";
125
- var port = process.env.SIGNAL_PORT ?? 4e3;
126
- var TEST_SIGNAL_HOSTS = [
127
- {
128
- server: `ws://localhost:${port}/.well-known/dx/signal`
129
- }
130
- ];
131
- var TestBuilder = class {
132
- constructor(options = {}) {
133
- this.options = options;
134
- this._signalContext = new import_messaging.MemorySignalManagerContext();
135
- }
136
- createSignalManager() {
137
- if (this.options.signalHosts) {
138
- return new import_messaging.WebsocketSignalManager(this.options.signalHosts);
139
- }
140
- return new import_messaging.MemorySignalManager(this._signalContext);
141
- }
142
- createPeer(peerId = import_keys.PublicKey.random()) {
143
- return new TestPeer(this, peerId, this.options.transport);
144
- }
145
- };
146
- var TestPeer = class {
147
- constructor(testBuilder, peerId, transport = testBuilder.options.signalHosts ? import_chunk_2G6RZMS5.TransportKind.WEB_RTC : import_chunk_2G6RZMS5.TransportKind.MEMORY) {
148
- this.testBuilder = testBuilder;
149
- this.peerId = peerId;
150
- this.transport = transport;
151
- this._swarms = new import_util.ComplexMap(import_keys.PublicKey.hash);
152
- this._signalManager = this.testBuilder.createSignalManager();
153
- this._networkManager = this.createNetworkManager(this.transport);
154
- this._networkManager.setPeerInfo({
155
- identityKey: peerId.toHex(),
156
- peerKey: peerId.toHex()
157
- });
158
- }
159
- // TODO(burdon): Move to TestBuilder.
160
- createNetworkManager(transport) {
161
- let transportFactory;
162
- if (this.testBuilder.options.signalHosts) {
163
- import_log.log.info(`using ${transport} transport with signal server.`, void 0, {
164
- F: __dxlog_file2,
165
- L: 94,
166
- S: this,
167
- C: (f, a) => f(...a)
168
- });
169
- switch (transport) {
170
- case import_chunk_2G6RZMS5.TransportKind.MEMORY:
171
- throw new Error("Memory transport not supported with signal server.");
172
- case import_chunk_2G6RZMS5.TransportKind.TCP:
173
- transportFactory = import_tcp_transport.TcpTransportFactory;
174
- break;
175
- case import_chunk_2G6RZMS5.TransportKind.WEB_RTC:
176
- transportFactory = (0, import_chunk_2G6RZMS5.createRtcTransportFactory)();
177
- break;
178
- case import_chunk_2G6RZMS5.TransportKind.WEB_RTC_PROXY:
179
- {
180
- const [proxyPort, servicePort] = (0, import_rpc.createLinkedPorts)();
181
- this._proxy = (0, import_rpc.createProtoRpcPeer)({
182
- port: proxyPort,
183
- requested: {
184
- BridgeService: import_proto.schema.getService("dxos.mesh.bridge.BridgeService")
185
- },
186
- noHandshake: true,
187
- encodingOptions: {
188
- preserveAny: true
189
- }
190
- });
191
- this._service = (0, import_rpc.createProtoRpcPeer)({
192
- port: servicePort,
193
- exposed: {
194
- BridgeService: import_proto.schema.getService("dxos.mesh.bridge.BridgeService")
195
- },
196
- handlers: {
197
- BridgeService: new import_chunk_2G6RZMS5.RtcTransportService()
198
- },
199
- noHandshake: true,
200
- encodingOptions: {
201
- preserveAny: true
202
- }
203
- });
204
- transportFactory = new import_chunk_2G6RZMS5.RtcTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);
205
- }
206
- break;
207
- default:
208
- throw new Error(`Unsupported transport: ${transport}`);
209
- }
210
- } else {
211
- if (transport !== import_chunk_2G6RZMS5.TransportKind.MEMORY && transport !== import_chunk_2G6RZMS5.TransportKind.TCP) {
212
- import_log.log.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`, void 0, {
213
- F: __dxlog_file2,
214
- L: 140,
215
- S: this,
216
- C: (f, a) => f(...a)
217
- });
218
- }
219
- import_log.log.info(`using ${transport} transport without signal server.`, void 0, {
220
- F: __dxlog_file2,
221
- L: 142,
222
- S: this,
223
- C: (f, a) => f(...a)
224
- });
225
- transportFactory = import_chunk_2G6RZMS5.MemoryTransportFactory;
226
- }
227
- return new import_chunk_2G6RZMS5.SwarmNetworkManager({
228
- signalManager: this._signalManager,
229
- transportFactory
230
- });
231
- }
232
- async open() {
233
- await this._networkManager.open();
234
- await this._proxy?.open();
235
- await this._service?.open();
236
- }
237
- async close() {
238
- await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));
239
- this._swarms.clear();
240
- await this._proxy?.close();
241
- await this._service?.close();
242
- await this._networkManager.close();
243
- }
244
- getSwarm(topic) {
245
- const swarm = this._swarms.get(topic);
246
- if (!swarm) {
247
- throw new Error(`Swarm not found for topic: ${topic}`);
248
- }
249
- return swarm;
250
- }
251
- createSwarm(topic, extensionFactory = () => []) {
252
- const swarm = new TestSwarmConnection(this, topic, extensionFactory);
253
- this._swarms.set(topic, swarm);
254
- return swarm;
255
- }
256
- async goOffline() {
257
- await this._networkManager.setConnectionState(import_services.ConnectionState.OFFLINE);
258
- }
259
- async goOnline() {
260
- await this._networkManager.setConnectionState(import_services.ConnectionState.ONLINE);
261
- }
262
- };
263
- var TestSwarmConnection = class {
264
- constructor(peer, topic, extensionFactory) {
265
- this.peer = peer;
266
- this.topic = topic;
267
- this.extensionFactory = extensionFactory;
268
- this.protocol = new TestWireProtocol(this.extensionFactory);
269
- }
270
- // TODO(burdon): Need to create new plugin instance per swarm?
271
- // If so, then perhaps joinSwarm should return swarm object with access to plugins.
272
- async join(topology = new import_chunk_2G6RZMS5.FullyConnectedTopology()) {
273
- await this.peer._networkManager.joinSwarm({
274
- topic: this.topic,
275
- peerInfo: {
276
- peerKey: this.peer.peerId.toHex(),
277
- identityKey: this.peer.peerId.toHex()
278
- },
279
- protocolProvider: this.protocol.factory,
280
- topology
281
- });
282
- return this;
283
- }
284
- async leave() {
285
- await this.peer._networkManager.leaveSwarm(this.topic);
286
- return this;
287
- }
288
- };
289
- // Annotate the CommonJS export names for ESM import in node:
290
- 0 && (module.exports = {
291
- TEST_SIGNAL_HOSTS,
292
- TestBuilder,
293
- TestPeer,
294
- TestSwarmConnection
295
- });
296
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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/proto';\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 { TcpTransportFactory } from '#tcp-transport';\nimport { type TestTeleportExtensionFactory, TestWireProtocol } from './test-wire-protocol';\nimport { SwarmNetworkManager } from '../network-manager';\nimport { FullyConnectedTopology } from '../topology';\nimport { MemoryTransportFactory, type TransportFactory, TransportKind } from '../transport';\nimport { createRtcTransportFactory, RtcTransportProxyFactory, RtcTransportService } from '../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(): WebsocketSignalManager | MemorySignalManager {\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()): TestPeer {\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 = testBuilder.options.signalHosts\n ? TransportKind.WEB_RTC\n : TransportKind.MEMORY,\n ) {\n this._signalManager = this.testBuilder.createSignalManager();\n this._networkManager = this.createNetworkManager(this.transport);\n this._networkManager.setPeerInfo({ identityKey: peerId.toHex(), peerKey: peerId.toHex() });\n }\n\n // TODO(burdon): Move to TestBuilder.\n createNetworkManager(transport: TransportKind): SwarmNetworkManager {\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.WEB_RTC:\n transportFactory = createRtcTransportFactory();\n break;\n case TransportKind.WEB_RTC_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 RtcTransportService() },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n transportFactory = new RtcTransportProxyFactory().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(): Promise<void> {\n await this._networkManager.open();\n await this._proxy?.open();\n await this._service?.open();\n }\n\n async close(): Promise<void> {\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(): Promise<void> {\n await this._networkManager.setConnectionState(ConnectionState.OFFLINE);\n }\n\n async goOnline(): Promise<void> {\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.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()): Promise<this> {\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(): Promise<this> {\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(private readonly _extensionFactory: TestTeleportExtensionFactory = () => []) {}\n\n readonly factory = createTeleportProtocolFactory(async (teleport) => {\n log('create', { remotePeerId: teleport.remotePeerId });\n const handleDisconnect = () => {\n this.connections.delete(teleport.remotePeerId);\n this.disconnected.emit(teleport.remotePeerId);\n };\n const extension = new TestExtension({\n onClose: async () => handleDisconnect(),\n onAbort: async () => handleDisconnect(),\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): Promise<TestExtension> {\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): Promise<void> {\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", "_extensionFactory", "connections", "ComplexMap", "PublicKey", "hash", "streamConnections", "connected", "Event", "disconnected", "otherConnections", "remotePeerId", "extension", "toHex", "factory", "createTeleportProtocolFactory", "teleport", "log", "handleDisconnect", "delete", "emit", "TestExtension", "onClose", "onAbort", "set", "addExtension", "streamExtension", "TestExtensionWithStreams", "name", "waitForConnection", "peerId", "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", "TransportKind", "WEB_RTC", "MEMORY", "_swarms", "_signalManager", "_networkManager", "createNetworkManager", "setPeerInfo", "identityKey", "peerKey", "transportFactory", "info", "TCP", "TcpTransportFactory", "createRtcTransportFactory", "WEB_RTC_PROXY", "proxyPort", "servicePort", "createLinkedPorts", "_proxy", "createProtoRpcPeer", "requested", "BridgeService", "schema", "getService", "noHandshake", "encodingOptions", "preserveAny", "_service", "exposed", "handlers", "RtcTransportService", "RtcTransportProxyFactory", "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", "protocolProvider", "leaveSwarm"]
7
- }