@dxos/echo-pipeline 0.3.11-main.d7d4c52 → 0.3.11-main.d8b8a39
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-MPBRK5OV.mjs} +39 -30
- package/dist/lib/browser/chunk-MPBRK5OV.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-GJQNRSA3.cjs} +42 -33
- package/dist/lib/node/chunk-GJQNRSA3.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 +212 -36
- package/src/automerge/automerge-host.ts +21 -12
- 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
|
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_GJQNRSA3_exports = {};
|
|
30
|
+
__export(chunk_GJQNRSA3_exports, {
|
|
31
31
|
AuthExtension: () => AuthExtension,
|
|
32
32
|
AuthStatus: () => AuthStatus,
|
|
33
33
|
AutomergeHost: () => AutomergeHost,
|
|
@@ -54,7 +54,7 @@ __export(chunk_KTFCZMAY_exports, {
|
|
|
54
54
|
startAfter: () => startAfter,
|
|
55
55
|
valueEncoding: () => valueEncoding
|
|
56
56
|
});
|
|
57
|
-
module.exports = __toCommonJS(
|
|
57
|
+
module.exports = __toCommonJS(chunk_GJQNRSA3_exports);
|
|
58
58
|
var import_hypercore = require("@dxos/hypercore");
|
|
59
59
|
var import_protocols = require("@dxos/protocols");
|
|
60
60
|
var import_invariant = require("@dxos/invariant");
|
|
@@ -148,9 +148,11 @@ var import_log12 = require("@dxos/log");
|
|
|
148
148
|
var import_protocols7 = require("@dxos/protocols");
|
|
149
149
|
var import_util9 = require("@dxos/util");
|
|
150
150
|
var import_automerge_repo = require("@dxos/automerge/automerge-repo");
|
|
151
|
+
var import_automerge_repo_storage_indexeddb = require("@dxos/automerge/automerge-repo-storage-indexeddb");
|
|
151
152
|
var import_codec_protobuf2 = require("@dxos/codec-protobuf");
|
|
152
153
|
var import_invariant10 = require("@dxos/invariant");
|
|
153
154
|
var import_log13 = require("@dxos/log");
|
|
155
|
+
var import_random_access_storage = require("@dxos/random-access-storage");
|
|
154
156
|
var import_teleport_extension_automerge_replicator = require("@dxos/teleport-extension-automerge-replicator");
|
|
155
157
|
var import_util10 = require("@dxos/util");
|
|
156
158
|
var codec = import_protocols.schema.getCodecForType("dxos.echo.feed.FeedMessage");
|
|
@@ -619,12 +621,12 @@ var emptyLargeSpaceMetadata = () => ({});
|
|
|
619
621
|
var EchoMetadata = import_protocols4.schema.getCodecForType("dxos.echo.metadata.EchoMetadata");
|
|
620
622
|
var LargeSpaceMetadata = import_protocols4.schema.getCodecForType("dxos.echo.metadata.LargeSpaceMetadata");
|
|
621
623
|
var MetadataStore = class {
|
|
622
|
-
constructor(
|
|
623
|
-
this._directory = _directory;
|
|
624
|
+
constructor(directory) {
|
|
624
625
|
this._metadata = emptyEchoMetadata();
|
|
625
626
|
this._spaceLargeMetadata = new import_util3.ComplexMap(import_keys3.PublicKey.hash);
|
|
626
627
|
this._metadataFile = void 0;
|
|
627
628
|
this.update = new import_async2.Event();
|
|
629
|
+
this._directory = directory;
|
|
628
630
|
}
|
|
629
631
|
get metadata() {
|
|
630
632
|
return this._metadata;
|
|
@@ -653,7 +655,7 @@ var MetadataStore = class {
|
|
|
653
655
|
name: file.filename
|
|
654
656
|
}, {
|
|
655
657
|
F: __dxlog_file4,
|
|
656
|
-
L:
|
|
658
|
+
L: 85,
|
|
657
659
|
S: this,
|
|
658
660
|
C: (f, a) => f(...a)
|
|
659
661
|
});
|
|
@@ -673,6 +675,9 @@ var MetadataStore = class {
|
|
|
673
675
|
await file.close();
|
|
674
676
|
}
|
|
675
677
|
}
|
|
678
|
+
/**
|
|
679
|
+
* @internal
|
|
680
|
+
*/
|
|
676
681
|
async _writeFile(file, codec2, data) {
|
|
677
682
|
const encoded = (0, import_util3.arrayToBuffer)(codec2.encode(data));
|
|
678
683
|
const checksum = import_crc_32.default.buf(encoded);
|
|
@@ -686,7 +691,7 @@ var MetadataStore = class {
|
|
|
686
691
|
checksum
|
|
687
692
|
}, {
|
|
688
693
|
F: __dxlog_file4,
|
|
689
|
-
L:
|
|
694
|
+
L: 120,
|
|
690
695
|
S: this,
|
|
691
696
|
C: (f, a) => f(...a)
|
|
692
697
|
});
|
|
@@ -718,7 +723,7 @@ var MetadataStore = class {
|
|
|
718
723
|
err
|
|
719
724
|
}, {
|
|
720
725
|
F: __dxlog_file4,
|
|
721
|
-
L:
|
|
726
|
+
L: 151,
|
|
722
727
|
S: this,
|
|
723
728
|
C: (f, a) => f(...a)
|
|
724
729
|
});
|
|
@@ -735,7 +740,7 @@ var MetadataStore = class {
|
|
|
735
740
|
err
|
|
736
741
|
}, {
|
|
737
742
|
F: __dxlog_file4,
|
|
738
|
-
L:
|
|
743
|
+
L: 163,
|
|
739
744
|
S: this,
|
|
740
745
|
C: (f, a) => f(...a)
|
|
741
746
|
});
|
|
@@ -765,7 +770,7 @@ var MetadataStore = class {
|
|
|
765
770
|
err
|
|
766
771
|
}, {
|
|
767
772
|
F: __dxlog_file4,
|
|
768
|
-
L:
|
|
773
|
+
L: 192,
|
|
769
774
|
S: this,
|
|
770
775
|
C: (f, a) => f(...a)
|
|
771
776
|
});
|
|
@@ -786,7 +791,7 @@ var MetadataStore = class {
|
|
|
786
791
|
const space = this.spaces.find((space2) => space2.key === spaceKey);
|
|
787
792
|
(0, import_invariant4.invariant)(space, "Space not found", {
|
|
788
793
|
F: __dxlog_file4,
|
|
789
|
-
L:
|
|
794
|
+
L: 214,
|
|
790
795
|
S: this,
|
|
791
796
|
A: [
|
|
792
797
|
"space",
|
|
@@ -810,7 +815,7 @@ var MetadataStore = class {
|
|
|
810
815
|
async clear() {
|
|
811
816
|
(0, import_log3.log)("clearing all metadata", void 0, {
|
|
812
817
|
F: __dxlog_file4,
|
|
813
|
-
L:
|
|
818
|
+
L: 233,
|
|
814
819
|
S: this,
|
|
815
820
|
C: (f, a) => f(...a)
|
|
816
821
|
});
|
|
@@ -823,7 +828,7 @@ var MetadataStore = class {
|
|
|
823
828
|
async setIdentityRecord(record) {
|
|
824
829
|
(0, import_invariant4.invariant)(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
|
|
825
830
|
F: __dxlog_file4,
|
|
826
|
-
L:
|
|
831
|
+
L: 243,
|
|
827
832
|
S: this,
|
|
828
833
|
A: [
|
|
829
834
|
"!this._metadata.identity",
|
|
@@ -837,7 +842,7 @@ var MetadataStore = class {
|
|
|
837
842
|
async addSpace(record) {
|
|
838
843
|
(0, import_invariant4.invariant)(!(this._metadata.spaces ?? []).find((space) => space.key === record.key), "Cannot overwrite existing space in metadata", {
|
|
839
844
|
F: __dxlog_file4,
|
|
840
|
-
L:
|
|
845
|
+
L: 251,
|
|
841
846
|
S: this,
|
|
842
847
|
A: [
|
|
843
848
|
"!(this._metadata.spaces ?? []).find((space) => space.key === record.key)",
|
|
@@ -1531,7 +1536,7 @@ var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipelin
|
|
|
1531
1536
|
var MESSAGES_PER_SNAPSHOT = 10;
|
|
1532
1537
|
var AUTOMATIC_SNAPSHOT_DEBOUNCE_INTERVAL = 5e3;
|
|
1533
1538
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 5e3;
|
|
1534
|
-
var DataPipeline = class
|
|
1539
|
+
var DataPipeline = class {
|
|
1535
1540
|
constructor(_params) {
|
|
1536
1541
|
this._params = _params;
|
|
1537
1542
|
this._ctx = new import_context5.Context();
|
|
@@ -1986,7 +1991,7 @@ var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeli
|
|
|
1986
1991
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL2 = 500;
|
|
1987
1992
|
var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
|
|
1988
1993
|
var USE_SNAPSHOTS = true;
|
|
1989
|
-
var ControlPipeline = class
|
|
1994
|
+
var ControlPipeline = class {
|
|
1990
1995
|
constructor({ spaceKey, genesisFeed, feedProvider, metadataStore }) {
|
|
1991
1996
|
this._ctx = new import_context6.Context();
|
|
1992
1997
|
this._lastTimeframeSaveTime = Date.now();
|
|
@@ -2230,7 +2235,7 @@ function _ts_decorate6(decorators, target, key, desc) {
|
|
|
2230
2235
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2231
2236
|
}
|
|
2232
2237
|
var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
2233
|
-
var Space = class
|
|
2238
|
+
var Space = class {
|
|
2234
2239
|
constructor(params) {
|
|
2235
2240
|
this._addFeedLock = new import_async7.Lock();
|
|
2236
2241
|
this.onCredentialProcessed = new import_util6.Callback();
|
|
@@ -2603,7 +2608,7 @@ var SpaceProtocolSession = class {
|
|
|
2603
2608
|
this.replicator = new import_teleport_extension_replicator.ReplicatorExtension().setOptions({
|
|
2604
2609
|
upload: true
|
|
2605
2610
|
});
|
|
2606
|
-
this._authStatus =
|
|
2611
|
+
this._authStatus = "INITIAL";
|
|
2607
2612
|
this._wireParams = wireParams;
|
|
2608
2613
|
this._swarmIdentity = swarmIdentity;
|
|
2609
2614
|
this._onSessionAuth = onSessionAuth;
|
|
@@ -2632,11 +2637,11 @@ var SpaceProtocolSession = class {
|
|
|
2632
2637
|
S: this,
|
|
2633
2638
|
C: (f, a) => f(...a)
|
|
2634
2639
|
});
|
|
2635
|
-
this._authStatus =
|
|
2640
|
+
this._authStatus = "SUCCESS";
|
|
2636
2641
|
this._onSessionAuth?.(this._teleport);
|
|
2637
2642
|
},
|
|
2638
2643
|
onAuthFailure: () => {
|
|
2639
|
-
this._authStatus =
|
|
2644
|
+
this._authStatus = "FAILURE";
|
|
2640
2645
|
this._onAuthFailure?.(this._teleport);
|
|
2641
2646
|
}
|
|
2642
2647
|
}));
|
|
@@ -2673,7 +2678,7 @@ function _ts_decorate8(decorators, target, key, desc) {
|
|
|
2673
2678
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2674
2679
|
}
|
|
2675
2680
|
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
2676
|
-
var SpaceManager = class
|
|
2681
|
+
var SpaceManager = class {
|
|
2677
2682
|
constructor({ feedStore, networkManager, modelFactory, metadataStore, snapshotStore, blobStore }) {
|
|
2678
2683
|
this._spaces = new import_util9.ComplexMap(import_keys7.PublicKey.hash);
|
|
2679
2684
|
this._instanceId = import_keys7.PublicKey.random().toHex();
|
|
@@ -2759,7 +2764,7 @@ var AutomergeHost = class {
|
|
|
2759
2764
|
constructor(storageDirectory) {
|
|
2760
2765
|
this._meshNetwork = new MeshNetworkAdapter();
|
|
2761
2766
|
this._clientNetwork = new LocalHostNetworkAdapter();
|
|
2762
|
-
this._storage = new AutomergeStorageAdapter(storageDirectory);
|
|
2767
|
+
this._storage = storageDirectory.type === import_random_access_storage.StorageType.IDB ? new import_automerge_repo_storage_indexeddb.IndexedDBStorageAdapter(storageDirectory.path, "data") : new AutomergeStorageAdapter(storageDirectory);
|
|
2763
2768
|
this._repo = new import_automerge_repo.Repo({
|
|
2764
2769
|
network: [
|
|
2765
2770
|
this._clientNetwork,
|
|
@@ -2817,7 +2822,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo.NetworkAdapter
|
|
|
2817
2822
|
const peer = this._peers.get(message.targetId);
|
|
2818
2823
|
(0, import_invariant10.invariant)(peer, "Peer not found.", {
|
|
2819
2824
|
F: __dxlog_file14,
|
|
2820
|
-
L:
|
|
2825
|
+
L: 114,
|
|
2821
2826
|
S: this,
|
|
2822
2827
|
A: [
|
|
2823
2828
|
"peer",
|
|
@@ -2837,7 +2842,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo.NetworkAdapter
|
|
|
2837
2842
|
return new import_codec_protobuf2.Stream(({ next, close }) => {
|
|
2838
2843
|
(0, import_invariant10.invariant)(!this._peers.has(peerId), "Peer already connected.", {
|
|
2839
2844
|
F: __dxlog_file14,
|
|
2840
|
-
L:
|
|
2845
|
+
L: 132,
|
|
2841
2846
|
S: this,
|
|
2842
2847
|
A: [
|
|
2843
2848
|
"!this._peers.has(peerId)",
|
|
@@ -2871,7 +2876,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo.NetworkAdapter
|
|
|
2871
2876
|
getHostInfo() {
|
|
2872
2877
|
(0, import_invariant10.invariant)(this.peerId, "Peer id not set.", {
|
|
2873
2878
|
F: __dxlog_file14,
|
|
2874
|
-
L:
|
|
2879
|
+
L: 161,
|
|
2875
2880
|
S: this,
|
|
2876
2881
|
A: [
|
|
2877
2882
|
"this.peerId",
|
|
@@ -2907,7 +2912,7 @@ var MeshNetworkAdapter = class extends import_automerge_repo.NetworkAdapter {
|
|
|
2907
2912
|
const extension = this._extensions.get(receiverId);
|
|
2908
2913
|
(0, import_invariant10.invariant)(extension, "Extension not found.", {
|
|
2909
2914
|
F: __dxlog_file14,
|
|
2910
|
-
L:
|
|
2915
|
+
L: 196,
|
|
2911
2916
|
S: this,
|
|
2912
2917
|
A: [
|
|
2913
2918
|
"extension",
|
|
@@ -2918,7 +2923,7 @@ var MeshNetworkAdapter = class extends import_automerge_repo.NetworkAdapter {
|
|
|
2918
2923
|
payload: import_automerge_repo.cbor.encode(message)
|
|
2919
2924
|
}).catch((err) => import_log13.log.catch(err, void 0, {
|
|
2920
2925
|
F: __dxlog_file14,
|
|
2921
|
-
L:
|
|
2926
|
+
L: 197,
|
|
2922
2927
|
S: this,
|
|
2923
2928
|
C: (f, a) => f(...a)
|
|
2924
2929
|
}));
|
|
@@ -2928,7 +2933,7 @@ var MeshNetworkAdapter = class extends import_automerge_repo.NetworkAdapter {
|
|
|
2928
2933
|
createExtension() {
|
|
2929
2934
|
(0, import_invariant10.invariant)(this.peerId, "Peer id not set.", {
|
|
2930
2935
|
F: __dxlog_file14,
|
|
2931
|
-
L:
|
|
2936
|
+
L: 205,
|
|
2932
2937
|
S: this,
|
|
2933
2938
|
A: [
|
|
2934
2939
|
"this.peerId",
|
|
@@ -2954,9 +2959,13 @@ var MeshNetworkAdapter = class extends import_automerge_repo.NetworkAdapter {
|
|
|
2954
2959
|
this.emit("message", message);
|
|
2955
2960
|
},
|
|
2956
2961
|
onClose: async () => {
|
|
2957
|
-
|
|
2962
|
+
if (!peerInfo) {
|
|
2963
|
+
return;
|
|
2964
|
+
}
|
|
2965
|
+
this.emit("peer-disconnected", {
|
|
2958
2966
|
peerId: peerInfo.id
|
|
2959
2967
|
});
|
|
2968
|
+
this._extensions.delete(peerInfo.id);
|
|
2960
2969
|
}
|
|
2961
2970
|
});
|
|
2962
2971
|
return extension;
|
|
@@ -2987,7 +2996,7 @@ var AutomergeStorageAdapter = class extends import_automerge_repo.StorageAdapter
|
|
|
2987
2996
|
async remove(key) {
|
|
2988
2997
|
const filename = this._getFilename(key);
|
|
2989
2998
|
const file = this._directory.getOrCreateFile(filename);
|
|
2990
|
-
await file.
|
|
2999
|
+
await file.destroy();
|
|
2991
3000
|
}
|
|
2992
3001
|
async loadRange(keyPrefix) {
|
|
2993
3002
|
const filename = this._getFilename(keyPrefix);
|
|
@@ -3006,8 +3015,8 @@ var AutomergeStorageAdapter = class extends import_automerge_repo.StorageAdapter
|
|
|
3006
3015
|
const filename = this._getFilename(keyPrefix);
|
|
3007
3016
|
const entries = await this._directory.list();
|
|
3008
3017
|
await Promise.all(entries.filter((entry) => entry.startsWith(filename)).map(async (entry) => {
|
|
3009
|
-
const file = this._directory.getOrCreateFile(
|
|
3010
|
-
await file.
|
|
3018
|
+
const file = this._directory.getOrCreateFile(entry);
|
|
3019
|
+
await file.destroy();
|
|
3011
3020
|
}));
|
|
3012
3021
|
}
|
|
3013
3022
|
_getFilename(key) {
|
|
@@ -3045,4 +3054,4 @@ var AutomergeStorageAdapter = class extends import_automerge_repo.StorageAdapter
|
|
|
3045
3054
|
startAfter,
|
|
3046
3055
|
valueEncoding
|
|
3047
3056
|
});
|
|
3048
|
-
//# sourceMappingURL=chunk-
|
|
3057
|
+
//# sourceMappingURL=chunk-GJQNRSA3.cjs.map
|