@dxos/network-manager 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/lib/browser/{chunk-E3P563GT.mjs → chunk-AQSYW43M.mjs} +412 -735
  2. package/dist/lib/browser/chunk-AQSYW43M.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +342 -4
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +1 -1
  7. package/dist/lib/browser/transport/tcp/index.mjs +2 -33
  8. package/dist/lib/browser/transport/tcp/index.mjs.map +4 -4
  9. package/dist/lib/browser/transport/tcp/tcp-transport.browser.mjs +36 -0
  10. package/dist/lib/browser/transport/tcp/tcp-transport.browser.mjs.map +7 -0
  11. package/dist/lib/browser/transport/tcp/tcp-transport.mjs +160 -0
  12. package/dist/lib/browser/transport/tcp/tcp-transport.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-PKBROUZV.mjs → chunk-SCX3PZRE.mjs} +412 -735
  14. package/dist/lib/node-esm/chunk-SCX3PZRE.mjs.map +7 -0
  15. package/dist/lib/node-esm/index.mjs +342 -4
  16. package/dist/lib/node-esm/index.mjs.map +4 -4
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/testing/index.mjs +1 -1
  19. package/dist/lib/node-esm/transport/tcp/index.mjs +2 -157
  20. package/dist/lib/node-esm/transport/tcp/index.mjs.map +4 -4
  21. package/dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs +36 -0
  22. package/dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs.map +7 -0
  23. package/dist/lib/node-esm/transport/tcp/tcp-transport.mjs +160 -0
  24. package/dist/lib/node-esm/transport/tcp/tcp-transport.mjs.map +7 -0
  25. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  26. package/dist/types/src/swarm/peer.d.ts.map +1 -1
  27. package/dist/types/src/transport/tcp/index.d.ts +1 -1
  28. package/dist/types/src/transport/tcp/index.d.ts.map +1 -1
  29. package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +1 -1
  30. package/dist/types/src/wire-protocol.d.ts +5 -5
  31. package/dist/types/src/wire-protocol.d.ts.map +1 -1
  32. package/dist/types/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +32 -22
  34. package/src/swarm/connection.test.ts +2 -1
  35. package/src/swarm/connection.ts +7 -5
  36. package/src/swarm/peer.ts +2 -1
  37. package/src/swarm/swarm.test.ts +2 -1
  38. package/src/tests/webrtc-transport.test.ts +4 -2
  39. package/src/transport/tcp/index.ts +1 -1
  40. package/src/transport/webrtc/rtc-peer-connection.ts +1 -1
  41. package/src/transport/webrtc/rtc-transport-channel.ts +1 -1
  42. package/src/transport/webrtc/rtc-transport-proxy.test.ts +2 -1
  43. package/src/transport/webrtc/rtc-transport-proxy.ts +6 -4
  44. package/src/transport/webrtc/rtc-transport.test.ts +2 -1
  45. package/src/wire-protocol.ts +6 -6
  46. package/dist/lib/browser/chunk-E3P563GT.mjs.map +0 -7
  47. package/dist/lib/node-esm/chunk-PKBROUZV.mjs.map +0 -7
@@ -7,22 +7,360 @@ import {
7
7
  EventType,
8
8
  FullyConnectedTopology,
9
9
  MAX_CONCURRENT_INITIATING_CONNECTIONS,
10
- MMSTTopology,
11
10
  MemoryTransport,
12
11
  MemoryTransportFactory,
13
12
  RtcTransportProxy,
14
13
  RtcTransportProxyFactory,
15
14
  RtcTransportService,
16
- StarTopology,
17
15
  Swarm,
18
16
  SwarmMapper,
19
17
  SwarmMessenger,
20
18
  SwarmNetworkManager,
21
19
  TransportKind,
22
- createIceProvider,
23
20
  createRtcTransportFactory,
24
21
  createTeleportProtocolFactory
25
- } from "./chunk-PKBROUZV.mjs";
22
+ } from "./chunk-SCX3PZRE.mjs";
23
+
24
+ // src/signal/ice.ts
25
+ import { asyncTimeout } from "@dxos/async";
26
+ import { log } from "@dxos/log";
27
+ import { isNonNullable } from "@dxos/util";
28
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/mesh/network-manager/src/signal/ice.ts";
29
+ var createIceProvider = (iceProviders) => {
30
+ let cachedIceServers;
31
+ return {
32
+ getIceServers: async () => {
33
+ if (cachedIceServers) {
34
+ return cachedIceServers;
35
+ }
36
+ cachedIceServers = (await Promise.all(iceProviders.map(({ urls }) => asyncTimeout(fetch(urls, {
37
+ method: "GET"
38
+ }), 1e4).then((response) => response.json()).catch((err) => {
39
+ const isDev = typeof window !== "undefined" && window.location.href.includes("localhost");
40
+ if (!isDev) {
41
+ log.error("Failed to fetch ICE servers from provider", {
42
+ urls,
43
+ err
44
+ }, {
45
+ F: __dxlog_file,
46
+ L: 30,
47
+ S: void 0,
48
+ C: (f, a) => f(...a)
49
+ });
50
+ }
51
+ })))).filter(isNonNullable).map(({ iceServers }) => iceServers).flat();
52
+ return cachedIceServers;
53
+ }
54
+ };
55
+ };
56
+
57
+ // src/topology/mmst-topology.ts
58
+ import { invariant } from "@dxos/invariant";
59
+ import { log as log2 } from "@dxos/log";
60
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/mesh/network-manager/src/topology/mmst-topology.ts";
61
+ var MIN_UPDATE_INTERVAL = 1e3 * 10;
62
+ var MAX_CHANGES_PER_UPDATE = 1;
63
+ var MMSTTopology = class {
64
+ _originateConnections;
65
+ _maxPeers;
66
+ _sampleSize;
67
+ _controller;
68
+ _sampleCollected = false;
69
+ _lastAction = /* @__PURE__ */ new Date(0);
70
+ constructor({ originateConnections = 2, maxPeers = 4, sampleSize = 10 } = {}) {
71
+ this._originateConnections = originateConnections;
72
+ this._maxPeers = maxPeers;
73
+ this._sampleSize = sampleSize;
74
+ }
75
+ init(controller) {
76
+ invariant(!this._controller, "Already initialized", {
77
+ F: __dxlog_file2,
78
+ L: 49,
79
+ S: this,
80
+ A: [
81
+ "!this._controller",
82
+ "'Already initialized'"
83
+ ]
84
+ });
85
+ this._controller = controller;
86
+ }
87
+ update() {
88
+ invariant(this._controller, "Not initialized", {
89
+ F: __dxlog_file2,
90
+ L: 54,
91
+ S: this,
92
+ A: [
93
+ "this._controller",
94
+ "'Not initialized'"
95
+ ]
96
+ });
97
+ const { connected, candidates } = this._controller.getState();
98
+ if (this._sampleCollected || connected.length > this._maxPeers || candidates.length > 0) {
99
+ log2("Running the algorithm.", void 0, {
100
+ F: __dxlog_file2,
101
+ L: 58,
102
+ S: this,
103
+ C: (f, a) => f(...a)
104
+ });
105
+ this._sampleCollected = true;
106
+ this._runAlgorithm();
107
+ }
108
+ }
109
+ forceUpdate() {
110
+ this._lastAction = /* @__PURE__ */ new Date(0);
111
+ this.update();
112
+ }
113
+ async onOffer(peer) {
114
+ invariant(this._controller, "Not initialized", {
115
+ F: __dxlog_file2,
116
+ L: 70,
117
+ S: this,
118
+ A: [
119
+ "this._controller",
120
+ "'Not initialized'"
121
+ ]
122
+ });
123
+ const { connected } = this._controller.getState();
124
+ const accept = connected.length < this._maxPeers;
125
+ log2(`Offer ${peer} accept=${accept}`, void 0, {
126
+ F: __dxlog_file2,
127
+ L: 73,
128
+ S: this,
129
+ C: (f, a) => f(...a)
130
+ });
131
+ return accept;
132
+ }
133
+ async destroy() {
134
+ }
135
+ _runAlgorithm() {
136
+ invariant(this._controller, "Not initialized", {
137
+ F: __dxlog_file2,
138
+ L: 82,
139
+ S: this,
140
+ A: [
141
+ "this._controller",
142
+ "'Not initialized'"
143
+ ]
144
+ });
145
+ const { connected, candidates, ownPeerId } = this._controller.getState();
146
+ if (connected.length > this._maxPeers) {
147
+ log2(`disconnect ${connected.length - this._maxPeers} peers.`, void 0, {
148
+ F: __dxlog_file2,
149
+ L: 88,
150
+ S: this,
151
+ C: (f, a) => f(...a)
152
+ });
153
+ const sorted = sortByXorDistance(connected, ownPeerId).reverse().slice(0, this._maxPeers - connected.length);
154
+ invariant(sorted.length === 0, void 0, {
155
+ F: __dxlog_file2,
156
+ L: 92,
157
+ S: this,
158
+ A: [
159
+ "sorted.length === 0",
160
+ ""
161
+ ]
162
+ });
163
+ if (sorted.length > MAX_CHANGES_PER_UPDATE) {
164
+ log2(`want to disconnect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`, void 0, {
165
+ F: __dxlog_file2,
166
+ L: 95,
167
+ S: this,
168
+ C: (f, a) => f(...a)
169
+ });
170
+ }
171
+ if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {
172
+ for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
173
+ log2(`Disconnect ${peer}.`, void 0, {
174
+ F: __dxlog_file2,
175
+ L: 100,
176
+ S: this,
177
+ C: (f, a) => f(...a)
178
+ });
179
+ this._controller.disconnect(peer);
180
+ }
181
+ this._lastAction = /* @__PURE__ */ new Date();
182
+ } else {
183
+ log2("rate limited disconnect", void 0, {
184
+ F: __dxlog_file2,
185
+ L: 105,
186
+ S: this,
187
+ C: (f, a) => f(...a)
188
+ });
189
+ }
190
+ } else if (connected.length < this._originateConnections) {
191
+ log2(`connect ${this._originateConnections - connected.length} peers.`, void 0, {
192
+ F: __dxlog_file2,
193
+ L: 109,
194
+ S: this,
195
+ C: (f, a) => f(...a)
196
+ });
197
+ const sample = candidates.sort(() => Math.random() - 0.5).slice(0, this._sampleSize);
198
+ const sorted = sortByXorDistance(sample, ownPeerId).slice(0, this._originateConnections - connected.length);
199
+ if (sorted.length > MAX_CHANGES_PER_UPDATE) {
200
+ log2(`want to connect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`, void 0, {
201
+ F: __dxlog_file2,
202
+ L: 114,
203
+ S: this,
204
+ C: (f, a) => f(...a)
205
+ });
206
+ }
207
+ if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {
208
+ for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
209
+ log2(`Connect ${peer}.`, void 0, {
210
+ F: __dxlog_file2,
211
+ L: 118,
212
+ S: this,
213
+ C: (f, a) => f(...a)
214
+ });
215
+ this._controller.connect(peer);
216
+ }
217
+ this._lastAction = /* @__PURE__ */ new Date();
218
+ } else {
219
+ log2("rate limited connect", void 0, {
220
+ F: __dxlog_file2,
221
+ L: 123,
222
+ S: this,
223
+ C: (f, a) => f(...a)
224
+ });
225
+ }
226
+ }
227
+ }
228
+ toString() {
229
+ return "MMSTTopology";
230
+ }
231
+ };
232
+ var sortByXorDistance = (keys, reference) => {
233
+ const sorted = keys.sort((a, b) => {
234
+ return compareXor(distXor(a.asBuffer(), reference.asBuffer()), distXor(b.asBuffer(), reference.asBuffer()));
235
+ });
236
+ log2("Sorted keys", {
237
+ keys,
238
+ reference,
239
+ sorted
240
+ }, {
241
+ F: __dxlog_file2,
242
+ L: 137,
243
+ S: void 0,
244
+ C: (f, a) => f(...a)
245
+ });
246
+ return sorted;
247
+ };
248
+ var distXor = (a, b) => {
249
+ const maxLength = Math.max(a.length, b.length);
250
+ const result = Buffer.allocUnsafe(maxLength);
251
+ for (let i = 0; i < maxLength; i++) {
252
+ result[i] = (a[i] || 0) ^ (b[i] || 0);
253
+ }
254
+ return result;
255
+ };
256
+ var compareXor = (a, b) => {
257
+ const maxLength = Math.max(a.length, b.length);
258
+ for (let i = 0; i < maxLength; i++) {
259
+ if ((a[i] || 0) === (b[i] || 0)) {
260
+ continue;
261
+ }
262
+ return (a[i] || 0) < (b[i] || 0) ? -1 : 1;
263
+ }
264
+ return 0;
265
+ };
266
+
267
+ // src/topology/star-topology.ts
268
+ import { invariant as invariant2 } from "@dxos/invariant";
269
+ import { log as log3 } from "@dxos/log";
270
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/core/mesh/network-manager/src/topology/star-topology.ts";
271
+ var StarTopology = class {
272
+ _centralPeer;
273
+ _controller;
274
+ constructor(_centralPeer) {
275
+ this._centralPeer = _centralPeer;
276
+ }
277
+ toString() {
278
+ return `StarTopology(${this._centralPeer.truncate()})`;
279
+ }
280
+ init(controller) {
281
+ invariant2(!this._controller, "Already initialized.", {
282
+ F: __dxlog_file3,
283
+ L: 21,
284
+ S: this,
285
+ A: [
286
+ "!this._controller",
287
+ "'Already initialized.'"
288
+ ]
289
+ });
290
+ this._controller = controller;
291
+ }
292
+ update() {
293
+ invariant2(this._controller, "Not initialized.", {
294
+ F: __dxlog_file3,
295
+ L: 26,
296
+ S: this,
297
+ A: [
298
+ "this._controller",
299
+ "'Not initialized.'"
300
+ ]
301
+ });
302
+ const { candidates, connected, ownPeerId } = this._controller.getState();
303
+ if (!ownPeerId.equals(this._centralPeer)) {
304
+ log3("leaf peer dropping all connections apart from central peer.", void 0, {
305
+ F: __dxlog_file3,
306
+ L: 29,
307
+ S: this,
308
+ C: (f, a) => f(...a)
309
+ });
310
+ for (const peer of connected) {
311
+ if (!peer.equals(this._centralPeer)) {
312
+ log3("dropping connection", {
313
+ peer
314
+ }, {
315
+ F: __dxlog_file3,
316
+ L: 34,
317
+ S: this,
318
+ C: (f, a) => f(...a)
319
+ });
320
+ this._controller.disconnect(peer);
321
+ }
322
+ }
323
+ }
324
+ for (const peer of candidates) {
325
+ if (peer.equals(this._centralPeer) || ownPeerId.equals(this._centralPeer)) {
326
+ log3("connecting to peer", {
327
+ peer
328
+ }, {
329
+ F: __dxlog_file3,
330
+ L: 43,
331
+ S: this,
332
+ C: (f, a) => f(...a)
333
+ });
334
+ this._controller.connect(peer);
335
+ }
336
+ }
337
+ }
338
+ async onOffer(peer) {
339
+ invariant2(this._controller, "Not initialized.", {
340
+ F: __dxlog_file3,
341
+ L: 50,
342
+ S: this,
343
+ A: [
344
+ "this._controller",
345
+ "'Not initialized.'"
346
+ ]
347
+ });
348
+ const { ownPeerId } = this._controller.getState();
349
+ log3("offer", {
350
+ peer,
351
+ isCentral: peer.equals(this._centralPeer),
352
+ isSelfCentral: ownPeerId.equals(this._centralPeer)
353
+ }, {
354
+ F: __dxlog_file3,
355
+ L: 52,
356
+ S: this,
357
+ C: (f, a) => f(...a)
358
+ });
359
+ return ownPeerId.equals(this._centralPeer) || peer.equals(this._centralPeer);
360
+ }
361
+ async destroy() {
362
+ }
363
+ };
26
364
  export {
27
365
  Connection,
28
366
  ConnectionLimiter,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
3
+ "sources": ["../../../src/signal/ice.ts", "../../../src/topology/mmst-topology.ts", "../../../src/topology/star-topology.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { asyncTimeout } from '@dxos/async';\nimport { log } from '@dxos/log';\nimport { type Runtime } from '@dxos/protocols/proto/dxos/config';\nimport { isNonNullable } from '@dxos/util';\n\nexport interface IceProvider {\n getIceServers: () => Promise<RTCIceServer[]>;\n}\n\nexport const createIceProvider = (iceProviders: Runtime.Services.IceProvider[]): IceProvider => {\n let cachedIceServers: RTCIceServer[];\n return {\n getIceServers: async () => {\n if (cachedIceServers) {\n return cachedIceServers;\n }\n\n cachedIceServers = (\n await Promise.all(\n iceProviders.map(({ urls }) =>\n asyncTimeout(fetch(urls, { method: 'GET' }), 10_000)\n .then((response) => response.json())\n .catch((err) => {\n const isDev = typeof window !== 'undefined' && window.location.href.includes('localhost');\n if (!isDev) {\n log.error('Failed to fetch ICE servers from provider', { urls, err });\n }\n }),\n ),\n )\n )\n .filter(isNonNullable)\n .map(({ iceServers }: { iceServers: RTCIceServer[] }) => iceServers)\n .flat();\n\n return cachedIceServers;\n },\n };\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport { type SwarmController, type Topology } from './topology';\n\nconst MIN_UPDATE_INTERVAL = 1000 * 10;\nconst MAX_CHANGES_PER_UPDATE = 1;\n\nexport interface MMSTTopologyOptions {\n /**\n * Number of connections the peer will originate by itself.\n */\n originateConnections?: number;\n\n /**\n * Maximum number of connections allowed, all other connections will be dropped.\n */\n maxPeers?: number;\n\n /**\n * Size of random sample from which peer candidates are selected.\n */\n sampleSize?: number;\n}\n\nexport class MMSTTopology implements Topology {\n private readonly _originateConnections: number;\n private readonly _maxPeers: number;\n private readonly _sampleSize: number;\n\n private _controller?: SwarmController;\n\n private _sampleCollected = false;\n\n private _lastAction = new Date(0);\n\n constructor({ originateConnections = 2, maxPeers = 4, sampleSize = 10 }: MMSTTopologyOptions = {}) {\n this._originateConnections = originateConnections;\n this._maxPeers = maxPeers;\n this._sampleSize = sampleSize;\n }\n\n init(controller: SwarmController): void {\n invariant(!this._controller, 'Already initialized');\n this._controller = controller;\n }\n\n update(): void {\n invariant(this._controller, 'Not initialized');\n const { connected, candidates } = this._controller.getState();\n // Run the algorithms if we have first candidates, ran it before, or have more connections than needed.\n if (this._sampleCollected || connected.length > this._maxPeers || candidates.length > 0) {\n log('Running the algorithm.');\n this._sampleCollected = true;\n this._runAlgorithm();\n }\n }\n\n forceUpdate(): void {\n this._lastAction = new Date(0);\n this.update();\n }\n\n async onOffer(peer: PublicKey): Promise<boolean> {\n invariant(this._controller, 'Not initialized');\n const { connected } = this._controller.getState();\n const accept = connected.length < this._maxPeers;\n log(`Offer ${peer} accept=${accept}`);\n return accept;\n }\n\n async destroy(): Promise<void> {\n // Nothing to do.\n }\n\n private _runAlgorithm(): void {\n invariant(this._controller, 'Not initialized');\n const { connected, candidates, ownPeerId } = this._controller.getState();\n\n // TODO(nf): does this rate limiting/flap dampening logic belong here or in the SwarmController?\n if (connected.length > this._maxPeers) {\n // Disconnect extra peers.\n log(`disconnect ${connected.length - this._maxPeers} peers.`);\n const sorted = sortByXorDistance(connected, ownPeerId)\n .reverse()\n .slice(0, this._maxPeers - connected.length);\n invariant(sorted.length === 0);\n\n if (sorted.length > MAX_CHANGES_PER_UPDATE) {\n log(`want to disconnect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`);\n }\n\n if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {\n for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {\n log(`Disconnect ${peer}.`);\n this._controller.disconnect(peer);\n }\n this._lastAction = new Date();\n } else {\n log('rate limited disconnect');\n }\n } else if (connected.length < this._originateConnections) {\n // Connect new peers to reach desired quota.\n log(`connect ${this._originateConnections - connected.length} peers.`);\n const sample = candidates.sort(() => Math.random() - 0.5).slice(0, this._sampleSize);\n const sorted = sortByXorDistance(sample, ownPeerId).slice(0, this._originateConnections - connected.length);\n\n if (sorted.length > MAX_CHANGES_PER_UPDATE) {\n log(`want to connect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`);\n }\n if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {\n for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {\n log(`Connect ${peer}.`);\n this._controller.connect(peer);\n }\n this._lastAction = new Date();\n } else {\n log('rate limited connect');\n }\n }\n }\n\n toString(): string {\n return 'MMSTTopology';\n }\n}\n\nconst sortByXorDistance = (keys: PublicKey[], reference: PublicKey): PublicKey[] => {\n const sorted = keys.sort((a, b) => {\n return compareXor(distXor(a.asBuffer(), reference.asBuffer()), distXor(b.asBuffer(), reference.asBuffer()));\n });\n log('Sorted keys', { keys, reference, sorted });\n return sorted;\n};\n\nconst distXor = (a: Buffer, b: Buffer) => {\n const maxLength = Math.max(a.length, b.length);\n const result = Buffer.allocUnsafe(maxLength);\n for (let i = 0; i < maxLength; i++) {\n result[i] = (a[i] || 0) ^ (b[i] || 0);\n }\n return result;\n};\n\nconst compareXor = (a: Buffer, b: Buffer) => {\n const maxLength = Math.max(a.length, b.length);\n for (let i = 0; i < maxLength; i++) {\n if ((a[i] || 0) === (b[i] || 0)) {\n continue;\n }\n return (a[i] || 0) < (b[i] || 0) ? -1 : 1;\n }\n return 0;\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport { type SwarmController, type Topology } from './topology';\n\nexport class StarTopology implements Topology {\n private _controller?: SwarmController;\n\n constructor(private readonly _centralPeer: PublicKey) {}\n\n toString(): string {\n return `StarTopology(${this._centralPeer.truncate()})`;\n }\n\n init(controller: SwarmController): void {\n invariant(!this._controller, 'Already initialized.');\n this._controller = controller;\n }\n\n update(): void {\n invariant(this._controller, 'Not initialized.');\n const { candidates, connected, ownPeerId } = this._controller.getState();\n if (!ownPeerId.equals(this._centralPeer)) {\n log('leaf peer dropping all connections apart from central peer.');\n\n // Drop all connections other than central peer.\n for (const peer of connected) {\n if (!peer.equals(this._centralPeer)) {\n log('dropping connection', { peer });\n this._controller.disconnect(peer);\n }\n }\n }\n\n for (const peer of candidates) {\n // Connect to central peer.\n if (peer.equals(this._centralPeer) || ownPeerId.equals(this._centralPeer)) {\n log('connecting to peer', { peer });\n this._controller.connect(peer);\n }\n }\n }\n\n async onOffer(peer: PublicKey): Promise<boolean> {\n invariant(this._controller, 'Not initialized.');\n const { ownPeerId } = this._controller.getState();\n log('offer', {\n peer,\n isCentral: peer.equals(this._centralPeer),\n isSelfCentral: ownPeerId.equals(this._centralPeer),\n });\n return ownPeerId.equals(this._centralPeer) || peer.equals(this._centralPeer);\n }\n\n async destroy(): Promise<void> {\n // Nothing to do.\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["asyncTimeout", "log", "isNonNullable", "createIceProvider", "iceProviders", "cachedIceServers", "getIceServers", "Promise", "all", "map", "urls", "fetch", "method", "then", "response", "json", "catch", "err", "isDev", "window", "location", "href", "includes", "error", "filter", "iceServers", "flat", "invariant", "log", "MIN_UPDATE_INTERVAL", "MAX_CHANGES_PER_UPDATE", "MMSTTopology", "_originateConnections", "_maxPeers", "_sampleSize", "_controller", "_sampleCollected", "_lastAction", "Date", "originateConnections", "maxPeers", "sampleSize", "init", "controller", "update", "connected", "candidates", "getState", "length", "_runAlgorithm", "forceUpdate", "onOffer", "peer", "accept", "destroy", "ownPeerId", "sorted", "sortByXorDistance", "reverse", "slice", "now", "getTime", "disconnect", "sample", "sort", "Math", "random", "connect", "toString", "keys", "reference", "a", "b", "compareXor", "distXor", "asBuffer", "maxLength", "max", "result", "Buffer", "allocUnsafe", "i", "invariant", "log", "StarTopology", "_controller", "_centralPeer", "toString", "truncate", "init", "controller", "update", "candidates", "connected", "ownPeerId", "getState", "equals", "peer", "disconnect", "connect", "onOffer", "isCentral", "isSelfCentral", "destroy"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/swarm/connection.ts":{"bytes":55115,"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"},"src/signal/ice.ts":{"bytes":4538,"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"},"src/signal/swarm-messenger.ts":{"bytes":22177,"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"},"src/signal/index.ts":{"bytes":678,"imports":[{"path":"src/signal/ice.ts","kind":"import-statement","original":"./ice"},{"path":"src/signal/swarm-messenger.ts","kind":"import-statement","original":"./swarm-messenger"}],"format":"esm"},"src/swarm/peer.ts":{"bytes":47065,"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":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"}],"format":"esm"},"src/swarm/swarm.ts":{"bytes":54941,"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":"src/signal/index.ts","kind":"import-statement","original":"../signal"},{"path":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"src/swarm/peer.ts","kind":"import-statement","original":"./peer"}],"format":"esm"},"src/swarm/swarm-mapper.ts":{"bytes":12086,"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"},"src/swarm/connection-limiter.ts":{"bytes":8455,"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"},"src/swarm/index.ts":{"bytes":768,"imports":[{"path":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"src/swarm/swarm.ts","kind":"import-statement","original":"./swarm"},{"path":"src/swarm/swarm-mapper.ts","kind":"import-statement","original":"./swarm-mapper"},{"path":"src/swarm/connection-limiter.ts","kind":"import-statement","original":"./connection-limiter"}],"format":"esm"},"src/connection-log.ts":{"bytes":16208,"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":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"src/network-manager.ts":{"bytes":27172,"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":"src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"src/topology/fully-connected-topology.ts":{"bytes":3536,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"src/topology/mmst-topology.ts":{"bytes":20376,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/topology/star-topology.ts":{"bytes":8007,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/topology/index.ts":{"bytes":760,"imports":[{"path":"src/topology/fully-connected-topology.ts","kind":"import-statement","original":"./fully-connected-topology"},{"path":"src/topology/mmst-topology.ts","kind":"import-statement","original":"./mmst-topology"},{"path":"src/topology/star-topology.ts","kind":"import-statement","original":"./star-topology"}],"format":"esm"},"src/transport/memory-transport.ts":{"bytes":23009,"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"},"src/transport/transport.ts":{"bytes":3009,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-connection-factory.ts":{"bytes":8665,"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"},"src/transport/webrtc/rtc-transport-stats.ts":{"bytes":7336,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-transport-channel.ts":{"bytes":22671,"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":"src/transport/webrtc/rtc-transport-stats.ts","kind":"import-statement","original":"./rtc-transport-stats"}],"format":"esm"},"src/transport/webrtc/utils.ts":{"bytes":3889,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-peer-connection.ts":{"bytes":63948,"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":"src/transport/webrtc/rtc-transport-channel.ts","kind":"import-statement","original":"./rtc-transport-channel"},{"path":"src/transport/webrtc/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/transport/webrtc/rtc-transport-factory.ts":{"bytes":3420,"imports":[{"path":"src/transport/webrtc/rtc-connection-factory.ts","kind":"import-statement","original":"./rtc-connection-factory"},{"path":"src/transport/webrtc/rtc-peer-connection.ts","kind":"import-statement","original":"./rtc-peer-connection"}],"format":"esm"},"src/transport/webrtc/rtc-transport-proxy.ts":{"bytes":29114,"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"},"src/transport/webrtc/rtc-transport-service.ts":{"bytes":21401,"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":"src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"}],"format":"esm"},"src/transport/webrtc/index.ts":{"bytes":751,"imports":[{"path":"src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"},{"path":"src/transport/webrtc/rtc-transport-proxy.ts","kind":"import-statement","original":"./rtc-transport-proxy"},{"path":"src/transport/webrtc/rtc-transport-service.ts","kind":"import-statement","original":"./rtc-transport-service"}],"format":"esm"},"src/transport/index.ts":{"bytes":666,"imports":[{"path":"src/transport/memory-transport.ts","kind":"import-statement","original":"./memory-transport"},{"path":"src/transport/transport.ts","kind":"import-statement","original":"./transport"},{"path":"src/transport/webrtc/index.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"src/wire-protocol.ts":{"bytes":4254,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":1071,"imports":[{"path":"src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"src/network-manager.ts","kind":"import-statement","original":"./network-manager"},{"path":"src/signal/index.ts","kind":"import-statement","original":"./signal"},{"path":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"},{"path":"src/topology/index.ts","kind":"import-statement","original":"./topology"},{"path":"src/transport/index.ts","kind":"import-statement","original":"./transport"},{"path":"src/wire-protocol.ts","kind":"import-statement","original":"./wire-protocol"}],"format":"esm"},"src/testing/test-wire-protocol.ts":{"bytes":12575,"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":"src/wire-protocol.ts","kind":"import-statement","original":"../wire-protocol"}],"format":"esm"},"src/testing/test-builder.ts":{"bytes":25936,"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":"src/network-manager.ts","kind":"import-statement","original":"../network-manager"},{"path":"src/topology/index.ts","kind":"import-statement","original":"../topology"},{"path":"src/transport/index.ts","kind":"import-statement","original":"../transport"},{"path":"src/testing/test-wire-protocol.ts","kind":"import-statement","original":"./test-wire-protocol"}],"format":"esm"},"src/testing/index.ts":{"bytes":481,"imports":[{"path":"src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"},"src/transport/tcp/tcp-transport.ts":{"bytes":14208,"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"},"src/transport/tcp/index.ts":{"bytes":492,"imports":[{"path":"src/transport/tcp/tcp-transport.ts","kind":"import-statement","original":"./tcp-transport"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-PKBROUZV.mjs","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":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":1107},"dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19154},"dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-PKBROUZV.mjs","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":"src/testing/index.ts","inputs":{"src/testing/test-builder.ts":{"bytesInOutput":6197},"src/testing/test-wire-protocol.ts":{"bytesInOutput":3194},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":9947},"dist/lib/node-esm/chunk-PKBROUZV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":216150},"dist/lib/node-esm/chunk-PKBROUZV.mjs":{"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":{"src/swarm/connection.ts":{"bytesInOutput":16494},"src/signal/ice.ts":{"bytesInOutput":1085},"src/signal/swarm-messenger.ts":{"bytesInOutput":6293},"src/signal/index.ts":{"bytesInOutput":0},"src/swarm/swarm.ts":{"bytesInOutput":16647},"src/swarm/peer.ts":{"bytesInOutput":13895},"src/swarm/swarm-mapper.ts":{"bytesInOutput":2233},"src/swarm/connection-limiter.ts":{"bytesInOutput":2575},"src/swarm/index.ts":{"bytesInOutput":0},"src/connection-log.ts":{"bytesInOutput":3409},"src/network-manager.ts":{"bytesInOutput":7433},"src/topology/fully-connected-topology.ts":{"bytesInOutput":967},"src/topology/mmst-topology.ts":{"bytesInOutput":6025},"src/topology/star-topology.ts":{"bytesInOutput":2507},"src/topology/index.ts":{"bytesInOutput":0},"src/transport/memory-transport.ts":{"bytesInOutput":6190},"src/transport/transport.ts":{"bytesInOutput":263},"src/transport/webrtc/rtc-connection-factory.ts":{"bytesInOutput":1521},"src/transport/webrtc/rtc-peer-connection.ts":{"bytesInOutput":19296},"src/transport/webrtc/rtc-transport-channel.ts":{"bytesInOutput":6076},"src/transport/webrtc/rtc-transport-stats.ts":{"bytesInOutput":1668},"src/transport/webrtc/utils.ts":{"bytesInOutput":718},"src/transport/webrtc/rtc-transport-factory.ts":{"bytesInOutput":528},"src/transport/webrtc/rtc-transport-proxy.ts":{"bytesInOutput":7888},"src/transport/webrtc/rtc-transport-service.ts":{"bytesInOutput":6040},"src/transport/index.ts":{"bytesInOutput":0},"src/transport/webrtc/index.ts":{"bytesInOutput":0},"src/wire-protocol.ts":{"bytesInOutput":537}},"bytes":131856},"dist/lib/node-esm/transport/tcp/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6704},"dist/lib/node-esm/transport/tcp/index.mjs":{"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":"src/transport/tcp/index.ts","inputs":{"src/transport/tcp/tcp-transport.ts":{"bytesInOutput":3714},"src/transport/tcp/index.ts":{"bytesInOutput":0}},"bytes":3930}}}
1
+ {"inputs":{"src/swarm/connection.ts":{"bytes":55453,"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"},"src/signal/ice.ts":{"bytes":4538,"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"},"src/signal/swarm-messenger.ts":{"bytes":22177,"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"},"src/signal/index.ts":{"bytes":678,"imports":[{"path":"src/signal/ice.ts","kind":"import-statement","original":"./ice"},{"path":"src/signal/swarm-messenger.ts","kind":"import-statement","original":"./swarm-messenger"}],"format":"esm"},"src/swarm/peer.ts":{"bytes":47154,"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":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"}],"format":"esm"},"src/swarm/swarm.ts":{"bytes":54941,"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":"src/signal/index.ts","kind":"import-statement","original":"../signal"},{"path":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"src/swarm/peer.ts","kind":"import-statement","original":"./peer"}],"format":"esm"},"src/swarm/swarm-mapper.ts":{"bytes":12086,"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"},"src/swarm/connection-limiter.ts":{"bytes":8455,"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"},"src/swarm/index.ts":{"bytes":768,"imports":[{"path":"src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"src/swarm/swarm.ts","kind":"import-statement","original":"./swarm"},{"path":"src/swarm/swarm-mapper.ts","kind":"import-statement","original":"./swarm-mapper"},{"path":"src/swarm/connection-limiter.ts","kind":"import-statement","original":"./connection-limiter"}],"format":"esm"},"src/connection-log.ts":{"bytes":16208,"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":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"src/network-manager.ts":{"bytes":27172,"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":"src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"src/topology/fully-connected-topology.ts":{"bytes":3536,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"src/topology/mmst-topology.ts":{"bytes":20376,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/topology/star-topology.ts":{"bytes":8007,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/topology/index.ts":{"bytes":760,"imports":[{"path":"src/topology/fully-connected-topology.ts","kind":"import-statement","original":"./fully-connected-topology"},{"path":"src/topology/mmst-topology.ts","kind":"import-statement","original":"./mmst-topology"},{"path":"src/topology/star-topology.ts","kind":"import-statement","original":"./star-topology"}],"format":"esm"},"src/transport/memory-transport.ts":{"bytes":23009,"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"},"src/transport/transport.ts":{"bytes":3009,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-connection-factory.ts":{"bytes":8665,"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"},"src/transport/webrtc/rtc-transport-stats.ts":{"bytes":7336,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-transport-channel.ts":{"bytes":22764,"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":"src/transport/webrtc/rtc-transport-stats.ts","kind":"import-statement","original":"./rtc-transport-stats"}],"format":"esm"},"src/transport/webrtc/utils.ts":{"bytes":3889,"imports":[],"format":"esm"},"src/transport/webrtc/rtc-peer-connection.ts":{"bytes":64013,"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":"src/transport/webrtc/rtc-transport-channel.ts","kind":"import-statement","original":"./rtc-transport-channel"},{"path":"src/transport/webrtc/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/transport/webrtc/rtc-transport-factory.ts":{"bytes":3420,"imports":[{"path":"src/transport/webrtc/rtc-connection-factory.ts","kind":"import-statement","original":"./rtc-connection-factory"},{"path":"src/transport/webrtc/rtc-peer-connection.ts","kind":"import-statement","original":"./rtc-peer-connection"}],"format":"esm"},"src/transport/webrtc/rtc-transport-proxy.ts":{"bytes":29367,"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"},"src/transport/webrtc/rtc-transport-service.ts":{"bytes":21401,"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":"src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"}],"format":"esm"},"src/transport/webrtc/index.ts":{"bytes":751,"imports":[{"path":"src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"},{"path":"src/transport/webrtc/rtc-transport-proxy.ts","kind":"import-statement","original":"./rtc-transport-proxy"},{"path":"src/transport/webrtc/rtc-transport-service.ts","kind":"import-statement","original":"./rtc-transport-service"}],"format":"esm"},"src/transport/index.ts":{"bytes":666,"imports":[{"path":"src/transport/memory-transport.ts","kind":"import-statement","original":"./memory-transport"},{"path":"src/transport/transport.ts","kind":"import-statement","original":"./transport"},{"path":"src/transport/webrtc/index.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"src/wire-protocol.ts":{"bytes":4239,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":1071,"imports":[{"path":"src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"src/network-manager.ts","kind":"import-statement","original":"./network-manager"},{"path":"src/signal/index.ts","kind":"import-statement","original":"./signal"},{"path":"src/swarm/index.ts","kind":"import-statement","original":"./swarm"},{"path":"src/topology/index.ts","kind":"import-statement","original":"./topology"},{"path":"src/transport/index.ts","kind":"import-statement","original":"./transport"},{"path":"src/wire-protocol.ts","kind":"import-statement","original":"./wire-protocol"}],"format":"esm"},"src/testing/test-wire-protocol.ts":{"bytes":12575,"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":"src/wire-protocol.ts","kind":"import-statement","original":"../wire-protocol"}],"format":"esm"},"src/testing/test-builder.ts":{"bytes":25936,"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":"src/network-manager.ts","kind":"import-statement","original":"../network-manager"},{"path":"src/topology/index.ts","kind":"import-statement","original":"../topology"},{"path":"src/transport/index.ts","kind":"import-statement","original":"../transport"},{"path":"src/testing/test-wire-protocol.ts","kind":"import-statement","original":"./test-wire-protocol"}],"format":"esm"},"src/testing/index.ts":{"bytes":481,"imports":[{"path":"src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"},"src/transport/tcp/index.ts":{"bytes":500,"imports":[{"path":"#tcp-transport-impl","kind":"import-statement","external":true}],"format":"esm"},"src/transport/tcp/tcp-transport.ts":{"bytes":14208,"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"},"src/transport/tcp/tcp-transport.browser.ts":{"bytes":3255,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14838},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-SCX3PZRE.mjs","kind":"import-statement"},{"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/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}],"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":"src/index.ts","inputs":{"src/signal/ice.ts":{"bytesInOutput":1074},"src/index.ts":{"bytesInOutput":0},"src/topology/mmst-topology.ts":{"bytesInOutput":5989},"src/topology/star-topology.ts":{"bytesInOutput":2494}},"bytes":10701},"dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19154},"dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-SCX3PZRE.mjs","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":"src/testing/index.ts","inputs":{"src/testing/test-builder.ts":{"bytesInOutput":6197},"src/testing/test-wire-protocol.ts":{"bytesInOutput":3194},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":9947},"dist/lib/node-esm/chunk-SCX3PZRE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":201672},"dist/lib/node-esm/chunk-SCX3PZRE.mjs":{"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/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":"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","MemoryTransport","MemoryTransportFactory","RtcTransportProxy","RtcTransportProxyFactory","RtcTransportService","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TransportKind","createRtcTransportFactory","createTeleportProtocolFactory"],"inputs":{"src/swarm/connection.ts":{"bytesInOutput":16600},"src/signal/swarm-messenger.ts":{"bytesInOutput":6293},"src/swarm/swarm.ts":{"bytesInOutput":16628},"src/swarm/peer.ts":{"bytesInOutput":13918},"src/swarm/swarm-mapper.ts":{"bytesInOutput":2233},"src/swarm/connection-limiter.ts":{"bytesInOutput":2575},"src/connection-log.ts":{"bytesInOutput":3409},"src/network-manager.ts":{"bytesInOutput":7433},"src/topology/fully-connected-topology.ts":{"bytesInOutput":967},"src/transport/memory-transport.ts":{"bytesInOutput":6171},"src/transport/transport.ts":{"bytesInOutput":263},"src/transport/webrtc/rtc-connection-factory.ts":{"bytesInOutput":1521},"src/transport/webrtc/rtc-peer-connection.ts":{"bytesInOutput":19315},"src/transport/webrtc/rtc-transport-channel.ts":{"bytesInOutput":6095},"src/transport/webrtc/rtc-transport-stats.ts":{"bytesInOutput":1668},"src/transport/webrtc/utils.ts":{"bytesInOutput":718},"src/transport/webrtc/rtc-transport-factory.ts":{"bytesInOutput":528},"src/transport/webrtc/rtc-transport-proxy.ts":{"bytesInOutput":7961},"src/transport/webrtc/rtc-transport-service.ts":{"bytesInOutput":6040},"src/wire-protocol.ts":{"bytesInOutput":535}},"bytes":122296},"dist/lib/node-esm/transport/tcp/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":227},"dist/lib/node-esm/transport/tcp/index.mjs":{"imports":[{"path":"#tcp-transport-impl","kind":"import-statement","external":true}],"exports":[],"entryPoint":"src/transport/tcp/index.ts","inputs":{"src/transport/tcp/index.ts":{"bytesInOutput":37}},"bytes":195},"dist/lib/node-esm/transport/tcp/tcp-transport.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6704},"dist/lib/node-esm/transport/tcp/tcp-transport.mjs":{"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":"src/transport/tcp/tcp-transport.ts","inputs":{"src/transport/tcp/tcp-transport.ts":{"bytesInOutput":3714}},"bytes":3938},"dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1815},"dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["TcpTransport","TcpTransportFactory"],"entryPoint":"src/transport/tcp/tcp-transport.browser.ts","inputs":{"src/transport/tcp/tcp-transport.browser.ts":{"bytesInOutput":602}},"bytes":842}}}
@@ -8,7 +8,7 @@ import {
8
8
  TransportKind,
9
9
  createRtcTransportFactory,
10
10
  createTeleportProtocolFactory
11
- } from "../chunk-PKBROUZV.mjs";
11
+ } from "../chunk-SCX3PZRE.mjs";
12
12
 
13
13
  // src/testing/test-builder.ts
14
14
  import { PublicKey as PublicKey2 } from "@dxos/keys";