@dxos/echo-pipeline 0.8.3 → 0.8.4-main.1c7ec43d41
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-35I6ERLG.mjs → neutral/chunk-VIHYDCCC.mjs} +313 -709
- package/dist/lib/neutral/chunk-VIHYDCCC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YBC6ONBZ.mjs +247 -0
- package/dist/lib/neutral/chunk-YBC6ONBZ.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/filter/index.mjs +3 -2
- package/dist/lib/neutral/index.mjs +7065 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/{browser → neutral}/testing/index.mjs +90 -311
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/automerge/automerge-host-subduction.test.d.ts +2 -0
- package/dist/types/src/automerge/automerge-host-subduction.test.d.ts.map +1 -0
- package/dist/types/src/automerge/automerge-host.d.ts +99 -54
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts +2 -0
- package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts.map +1 -0
- package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
- package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
- package/dist/types/src/automerge/automerge-subduction.test.d.ts +2 -0
- package/dist/types/src/automerge/automerge-subduction.test.d.ts.map +1 -0
- package/dist/types/src/automerge/collection-synchronizer.d.ts +25 -4
- package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-data-monitor.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts +23 -10
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +38 -15
- package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/handle-state.d.ts +52 -0
- package/dist/types/src/automerge/handle-state.d.ts.map +1 -0
- package/dist/types/src/automerge/heads-store.d.ts +9 -2
- package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
- package/dist/types/src/automerge/index.d.ts +2 -1
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +9 -5
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +9 -8
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts +6 -5
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
- package/dist/types/src/automerge/space-collection.d.ts.map +1 -1
- package/dist/types/src/common/codec.d.ts +1 -1
- package/dist/types/src/common/codec.d.ts.map +1 -1
- package/dist/types/src/common/feeds.d.ts.map +1 -1
- package/dist/types/src/common/space-id.d.ts.map +1 -1
- package/dist/types/src/db-host/automerge-data-source.d.ts +35 -0
- package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
- package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
- package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
- package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -1
- package/dist/types/src/db-host/data-service.d.ts +8 -7
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/db-host/database-root.d.ts +9 -3
- package/dist/types/src/db-host/database-root.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-synchronizer.d.ts +9 -8
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
- package/dist/types/src/db-host/echo-host.d.ts +62 -27
- package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
- package/dist/types/src/db-host/index.d.ts +2 -0
- package/dist/types/src/db-host/index.d.ts.map +1 -1
- package/dist/types/src/db-host/invalidation-hint.d.ts +19 -0
- package/dist/types/src/db-host/invalidation-hint.d.ts.map +1 -0
- package/dist/types/src/db-host/local-queue-service.d.ts +19 -0
- package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
- package/dist/types/src/db-host/query-invalidation.test.d.ts +2 -0
- package/dist/types/src/db-host/query-invalidation.test.d.ts.map +1 -0
- package/dist/types/src/db-host/query-service.d.ts +19 -11
- package/dist/types/src/db-host/query-service.d.ts.map +1 -1
- package/dist/types/src/db-host/queue-data-source.d.ts +38 -0
- package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
- package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
- package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
- package/dist/types/src/db-host/space-state-manager.d.ts +4 -3
- package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
- package/dist/types/src/db-host/stub.d.ts +11 -0
- package/dist/types/src/db-host/stub.d.ts.map +1 -0
- package/dist/types/src/edge/echo-edge-replicator.d.ts +10 -7
- package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
- package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts +39 -0
- package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts.map +1 -0
- package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts +2 -0
- package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts.map +1 -0
- package/dist/types/src/edge/index.d.ts +1 -0
- package/dist/types/src/edge/index.d.ts.map +1 -1
- package/dist/types/src/edge/inflight-request-limiter.d.ts.map +1 -1
- package/dist/types/src/filter/filter-match.d.ts +4 -1
- package/dist/types/src/filter/filter-match.d.ts.map +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
- package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
- package/dist/types/src/pipeline/pipeline.d.ts +3 -3
- package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
- package/dist/types/src/pipeline/timeframe-clock.d.ts.map +1 -1
- package/dist/types/src/query/errors.d.ts +22 -10
- package/dist/types/src/query/errors.d.ts.map +1 -1
- package/dist/types/src/query/plan.d.ts +66 -8
- package/dist/types/src/query/plan.d.ts.map +1 -1
- package/dist/types/src/query/query-executor.d.ts +66 -11
- package/dist/types/src/query/query-executor.d.ts.map +1 -1
- package/dist/types/src/query/query-planner.d.ts +12 -1
- package/dist/types/src/query/query-planner.d.ts.map +1 -1
- package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
- package/dist/types/src/space/auth.d.ts +3 -3
- package/dist/types/src/space/auth.d.ts.map +1 -1
- package/dist/types/src/space/control-pipeline.d.ts +5 -4
- package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +8 -8
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +10 -9
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +6 -6
- package/dist/types/src/space/space.d.ts.map +1 -1
- package/dist/types/src/testing/change-metadata.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +0 -2
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
- package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-feed-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-network-adapter.d.ts +1 -1
- package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -1
- package/dist/types/src/testing/test-replicator.d.ts +14 -13
- package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +56 -54
- package/src/automerge/automerge-host-subduction.test.ts +247 -0
- package/src/automerge/automerge-host.test.ts +65 -39
- package/src/automerge/automerge-host.ts +589 -206
- package/src/automerge/automerge-repo-subduction.test.ts +1049 -0
- package/src/automerge/automerge-repo.test.ts +349 -91
- package/src/automerge/automerge-subduction.test.ts +330 -0
- package/src/automerge/collection-synchronizer.test.ts +53 -17
- package/src/automerge/collection-synchronizer.ts +119 -36
- package/src/automerge/echo-data-monitor.ts +1 -1
- package/src/automerge/echo-network-adapter.test.ts +5 -4
- package/src/automerge/echo-network-adapter.ts +74 -30
- package/src/automerge/echo-replicator.ts +41 -15
- package/src/automerge/handle-state.ts +62 -0
- package/src/automerge/heads-store.ts +42 -3
- package/src/automerge/index.ts +2 -1
- package/src/automerge/leveldb-storage-adapter.ts +40 -11
- package/src/automerge/mesh-echo-replicator-connection.ts +12 -8
- package/src/automerge/mesh-echo-replicator.ts +15 -11
- package/src/automerge/storage-adapter.test.ts +1 -1
- package/src/common/space-id.ts +1 -1
- package/src/db-host/automerge-data-source.test.ts +299 -0
- package/src/db-host/automerge-data-source.ts +187 -0
- package/src/db-host/data-service.ts +25 -26
- package/src/db-host/database-root.ts +20 -8
- package/src/db-host/documents-synchronizer.test.ts +143 -14
- package/src/db-host/documents-synchronizer.ts +72 -55
- package/src/db-host/echo-host.ts +348 -96
- package/src/db-host/index.ts +2 -0
- package/src/db-host/invalidation-hint.ts +50 -0
- package/src/db-host/local-queue-service.ts +127 -0
- package/src/db-host/query-invalidation.test.ts +270 -0
- package/src/db-host/query-service.ts +111 -106
- package/src/db-host/queue-data-source.ts +160 -0
- package/src/db-host/queue-service.test.ts +145 -0
- package/src/db-host/space-state-manager.ts +12 -10
- package/src/db-host/stub.ts +33 -0
- package/src/edge/echo-edge-replicator.test.ts +12 -10
- package/src/edge/echo-edge-replicator.ts +144 -58
- package/src/edge/echo-edge-subduction-replicator.test.ts +158 -0
- package/src/edge/echo-edge-subduction-replicator.ts +377 -0
- package/src/edge/index.ts +1 -0
- package/src/filter/filter-match.test.ts +68 -32
- package/src/filter/filter-match.ts +184 -20
- package/src/metadata/metadata-store.ts +11 -8
- package/src/pipeline/pipeline-stress.test.ts +1 -1
- package/src/pipeline/pipeline.test.ts +2 -2
- package/src/pipeline/pipeline.ts +9 -7
- package/src/query/errors.ts +3 -1
- package/src/query/plan.ts +82 -8
- package/src/query/query-executor.ts +1199 -164
- package/src/query/query-planner.test.ts +993 -81
- package/src/query/query-planner.ts +467 -27
- package/src/space/admission-discovery-extension.ts +3 -3
- package/src/space/auth.ts +6 -6
- package/src/space/control-pipeline.test.ts +5 -4
- package/src/space/control-pipeline.ts +16 -13
- package/src/space/space-manager.browser.test.ts +1 -1
- package/src/space/space-manager.ts +16 -20
- package/src/space/space-protocol.browser.test.ts +15 -14
- package/src/space/space-protocol.test.ts +15 -14
- package/src/space/space-protocol.ts +22 -18
- package/src/space/space.test.ts +3 -3
- package/src/space/space.ts +11 -11
- package/src/testing/index.ts +0 -2
- package/src/testing/test-agent-builder.ts +3 -3
- package/src/testing/test-network-adapter.ts +24 -3
- package/src/testing/test-replicator.ts +19 -20
- package/src/util.ts +7 -3
- package/dist/lib/browser/chunk-35I6ERLG.mjs.map +0 -7
- package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
- package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-TQJTKNMS.mjs +0 -126
- package/dist/lib/browser/chunk-TQJTKNMS.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -4743
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node/chunk-HOPOFWAL.cjs +0 -147
- package/dist/lib/node/chunk-HOPOFWAL.cjs.map +0 -7
- package/dist/lib/node/chunk-JXX6LF5U.cjs +0 -2084
- package/dist/lib/node/chunk-JXX6LF5U.cjs.map +0 -7
- package/dist/lib/node/chunk-Q7SFCCGT.cjs +0 -33
- package/dist/lib/node/chunk-Q7SFCCGT.cjs.map +0 -7
- package/dist/lib/node/filter/index.cjs +0 -32
- package/dist/lib/node/filter/index.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -4699
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/testing/index.cjs +0 -753
- package/dist/lib/node/testing/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-5BHLPT24.mjs +0 -2067
- package/dist/lib/node-esm/chunk-5BHLPT24.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RVK35BS7.mjs +0 -126
- package/dist/lib/node-esm/chunk-RVK35BS7.mjs.map +0 -7
- package/dist/lib/node-esm/filter/index.mjs +0 -11
- package/dist/lib/node-esm/filter/index.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -4743
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/testing/index.mjs +0 -742
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/db-host/documents-iterator.d.ts +0 -7
- package/dist/types/src/db-host/documents-iterator.d.ts.map +0 -1
- package/dist/types/src/testing/test-data.d.ts +0 -18
- package/dist/types/src/testing/test-data.d.ts.map +0 -1
- package/dist/types/src/testing/test-schema.d.ts +0 -37
- package/dist/types/src/testing/test-schema.d.ts.map +0 -1
- package/src/db-host/documents-iterator.ts +0 -74
- package/src/testing/test-data.ts +0 -127
- package/src/testing/test-schema.ts +0 -53
- /package/dist/lib/{browser → neutral}/filter/index.mjs.map +0 -0
|
@@ -6,23 +6,15 @@ import {
|
|
|
6
6
|
SpaceManager,
|
|
7
7
|
SpaceProtocol,
|
|
8
8
|
valueEncoding
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import {
|
|
11
|
-
__export
|
|
12
|
-
} from "../chunk-CGS2ULMK.mjs";
|
|
9
|
+
} from "../chunk-VIHYDCCC.mjs";
|
|
13
10
|
|
|
14
|
-
//
|
|
11
|
+
// src/testing/change-metadata.ts
|
|
15
12
|
import { log } from "@dxos/log";
|
|
16
13
|
import { schema } from "@dxos/protocols/proto";
|
|
17
|
-
var __dxlog_file = "/
|
|
14
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/change-metadata.ts";
|
|
18
15
|
var EchoMetadata = schema.getCodecForType("dxos.echo.metadata.EchoMetadata");
|
|
19
16
|
var changeStorageVersionInMetadata = async (storage, version) => {
|
|
20
|
-
log("Changing storage version in metadata. USE ONLY FOR TESTING.", void 0, {
|
|
21
|
-
F: __dxlog_file,
|
|
22
|
-
L: 19,
|
|
23
|
-
S: void 0,
|
|
24
|
-
C: (f, a) => f(...a)
|
|
25
|
-
});
|
|
17
|
+
log("Changing storage version in metadata. USE ONLY FOR TESTING.", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 13, S: void 0 });
|
|
26
18
|
const metadata = new MetadataStore(storage.createDirectory("metadata"));
|
|
27
19
|
await metadata.load();
|
|
28
20
|
const echoMetadata = metadata.metadata;
|
|
@@ -32,7 +24,7 @@ var changeStorageVersionInMetadata = async (storage, version) => {
|
|
|
32
24
|
await metadata._directory.flush();
|
|
33
25
|
};
|
|
34
26
|
|
|
35
|
-
//
|
|
27
|
+
// src/testing/test-agent-builder.ts
|
|
36
28
|
import { Context } from "@dxos/context";
|
|
37
29
|
import { CredentialGenerator } from "@dxos/credentials";
|
|
38
30
|
import { PublicKey } from "@dxos/keys";
|
|
@@ -44,7 +36,7 @@ import { Gossip, Presence } from "@dxos/teleport-extension-gossip";
|
|
|
44
36
|
import { BlobStore } from "@dxos/teleport-extension-object-sync";
|
|
45
37
|
import { ComplexMap } from "@dxos/util";
|
|
46
38
|
|
|
47
|
-
//
|
|
39
|
+
// src/testing/test-feed-builder.ts
|
|
48
40
|
import { TestBuilder } from "@dxos/feed-store/testing";
|
|
49
41
|
var TestFeedBuilder = class extends TestBuilder {
|
|
50
42
|
constructor() {
|
|
@@ -54,8 +46,8 @@ var TestFeedBuilder = class extends TestBuilder {
|
|
|
54
46
|
}
|
|
55
47
|
};
|
|
56
48
|
|
|
57
|
-
//
|
|
58
|
-
var __dxlog_file2 = "/
|
|
49
|
+
// src/testing/test-agent-builder.ts
|
|
50
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts";
|
|
59
51
|
var MemoryNetworkManagerProvider = (signalContext) => () => new SwarmNetworkManager({
|
|
60
52
|
signalManager: new MemorySignalManager(signalContext),
|
|
61
53
|
transportFactory: MemoryTransportFactory
|
|
@@ -69,8 +61,10 @@ var WebsocketNetworkManagerProvider = (signalUrl) => () => new SwarmNetworkManag
|
|
|
69
61
|
transportFactory: createRtcTransportFactory()
|
|
70
62
|
});
|
|
71
63
|
var TestAgentBuilder = class {
|
|
64
|
+
_agents = new ComplexMap(PublicKey.hash);
|
|
65
|
+
_storage;
|
|
66
|
+
_networkManagerProvider;
|
|
72
67
|
constructor({ storage, networkManagerProvider } = {}) {
|
|
73
|
-
this._agents = new ComplexMap(PublicKey.hash);
|
|
74
68
|
this._storage = storage ?? createStorage({
|
|
75
69
|
type: StorageType.RAM
|
|
76
70
|
});
|
|
@@ -95,9 +89,19 @@ var TestAgentBuilder = class {
|
|
|
95
89
|
}
|
|
96
90
|
};
|
|
97
91
|
var TestAgent = class {
|
|
92
|
+
_networkManagerProvider;
|
|
93
|
+
_feedBuilder;
|
|
94
|
+
identityKey;
|
|
95
|
+
deviceKey;
|
|
96
|
+
_spaces = new ComplexMap(PublicKey.hash);
|
|
97
|
+
storage;
|
|
98
|
+
keyring;
|
|
99
|
+
feedStore;
|
|
100
|
+
_metadataStore;
|
|
98
101
|
get metadataStore() {
|
|
99
102
|
return this._metadataStore ??= new MetadataStore(this.storage.createDirectory("metadata"));
|
|
100
103
|
}
|
|
104
|
+
_blobStore;
|
|
101
105
|
get blobStore() {
|
|
102
106
|
return this._blobStore ??= new BlobStore(this.storage.createDirectory("blobs"));
|
|
103
107
|
}
|
|
@@ -106,7 +110,6 @@ var TestAgent = class {
|
|
|
106
110
|
this._feedBuilder = _feedBuilder;
|
|
107
111
|
this.identityKey = identityKey;
|
|
108
112
|
this.deviceKey = deviceKey;
|
|
109
|
-
this._spaces = new ComplexMap(PublicKey.hash);
|
|
110
113
|
this.storage = this._feedBuilder.storage;
|
|
111
114
|
this.keyring = this._feedBuilder.keyring;
|
|
112
115
|
this.feedStore = this._feedBuilder.createFeedStore();
|
|
@@ -119,9 +122,10 @@ var TestAgent = class {
|
|
|
119
122
|
get spaces() {
|
|
120
123
|
return Array.from(this._spaces.values());
|
|
121
124
|
}
|
|
122
|
-
getSpace(
|
|
123
|
-
return this._spaces.get(
|
|
125
|
+
getSpace(spaceKey) {
|
|
126
|
+
return this._spaces.get(spaceKey);
|
|
124
127
|
}
|
|
128
|
+
_networkManager;
|
|
125
129
|
get networkManager() {
|
|
126
130
|
if (this._networkManager) {
|
|
127
131
|
return this._networkManager;
|
|
@@ -133,6 +137,7 @@ var TestAgent = class {
|
|
|
133
137
|
});
|
|
134
138
|
return this._networkManager;
|
|
135
139
|
}
|
|
140
|
+
_spaceManager;
|
|
136
141
|
get spaceManager() {
|
|
137
142
|
return this._spaceManager ??= new SpaceManager({
|
|
138
143
|
feedStore: this.feedStore,
|
|
@@ -141,10 +146,10 @@ var TestAgent = class {
|
|
|
141
146
|
blobStore: this.blobStore
|
|
142
147
|
});
|
|
143
148
|
}
|
|
144
|
-
async createSpace(identityKey = this.identityKey,
|
|
145
|
-
if (!
|
|
149
|
+
async createSpace(identityKey = this.identityKey, spaceKey, genesisKey, dataKey, saveMetadata = false) {
|
|
150
|
+
if (!spaceKey) {
|
|
146
151
|
saveMetadata = true;
|
|
147
|
-
|
|
152
|
+
spaceKey = await this.keyring.createKey();
|
|
148
153
|
}
|
|
149
154
|
if (!genesisKey) {
|
|
150
155
|
genesisKey = await this.keyring.createKey();
|
|
@@ -157,7 +162,7 @@ var TestAgent = class {
|
|
|
157
162
|
sparse: true
|
|
158
163
|
});
|
|
159
164
|
const metadata = {
|
|
160
|
-
key:
|
|
165
|
+
key: spaceKey,
|
|
161
166
|
genesisFeedKey: genesisKey,
|
|
162
167
|
controlFeedKey: controlFeed.key,
|
|
163
168
|
dataFeedKey: dataFeed.key
|
|
@@ -187,11 +192,8 @@ var TestAgent = class {
|
|
|
187
192
|
});
|
|
188
193
|
await space.setControlFeed(controlFeed);
|
|
189
194
|
await space.setDataFeed(dataFeed);
|
|
190
|
-
await space.open(new Context(void 0, {
|
|
191
|
-
|
|
192
|
-
L: 205
|
|
193
|
-
}));
|
|
194
|
-
this._spaces.set(spaceKey2, space);
|
|
195
|
+
await space.open(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 164 }));
|
|
196
|
+
this._spaces.set(spaceKey, space);
|
|
195
197
|
return space;
|
|
196
198
|
}
|
|
197
199
|
createSpaceProtocol(topic, gossip) {
|
|
@@ -242,27 +244,47 @@ var TestAgent = class {
|
|
|
242
244
|
}
|
|
243
245
|
};
|
|
244
246
|
|
|
245
|
-
//
|
|
247
|
+
// src/testing/test-network-adapter.ts
|
|
246
248
|
import { NetworkAdapter } from "@automerge/automerge-repo";
|
|
247
249
|
import { Trigger, sleep } from "@dxos/async";
|
|
248
250
|
import { invariant } from "@dxos/invariant";
|
|
249
251
|
import { log as log2 } from "@dxos/log";
|
|
250
|
-
var __dxlog_file3 = "/
|
|
252
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts";
|
|
251
253
|
var TestAdapter = class _TestAdapter extends NetworkAdapter {
|
|
252
|
-
|
|
254
|
+
_params;
|
|
255
|
+
static createPair(connectionStateProvider = () => "on", onMessage) {
|
|
253
256
|
const adapter1 = new _TestAdapter({
|
|
254
|
-
send: (message) =>
|
|
257
|
+
send: (message) => {
|
|
258
|
+
onMessage?.(message);
|
|
259
|
+
if (connectionStateProvider() === "on") {
|
|
260
|
+
void sleep(10).then(() => {
|
|
261
|
+
if (connectionStateProvider() === "on" && adapter2.peerId) {
|
|
262
|
+
adapter2.receive(message);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
}
|
|
255
267
|
});
|
|
256
268
|
const adapter2 = new _TestAdapter({
|
|
257
|
-
send: (message) =>
|
|
269
|
+
send: (message) => {
|
|
270
|
+
onMessage?.(message);
|
|
271
|
+
if (connectionStateProvider() === "on") {
|
|
272
|
+
void sleep(10).then(() => {
|
|
273
|
+
if (connectionStateProvider() === "on" && adapter1.peerId) {
|
|
274
|
+
adapter1.receive(message);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
258
279
|
});
|
|
259
280
|
return [
|
|
260
281
|
adapter1,
|
|
261
282
|
adapter2
|
|
262
283
|
];
|
|
263
284
|
}
|
|
285
|
+
onConnect = new Trigger();
|
|
264
286
|
constructor(_params) {
|
|
265
|
-
super(), this._params = _params
|
|
287
|
+
super(), this._params = _params;
|
|
266
288
|
}
|
|
267
289
|
isReady() {
|
|
268
290
|
return true;
|
|
@@ -275,30 +297,14 @@ var TestAdapter = class _TestAdapter extends NetworkAdapter {
|
|
|
275
297
|
this.onConnect.wake();
|
|
276
298
|
}
|
|
277
299
|
peerCandidate(peerId) {
|
|
278
|
-
invariant(peerId, "PeerId is required", {
|
|
279
|
-
F: __dxlog_file3,
|
|
280
|
-
L: 45,
|
|
281
|
-
S: this,
|
|
282
|
-
A: [
|
|
283
|
-
"peerId",
|
|
284
|
-
"'PeerId is required'"
|
|
285
|
-
]
|
|
286
|
-
});
|
|
300
|
+
invariant(peerId, "PeerId is required", { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 55, S: this, A: ["peerId", "'PeerId is required'"] });
|
|
287
301
|
this.emit("peer-candidate", {
|
|
288
302
|
peerId,
|
|
289
303
|
peerMetadata: {}
|
|
290
304
|
});
|
|
291
305
|
}
|
|
292
306
|
peerDisconnected(peerId) {
|
|
293
|
-
invariant(peerId, "PeerId is required", {
|
|
294
|
-
F: __dxlog_file3,
|
|
295
|
-
L: 50,
|
|
296
|
-
S: this,
|
|
297
|
-
A: [
|
|
298
|
-
"peerId",
|
|
299
|
-
"'PeerId is required'"
|
|
300
|
-
]
|
|
301
|
-
});
|
|
307
|
+
invariant(peerId, "PeerId is required", { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 62, S: this, A: ["peerId", "'PeerId is required'"] });
|
|
302
308
|
this.emit("peer-disconnected", {
|
|
303
309
|
peerId
|
|
304
310
|
});
|
|
@@ -308,52 +314,39 @@ var TestAdapter = class _TestAdapter extends NetworkAdapter {
|
|
|
308
314
|
from: message.senderId,
|
|
309
315
|
to: message.targetId,
|
|
310
316
|
type: message.type
|
|
311
|
-
}, {
|
|
312
|
-
F: __dxlog_file3,
|
|
313
|
-
L: 55,
|
|
314
|
-
S: this,
|
|
315
|
-
C: (f, a) => f(...a)
|
|
316
|
-
});
|
|
317
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 68, S: this });
|
|
317
318
|
this._params.send(message);
|
|
318
319
|
}
|
|
319
320
|
disconnect() {
|
|
320
321
|
this.peerId = void 0;
|
|
321
322
|
}
|
|
322
323
|
receive(message) {
|
|
323
|
-
invariant(this.peerId, "Peer id is not set", {
|
|
324
|
-
F: __dxlog_file3,
|
|
325
|
-
L: 64,
|
|
326
|
-
S: this,
|
|
327
|
-
A: [
|
|
328
|
-
"this.peerId",
|
|
329
|
-
"'Peer id is not set'"
|
|
330
|
-
]
|
|
331
|
-
});
|
|
324
|
+
invariant(this.peerId, "Peer id is not set", { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 79, S: this, A: ["this.peerId", "'Peer id is not set'"] });
|
|
332
325
|
this.emit("message", message);
|
|
333
326
|
}
|
|
334
327
|
};
|
|
335
328
|
|
|
336
|
-
//
|
|
329
|
+
// src/testing/test-replicator.ts
|
|
337
330
|
import { sleep as sleep2, synchronized } from "@dxos/async";
|
|
338
331
|
import { LifecycleState, Resource } from "@dxos/context";
|
|
339
332
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
340
333
|
import { log as log3 } from "@dxos/log";
|
|
341
|
-
import
|
|
334
|
+
import * as TeleportAutomergeReplicator from "@dxos/teleport-extension-automerge-replicator";
|
|
335
|
+
var __dxlog_file4 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-replicator.ts";
|
|
342
336
|
function _ts_decorate(decorators, target, key, desc) {
|
|
343
337
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
344
338
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
345
339
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
346
340
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
347
341
|
}
|
|
348
|
-
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-replicator.ts";
|
|
349
342
|
var TestReplicationNetwork = class extends Resource {
|
|
343
|
+
_replicators = /* @__PURE__ */ new Set();
|
|
344
|
+
_latency = void 0;
|
|
350
345
|
constructor(options = {}) {
|
|
351
346
|
super();
|
|
352
|
-
this._replicators = /* @__PURE__ */ new Set();
|
|
353
|
-
this._latency = void 0;
|
|
354
347
|
this._latency = options.latency;
|
|
355
348
|
}
|
|
356
|
-
async _close(
|
|
349
|
+
async _close(_ctx) {
|
|
357
350
|
for (const replicator of this._replicators) {
|
|
358
351
|
for (const connection of replicator.connections) {
|
|
359
352
|
void connection.writable.abort();
|
|
@@ -364,27 +357,11 @@ var TestReplicationNetwork = class extends Resource {
|
|
|
364
357
|
async createReplicator() {
|
|
365
358
|
const replicator = new TestReplicator({
|
|
366
359
|
onConnect: async () => {
|
|
367
|
-
invariant2(this._lifecycleState === LifecycleState.OPEN, void 0, {
|
|
368
|
-
F: __dxlog_file4,
|
|
369
|
-
L: 45,
|
|
370
|
-
S: this,
|
|
371
|
-
A: [
|
|
372
|
-
"this._lifecycleState === LifecycleState.OPEN",
|
|
373
|
-
""
|
|
374
|
-
]
|
|
375
|
-
});
|
|
360
|
+
invariant2(this._lifecycleState === LifecycleState.OPEN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 33, S: this, A: ["this._lifecycleState === LifecycleState.OPEN", ""] });
|
|
376
361
|
await this._connectReplicator(replicator);
|
|
377
362
|
},
|
|
378
363
|
onDisconnect: async () => {
|
|
379
|
-
invariant2(this._lifecycleState === LifecycleState.OPEN, void 0, {
|
|
380
|
-
F: __dxlog_file4,
|
|
381
|
-
L: 49,
|
|
382
|
-
S: this,
|
|
383
|
-
A: [
|
|
384
|
-
"this._lifecycleState === LifecycleState.OPEN",
|
|
385
|
-
""
|
|
386
|
-
]
|
|
387
|
-
});
|
|
364
|
+
invariant2(this._lifecycleState === LifecycleState.OPEN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 37, S: this, A: ["this._lifecycleState === LifecycleState.OPEN", ""] });
|
|
388
365
|
await this._disconnectReplicator(replicator);
|
|
389
366
|
}
|
|
390
367
|
});
|
|
@@ -399,12 +376,7 @@ var TestReplicationNetwork = class extends Resource {
|
|
|
399
376
|
log3("create connection", {
|
|
400
377
|
from: replicator.context.peerId,
|
|
401
378
|
to: otherReplicator.context.peerId
|
|
402
|
-
}, {
|
|
403
|
-
F: __dxlog_file4,
|
|
404
|
-
L: 63,
|
|
405
|
-
S: this,
|
|
406
|
-
C: (f, a) => f(...a)
|
|
407
|
-
});
|
|
379
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 49, S: this });
|
|
408
380
|
const [connection1, connection2] = this._createConnectionPair(replicator.context.peerId, otherReplicator.context.peerId);
|
|
409
381
|
await replicator.context.onConnectionOpen(connection1);
|
|
410
382
|
await otherReplicator.context.onConnectionOpen(connection2);
|
|
@@ -425,12 +397,7 @@ var TestReplicationNetwork = class extends Resource {
|
|
|
425
397
|
from: peer1,
|
|
426
398
|
to: peer2,
|
|
427
399
|
message
|
|
428
|
-
}, {
|
|
429
|
-
F: __dxlog_file4,
|
|
430
|
-
L: 86,
|
|
431
|
-
S: this,
|
|
432
|
-
C: (f, a) => f(...a)
|
|
433
|
-
});
|
|
400
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 69, S: this });
|
|
434
401
|
}
|
|
435
402
|
if (this._latency !== void 0) {
|
|
436
403
|
await sleep2(this._latency);
|
|
@@ -445,12 +412,7 @@ var TestReplicationNetwork = class extends Resource {
|
|
|
445
412
|
from: peer2,
|
|
446
413
|
to: peer1,
|
|
447
414
|
message
|
|
448
|
-
}, {
|
|
449
|
-
F: __dxlog_file4,
|
|
450
|
-
L: 99,
|
|
451
|
-
S: this,
|
|
452
|
-
C: (f, a) => f(...a)
|
|
453
|
-
});
|
|
415
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 84, S: this });
|
|
454
416
|
}
|
|
455
417
|
if (this._latency !== void 0) {
|
|
456
418
|
await sleep2(this._latency);
|
|
@@ -472,21 +434,17 @@ _ts_decorate([
|
|
|
472
434
|
synchronized
|
|
473
435
|
], TestReplicationNetwork.prototype, "_connectReplicator", null);
|
|
474
436
|
var TestReplicator = class {
|
|
437
|
+
_params;
|
|
475
438
|
constructor(_params) {
|
|
476
439
|
this._params = _params;
|
|
477
|
-
this.connected = false;
|
|
478
|
-
this.context = void 0;
|
|
479
|
-
this.connections = /* @__PURE__ */ new Set();
|
|
480
440
|
}
|
|
481
|
-
|
|
441
|
+
connected = false;
|
|
442
|
+
context = void 0;
|
|
443
|
+
connections = /* @__PURE__ */ new Set();
|
|
444
|
+
async connect(_ctx, context) {
|
|
482
445
|
log3("connect", {
|
|
483
446
|
peerId: context.peerId
|
|
484
|
-
}, {
|
|
485
|
-
F: __dxlog_file4,
|
|
486
|
-
L: 131,
|
|
487
|
-
S: this,
|
|
488
|
-
C: (f, a) => f(...a)
|
|
489
|
-
});
|
|
447
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 118, S: this });
|
|
490
448
|
this.context = context;
|
|
491
449
|
this.connected = true;
|
|
492
450
|
await this._params.onConnect();
|
|
@@ -494,12 +452,7 @@ var TestReplicator = class {
|
|
|
494
452
|
async disconnect() {
|
|
495
453
|
log3("disconnect", {
|
|
496
454
|
peerId: this.context.peerId
|
|
497
|
-
}, {
|
|
498
|
-
F: __dxlog_file4,
|
|
499
|
-
L: 138,
|
|
500
|
-
S: this,
|
|
501
|
-
C: (f, a) => f(...a)
|
|
502
|
-
});
|
|
455
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 126, S: this });
|
|
503
456
|
this.connected = false;
|
|
504
457
|
await this._params.onDisconnect();
|
|
505
458
|
}
|
|
@@ -515,22 +468,28 @@ var TestReplicator = class {
|
|
|
515
468
|
}
|
|
516
469
|
};
|
|
517
470
|
var TestReplicatorConnection = class {
|
|
471
|
+
peerId;
|
|
472
|
+
readable;
|
|
473
|
+
writable;
|
|
474
|
+
otherSide = void 0;
|
|
475
|
+
owningReplicator = void 0;
|
|
518
476
|
constructor(peerId, readable, writable) {
|
|
519
477
|
this.peerId = peerId;
|
|
520
478
|
this.readable = readable;
|
|
521
479
|
this.writable = writable;
|
|
522
|
-
this.otherSide = void 0;
|
|
523
|
-
this.owningReplicator = void 0;
|
|
524
480
|
}
|
|
525
|
-
|
|
481
|
+
get bundleSyncEnabled() {
|
|
482
|
+
return false;
|
|
483
|
+
}
|
|
484
|
+
async shouldAdvertise() {
|
|
526
485
|
return true;
|
|
527
486
|
}
|
|
528
|
-
shouldSyncCollection(
|
|
487
|
+
shouldSyncCollection() {
|
|
529
488
|
return true;
|
|
530
489
|
}
|
|
531
490
|
};
|
|
532
491
|
var testAutomergeReplicatorFactory = (params) => {
|
|
533
|
-
return new AutomergeReplicator({
|
|
492
|
+
return new TeleportAutomergeReplicator.AutomergeReplicator({
|
|
534
493
|
...params[0],
|
|
535
494
|
sendSyncRetryPolicy: {
|
|
536
495
|
retryBackoff: 20,
|
|
@@ -545,195 +504,15 @@ var brokenAutomergeReplicatorFactory = (params) => {
|
|
|
545
504
|
};
|
|
546
505
|
return testAutomergeReplicatorFactory(params);
|
|
547
506
|
};
|
|
548
|
-
|
|
549
|
-
// packages/core/echo/echo-pipeline/src/testing/test-schema.ts
|
|
550
|
-
var test_schema_exports = {};
|
|
551
|
-
__export(test_schema_exports, {
|
|
552
|
-
Organization: () => Organization,
|
|
553
|
-
Person: () => Person,
|
|
554
|
-
Task: () => Task,
|
|
555
|
-
WorksFor: () => WorksFor
|
|
556
|
-
});
|
|
557
|
-
import { Schema } from "effect";
|
|
558
|
-
import { Type } from "@dxos/echo";
|
|
559
|
-
var Person = Schema.Struct({
|
|
560
|
-
name: Schema.String,
|
|
561
|
-
email: Schema.optional(Schema.String),
|
|
562
|
-
age: Schema.optional(Schema.Number)
|
|
563
|
-
}).pipe(Type.Obj({
|
|
564
|
-
typename: "dxos.org/type/Person",
|
|
565
|
-
version: "0.1.0"
|
|
566
|
-
}));
|
|
567
|
-
var Organization = Schema.Struct({
|
|
568
|
-
name: Schema.String
|
|
569
|
-
}).pipe(Type.Obj({
|
|
570
|
-
typename: "dxos.org/type/Organization",
|
|
571
|
-
version: "0.1.0"
|
|
572
|
-
}));
|
|
573
|
-
var WorksFor = Schema.Struct({
|
|
574
|
-
since: Schema.String
|
|
575
|
-
}).pipe(Type.Relation({
|
|
576
|
-
typename: "dxos.org/type/WorksFor",
|
|
577
|
-
version: "0.1.0",
|
|
578
|
-
source: Person,
|
|
579
|
-
target: Organization
|
|
580
|
-
}));
|
|
581
|
-
var Task = Schema.Struct({
|
|
582
|
-
title: Schema.String,
|
|
583
|
-
createdAt: Schema.String,
|
|
584
|
-
assignee: Type.Ref(Person)
|
|
585
|
-
}).pipe(Type.Obj({
|
|
586
|
-
typename: "dxos.org/type/Task",
|
|
587
|
-
version: "0.1.0"
|
|
588
|
-
}));
|
|
589
|
-
|
|
590
|
-
// packages/core/echo/echo-pipeline/src/testing/test-data.ts
|
|
591
|
-
var test_data_exports = {};
|
|
592
|
-
__export(test_data_exports, {
|
|
593
|
-
ORGS: () => ORGS,
|
|
594
|
-
PEOPLE: () => PEOPLE,
|
|
595
|
-
TASKS: () => TASKS,
|
|
596
|
-
WORKS_FOR: () => WORKS_FOR
|
|
597
|
-
});
|
|
598
|
-
import { DatabaseDirectory, ObjectStructure } from "@dxos/echo-protocol";
|
|
599
|
-
import { getSchemaDXN } from "@dxos/echo-schema";
|
|
600
|
-
import { DXN, ObjectId, PublicKey as PublicKey2 } from "@dxos/keys";
|
|
601
|
-
var spaceKey = PublicKey2.random();
|
|
602
|
-
var PEOPLE = {
|
|
603
|
-
fred: DatabaseDirectory.make({
|
|
604
|
-
spaceKey: spaceKey.toHex(),
|
|
605
|
-
objects: {
|
|
606
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
607
|
-
type: getSchemaDXN(Person).toString(),
|
|
608
|
-
data: {
|
|
609
|
-
name: "Fred"
|
|
610
|
-
}
|
|
611
|
-
})
|
|
612
|
-
}
|
|
613
|
-
}),
|
|
614
|
-
alice: DatabaseDirectory.make({
|
|
615
|
-
spaceKey: spaceKey.toHex(),
|
|
616
|
-
objects: {
|
|
617
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
618
|
-
type: getSchemaDXN(Person).toString(),
|
|
619
|
-
data: {
|
|
620
|
-
name: "Alice"
|
|
621
|
-
}
|
|
622
|
-
})
|
|
623
|
-
}
|
|
624
|
-
})
|
|
625
|
-
};
|
|
626
|
-
var ORGS = {
|
|
627
|
-
cyberdyne: DatabaseDirectory.make({
|
|
628
|
-
spaceKey: spaceKey.toHex(),
|
|
629
|
-
objects: {
|
|
630
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
631
|
-
type: getSchemaDXN(Organization).toString(),
|
|
632
|
-
data: {
|
|
633
|
-
name: "Cyberdyne Systems",
|
|
634
|
-
founded: "1984"
|
|
635
|
-
}
|
|
636
|
-
})
|
|
637
|
-
}
|
|
638
|
-
}),
|
|
639
|
-
aperture: DatabaseDirectory.make({
|
|
640
|
-
spaceKey: spaceKey.toHex(),
|
|
641
|
-
objects: {
|
|
642
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
643
|
-
type: getSchemaDXN(Organization).toString(),
|
|
644
|
-
data: {
|
|
645
|
-
name: "Aperture Science",
|
|
646
|
-
founded: "1953"
|
|
647
|
-
}
|
|
648
|
-
})
|
|
649
|
-
}
|
|
650
|
-
})
|
|
651
|
-
};
|
|
652
|
-
var WORKS_FOR = {
|
|
653
|
-
fredWorksForCyberdyne: DatabaseDirectory.make({
|
|
654
|
-
spaceKey: spaceKey.toHex(),
|
|
655
|
-
objects: {
|
|
656
|
-
[ObjectId.random()]: ObjectStructure.makeRelation({
|
|
657
|
-
type: getSchemaDXN(WorksFor).toString(),
|
|
658
|
-
source: {
|
|
659
|
-
"/": DXN.fromLocalObjectId(Object.keys(PEOPLE.fred.objects)[0]).toString()
|
|
660
|
-
},
|
|
661
|
-
target: {
|
|
662
|
-
"/": DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects)[0]).toString()
|
|
663
|
-
},
|
|
664
|
-
data: {
|
|
665
|
-
since: "2020",
|
|
666
|
-
position: "Engineer"
|
|
667
|
-
}
|
|
668
|
-
})
|
|
669
|
-
}
|
|
670
|
-
}),
|
|
671
|
-
aliceWorksForAperture: DatabaseDirectory.make({
|
|
672
|
-
spaceKey: spaceKey.toHex(),
|
|
673
|
-
objects: {
|
|
674
|
-
[ObjectId.random()]: ObjectStructure.makeRelation({
|
|
675
|
-
type: getSchemaDXN(WorksFor).toString(),
|
|
676
|
-
source: {
|
|
677
|
-
"/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
|
|
678
|
-
},
|
|
679
|
-
target: {
|
|
680
|
-
"/": DXN.fromLocalObjectId(Object.keys(ORGS.aperture.objects)[0]).toString()
|
|
681
|
-
},
|
|
682
|
-
data: {
|
|
683
|
-
since: "2018",
|
|
684
|
-
position: "Research Scientist"
|
|
685
|
-
}
|
|
686
|
-
})
|
|
687
|
-
}
|
|
688
|
-
})
|
|
689
|
-
};
|
|
690
|
-
var TASKS = {
|
|
691
|
-
task1: DatabaseDirectory.make({
|
|
692
|
-
spaceKey: spaceKey.toHex(),
|
|
693
|
-
objects: {
|
|
694
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
695
|
-
type: getSchemaDXN(Task).toString(),
|
|
696
|
-
data: {
|
|
697
|
-
title: "Complete project documentation",
|
|
698
|
-
description: "Write comprehensive documentation for the new system",
|
|
699
|
-
status: "in-progress",
|
|
700
|
-
dueDate: "2023-12-31",
|
|
701
|
-
assignee: {
|
|
702
|
-
"/": DXN.fromLocalObjectId(Object.keys(PEOPLE.fred.objects)[0]).toString()
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
})
|
|
706
|
-
}
|
|
707
|
-
}),
|
|
708
|
-
task2: DatabaseDirectory.make({
|
|
709
|
-
spaceKey: spaceKey.toHex(),
|
|
710
|
-
objects: {
|
|
711
|
-
[ObjectId.random()]: ObjectStructure.makeObject({
|
|
712
|
-
type: getSchemaDXN(Task).toString(),
|
|
713
|
-
data: {
|
|
714
|
-
title: "Run experiments",
|
|
715
|
-
description: "Conduct series of experiments on the portal device",
|
|
716
|
-
status: "pending",
|
|
717
|
-
dueDate: "2023-11-15",
|
|
718
|
-
assignee: {
|
|
719
|
-
"/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
})
|
|
723
|
-
}
|
|
724
|
-
})
|
|
725
|
-
};
|
|
726
507
|
export {
|
|
727
508
|
MemoryNetworkManagerProvider,
|
|
728
509
|
TestAdapter,
|
|
729
510
|
TestAgent,
|
|
730
511
|
TestAgentBuilder,
|
|
731
|
-
test_data_exports as TestData,
|
|
732
512
|
TestFeedBuilder,
|
|
733
513
|
TestReplicationNetwork,
|
|
734
514
|
TestReplicator,
|
|
735
515
|
TestReplicatorConnection,
|
|
736
|
-
test_schema_exports as TestSchema,
|
|
737
516
|
WebsocketNetworkManagerProvider,
|
|
738
517
|
brokenAutomergeReplicatorFactory,
|
|
739
518
|
changeStorageVersionInMetadata,
|