@dxos/echo-pipeline 0.3.11-main.d3a2438 → 0.3.11-main.d46c1ca
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{chunk-W3SSYW3X.mjs → chunk-RM4WCR2Z.mjs} +36 -27
- package/dist/lib/browser/chunk-RM4WCR2Z.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +29 -7
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node/{chunk-KTFCZMAY.cjs → chunk-W5EK5DXL.cjs} +39 -30
- package/dist/lib/node/chunk-W5EK5DXL.cjs.map +7 -0
- package/dist/lib/node/index.cjs +26 -26
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +42 -21
- package/dist/lib/node/testing/index.cjs.map +4 -4
- package/dist/types/src/automerge/automerge-host.d.ts +26 -1
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/index.d.ts +1 -1
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts +1 -3
- package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
- package/dist/types/src/testing/change-metadata.d.ts +8 -0
- package/dist/types/src/testing/change-metadata.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/package.json +33 -33
- package/src/automerge/automerge-host.test.ts +190 -36
- package/src/automerge/automerge-host.ts +18 -9
- package/src/automerge/index.ts +1 -1
- package/src/metadata/metadata-store.ts +12 -2
- package/src/testing/change-metadata.ts +27 -0
- package/src/testing/index.ts +1 -0
- package/dist/lib/browser/chunk-W3SSYW3X.mjs.map +0 -7
- package/dist/lib/node/chunk-KTFCZMAY.cjs.map +0 -7
|
@@ -519,12 +519,12 @@ var emptyLargeSpaceMetadata = () => ({});
|
|
|
519
519
|
var EchoMetadata = schema4.getCodecForType("dxos.echo.metadata.EchoMetadata");
|
|
520
520
|
var LargeSpaceMetadata = schema4.getCodecForType("dxos.echo.metadata.LargeSpaceMetadata");
|
|
521
521
|
var MetadataStore = class {
|
|
522
|
-
constructor(
|
|
523
|
-
this._directory = _directory;
|
|
522
|
+
constructor(directory) {
|
|
524
523
|
this._metadata = emptyEchoMetadata();
|
|
525
524
|
this._spaceLargeMetadata = new ComplexMap3(PublicKey3.hash);
|
|
526
525
|
this._metadataFile = void 0;
|
|
527
526
|
this.update = new Event();
|
|
527
|
+
this._directory = directory;
|
|
528
528
|
}
|
|
529
529
|
get metadata() {
|
|
530
530
|
return this._metadata;
|
|
@@ -553,7 +553,7 @@ var MetadataStore = class {
|
|
|
553
553
|
name: file.filename
|
|
554
554
|
}, {
|
|
555
555
|
F: __dxlog_file4,
|
|
556
|
-
L:
|
|
556
|
+
L: 85,
|
|
557
557
|
S: this,
|
|
558
558
|
C: (f, a) => f(...a)
|
|
559
559
|
});
|
|
@@ -573,6 +573,9 @@ var MetadataStore = class {
|
|
|
573
573
|
await file.close();
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
|
+
/**
|
|
577
|
+
* @internal
|
|
578
|
+
*/
|
|
576
579
|
async _writeFile(file, codec2, data) {
|
|
577
580
|
const encoded = arrayToBuffer(codec2.encode(data));
|
|
578
581
|
const checksum = CRC32.buf(encoded);
|
|
@@ -586,7 +589,7 @@ var MetadataStore = class {
|
|
|
586
589
|
checksum
|
|
587
590
|
}, {
|
|
588
591
|
F: __dxlog_file4,
|
|
589
|
-
L:
|
|
592
|
+
L: 120,
|
|
590
593
|
S: this,
|
|
591
594
|
C: (f, a) => f(...a)
|
|
592
595
|
});
|
|
@@ -618,7 +621,7 @@ var MetadataStore = class {
|
|
|
618
621
|
err
|
|
619
622
|
}, {
|
|
620
623
|
F: __dxlog_file4,
|
|
621
|
-
L:
|
|
624
|
+
L: 151,
|
|
622
625
|
S: this,
|
|
623
626
|
C: (f, a) => f(...a)
|
|
624
627
|
});
|
|
@@ -635,7 +638,7 @@ var MetadataStore = class {
|
|
|
635
638
|
err
|
|
636
639
|
}, {
|
|
637
640
|
F: __dxlog_file4,
|
|
638
|
-
L:
|
|
641
|
+
L: 163,
|
|
639
642
|
S: this,
|
|
640
643
|
C: (f, a) => f(...a)
|
|
641
644
|
});
|
|
@@ -665,7 +668,7 @@ var MetadataStore = class {
|
|
|
665
668
|
err
|
|
666
669
|
}, {
|
|
667
670
|
F: __dxlog_file4,
|
|
668
|
-
L:
|
|
671
|
+
L: 192,
|
|
669
672
|
S: this,
|
|
670
673
|
C: (f, a) => f(...a)
|
|
671
674
|
});
|
|
@@ -686,7 +689,7 @@ var MetadataStore = class {
|
|
|
686
689
|
const space = this.spaces.find((space2) => space2.key === spaceKey);
|
|
687
690
|
invariant4(space, "Space not found", {
|
|
688
691
|
F: __dxlog_file4,
|
|
689
|
-
L:
|
|
692
|
+
L: 214,
|
|
690
693
|
S: this,
|
|
691
694
|
A: [
|
|
692
695
|
"space",
|
|
@@ -710,7 +713,7 @@ var MetadataStore = class {
|
|
|
710
713
|
async clear() {
|
|
711
714
|
log3("clearing all metadata", void 0, {
|
|
712
715
|
F: __dxlog_file4,
|
|
713
|
-
L:
|
|
716
|
+
L: 233,
|
|
714
717
|
S: this,
|
|
715
718
|
C: (f, a) => f(...a)
|
|
716
719
|
});
|
|
@@ -723,7 +726,7 @@ var MetadataStore = class {
|
|
|
723
726
|
async setIdentityRecord(record) {
|
|
724
727
|
invariant4(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
|
|
725
728
|
F: __dxlog_file4,
|
|
726
|
-
L:
|
|
729
|
+
L: 243,
|
|
727
730
|
S: this,
|
|
728
731
|
A: [
|
|
729
732
|
"!this._metadata.identity",
|
|
@@ -737,7 +740,7 @@ var MetadataStore = class {
|
|
|
737
740
|
async addSpace(record) {
|
|
738
741
|
invariant4(!(this._metadata.spaces ?? []).find((space) => space.key === record.key), "Cannot overwrite existing space in metadata", {
|
|
739
742
|
F: __dxlog_file4,
|
|
740
|
-
L:
|
|
743
|
+
L: 251,
|
|
741
744
|
S: this,
|
|
742
745
|
A: [
|
|
743
746
|
"!(this._metadata.spaces ?? []).find((space) => space.key === record.key)",
|
|
@@ -1478,7 +1481,7 @@ var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipelin
|
|
|
1478
1481
|
var MESSAGES_PER_SNAPSHOT = 10;
|
|
1479
1482
|
var AUTOMATIC_SNAPSHOT_DEBOUNCE_INTERVAL = 5e3;
|
|
1480
1483
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 5e3;
|
|
1481
|
-
var DataPipeline = class
|
|
1484
|
+
var DataPipeline = class {
|
|
1482
1485
|
constructor(_params) {
|
|
1483
1486
|
this._params = _params;
|
|
1484
1487
|
this._ctx = new Context4();
|
|
@@ -1952,7 +1955,7 @@ var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeli
|
|
|
1952
1955
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL2 = 500;
|
|
1953
1956
|
var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
|
|
1954
1957
|
var USE_SNAPSHOTS = true;
|
|
1955
|
-
var ControlPipeline = class
|
|
1958
|
+
var ControlPipeline = class {
|
|
1956
1959
|
constructor({ spaceKey, genesisFeed, feedProvider, metadataStore }) {
|
|
1957
1960
|
this._ctx = new Context5();
|
|
1958
1961
|
this._lastTimeframeSaveTime = Date.now();
|
|
@@ -2198,7 +2201,7 @@ function _ts_decorate6(decorators, target, key, desc) {
|
|
|
2198
2201
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2199
2202
|
}
|
|
2200
2203
|
var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
2201
|
-
var Space = class
|
|
2204
|
+
var Space = class {
|
|
2202
2205
|
constructor(params) {
|
|
2203
2206
|
this._addFeedLock = new Lock();
|
|
2204
2207
|
this.onCredentialProcessed = new Callback2();
|
|
@@ -2582,7 +2585,7 @@ var SpaceProtocolSession = class {
|
|
|
2582
2585
|
this.replicator = new ReplicatorExtension().setOptions({
|
|
2583
2586
|
upload: true
|
|
2584
2587
|
});
|
|
2585
|
-
this._authStatus =
|
|
2588
|
+
this._authStatus = "INITIAL";
|
|
2586
2589
|
this._wireParams = wireParams;
|
|
2587
2590
|
this._swarmIdentity = swarmIdentity;
|
|
2588
2591
|
this._onSessionAuth = onSessionAuth;
|
|
@@ -2611,11 +2614,11 @@ var SpaceProtocolSession = class {
|
|
|
2611
2614
|
S: this,
|
|
2612
2615
|
C: (f, a) => f(...a)
|
|
2613
2616
|
});
|
|
2614
|
-
this._authStatus =
|
|
2617
|
+
this._authStatus = "SUCCESS";
|
|
2615
2618
|
this._onSessionAuth?.(this._teleport);
|
|
2616
2619
|
},
|
|
2617
2620
|
onAuthFailure: () => {
|
|
2618
|
-
this._authStatus =
|
|
2621
|
+
this._authStatus = "FAILURE";
|
|
2619
2622
|
this._onAuthFailure?.(this._teleport);
|
|
2620
2623
|
}
|
|
2621
2624
|
}));
|
|
@@ -2660,7 +2663,7 @@ function _ts_decorate8(decorators, target, key, desc) {
|
|
|
2660
2663
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2661
2664
|
}
|
|
2662
2665
|
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
2663
|
-
var SpaceManager = class
|
|
2666
|
+
var SpaceManager = class {
|
|
2664
2667
|
constructor({ feedStore, networkManager, modelFactory, metadataStore, snapshotStore, blobStore }) {
|
|
2665
2668
|
this._spaces = new ComplexMap6(PublicKey7.hash);
|
|
2666
2669
|
this._instanceId = PublicKey7.random().toHex();
|
|
@@ -2744,9 +2747,11 @@ SpaceManager = _ts_decorate8([
|
|
|
2744
2747
|
|
|
2745
2748
|
// packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts
|
|
2746
2749
|
import { Repo, NetworkAdapter, StorageAdapter, cbor } from "@dxos/automerge/automerge-repo";
|
|
2750
|
+
import { IndexedDBStorageAdapter } from "@dxos/automerge/automerge-repo-storage-indexeddb";
|
|
2747
2751
|
import { Stream as Stream2 } from "@dxos/codec-protobuf";
|
|
2748
2752
|
import { invariant as invariant10 } from "@dxos/invariant";
|
|
2749
2753
|
import { log as log13 } from "@dxos/log";
|
|
2754
|
+
import { StorageType } from "@dxos/random-access-storage";
|
|
2750
2755
|
import { AutomergeReplicator } from "@dxos/teleport-extension-automerge-replicator";
|
|
2751
2756
|
import { arrayToBuffer as arrayToBuffer2, bufferToArray } from "@dxos/util";
|
|
2752
2757
|
var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts";
|
|
@@ -2754,7 +2759,7 @@ var AutomergeHost = class {
|
|
|
2754
2759
|
constructor(storageDirectory) {
|
|
2755
2760
|
this._meshNetwork = new MeshNetworkAdapter();
|
|
2756
2761
|
this._clientNetwork = new LocalHostNetworkAdapter();
|
|
2757
|
-
this._storage = new AutomergeStorageAdapter(storageDirectory);
|
|
2762
|
+
this._storage = storageDirectory.type === StorageType.IDB ? new IndexedDBStorageAdapter(storageDirectory.path, "data") : new AutomergeStorageAdapter(storageDirectory);
|
|
2758
2763
|
this._repo = new Repo({
|
|
2759
2764
|
network: [
|
|
2760
2765
|
this._clientNetwork,
|
|
@@ -2812,7 +2817,7 @@ var LocalHostNetworkAdapter = class extends NetworkAdapter {
|
|
|
2812
2817
|
const peer = this._peers.get(message.targetId);
|
|
2813
2818
|
invariant10(peer, "Peer not found.", {
|
|
2814
2819
|
F: __dxlog_file14,
|
|
2815
|
-
L:
|
|
2820
|
+
L: 114,
|
|
2816
2821
|
S: this,
|
|
2817
2822
|
A: [
|
|
2818
2823
|
"peer",
|
|
@@ -2832,7 +2837,7 @@ var LocalHostNetworkAdapter = class extends NetworkAdapter {
|
|
|
2832
2837
|
return new Stream2(({ next, close }) => {
|
|
2833
2838
|
invariant10(!this._peers.has(peerId), "Peer already connected.", {
|
|
2834
2839
|
F: __dxlog_file14,
|
|
2835
|
-
L:
|
|
2840
|
+
L: 132,
|
|
2836
2841
|
S: this,
|
|
2837
2842
|
A: [
|
|
2838
2843
|
"!this._peers.has(peerId)",
|
|
@@ -2866,7 +2871,7 @@ var LocalHostNetworkAdapter = class extends NetworkAdapter {
|
|
|
2866
2871
|
getHostInfo() {
|
|
2867
2872
|
invariant10(this.peerId, "Peer id not set.", {
|
|
2868
2873
|
F: __dxlog_file14,
|
|
2869
|
-
L:
|
|
2874
|
+
L: 161,
|
|
2870
2875
|
S: this,
|
|
2871
2876
|
A: [
|
|
2872
2877
|
"this.peerId",
|
|
@@ -2902,7 +2907,7 @@ var MeshNetworkAdapter = class extends NetworkAdapter {
|
|
|
2902
2907
|
const extension = this._extensions.get(receiverId);
|
|
2903
2908
|
invariant10(extension, "Extension not found.", {
|
|
2904
2909
|
F: __dxlog_file14,
|
|
2905
|
-
L:
|
|
2910
|
+
L: 196,
|
|
2906
2911
|
S: this,
|
|
2907
2912
|
A: [
|
|
2908
2913
|
"extension",
|
|
@@ -2913,7 +2918,7 @@ var MeshNetworkAdapter = class extends NetworkAdapter {
|
|
|
2913
2918
|
payload: cbor.encode(message)
|
|
2914
2919
|
}).catch((err) => log13.catch(err, void 0, {
|
|
2915
2920
|
F: __dxlog_file14,
|
|
2916
|
-
L:
|
|
2921
|
+
L: 197,
|
|
2917
2922
|
S: this,
|
|
2918
2923
|
C: (f, a) => f(...a)
|
|
2919
2924
|
}));
|
|
@@ -2923,7 +2928,7 @@ var MeshNetworkAdapter = class extends NetworkAdapter {
|
|
|
2923
2928
|
createExtension() {
|
|
2924
2929
|
invariant10(this.peerId, "Peer id not set.", {
|
|
2925
2930
|
F: __dxlog_file14,
|
|
2926
|
-
L:
|
|
2931
|
+
L: 205,
|
|
2927
2932
|
S: this,
|
|
2928
2933
|
A: [
|
|
2929
2934
|
"this.peerId",
|
|
@@ -2949,9 +2954,13 @@ var MeshNetworkAdapter = class extends NetworkAdapter {
|
|
|
2949
2954
|
this.emit("message", message);
|
|
2950
2955
|
},
|
|
2951
2956
|
onClose: async () => {
|
|
2952
|
-
|
|
2957
|
+
if (!peerInfo) {
|
|
2958
|
+
return;
|
|
2959
|
+
}
|
|
2960
|
+
this.emit("peer-disconnected", {
|
|
2953
2961
|
peerId: peerInfo.id
|
|
2954
2962
|
});
|
|
2963
|
+
this._extensions.delete(peerInfo.id);
|
|
2955
2964
|
}
|
|
2956
2965
|
});
|
|
2957
2966
|
return extension;
|
|
@@ -3040,4 +3049,4 @@ export {
|
|
|
3040
3049
|
SpaceManager,
|
|
3041
3050
|
AutomergeHost
|
|
3042
3051
|
};
|
|
3043
|
-
//# sourceMappingURL=chunk-
|
|
3052
|
+
//# sourceMappingURL=chunk-RM4WCR2Z.mjs.map
|