@dxos/echo-pipeline 0.8.4-main.2e9d522 → 0.8.4-main.3c1ae3b

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 (145) hide show
  1. package/dist/lib/browser/{chunk-GBFX5J5B.mjs → chunk-2OD3J3ZU.mjs} +262 -175
  2. package/dist/lib/browser/chunk-2OD3J3ZU.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-R4OL4AJF.mjs +242 -0
  4. package/dist/lib/browser/chunk-R4OL4AJF.mjs.map +7 -0
  5. package/dist/lib/browser/filter/index.mjs +3 -2
  6. package/dist/lib/browser/index.mjs +1036 -351
  7. package/dist/lib/browser/index.mjs.map +4 -4
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/testing/index.mjs +44 -205
  10. package/dist/lib/browser/testing/index.mjs.map +4 -4
  11. package/dist/lib/node-esm/chunk-2UROXL4A.mjs +242 -0
  12. package/dist/lib/node-esm/chunk-2UROXL4A.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-FQFKWA3X.mjs → chunk-G3W3L7B2.mjs} +262 -175
  14. package/dist/lib/node-esm/chunk-G3W3L7B2.mjs.map +7 -0
  15. package/dist/lib/node-esm/filter/index.mjs +3 -2
  16. package/dist/lib/node-esm/index.mjs +1036 -351
  17. package/dist/lib/node-esm/index.mjs.map +4 -4
  18. package/dist/lib/node-esm/meta.json +1 -1
  19. package/dist/lib/node-esm/testing/index.mjs +44 -205
  20. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  21. package/dist/types/src/automerge/automerge-host.d.ts +15 -28
  22. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  23. package/dist/types/src/automerge/collection-synchronizer.d.ts +3 -2
  24. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  25. package/dist/types/src/automerge/echo-network-adapter.d.ts +8 -1
  26. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  27. package/dist/types/src/automerge/echo-replicator.d.ts +20 -1
  28. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  29. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +1 -1
  30. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  31. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +1 -0
  32. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  33. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  34. package/dist/types/src/common/codec.d.ts +1 -1
  35. package/dist/types/src/common/codec.d.ts.map +1 -1
  36. package/dist/types/src/db-host/data-service.d.ts +2 -2
  37. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  38. package/dist/types/src/db-host/database-root.d.ts.map +1 -1
  39. package/dist/types/src/db-host/documents-synchronizer.d.ts +2 -2
  40. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  41. package/dist/types/src/db-host/echo-host.d.ts +2 -2
  42. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  43. package/dist/types/src/db-host/query-service.d.ts +1 -1
  44. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  45. package/dist/types/src/db-host/space-state-manager.d.ts +1 -1
  46. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  47. package/dist/types/src/edge/echo-edge-replicator.d.ts +4 -2
  48. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  49. package/dist/types/src/filter/filter-match.d.ts +4 -1
  50. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  51. package/dist/types/src/metadata/metadata-store.d.ts +1 -1
  52. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  53. package/dist/types/src/pipeline/pipeline.d.ts +1 -1
  54. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  55. package/dist/types/src/query/errors.d.ts +15 -13
  56. package/dist/types/src/query/errors.d.ts.map +1 -1
  57. package/dist/types/src/query/plan.d.ts +8 -1
  58. package/dist/types/src/query/plan.d.ts.map +1 -1
  59. package/dist/types/src/query/query-executor.d.ts +13 -1
  60. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  61. package/dist/types/src/query/query-planner.d.ts +2 -0
  62. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  63. package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
  64. package/dist/types/src/space/control-pipeline.d.ts +1 -1
  65. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  66. package/dist/types/src/space/space-manager.d.ts +1 -1
  67. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  68. package/dist/types/src/space/space-protocol.d.ts +1 -1
  69. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  70. package/dist/types/src/space/space.d.ts +1 -1
  71. package/dist/types/src/space/space.d.ts.map +1 -1
  72. package/dist/types/src/testing/index.d.ts +0 -2
  73. package/dist/types/src/testing/index.d.ts.map +1 -1
  74. package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
  75. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  76. package/dist/types/src/testing/test-replicator.d.ts +4 -3
  77. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  78. package/dist/types/src/util.d.ts +1 -1
  79. package/dist/types/src/util.d.ts.map +1 -1
  80. package/dist/types/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +40 -38
  82. package/src/automerge/automerge-host.test.ts +18 -8
  83. package/src/automerge/automerge-host.ts +273 -74
  84. package/src/automerge/automerge-repo.test.ts +67 -16
  85. package/src/automerge/collection-synchronizer.test.ts +6 -5
  86. package/src/automerge/collection-synchronizer.ts +16 -11
  87. package/src/automerge/echo-data-monitor.ts +1 -1
  88. package/src/automerge/echo-network-adapter.test.ts +3 -3
  89. package/src/automerge/echo-network-adapter.ts +38 -6
  90. package/src/automerge/echo-replicator.ts +21 -1
  91. package/src/automerge/leveldb-storage-adapter.ts +7 -7
  92. package/src/automerge/mesh-echo-replicator-connection.ts +4 -0
  93. package/src/automerge/mesh-echo-replicator.ts +2 -1
  94. package/src/automerge/storage-adapter.test.ts +1 -1
  95. package/src/common/space-id.ts +1 -1
  96. package/src/db-host/data-service.ts +9 -17
  97. package/src/db-host/database-root.ts +2 -2
  98. package/src/db-host/documents-synchronizer.test.ts +1 -1
  99. package/src/db-host/documents-synchronizer.ts +36 -26
  100. package/src/db-host/echo-host.ts +14 -15
  101. package/src/db-host/query-service.ts +4 -2
  102. package/src/db-host/space-state-manager.ts +2 -2
  103. package/src/edge/echo-edge-replicator.test.ts +5 -3
  104. package/src/edge/echo-edge-replicator.ts +74 -16
  105. package/src/filter/filter-match.test.ts +50 -29
  106. package/src/filter/filter-match.ts +165 -10
  107. package/src/metadata/metadata-store.ts +8 -5
  108. package/src/pipeline/pipeline-stress.test.ts +4 -2
  109. package/src/pipeline/pipeline.test.ts +3 -2
  110. package/src/pipeline/pipeline.ts +8 -5
  111. package/src/query/errors.ts +2 -0
  112. package/src/query/plan.ts +12 -1
  113. package/src/query/query-executor.ts +154 -14
  114. package/src/query/query-planner.test.ts +271 -33
  115. package/src/query/query-planner.ts +87 -12
  116. package/src/space/admission-discovery-extension.ts +3 -3
  117. package/src/space/control-pipeline.test.ts +4 -3
  118. package/src/space/control-pipeline.ts +9 -6
  119. package/src/space/space-manager.browser.test.ts +1 -1
  120. package/src/space/space-manager.ts +5 -4
  121. package/src/space/space-protocol.browser.test.ts +2 -2
  122. package/src/space/space-protocol.test.ts +3 -2
  123. package/src/space/space-protocol.ts +6 -3
  124. package/src/space/space.test.ts +1 -1
  125. package/src/space/space.ts +3 -2
  126. package/src/testing/index.ts +0 -2
  127. package/src/testing/test-agent-builder.ts +4 -3
  128. package/src/testing/test-replicator.ts +8 -3
  129. package/src/util.ts +1 -1
  130. package/dist/lib/browser/chunk-ANZAS5CC.mjs +0 -126
  131. package/dist/lib/browser/chunk-ANZAS5CC.mjs.map +0 -7
  132. package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
  133. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
  134. package/dist/lib/browser/chunk-GBFX5J5B.mjs.map +0 -7
  135. package/dist/lib/node-esm/chunk-2SAZ7CCF.mjs +0 -126
  136. package/dist/lib/node-esm/chunk-2SAZ7CCF.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-FQFKWA3X.mjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  139. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  140. package/dist/types/src/testing/test-data.d.ts +0 -18
  141. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  142. package/dist/types/src/testing/test-schema.d.ts +0 -37
  143. package/dist/types/src/testing/test-schema.d.ts.map +0 -1
  144. package/src/testing/test-data.ts +0 -127
  145. package/src/testing/test-schema.ts +0 -53
@@ -79,15 +79,19 @@ var emptyLargeSpaceMetadata = () => ({});
79
79
  var EchoMetadata = schema2.getCodecForType("dxos.echo.metadata.EchoMetadata");
80
80
  var LargeSpaceMetadata = schema2.getCodecForType("dxos.echo.metadata.LargeSpaceMetadata");
81
81
  var MetadataStore = class {
82
+ _metadata = emptyEchoMetadata();
83
+ _spaceLargeMetadata = new ComplexMap2(PublicKey2.hash);
84
+ _metadataFile = void 0;
85
+ update = new Event();
86
+ _invitationCleanupCtx = new Context(void 0, {
87
+ F: __dxlog_file2,
88
+ L: 55
89
+ });
90
+ /**
91
+ * @internal
92
+ */
93
+ _directory;
82
94
  constructor(directory) {
83
- this._metadata = emptyEchoMetadata();
84
- this._spaceLargeMetadata = new ComplexMap2(PublicKey2.hash);
85
- this._metadataFile = void 0;
86
- this.update = new Event();
87
- this._invitationCleanupCtx = new Context(void 0, {
88
- F: __dxlog_file2,
89
- L: 55
90
- });
91
95
  this._directory = directory;
92
96
  }
93
97
  get metadata() {
@@ -122,15 +126,20 @@ var MetadataStore = class {
122
126
  C: (f, a) => f(...a)
123
127
  });
124
128
  if (fileLength < dataSize + 8) {
125
- throw new DataCorruptionError("Metadata size is smaller than expected.", {
126
- fileLength,
127
- dataSize
129
+ throw new DataCorruptionError({
130
+ message: "Metadata size is smaller than expected.",
131
+ context: {
132
+ fileLength,
133
+ dataSize
134
+ }
128
135
  });
129
136
  }
130
137
  const data = await file.read(8, dataSize);
131
138
  const calculatedChecksum = CRC32.buf(data);
132
139
  if (calculatedChecksum !== checksum) {
133
- throw new DataCorruptionError("Metadata checksum is invalid.");
140
+ throw new DataCorruptionError({
141
+ message: "Metadata checksum is invalid."
142
+ });
134
143
  }
135
144
  return codec2.decode(data);
136
145
  } finally {
@@ -153,7 +162,7 @@ var MetadataStore = class {
153
162
  checksum
154
163
  }, {
155
164
  F: __dxlog_file2,
156
- L: 126,
165
+ L: 129,
157
166
  S: this,
158
167
  C: (f, a) => f(...a)
159
168
  });
@@ -186,7 +195,7 @@ var MetadataStore = class {
186
195
  err
187
196
  }, {
188
197
  F: __dxlog_file2,
189
- L: 158,
198
+ L: 161,
190
199
  S: this,
191
200
  C: (f, a) => f(...a)
192
201
  });
@@ -203,7 +212,7 @@ var MetadataStore = class {
203
212
  err
204
213
  }, {
205
214
  F: __dxlog_file2,
206
- L: 170,
215
+ L: 173,
207
216
  S: this,
208
217
  C: (f, a) => f(...a)
209
218
  });
@@ -240,7 +249,7 @@ var MetadataStore = class {
240
249
  err
241
250
  }, {
242
251
  F: __dxlog_file2,
243
- L: 212,
252
+ L: 215,
244
253
  S: this,
245
254
  C: (f, a) => f(...a)
246
255
  });
@@ -261,7 +270,7 @@ var MetadataStore = class {
261
270
  const space = this.spaces.find((space2) => space2.key.equals(spaceKey));
262
271
  invariant2(space, "Space not found", {
263
272
  F: __dxlog_file2,
264
- L: 234,
273
+ L: 237,
265
274
  S: this,
266
275
  A: [
267
276
  "space",
@@ -291,7 +300,7 @@ var MetadataStore = class {
291
300
  async clear() {
292
301
  log("clearing all metadata", void 0, {
293
302
  F: __dxlog_file2,
294
- L: 262,
303
+ L: 265,
295
304
  S: this,
296
305
  C: (f, a) => f(...a)
297
306
  });
@@ -304,7 +313,7 @@ var MetadataStore = class {
304
313
  async setIdentityRecord(record) {
305
314
  invariant2(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
306
315
  F: __dxlog_file2,
307
- L: 272,
316
+ L: 275,
308
317
  S: this,
309
318
  A: [
310
319
  "!this._metadata.identity",
@@ -334,7 +343,7 @@ var MetadataStore = class {
334
343
  async addSpace(record) {
335
344
  invariant2(!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key)), "Cannot overwrite existing space in metadata", {
336
345
  F: __dxlog_file2,
337
- L: 300,
346
+ L: 303,
338
347
  S: this,
339
348
  A: [
340
349
  "!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key))",
@@ -429,9 +438,11 @@ var startAfter = (timeframe) => timeframe.frames().map(([feedKey, index]) => ({
429
438
  index: index + 1
430
439
  }));
431
440
  var TimeframeClock = class {
441
+ _timeframe;
442
+ update = new Event2();
443
+ _pendingTimeframe;
432
444
  constructor(_timeframe = new Timeframe()) {
433
445
  this._timeframe = _timeframe;
434
- this.update = new Event2();
435
446
  this._pendingTimeframe = _timeframe;
436
447
  }
437
448
  /**
@@ -498,7 +509,7 @@ _ts_decorate2([
498
509
  ], TimeframeClock.prototype, "waitUntilReached", null);
499
510
 
500
511
  // src/pipeline/pipeline.ts
501
- import { Event as Event3, sleepWithContext, synchronized as synchronized2, Trigger } from "@dxos/async";
512
+ import { Event as Event3, Trigger, sleepWithContext, synchronized as synchronized2 } from "@dxos/async";
502
513
  import { Context as Context2, rejectOnDispose } from "@dxos/context";
503
514
  import { failUndefined } from "@dxos/debug";
504
515
  import { FeedSetIterator } from "@dxos/feed-store";
@@ -547,17 +558,39 @@ function _ts_decorate3(decorators, target, key, desc) {
547
558
  }
548
559
  var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
549
560
  var PipelineState = class {
561
+ _feeds;
562
+ _timeframeClock;
563
+ /**
564
+ * @internal
565
+ */
566
+ _ctx = new Context2(void 0, {
567
+ F: __dxlog_file5,
568
+ L: 42
569
+ });
570
+ // TODO(dmaretskyi): Remove?. Avoid accessing `_timeframeClock` before constructor initialization.
571
+ get timeframeUpdate() {
572
+ return this._timeframeClock.update;
573
+ }
574
+ stalled = new Event3();
575
+ /**
576
+ * @internal
577
+ */
578
+ _startTimeframe = new Timeframe2();
579
+ /**
580
+ * Target timeframe we are waiting to reach.
581
+ */
582
+ _targetTimeframe;
583
+ /**
584
+ * @internal
585
+ */
586
+ _reachedTargetPromise;
587
+ /**
588
+ * @internal
589
+ */
590
+ _reachedTarget = false;
550
591
  constructor(_feeds, _timeframeClock) {
551
592
  this._feeds = _feeds;
552
593
  this._timeframeClock = _timeframeClock;
553
- this._ctx = new Context2(void 0, {
554
- F: __dxlog_file5,
555
- L: 41
556
- });
557
- this.timeframeUpdate = this._timeframeClock.update;
558
- this.stalled = new Event3();
559
- this._startTimeframe = new Timeframe2();
560
- this._reachedTarget = false;
561
594
  }
562
595
  /**
563
596
  * Latest theoretical timeframe based on the last mutation in each feed.
@@ -603,7 +636,7 @@ var PipelineState = class {
603
636
  */
604
637
  async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, {
605
638
  F: __dxlog_file5,
606
- L: 129
639
+ L: 132
607
640
  }), timeout, breakOnStall = true } = {}) {
608
641
  log4("waitUntilReachedTargetTimeframe", {
609
642
  timeout,
@@ -611,7 +644,7 @@ var PipelineState = class {
611
644
  target: this.targetTimeframe
612
645
  }, {
613
646
  F: __dxlog_file5,
614
- L: 133,
647
+ L: 136,
615
648
  S: this,
616
649
  C: (f, a) => f(...a)
617
650
  });
@@ -643,7 +676,7 @@ var PipelineState = class {
643
676
  dependencies: Timeframe2.dependencies(this.targetTimeframe, this.timeframe)
644
677
  }, {
645
678
  F: __dxlog_file5,
646
- L: 161,
679
+ L: 164,
647
680
  S: this,
648
681
  C: (f, a) => f(...a)
649
682
  });
@@ -655,28 +688,30 @@ var PipelineState = class {
655
688
  }
656
689
  };
657
690
  var Pipeline = class {
658
- constructor() {
659
- this._timeframeClock = new TimeframeClock(new Timeframe2());
660
- this._feeds = new ComplexMap3(PublicKey3.hash);
661
- // External state accessor.
662
- this._state = new PipelineState(this._feeds, this._timeframeClock);
663
- // Waits for the message consumer to process the message and yield control back to the pipeline.
664
- this._processingTrigger = new Trigger().wake();
665
- this._pauseTrigger = new Trigger().wake();
666
- // Pending downloads.
667
- this._downloads = new ComplexMap3((value) => PublicKey3.hash(value.key));
668
- this._isStopping = false;
669
- this._isStarted = false;
670
- this._isBeingConsumed = false;
671
- this._isPaused = false;
672
- }
691
+ _timeframeClock = new TimeframeClock(new Timeframe2());
692
+ _feeds = new ComplexMap3(PublicKey3.hash);
693
+ // External state accessor.
694
+ _state = new PipelineState(this._feeds, this._timeframeClock);
695
+ // Waits for the message consumer to process the message and yield control back to the pipeline.
696
+ _processingTrigger = new Trigger().wake();
697
+ _pauseTrigger = new Trigger().wake();
698
+ // Pending downloads.
699
+ _downloads = new ComplexMap3((value) => PublicKey3.hash(value.key));
700
+ // Inbound feed stream.
701
+ _feedSetIterator;
702
+ // Outbound feed writer.
703
+ _writer;
704
+ _isStopping = false;
705
+ _isStarted = false;
706
+ _isBeingConsumed = false;
707
+ _isPaused = false;
673
708
  get state() {
674
709
  return this._state;
675
710
  }
676
711
  get writer() {
677
712
  invariant4(this._writer, "Writer not set.", {
678
713
  F: __dxlog_file5,
679
- L: 243,
714
+ L: 246,
680
715
  S: this,
681
716
  A: [
682
717
  "this._writer",
@@ -705,7 +740,7 @@ var Pipeline = class {
705
740
  setWriteFeed(feed) {
706
741
  invariant4(!this._writer, "Writer already set.", {
707
742
  F: __dxlog_file5,
708
- L: 270,
743
+ L: 273,
709
744
  S: this,
710
745
  A: [
711
746
  "!this._writer",
@@ -714,7 +749,7 @@ var Pipeline = class {
714
749
  });
715
750
  invariant4(feed.properties.writable, "Feed must be writable.", {
716
751
  F: __dxlog_file5,
717
- L: 271,
752
+ L: 274,
718
753
  S: this,
719
754
  A: [
720
755
  "feed.properties.writable",
@@ -729,7 +764,7 @@ var Pipeline = class {
729
764
  async start() {
730
765
  invariant4(!this._isStarted, "Pipeline is already started.", {
731
766
  F: __dxlog_file5,
732
- L: 284,
767
+ L: 287,
733
768
  S: this,
734
769
  A: [
735
770
  "!this._isStarted",
@@ -738,7 +773,7 @@ var Pipeline = class {
738
773
  });
739
774
  log4("starting...", void 0, {
740
775
  F: __dxlog_file5,
741
- L: 285,
776
+ L: 288,
742
777
  S: this,
743
778
  C: (f, a) => f(...a)
744
779
  });
@@ -747,7 +782,7 @@ var Pipeline = class {
747
782
  this._isStarted = true;
748
783
  log4("started", void 0, {
749
784
  F: __dxlog_file5,
750
- L: 289,
785
+ L: 292,
751
786
  S: this,
752
787
  C: (f, a) => f(...a)
753
788
  });
@@ -760,7 +795,7 @@ var Pipeline = class {
760
795
  async stop() {
761
796
  log4("stopping...", void 0, {
762
797
  F: __dxlog_file5,
763
- L: 300,
798
+ L: 303,
764
799
  S: this,
765
800
  C: (f, a) => f(...a)
766
801
  });
@@ -774,14 +809,14 @@ var Pipeline = class {
774
809
  await this._state._ctx.dispose();
775
810
  this._state._ctx = new Context2(void 0, {
776
811
  F: __dxlog_file5,
777
- L: 309
812
+ L: 312
778
813
  });
779
814
  this._state._reachedTargetPromise = void 0;
780
815
  this._state._reachedTarget = false;
781
816
  this._isStarted = false;
782
817
  log4("stopped", void 0, {
783
818
  F: __dxlog_file5,
784
- L: 313,
819
+ L: 316,
785
820
  S: this,
786
821
  C: (f, a) => f(...a)
787
822
  });
@@ -793,7 +828,7 @@ var Pipeline = class {
793
828
  async setCursor(timeframe) {
794
829
  invariant4(!this._isStarted || this._isPaused, "Invalid state.", {
795
830
  F: __dxlog_file5,
796
- L: 322,
831
+ L: 325,
797
832
  S: this,
798
833
  A: [
799
834
  "!this._isStarted || this._isPaused",
@@ -822,7 +857,7 @@ var Pipeline = class {
822
857
  async unpause() {
823
858
  invariant4(this._isPaused, "Pipeline is not paused.", {
824
859
  F: __dxlog_file5,
825
- L: 351,
860
+ L: 354,
826
861
  S: this,
827
862
  A: [
828
863
  "this._isPaused",
@@ -842,7 +877,7 @@ var Pipeline = class {
842
877
  async *consume() {
843
878
  invariant4(!this._isBeingConsumed, "Pipeline is already being consumed.", {
844
879
  F: __dxlog_file5,
845
- L: 366,
880
+ L: 369,
846
881
  S: this,
847
882
  A: [
848
883
  "!this._isBeingConsumed",
@@ -852,7 +887,7 @@ var Pipeline = class {
852
887
  this._isBeingConsumed = true;
853
888
  invariant4(this._feedSetIterator, "Iterator not initialized.", {
854
889
  F: __dxlog_file5,
855
- L: 369,
890
+ L: 372,
856
891
  S: this,
857
892
  A: [
858
893
  "this._feedSetIterator",
@@ -866,7 +901,7 @@ var Pipeline = class {
866
901
  if (lastFeedSetIterator !== this._feedSetIterator) {
867
902
  invariant4(this._feedSetIterator, "Iterator not initialized.", {
868
903
  F: __dxlog_file5,
869
- L: 378,
904
+ L: 381,
870
905
  S: this,
871
906
  A: [
872
907
  "this._feedSetIterator",
@@ -901,7 +936,7 @@ var Pipeline = class {
901
936
  length: feed.length
902
937
  }, {
903
938
  F: __dxlog_file5,
904
- L: 407,
939
+ L: 410,
905
940
  S: this,
906
941
  C: (f, a) => f(...a)
907
942
  });
@@ -915,7 +950,7 @@ var Pipeline = class {
915
950
  data
916
951
  }, {
917
952
  F: __dxlog_file5,
918
- L: 412,
953
+ L: 415,
919
954
  S: this,
920
955
  C: (f, a) => f(...a)
921
956
  });
@@ -934,7 +969,7 @@ var Pipeline = class {
934
969
  targetTimeframe: this._state.targetTimeframe
935
970
  }, {
936
971
  F: __dxlog_file5,
937
- L: 426,
972
+ L: 429,
938
973
  S: this,
939
974
  C: (f, a) => f(...a)
940
975
  });
@@ -971,6 +1006,20 @@ import { schema as schema3 } from "@dxos/protocols/proto";
971
1006
  import { RpcExtension } from "@dxos/teleport";
972
1007
  var __dxlog_file6 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/auth.ts";
973
1008
  var AuthExtension = class extends RpcExtension {
1009
+ _authParams;
1010
+ _ctx = new Context3({
1011
+ onError: (err) => {
1012
+ log5.catch(err, void 0, {
1013
+ F: __dxlog_file6,
1014
+ L: 28,
1015
+ S: this,
1016
+ C: (f, a) => f(...a)
1017
+ });
1018
+ }
1019
+ }, {
1020
+ F: __dxlog_file6,
1021
+ L: 26
1022
+ });
974
1023
  constructor(_authParams) {
975
1024
  super({
976
1025
  requested: {
@@ -980,19 +1029,7 @@ var AuthExtension = class extends RpcExtension {
980
1029
  AuthService: schema3.getService("dxos.mesh.teleport.auth.AuthService")
981
1030
  },
982
1031
  timeout: 60 * 1e3
983
- }), this._authParams = _authParams, this._ctx = new Context3({
984
- onError: (err) => {
985
- log5.catch(err, void 0, {
986
- F: __dxlog_file6,
987
- L: 28,
988
- S: this,
989
- C: (f, a) => f(...a)
990
- });
991
- }
992
- }, {
993
- F: __dxlog_file6,
994
- L: 26
995
- });
1032
+ }), this._authParams = _authParams;
996
1033
  }
997
1034
  async getHandlers() {
998
1035
  return {
@@ -1070,7 +1107,7 @@ var AuthExtension = class extends RpcExtension {
1070
1107
  };
1071
1108
 
1072
1109
  // src/space/space.ts
1073
- import { Event as Event4, scheduleMicroTask, synchronized as synchronized3, trackLeaks as trackLeaks2 } from "@dxos/async";
1110
+ import { Event as Event4, scheduleMicroTask as scheduleMicroTask2, synchronized as synchronized3, trackLeaks as trackLeaks2 } from "@dxos/async";
1074
1111
  import { Resource } from "@dxos/context";
1075
1112
  import { invariant as invariant6 } from "@dxos/invariant";
1076
1113
  import { log as log7, logInfo } from "@dxos/log";
@@ -1079,7 +1116,7 @@ import { trace as trace2 } from "@dxos/tracing";
1079
1116
  import { Callback as Callback2 } from "@dxos/util";
1080
1117
 
1081
1118
  // src/space/control-pipeline.ts
1082
- import { DeferredTask, sleepWithContext as sleepWithContext2, trackLeaks } from "@dxos/async";
1119
+ import { DeferredTask, scheduleMicroTask, sleepWithContext as sleepWithContext2, trackLeaks } from "@dxos/async";
1083
1120
  import { Context as Context4 } from "@dxos/context";
1084
1121
  import { SpaceStateMachine } from "@dxos/credentials";
1085
1122
  import { PublicKey as PublicKey4 } from "@dxos/keys";
@@ -1099,19 +1136,28 @@ var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 500;
1099
1136
  var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
1100
1137
  var USE_SNAPSHOTS = true;
1101
1138
  var ControlPipeline = class {
1139
+ _ctx = new Context4(void 0, {
1140
+ F: __dxlog_file7,
1141
+ L: 47
1142
+ });
1143
+ _pipeline;
1144
+ _spaceStateMachine;
1145
+ _spaceKey;
1146
+ _metadata;
1147
+ _targetTimeframe;
1148
+ _lastTimeframeSaveTime = Date.now();
1149
+ onFeedAdmitted = new Callback();
1150
+ onMemberRoleChanged;
1151
+ onCredentialProcessed;
1152
+ onDelegatedInvitation;
1153
+ onDelegatedInvitationRemoved;
1154
+ _usage = new TimeUsageCounter();
1155
+ _mutations = new TimeSeriesCounter();
1156
+ _snapshotTask = new DeferredTask(this._ctx, async () => {
1157
+ await sleepWithContext2(this._ctx, CONTROL_PIPELINE_SNAPSHOT_DELAY);
1158
+ await this._saveSnapshot();
1159
+ });
1102
1160
  constructor({ spaceKey, genesisFeed, feedProvider, metadataStore }) {
1103
- this._ctx = new Context4(void 0, {
1104
- F: __dxlog_file7,
1105
- L: 47
1106
- });
1107
- this._lastTimeframeSaveTime = Date.now();
1108
- this.onFeedAdmitted = new Callback();
1109
- this._usage = new TimeUsageCounter();
1110
- this._mutations = new TimeSeriesCounter();
1111
- this._snapshotTask = new DeferredTask(this._ctx, async () => {
1112
- await sleepWithContext2(this._ctx, CONTROL_PIPELINE_SNAPSHOT_DELAY);
1113
- await this._saveSnapshot();
1114
- });
1115
1161
  this._spaceKey = spaceKey;
1116
1162
  this._metadata = metadataStore;
1117
1163
  this._pipeline = new Pipeline();
@@ -1127,16 +1173,19 @@ var ControlPipeline = class {
1127
1173
  C: (f, a) => f(...a)
1128
1174
  });
1129
1175
  if (info.assertion.designation === AdmittedFeed.Designation.CONTROL && !info.key.equals(genesisFeed.key)) {
1130
- queueMicrotask(async () => {
1176
+ scheduleMicroTask(this._ctx, async () => {
1131
1177
  try {
1132
1178
  const feed = await feedProvider(info.key);
1179
+ if (this._ctx.disposed) {
1180
+ return;
1181
+ }
1133
1182
  if (!this._pipeline.hasFeed(feed.key)) {
1134
1183
  await this._pipeline.addFeed(feed);
1135
1184
  }
1136
1185
  } catch (err) {
1137
1186
  log6.catch(err, void 0, {
1138
1187
  F: __dxlog_file7,
1139
- L: 93,
1188
+ L: 96,
1140
1189
  S: this,
1141
1190
  C: (f, a) => f(...a)
1142
1191
  });
@@ -1168,7 +1217,7 @@ var ControlPipeline = class {
1168
1217
  tf: snapshot?.timeframe
1169
1218
  }, {
1170
1219
  F: __dxlog_file7,
1171
- L: 123,
1220
+ L: 126,
1172
1221
  S: this,
1173
1222
  C: (f, a) => f(...a)
1174
1223
  });
@@ -1177,20 +1226,20 @@ var ControlPipeline = class {
1177
1226
  }
1178
1227
  log6("starting...", void 0, {
1179
1228
  F: __dxlog_file7,
1180
- L: 128,
1229
+ L: 131,
1181
1230
  S: this,
1182
1231
  C: (f, a) => f(...a)
1183
1232
  });
1184
1233
  setTimeout(async () => {
1185
1234
  void this._consumePipeline(new Context4(void 0, {
1186
1235
  F: __dxlog_file7,
1187
- L: 130
1236
+ L: 133
1188
1237
  }));
1189
1238
  });
1190
1239
  await this._pipeline.start();
1191
1240
  log6("started", void 0, {
1192
1241
  F: __dxlog_file7,
1193
- L: 134,
1242
+ L: 137,
1194
1243
  S: this,
1195
1244
  C: (f, a) => f(...a)
1196
1245
  });
@@ -1207,7 +1256,7 @@ var ControlPipeline = class {
1207
1256
  message
1208
1257
  }, {
1209
1258
  F: __dxlog_file7,
1210
- L: 147,
1259
+ L: 150,
1211
1260
  S: this,
1212
1261
  C: (f, a) => f(...a)
1213
1262
  });
@@ -1229,7 +1278,7 @@ var ControlPipeline = class {
1229
1278
  snapshot: getSnapshotLoggerContext(snapshot)
1230
1279
  }, {
1231
1280
  F: __dxlog_file7,
1232
- L: 163,
1281
+ L: 166,
1233
1282
  S: this,
1234
1283
  C: (f, a) => f(...a)
1235
1284
  });
@@ -1244,7 +1293,7 @@ var ControlPipeline = class {
1244
1293
  } catch (err) {
1245
1294
  log6.catch(err, void 0, {
1246
1295
  F: __dxlog_file7,
1247
- L: 176,
1296
+ L: 179,
1248
1297
  S: this,
1249
1298
  C: (f, a) => f(...a)
1250
1299
  });
@@ -1258,7 +1307,7 @@ var ControlPipeline = class {
1258
1307
  seq: msg.seq
1259
1308
  }, {
1260
1309
  F: __dxlog_file7,
1261
- L: 185,
1310
+ L: 188,
1262
1311
  S: this,
1263
1312
  C: (f, a) => f(...a)
1264
1313
  });
@@ -1273,7 +1322,7 @@ var ControlPipeline = class {
1273
1322
  msg
1274
1323
  }, {
1275
1324
  F: __dxlog_file7,
1276
- L: 194,
1325
+ L: 197,
1277
1326
  S: this,
1278
1327
  C: (f, a) => f(...a)
1279
1328
  });
@@ -1292,7 +1341,7 @@ var ControlPipeline = class {
1292
1341
  async stop() {
1293
1342
  log6("stopping...", void 0, {
1294
1343
  F: __dxlog_file7,
1295
- L: 214,
1344
+ L: 217,
1296
1345
  S: this,
1297
1346
  C: (f, a) => f(...a)
1298
1347
  });
@@ -1301,7 +1350,7 @@ var ControlPipeline = class {
1301
1350
  await this._saveTargetTimeframe(this._pipeline.state.timeframe);
1302
1351
  log6("stopped", void 0, {
1303
1352
  F: __dxlog_file7,
1304
- L: 218,
1353
+ L: 221,
1305
1354
  S: this,
1306
1355
  C: (f, a) => f(...a)
1307
1356
  });
@@ -1314,7 +1363,7 @@ var ControlPipeline = class {
1314
1363
  } catch (err) {
1315
1364
  log6(err, void 0, {
1316
1365
  F: __dxlog_file7,
1317
- L: 227,
1366
+ L: 230,
1318
1367
  S: this,
1319
1368
  C: (f, a) => f(...a)
1320
1369
  });
@@ -1364,13 +1413,21 @@ function _ts_decorate5(decorators, target, key, desc) {
1364
1413
  }
1365
1414
  var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
1366
1415
  var Space = class extends Resource {
1416
+ onCredentialProcessed = new Callback2();
1417
+ stateUpdate = new Event4();
1418
+ protocol;
1419
+ _id;
1420
+ _key;
1421
+ _genesisFeedKey;
1422
+ _feedProvider;
1423
+ _controlPipeline;
1424
+ _controlFeed;
1425
+ _dataFeed;
1367
1426
  constructor(params) {
1368
1427
  super();
1369
- this.onCredentialProcessed = new Callback2();
1370
- this.stateUpdate = new Event4();
1371
1428
  invariant6(params.spaceKey && params.feedProvider, void 0, {
1372
1429
  F: __dxlog_file8,
1373
- L: 72,
1430
+ L: 73,
1374
1431
  S: this,
1375
1432
  A: [
1376
1433
  "params.spaceKey && params.feedProvider",
@@ -1390,7 +1447,7 @@ var Space = class extends Resource {
1390
1447
  this._controlPipeline.onFeedAdmitted.set(async (info) => {
1391
1448
  const sparse = info.assertion.designation === AdmittedFeed2.Designation.DATA;
1392
1449
  if (!info.key.equals(params.genesisFeed.key)) {
1393
- scheduleMicroTask(this._ctx, async () => {
1450
+ scheduleMicroTask2(this._ctx, async () => {
1394
1451
  await this.protocol.addFeed(await params.feedProvider(info.key, {
1395
1452
  sparse
1396
1453
  }));
@@ -1403,7 +1460,7 @@ var Space = class extends Resource {
1403
1460
  credential
1404
1461
  }, {
1405
1462
  F: __dxlog_file8,
1406
- L: 99,
1463
+ L: 100,
1407
1464
  S: this,
1408
1465
  C: (f, a) => f(...a)
1409
1466
  });
@@ -1414,7 +1471,7 @@ var Space = class extends Resource {
1414
1471
  invitation
1415
1472
  }, {
1416
1473
  F: __dxlog_file8,
1417
- L: 103,
1474
+ L: 104,
1418
1475
  S: this,
1419
1476
  C: (f, a) => f(...a)
1420
1477
  });
@@ -1425,7 +1482,7 @@ var Space = class extends Resource {
1425
1482
  invitation
1426
1483
  }, {
1427
1484
  F: __dxlog_file8,
1428
- L: 107,
1485
+ L: 108,
1429
1486
  S: this,
1430
1487
  C: (f, a) => f(...a)
1431
1488
  });
@@ -1439,7 +1496,7 @@ var Space = class extends Resource {
1439
1496
  ])
1440
1497
  }), {
1441
1498
  F: __dxlog_file8,
1442
- L: 111,
1499
+ L: 112,
1443
1500
  S: this,
1444
1501
  C: (f, a) => f(...a)
1445
1502
  });
@@ -1474,7 +1531,7 @@ var Space = class extends Resource {
1474
1531
  async setControlFeed(feed) {
1475
1532
  invariant6(!this._controlFeed, "Control feed already set.", {
1476
1533
  F: __dxlog_file8,
1477
- L: 155,
1534
+ L: 156,
1478
1535
  S: this,
1479
1536
  A: [
1480
1537
  "!this._controlFeed",
@@ -1488,7 +1545,7 @@ var Space = class extends Resource {
1488
1545
  async setDataFeed(feed) {
1489
1546
  invariant6(!this._dataFeed, "Data feed already set.", {
1490
1547
  F: __dxlog_file8,
1491
- L: 162,
1548
+ L: 163,
1492
1549
  S: this,
1493
1550
  A: [
1494
1551
  "!this._dataFeed",
@@ -1507,14 +1564,14 @@ var Space = class extends Resource {
1507
1564
  async _open(ctx) {
1508
1565
  log7("opening...", void 0, {
1509
1566
  F: __dxlog_file8,
1510
- L: 176,
1567
+ L: 177,
1511
1568
  S: this,
1512
1569
  C: (f, a) => f(...a)
1513
1570
  });
1514
1571
  await this._controlPipeline.start();
1515
1572
  log7("opened", void 0, {
1516
1573
  F: __dxlog_file8,
1517
- L: 181,
1574
+ L: 182,
1518
1575
  S: this,
1519
1576
  C: (f, a) => f(...a)
1520
1577
  });
@@ -1522,7 +1579,7 @@ var Space = class extends Resource {
1522
1579
  async startProtocol() {
1523
1580
  invariant6(this.isOpen, void 0, {
1524
1581
  F: __dxlog_file8,
1525
- L: 186,
1582
+ L: 187,
1526
1583
  S: this,
1527
1584
  A: [
1528
1585
  "this.isOpen",
@@ -1537,7 +1594,7 @@ var Space = class extends Resource {
1537
1594
  key: this._key
1538
1595
  }, {
1539
1596
  F: __dxlog_file8,
1540
- L: 193,
1597
+ L: 194,
1541
1598
  S: this,
1542
1599
  C: (f, a) => f(...a)
1543
1600
  });
@@ -1545,7 +1602,7 @@ var Space = class extends Resource {
1545
1602
  await this._controlPipeline.stop();
1546
1603
  log7("closed", void 0, {
1547
1604
  F: __dxlog_file8,
1548
- L: 199,
1605
+ L: 200,
1549
1606
  S: this,
1550
1607
  C: (f, a) => f(...a)
1551
1608
  });
@@ -1587,15 +1644,18 @@ import { schema as schema4 } from "@dxos/protocols/proto";
1587
1644
  import { RpcExtension as RpcExtension2 } from "@dxos/teleport";
1588
1645
  var __dxlog_file9 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts";
1589
1646
  var CredentialRetrieverExtension = class extends RpcExtension2 {
1647
+ _request;
1648
+ _onResult;
1649
+ _ctx = new Context5(void 0, {
1650
+ F: __dxlog_file9,
1651
+ L: 26
1652
+ });
1590
1653
  constructor(_request, _onResult) {
1591
1654
  super({
1592
1655
  requested: {
1593
1656
  AdmissionDiscoveryService: schema4.getService("dxos.mesh.teleport.AdmissionDiscoveryService")
1594
1657
  }
1595
- }), this._request = _request, this._onResult = _onResult, this._ctx = new Context5(void 0, {
1596
- F: __dxlog_file9,
1597
- L: 26
1598
- });
1658
+ }), this._request = _request, this._onResult = _onResult;
1599
1659
  }
1600
1660
  async getHandlers() {
1601
1661
  return {};
@@ -1619,6 +1679,7 @@ var CredentialRetrieverExtension = class extends RpcExtension2 {
1619
1679
  }
1620
1680
  };
1621
1681
  var CredentialServerExtension = class extends RpcExtension2 {
1682
+ _space;
1622
1683
  constructor(_space) {
1623
1684
  super({
1624
1685
  exposed: {
@@ -1632,7 +1693,12 @@ var CredentialServerExtension = class extends RpcExtension2 {
1632
1693
  getAdmissionCredential: async (request) => {
1633
1694
  const memberInfo = this._space.spaceState.members.get(request.memberKey);
1634
1695
  if (!memberInfo?.credential) {
1635
- throw new ProtocolError("Space member not found.", request);
1696
+ throw new ProtocolError({
1697
+ message: "Space member not found.",
1698
+ context: {
1699
+ ...request
1700
+ }
1701
+ });
1636
1702
  }
1637
1703
  return {
1638
1704
  admissionCredential: memberInfo.credential
@@ -1663,16 +1729,34 @@ var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/
1663
1729
  var MOCK_AUTH_PROVIDER = async (nonce) => Buffer.from("mock");
1664
1730
  var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
1665
1731
  var SpaceProtocol = class {
1732
+ _networkManager;
1733
+ _swarmIdentity;
1734
+ _onSessionAuth;
1735
+ _onAuthFailure;
1736
+ blobSync;
1737
+ _disableP2pReplication;
1738
+ _topic;
1739
+ _spaceKey;
1740
+ _feeds = /* @__PURE__ */ new Set();
1741
+ _sessions = new ComplexMap4(PublicKey5.hash);
1742
+ // TODO(burdon): Move to config (with sensible defaults).
1743
+ _topology = new MMSTTopology({
1744
+ originateConnections: 4,
1745
+ maxPeers: 10,
1746
+ sampleSize: 20
1747
+ });
1748
+ _connection;
1749
+ feedAdded = new CallbackCollection();
1750
+ get sessions() {
1751
+ return this._sessions;
1752
+ }
1753
+ get feeds() {
1754
+ return this._feeds;
1755
+ }
1756
+ get _ownPeerKey() {
1757
+ return this._swarmIdentity.peerKey;
1758
+ }
1666
1759
  constructor({ topic, swarmIdentity, networkManager, onSessionAuth, onAuthFailure, blobStore, disableP2pReplication }) {
1667
- this._feeds = /* @__PURE__ */ new Set();
1668
- this._sessions = new ComplexMap4(PublicKey5.hash);
1669
- // TODO(burdon): Move to config (with sensible defaults).
1670
- this._topology = new MMSTTopology({
1671
- originateConnections: 4,
1672
- maxPeers: 10,
1673
- sampleSize: 20
1674
- });
1675
- this.feedAdded = new CallbackCollection();
1676
1760
  this._spaceKey = topic;
1677
1761
  this._networkManager = networkManager;
1678
1762
  this._swarmIdentity = swarmIdentity;
@@ -1684,22 +1768,13 @@ var SpaceProtocol = class {
1684
1768
  this._topic = subtleCrypto2.digest("SHA-256", topic.asBuffer()).then(discoveryKey).then(PublicKey5.from);
1685
1769
  this._disableP2pReplication = disableP2pReplication ?? false;
1686
1770
  }
1687
- get sessions() {
1688
- return this._sessions;
1689
- }
1690
- get feeds() {
1691
- return this._feeds;
1692
- }
1693
- get _ownPeerKey() {
1694
- return this._swarmIdentity.peerKey;
1695
- }
1696
1771
  // TODO(burdon): Create abstraction for Space (e.g., add keys and have provider).
1697
1772
  async addFeed(feed) {
1698
1773
  log8("addFeed", {
1699
1774
  key: feed.key
1700
1775
  }, {
1701
1776
  F: __dxlog_file10,
1702
- L: 128,
1777
+ L: 131,
1703
1778
  S: this,
1704
1779
  C: (f, a) => f(...a)
1705
1780
  });
@@ -1718,7 +1793,7 @@ var SpaceProtocol = class {
1718
1793
  await this.blobSync.open();
1719
1794
  log8("starting...", void 0, {
1720
1795
  F: __dxlog_file10,
1721
- L: 149,
1796
+ L: 152,
1722
1797
  S: this,
1723
1798
  C: (f, a) => f(...a)
1724
1799
  });
@@ -1731,7 +1806,7 @@ var SpaceProtocol = class {
1731
1806
  });
1732
1807
  log8("started", void 0, {
1733
1808
  F: __dxlog_file10,
1734
- L: 158,
1809
+ L: 161,
1735
1810
  S: this,
1736
1811
  C: (f, a) => f(...a)
1737
1812
  });
@@ -1744,14 +1819,14 @@ var SpaceProtocol = class {
1744
1819
  if (this._connection) {
1745
1820
  log8("stopping...", void 0, {
1746
1821
  F: __dxlog_file10,
1747
- L: 169,
1822
+ L: 172,
1748
1823
  S: this,
1749
1824
  C: (f, a) => f(...a)
1750
1825
  });
1751
1826
  await this._connection.close();
1752
1827
  log8("stopped", void 0, {
1753
1828
  F: __dxlog_file10,
1754
- L: 171,
1829
+ L: 174,
1755
1830
  S: this,
1756
1831
  C: (f, a) => f(...a)
1757
1832
  });
@@ -1788,20 +1863,33 @@ _ts_decorate6([
1788
1863
  SpaceProtocol = _ts_decorate6([
1789
1864
  trace3.resource()
1790
1865
  ], SpaceProtocol);
1791
- var AuthStatus = /* @__PURE__ */ function(AuthStatus2) {
1866
+ var AuthStatus = /* @__PURE__ */ (function(AuthStatus2) {
1792
1867
  AuthStatus2["INITIAL"] = "INITIAL";
1793
1868
  AuthStatus2["SUCCESS"] = "SUCCESS";
1794
1869
  AuthStatus2["FAILURE"] = "FAILURE";
1795
1870
  return AuthStatus2;
1796
- }({});
1871
+ })({});
1797
1872
  var SpaceProtocolSession = class {
1873
+ _wireParams;
1874
+ _disableP2pReplication;
1875
+ _onSessionAuth;
1876
+ _onAuthFailure;
1877
+ _swarmIdentity;
1878
+ _blobSync;
1879
+ _teleport;
1880
+ // TODO(dmaretskyi): Start with upload=false when switching it on the fly works.
1881
+ replicator = new ReplicatorExtension().setOptions({
1882
+ upload: true
1883
+ });
1884
+ _authStatus = "INITIAL";
1885
+ get authStatus() {
1886
+ return this._authStatus;
1887
+ }
1888
+ get stats() {
1889
+ return this._teleport.stats;
1890
+ }
1798
1891
  // TODO(dmaretskyi): Allow to pass in extra extensions.
1799
1892
  constructor({ wireParams, swarmIdentity, onSessionAuth, onAuthFailure, blobSync, disableP2pReplication }) {
1800
- // TODO(dmaretskyi): Start with upload=false when switching it on the fly works.
1801
- this.replicator = new ReplicatorExtension().setOptions({
1802
- upload: true
1803
- });
1804
- this._authStatus = "INITIAL";
1805
1893
  this._wireParams = wireParams;
1806
1894
  this._swarmIdentity = swarmIdentity;
1807
1895
  this._onSessionAuth = onSessionAuth;
@@ -1810,12 +1898,6 @@ var SpaceProtocolSession = class {
1810
1898
  this._teleport = new Teleport(wireParams);
1811
1899
  this._disableP2pReplication = disableP2pReplication ?? false;
1812
1900
  }
1813
- get authStatus() {
1814
- return this._authStatus;
1815
- }
1816
- get stats() {
1817
- return this._teleport.stats;
1818
- }
1819
1901
  get stream() {
1820
1902
  return this._teleport.stream;
1821
1903
  }
@@ -1827,7 +1909,7 @@ var SpaceProtocolSession = class {
1827
1909
  onAuthSuccess: () => {
1828
1910
  log8("Peer authenticated", void 0, {
1829
1911
  F: __dxlog_file10,
1830
- L: 282,
1912
+ L: 285,
1831
1913
  S: this,
1832
1914
  C: (f, a) => f(...a)
1833
1915
  });
@@ -1847,7 +1929,7 @@ var SpaceProtocolSession = class {
1847
1929
  async close() {
1848
1930
  log8("close", void 0, {
1849
1931
  F: __dxlog_file10,
1850
- L: 301,
1932
+ L: 304,
1851
1933
  S: this,
1852
1934
  C: (f, a) => f(...a)
1853
1935
  });
@@ -1866,7 +1948,7 @@ _ts_decorate6([
1866
1948
 
1867
1949
  // src/space/space-manager.ts
1868
1950
  import { parseAutomergeUrl } from "@automerge/automerge-repo";
1869
- import { synchronized as synchronized4, trackLeaks as trackLeaks3, Trigger as Trigger2 } from "@dxos/async";
1951
+ import { Trigger as Trigger2, synchronized as synchronized4, trackLeaks as trackLeaks3 } from "@dxos/async";
1870
1952
  import { getCredentialAssertion } from "@dxos/credentials";
1871
1953
  import { failUndefined as failUndefined2 } from "@dxos/debug";
1872
1954
  import { PublicKey as PublicKey6 } from "@dxos/keys";
@@ -1881,9 +1963,14 @@ function _ts_decorate7(decorators, target, key, desc) {
1881
1963
  }
1882
1964
  var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
1883
1965
  var SpaceManager = class {
1966
+ _spaces = new ComplexMap5(PublicKey6.hash);
1967
+ _feedStore;
1968
+ _networkManager;
1969
+ _metadataStore;
1970
+ _blobStore;
1971
+ _instanceId = PublicKey6.random().toHex();
1972
+ _disableP2pReplication;
1884
1973
  constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }) {
1885
- this._spaces = new ComplexMap5(PublicKey6.hash);
1886
- this._instanceId = PublicKey6.random().toHex();
1887
1974
  this._feedStore = feedStore;
1888
1975
  this._networkManager = networkManager;
1889
1976
  this._metadataStore = metadataStore;
@@ -1906,7 +1993,7 @@ var SpaceManager = class {
1906
1993
  id: this._instanceId
1907
1994
  }), {
1908
1995
  F: __dxlog_file11,
1909
- L: 102,
1996
+ L: 103,
1910
1997
  S: this,
1911
1998
  C: (f, a) => f(...a)
1912
1999
  });
@@ -1914,7 +2001,7 @@ var SpaceManager = class {
1914
2001
  spaceKey: metadata.genesisFeedKey
1915
2002
  }, {
1916
2003
  F: __dxlog_file11,
1917
- L: 103,
2004
+ L: 104,
1918
2005
  S: this,
1919
2006
  C: (f, a) => f(...a)
1920
2007
  });
@@ -1946,7 +2033,7 @@ var SpaceManager = class {
1946
2033
  id: this._instanceId
1947
2034
  }), {
1948
2035
  F: __dxlog_file11,
1949
- L: 133,
2036
+ L: 134,
1950
2037
  S: this,
1951
2038
  C: (f, a) => f(...a)
1952
2039
  });
@@ -1958,7 +2045,7 @@ var SpaceManager = class {
1958
2045
  id: this._instanceId
1959
2046
  }), {
1960
2047
  F: __dxlog_file11,
1961
- L: 139,
2048
+ L: 140,
1962
2049
  S: this,
1963
2050
  C: (f, a) => f(...a)
1964
2051
  });
@@ -1966,7 +2053,7 @@ var SpaceManager = class {
1966
2053
  spaceKey: params.spaceKey
1967
2054
  }, {
1968
2055
  F: __dxlog_file11,
1969
- L: 140,
2056
+ L: 141,
1970
2057
  S: this,
1971
2058
  C: (f, a) => f(...a)
1972
2059
  });
@@ -1994,7 +2081,7 @@ var SpaceManager = class {
1994
2081
  id: this._instanceId
1995
2082
  }), {
1996
2083
  F: __dxlog_file11,
1997
- L: 164,
2084
+ L: 165,
1998
2085
  S: this,
1999
2086
  C: (f, a) => f(...a)
2000
2087
  });
@@ -2005,7 +2092,7 @@ var SpaceManager = class {
2005
2092
  error: err
2006
2093
  }), {
2007
2094
  F: __dxlog_file11,
2008
- L: 167,
2095
+ L: 168,
2009
2096
  S: this,
2010
2097
  C: (f, a) => f(...a)
2011
2098
  });
@@ -2064,4 +2151,4 @@ export {
2064
2151
  SpaceProtocolSession,
2065
2152
  SpaceManager
2066
2153
  };
2067
- //# sourceMappingURL=chunk-GBFX5J5B.mjs.map
2154
+ //# sourceMappingURL=chunk-2OD3J3ZU.mjs.map