@dxos/echo-pipeline 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/{browser/chunk-WJJXJTNS.mjs → neutral/chunk-46DCRDA7.mjs} +44 -13
- package/dist/lib/neutral/chunk-46DCRDA7.mjs.map +7 -0
- package/dist/lib/{browser/chunk-FR6GJ4S4.mjs → neutral/chunk-LR7UFVQX.mjs} +145 -618
- package/dist/lib/neutral/chunk-LR7UFVQX.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/filter/index.mjs +1 -2
- package/dist/lib/neutral/index.mjs +7332 -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 +49 -292
- 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 +105 -27
- 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 +22 -2
- 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 +17 -11
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +28 -16
- package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/errors.d.ts +35 -0
- package/dist/types/src/automerge/errors.d.ts.map +1 -0
- 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 -0
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +10 -4
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +8 -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/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 +12 -6
- 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 +30 -8
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
- package/dist/types/src/db-host/echo-host.d.ts +74 -28
- 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 +18 -10
- 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 +3 -2
- 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 +7 -6
- 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 +1 -1
- package/dist/types/src/filter/filter-match.d.ts.map +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 +2 -2
- 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 +16 -20
- package/dist/types/src/query/errors.d.ts.map +1 -1
- package/dist/types/src/query/plan.d.ts +59 -8
- package/dist/types/src/query/plan.d.ts.map +1 -1
- package/dist/types/src/query/query-executor.d.ts +55 -12
- package/dist/types/src/query/query-executor.d.ts.map +1 -1
- package/dist/types/src/query/query-planner.d.ts +10 -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 +4 -3
- package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +7 -7
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +9 -8
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +5 -5
- 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.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 +13 -13
- package/dist/types/src/testing/test-replicator.d.ts.map +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 +263 -0
- package/src/automerge/automerge-host.test.ts +145 -32
- package/src/automerge/automerge-host.ts +442 -163
- package/src/automerge/automerge-repo-subduction.test.ts +1054 -0
- package/src/automerge/automerge-repo.test.ts +284 -77
- package/src/automerge/automerge-subduction.test.ts +330 -0
- package/src/automerge/collection-synchronizer.test.ts +96 -16
- package/src/automerge/collection-synchronizer.ts +125 -26
- package/src/automerge/echo-network-adapter.test.ts +2 -1
- package/src/automerge/echo-network-adapter.ts +44 -32
- package/src/automerge/echo-replicator.ts +30 -16
- package/src/automerge/errors.ts +10 -0
- package/src/automerge/handle-state.ts +62 -0
- package/src/automerge/heads-store.ts +42 -3
- package/src/automerge/index.ts +2 -0
- package/src/automerge/leveldb-storage-adapter.ts +70 -4
- package/src/automerge/mesh-echo-replicator-connection.ts +8 -8
- package/src/automerge/mesh-echo-replicator.ts +14 -11
- 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 +27 -10
- package/src/db-host/database-root.ts +19 -7
- package/src/db-host/documents-synchronizer.test.ts +145 -14
- package/src/db-host/documents-synchronizer.ts +158 -59
- package/src/db-host/echo-host.ts +376 -90
- 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 +108 -111
- 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 +11 -9
- package/src/db-host/stub.ts +33 -0
- package/src/edge/echo-edge-replicator.test.ts +9 -9
- package/src/edge/echo-edge-replicator.ts +50 -42
- 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 +41 -25
- package/src/filter/filter-match.ts +75 -20
- package/src/metadata/metadata-store.ts +8 -5
- package/src/pipeline/pipeline-stress.test.ts +1 -3
- package/src/pipeline/pipeline.test.ts +0 -1
- package/src/pipeline/pipeline.ts +2 -3
- package/src/query/errors.ts +2 -2
- package/src/query/plan.ts +73 -9
- package/src/query/query-executor.ts +1064 -172
- package/src/query/query-planner.test.ts +854 -86
- package/src/query/query-planner.ts +444 -38
- package/src/space/admission-discovery-extension.ts +1 -1
- package/src/space/auth.ts +6 -6
- package/src/space/control-pipeline.test.ts +2 -2
- package/src/space/control-pipeline.ts +7 -7
- package/src/space/space-manager.ts +12 -17
- package/src/space/space-protocol.browser.test.ts +13 -12
- package/src/space/space-protocol.test.ts +13 -13
- package/src/space/space-protocol.ts +16 -15
- package/src/space/space.test.ts +2 -2
- package/src/space/space.ts +9 -10
- package/src/testing/index.ts +0 -2
- package/src/testing/test-agent-builder.ts +0 -1
- package/src/testing/test-network-adapter.ts +24 -3
- package/src/testing/test-replicator.ts +15 -20
- package/src/util.ts +7 -3
- package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
- package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-FR6GJ4S4.mjs.map +0 -7
- package/dist/lib/browser/chunk-WJJXJTNS.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -5492
- 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-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JQCCVDLT.mjs +0 -2144
- package/dist/lib/node-esm/chunk-JQCCVDLT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LEQ77KAT.mjs +0 -240
- package/dist/lib/node-esm/chunk-LEQ77KAT.mjs.map +0 -7
- package/dist/lib/node-esm/filter/index.mjs +0 -13
- package/dist/lib/node-esm/filter/index.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -5492
- 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 -764
- 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
|
@@ -10,24 +10,8 @@ var valueEncoding = createCodecEncoding(codec);
|
|
|
10
10
|
import { invariant } from "@dxos/invariant";
|
|
11
11
|
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/common/feeds.ts";
|
|
12
12
|
var createMappedFeedWriter = (mapper, writer) => {
|
|
13
|
-
invariant(mapper, void 0, {
|
|
14
|
-
|
|
15
|
-
L: 16,
|
|
16
|
-
S: void 0,
|
|
17
|
-
A: [
|
|
18
|
-
"mapper",
|
|
19
|
-
""
|
|
20
|
-
]
|
|
21
|
-
});
|
|
22
|
-
invariant(writer, void 0, {
|
|
23
|
-
F: __dxlog_file,
|
|
24
|
-
L: 17,
|
|
25
|
-
S: void 0,
|
|
26
|
-
A: [
|
|
27
|
-
"writer",
|
|
28
|
-
""
|
|
29
|
-
]
|
|
30
|
-
});
|
|
13
|
+
invariant(mapper, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 8, S: void 0, A: ["mapper", ""] });
|
|
14
|
+
invariant(writer, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 9, S: void 0, A: ["writer", ""] });
|
|
31
15
|
return {
|
|
32
16
|
write: async (data, options) => await writer.write(await mapper(data), options)
|
|
33
17
|
};
|
|
@@ -61,13 +45,13 @@ import { DataCorruptionError, STORAGE_VERSION } from "@dxos/protocols";
|
|
|
61
45
|
import { schema as schema2 } from "@dxos/protocols/proto";
|
|
62
46
|
import { Invitation, SpaceState } from "@dxos/protocols/proto/dxos/client/services";
|
|
63
47
|
import { ComplexMap as ComplexMap2, arrayToBuffer, forEachAsync, isNonNullable } from "@dxos/util";
|
|
48
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts";
|
|
64
49
|
function _ts_decorate(decorators, target, key, desc) {
|
|
65
50
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66
51
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
67
52
|
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;
|
|
68
53
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
69
54
|
}
|
|
70
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts";
|
|
71
55
|
var EXPIRED_INVITATION_CLEANUP_INTERVAL = 60 * 60 * 1e3;
|
|
72
56
|
var emptyEchoMetadata = () => ({
|
|
73
57
|
version: STORAGE_VERSION,
|
|
@@ -83,10 +67,7 @@ var MetadataStore = class {
|
|
|
83
67
|
_spaceLargeMetadata = new ComplexMap2(PublicKey2.hash);
|
|
84
68
|
_metadataFile = void 0;
|
|
85
69
|
update = new Event();
|
|
86
|
-
_invitationCleanupCtx = new Context(void 0, {
|
|
87
|
-
F: __dxlog_file2,
|
|
88
|
-
L: 55
|
|
89
|
-
});
|
|
70
|
+
_invitationCleanupCtx = new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 35 });
|
|
90
71
|
/**
|
|
91
72
|
* @internal
|
|
92
73
|
*/
|
|
@@ -119,22 +100,22 @@ var MetadataStore = class {
|
|
|
119
100
|
size: dataSize,
|
|
120
101
|
checksum,
|
|
121
102
|
name: file.filename
|
|
122
|
-
}, {
|
|
123
|
-
F: __dxlog_file2,
|
|
124
|
-
L: 91,
|
|
125
|
-
S: this,
|
|
126
|
-
C: (f, a) => f(...a)
|
|
127
|
-
});
|
|
103
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 63, S: this });
|
|
128
104
|
if (fileLength < dataSize + 8) {
|
|
129
|
-
throw new DataCorruptionError(
|
|
130
|
-
|
|
131
|
-
|
|
105
|
+
throw new DataCorruptionError({
|
|
106
|
+
message: "Metadata size is smaller than expected.",
|
|
107
|
+
context: {
|
|
108
|
+
fileLength,
|
|
109
|
+
dataSize
|
|
110
|
+
}
|
|
132
111
|
});
|
|
133
112
|
}
|
|
134
113
|
const data = await file.read(8, dataSize);
|
|
135
114
|
const calculatedChecksum = CRC32.buf(data);
|
|
136
115
|
if (calculatedChecksum !== checksum) {
|
|
137
|
-
throw new DataCorruptionError(
|
|
116
|
+
throw new DataCorruptionError({
|
|
117
|
+
message: "Metadata checksum is invalid."
|
|
118
|
+
});
|
|
138
119
|
}
|
|
139
120
|
return codec2.decode(data);
|
|
140
121
|
} finally {
|
|
@@ -155,12 +136,7 @@ var MetadataStore = class {
|
|
|
155
136
|
log("saved", {
|
|
156
137
|
size: encoded.length,
|
|
157
138
|
checksum
|
|
158
|
-
}, {
|
|
159
|
-
F: __dxlog_file2,
|
|
160
|
-
L: 126,
|
|
161
|
-
S: this,
|
|
162
|
-
C: (f, a) => f(...a)
|
|
163
|
-
});
|
|
139
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 100, S: this });
|
|
164
140
|
}
|
|
165
141
|
async close() {
|
|
166
142
|
await this._invitationCleanupCtx.dispose();
|
|
@@ -188,12 +164,7 @@ var MetadataStore = class {
|
|
|
188
164
|
} catch (err) {
|
|
189
165
|
log.error("failed to load metadata", {
|
|
190
166
|
err
|
|
191
|
-
}, {
|
|
192
|
-
F: __dxlog_file2,
|
|
193
|
-
L: 158,
|
|
194
|
-
S: this,
|
|
195
|
-
C: (f, a) => f(...a)
|
|
196
|
-
});
|
|
167
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 129, S: this });
|
|
197
168
|
this._metadata = emptyEchoMetadata();
|
|
198
169
|
}
|
|
199
170
|
await forEachAsync([
|
|
@@ -205,12 +176,7 @@ var MetadataStore = class {
|
|
|
205
176
|
} catch (err) {
|
|
206
177
|
log.error("failed to load space large metadata", {
|
|
207
178
|
err
|
|
208
|
-
}, {
|
|
209
|
-
F: __dxlog_file2,
|
|
210
|
-
L: 170,
|
|
211
|
-
S: this,
|
|
212
|
-
C: (f, a) => f(...a)
|
|
213
|
-
});
|
|
179
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 141, S: this });
|
|
214
180
|
}
|
|
215
181
|
});
|
|
216
182
|
scheduleTaskInterval(this._invitationCleanupCtx, async () => {
|
|
@@ -242,12 +208,7 @@ var MetadataStore = class {
|
|
|
242
208
|
} catch (err) {
|
|
243
209
|
log.error("failed to load space large metadata", {
|
|
244
210
|
err
|
|
245
|
-
}, {
|
|
246
|
-
F: __dxlog_file2,
|
|
247
|
-
L: 212,
|
|
248
|
-
S: this,
|
|
249
|
-
C: (f, a) => f(...a)
|
|
250
|
-
});
|
|
211
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 174, S: this });
|
|
251
212
|
}
|
|
252
213
|
}
|
|
253
214
|
async _saveSpaceLargeMetadata(key) {
|
|
@@ -263,15 +224,7 @@ var MetadataStore = class {
|
|
|
263
224
|
return this._metadata.identity.haloSpace;
|
|
264
225
|
}
|
|
265
226
|
const space = this.spaces.find((space2) => space2.key.equals(spaceKey));
|
|
266
|
-
invariant2(space, "Space not found", {
|
|
267
|
-
F: __dxlog_file2,
|
|
268
|
-
L: 234,
|
|
269
|
-
S: this,
|
|
270
|
-
A: [
|
|
271
|
-
"space",
|
|
272
|
-
"'Space not found'"
|
|
273
|
-
]
|
|
274
|
-
});
|
|
227
|
+
invariant2(space, "Space not found", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 193, S: this, A: ["space", "'Space not found'"] });
|
|
275
228
|
return space;
|
|
276
229
|
}
|
|
277
230
|
hasSpace(spaceKey) {
|
|
@@ -293,12 +246,7 @@ var MetadataStore = class {
|
|
|
293
246
|
* Clears storage - doesn't work for now.
|
|
294
247
|
*/
|
|
295
248
|
async clear() {
|
|
296
|
-
log("clearing all metadata", void 0, {
|
|
297
|
-
F: __dxlog_file2,
|
|
298
|
-
L: 262,
|
|
299
|
-
S: this,
|
|
300
|
-
C: (f, a) => f(...a)
|
|
301
|
-
});
|
|
249
|
+
log("clearing all metadata", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 215, S: this });
|
|
302
250
|
await this._directory.delete();
|
|
303
251
|
this._metadata = emptyEchoMetadata();
|
|
304
252
|
}
|
|
@@ -306,15 +254,7 @@ var MetadataStore = class {
|
|
|
306
254
|
return this._metadata.identity;
|
|
307
255
|
}
|
|
308
256
|
async setIdentityRecord(record) {
|
|
309
|
-
invariant2(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
|
|
310
|
-
F: __dxlog_file2,
|
|
311
|
-
L: 272,
|
|
312
|
-
S: this,
|
|
313
|
-
A: [
|
|
314
|
-
"!this._metadata.identity",
|
|
315
|
-
"'Cannot overwrite existing identity in metadata'"
|
|
316
|
-
]
|
|
317
|
-
});
|
|
257
|
+
invariant2(!this._metadata.identity, "Cannot overwrite existing identity in metadata", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 223, S: this, A: ["!this._metadata.identity", "'Cannot overwrite existing identity in metadata'"] });
|
|
318
258
|
this._metadata.identity = record;
|
|
319
259
|
await this._save();
|
|
320
260
|
await this.flush();
|
|
@@ -336,15 +276,7 @@ var MetadataStore = class {
|
|
|
336
276
|
await this.flush();
|
|
337
277
|
}
|
|
338
278
|
async addSpace(record) {
|
|
339
|
-
invariant2(!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key)), "Cannot overwrite existing space in metadata", {
|
|
340
|
-
F: __dxlog_file2,
|
|
341
|
-
L: 300,
|
|
342
|
-
S: this,
|
|
343
|
-
A: [
|
|
344
|
-
"!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key))",
|
|
345
|
-
"'Cannot overwrite existing space in metadata'"
|
|
346
|
-
]
|
|
347
|
-
});
|
|
279
|
+
invariant2(!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key)), "Cannot overwrite existing space in metadata", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 245, S: this, A: ["!(this._metadata.spaces ?? []).find((space)=>space.key.equals(record.key))", "'Cannot overwrite existing space in metadata'"] });
|
|
348
280
|
(this._metadata.spaces ??= []).push(record);
|
|
349
281
|
await this._save();
|
|
350
282
|
await this.flush();
|
|
@@ -413,13 +345,13 @@ import { Event as Event2 } from "@dxos/async";
|
|
|
413
345
|
import { timed } from "@dxos/debug";
|
|
414
346
|
import { log as log2 } from "@dxos/log";
|
|
415
347
|
import { Timeframe } from "@dxos/timeframe";
|
|
348
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts";
|
|
416
349
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
417
350
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
418
351
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
419
352
|
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;
|
|
420
353
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
421
354
|
}
|
|
422
|
-
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts";
|
|
423
355
|
var mapTimeframeToFeedIndexes = (timeframe) => timeframe.frames().map(([feedKey, index]) => ({
|
|
424
356
|
feedKey,
|
|
425
357
|
index
|
|
@@ -478,23 +410,13 @@ var TimeframeClock = class {
|
|
|
478
410
|
log2("waitUntilReached", {
|
|
479
411
|
target,
|
|
480
412
|
current: this._timeframe
|
|
481
|
-
}, {
|
|
482
|
-
F: __dxlog_file3,
|
|
483
|
-
L: 70,
|
|
484
|
-
S: this,
|
|
485
|
-
C: (f, a) => f(...a)
|
|
486
|
-
});
|
|
413
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 69, S: this });
|
|
487
414
|
await this.update.waitForCondition(() => {
|
|
488
415
|
log2("check if reached", {
|
|
489
416
|
target,
|
|
490
417
|
current: this._timeframe,
|
|
491
418
|
deps: Timeframe.dependencies(target, this._timeframe)
|
|
492
|
-
}, {
|
|
493
|
-
F: __dxlog_file3,
|
|
494
|
-
L: 72,
|
|
495
|
-
S: this,
|
|
496
|
-
C: (f, a) => f(...a)
|
|
497
|
-
});
|
|
419
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 74, S: this });
|
|
498
420
|
return Timeframe.dependencies(target, this._timeframe).isEmpty();
|
|
499
421
|
});
|
|
500
422
|
}
|
|
@@ -522,46 +444,30 @@ var createMessageSelector = (timeframeClock) => {
|
|
|
522
444
|
return (messages) => {
|
|
523
445
|
for (let i = 0; i < messages.length; i++) {
|
|
524
446
|
const { data: { timeframe } } = messages[i];
|
|
525
|
-
invariant3(timeframe, void 0, {
|
|
526
|
-
F: __dxlog_file4,
|
|
527
|
-
L: 25,
|
|
528
|
-
S: void 0,
|
|
529
|
-
A: [
|
|
530
|
-
"timeframe",
|
|
531
|
-
""
|
|
532
|
-
]
|
|
533
|
-
});
|
|
447
|
+
invariant3(timeframe, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 16, S: void 0, A: ["timeframe", ""] });
|
|
534
448
|
if (!timeframeClock.hasGaps(timeframe)) {
|
|
535
449
|
return i;
|
|
536
450
|
}
|
|
537
451
|
}
|
|
538
|
-
log3("Skipping...", void 0, {
|
|
539
|
-
F: __dxlog_file4,
|
|
540
|
-
L: 33,
|
|
541
|
-
S: void 0,
|
|
542
|
-
C: (f, a) => f(...a)
|
|
543
|
-
});
|
|
452
|
+
log3("Skipping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 22, S: void 0 });
|
|
544
453
|
};
|
|
545
454
|
};
|
|
546
455
|
|
|
547
456
|
// src/pipeline/pipeline.ts
|
|
457
|
+
var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
|
|
548
458
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
549
459
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
550
460
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
551
461
|
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;
|
|
552
462
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
553
463
|
}
|
|
554
|
-
var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
|
|
555
464
|
var PipelineState = class {
|
|
556
465
|
_feeds;
|
|
557
466
|
_timeframeClock;
|
|
558
467
|
/**
|
|
559
468
|
* @internal
|
|
560
469
|
*/
|
|
561
|
-
_ctx = new Context2(void 0, {
|
|
562
|
-
F: __dxlog_file5,
|
|
563
|
-
L: 42
|
|
564
|
-
});
|
|
470
|
+
_ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 29 });
|
|
565
471
|
// TODO(dmaretskyi): Remove?. Avoid accessing `_timeframeClock` before constructor initialization.
|
|
566
472
|
get timeframeUpdate() {
|
|
567
473
|
return this._timeframeClock.update;
|
|
@@ -629,20 +535,12 @@ var PipelineState = class {
|
|
|
629
535
|
*
|
|
630
536
|
* @param timeout Timeout in milliseconds to specify the maximum wait time.
|
|
631
537
|
*/
|
|
632
|
-
async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, {
|
|
633
|
-
F: __dxlog_file5,
|
|
634
|
-
L: 132
|
|
635
|
-
}), timeout, breakOnStall = true } = {}) {
|
|
538
|
+
async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 91 }), timeout, breakOnStall = true } = {}) {
|
|
636
539
|
log4("waitUntilReachedTargetTimeframe", {
|
|
637
540
|
timeout,
|
|
638
541
|
current: this.timeframe,
|
|
639
542
|
target: this.targetTimeframe
|
|
640
|
-
}, {
|
|
641
|
-
F: __dxlog_file5,
|
|
642
|
-
L: 136,
|
|
643
|
-
S: this,
|
|
644
|
-
C: (f, a) => f(...a)
|
|
645
|
-
});
|
|
543
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 92, S: this });
|
|
646
544
|
this._reachedTargetPromise ??= Promise.race([
|
|
647
545
|
this._timeframeClock.update.waitForCondition(() => {
|
|
648
546
|
return Timeframe2.dependencies(this.targetTimeframe, this.timeframe).isEmpty();
|
|
@@ -669,12 +567,7 @@ var PipelineState = class {
|
|
|
669
567
|
current: this.timeframe,
|
|
670
568
|
target: this.targetTimeframe,
|
|
671
569
|
dependencies: Timeframe2.dependencies(this.targetTimeframe, this.timeframe)
|
|
672
|
-
}, {
|
|
673
|
-
F: __dxlog_file5,
|
|
674
|
-
L: 164,
|
|
675
|
-
S: this,
|
|
676
|
-
C: (f, a) => f(...a)
|
|
677
|
-
});
|
|
570
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 118, S: this });
|
|
678
571
|
})
|
|
679
572
|
]);
|
|
680
573
|
} else {
|
|
@@ -704,15 +597,7 @@ var Pipeline = class {
|
|
|
704
597
|
return this._state;
|
|
705
598
|
}
|
|
706
599
|
get writer() {
|
|
707
|
-
invariant4(this._writer, "Writer not set.", {
|
|
708
|
-
F: __dxlog_file5,
|
|
709
|
-
L: 246,
|
|
710
|
-
S: this,
|
|
711
|
-
A: [
|
|
712
|
-
"this._writer",
|
|
713
|
-
"'Writer not set.'"
|
|
714
|
-
]
|
|
715
|
-
});
|
|
600
|
+
invariant4(this._writer, "Writer not set.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 184, S: this, A: ["this._writer", "'Writer not set.'"] });
|
|
716
601
|
return this._writer;
|
|
717
602
|
}
|
|
718
603
|
hasFeed(feedKey) {
|
|
@@ -733,54 +618,20 @@ var Pipeline = class {
|
|
|
733
618
|
}
|
|
734
619
|
}
|
|
735
620
|
setWriteFeed(feed) {
|
|
736
|
-
invariant4(!this._writer, "Writer already set.", {
|
|
737
|
-
|
|
738
|
-
L: 273,
|
|
739
|
-
S: this,
|
|
740
|
-
A: [
|
|
741
|
-
"!this._writer",
|
|
742
|
-
"'Writer already set.'"
|
|
743
|
-
]
|
|
744
|
-
});
|
|
745
|
-
invariant4(feed.properties.writable, "Feed must be writable.", {
|
|
746
|
-
F: __dxlog_file5,
|
|
747
|
-
L: 274,
|
|
748
|
-
S: this,
|
|
749
|
-
A: [
|
|
750
|
-
"feed.properties.writable",
|
|
751
|
-
"'Feed must be writable.'"
|
|
752
|
-
]
|
|
753
|
-
});
|
|
621
|
+
invariant4(!this._writer, "Writer already set.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 205, S: this, A: ["!this._writer", "'Writer already set.'"] });
|
|
622
|
+
invariant4(feed.properties.writable, "Feed must be writable.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 206, S: this, A: ["feed.properties.writable", "'Feed must be writable.'"] });
|
|
754
623
|
this._writer = createMappedFeedWriter((payload) => ({
|
|
755
624
|
timeframe: this._timeframeClock.timeframe,
|
|
756
625
|
payload
|
|
757
626
|
}), feed.createFeedWriter());
|
|
758
627
|
}
|
|
759
628
|
async start() {
|
|
760
|
-
invariant4(!this._isStarted, "Pipeline is already started.", {
|
|
761
|
-
|
|
762
|
-
L: 287,
|
|
763
|
-
S: this,
|
|
764
|
-
A: [
|
|
765
|
-
"!this._isStarted",
|
|
766
|
-
"'Pipeline is already started.'"
|
|
767
|
-
]
|
|
768
|
-
});
|
|
769
|
-
log4("starting...", void 0, {
|
|
770
|
-
F: __dxlog_file5,
|
|
771
|
-
L: 288,
|
|
772
|
-
S: this,
|
|
773
|
-
C: (f, a) => f(...a)
|
|
774
|
-
});
|
|
629
|
+
invariant4(!this._isStarted, "Pipeline is already started.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 213, S: this, A: ["!this._isStarted", "'Pipeline is already started.'"] });
|
|
630
|
+
log4("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 214, S: this });
|
|
775
631
|
await this._initIterator();
|
|
776
632
|
await this._feedSetIterator.open();
|
|
777
633
|
this._isStarted = true;
|
|
778
|
-
log4("started", void 0, {
|
|
779
|
-
F: __dxlog_file5,
|
|
780
|
-
L: 292,
|
|
781
|
-
S: this,
|
|
782
|
-
C: (f, a) => f(...a)
|
|
783
|
-
});
|
|
634
|
+
log4("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 218, S: this });
|
|
784
635
|
if (!this._isPaused) {
|
|
785
636
|
for (const feed of this._feeds.values()) {
|
|
786
637
|
this._setFeedDownloadState(feed);
|
|
@@ -788,12 +639,7 @@ var Pipeline = class {
|
|
|
788
639
|
}
|
|
789
640
|
}
|
|
790
641
|
async stop() {
|
|
791
|
-
log4("stopping...", void 0, {
|
|
792
|
-
F: __dxlog_file5,
|
|
793
|
-
L: 303,
|
|
794
|
-
S: this,
|
|
795
|
-
C: (f, a) => f(...a)
|
|
796
|
-
});
|
|
642
|
+
log4("stopping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 226, S: this });
|
|
797
643
|
this._isStopping = true;
|
|
798
644
|
for (const [feed, handle] of this._downloads.entries()) {
|
|
799
645
|
feed.undownload(handle);
|
|
@@ -802,34 +648,18 @@ var Pipeline = class {
|
|
|
802
648
|
await this._feedSetIterator?.close();
|
|
803
649
|
await this._processingTrigger.wait();
|
|
804
650
|
await this._state._ctx.dispose();
|
|
805
|
-
this._state._ctx = new Context2(void 0, {
|
|
806
|
-
F: __dxlog_file5,
|
|
807
|
-
L: 312
|
|
808
|
-
});
|
|
651
|
+
this._state._ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 235 });
|
|
809
652
|
this._state._reachedTargetPromise = void 0;
|
|
810
653
|
this._state._reachedTarget = false;
|
|
811
654
|
this._isStarted = false;
|
|
812
|
-
log4("stopped", void 0, {
|
|
813
|
-
F: __dxlog_file5,
|
|
814
|
-
L: 316,
|
|
815
|
-
S: this,
|
|
816
|
-
C: (f, a) => f(...a)
|
|
817
|
-
});
|
|
655
|
+
log4("stopped", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 239, S: this });
|
|
818
656
|
}
|
|
819
657
|
/**
|
|
820
658
|
* @param timeframe Timeframe of already processed messages.
|
|
821
659
|
* The pipeline will start processing messages AFTER this timeframe.
|
|
822
660
|
*/
|
|
823
661
|
async setCursor(timeframe) {
|
|
824
|
-
invariant4(!this._isStarted || this._isPaused, "Invalid state.", {
|
|
825
|
-
F: __dxlog_file5,
|
|
826
|
-
L: 325,
|
|
827
|
-
S: this,
|
|
828
|
-
A: [
|
|
829
|
-
"!this._isStarted || this._isPaused",
|
|
830
|
-
"'Invalid state.'"
|
|
831
|
-
]
|
|
832
|
-
});
|
|
662
|
+
invariant4(!this._isStarted || this._isPaused, "Invalid state.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 245, S: this, A: ["!this._isStarted || this._isPaused", "'Invalid state.'"] });
|
|
833
663
|
this._state._startTimeframe = timeframe;
|
|
834
664
|
this._timeframeClock.setTimeframe(timeframe);
|
|
835
665
|
if (this._feedSetIterator) {
|
|
@@ -850,15 +680,7 @@ var Pipeline = class {
|
|
|
850
680
|
this._isPaused = true;
|
|
851
681
|
}
|
|
852
682
|
async unpause() {
|
|
853
|
-
invariant4(this._isPaused, "Pipeline is not paused.", {
|
|
854
|
-
F: __dxlog_file5,
|
|
855
|
-
L: 354,
|
|
856
|
-
S: this,
|
|
857
|
-
A: [
|
|
858
|
-
"this._isPaused",
|
|
859
|
-
"'Pipeline is not paused.'"
|
|
860
|
-
]
|
|
861
|
-
});
|
|
683
|
+
invariant4(this._isPaused, "Pipeline is not paused.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 266, S: this, A: ["this._isPaused", "'Pipeline is not paused.'"] });
|
|
862
684
|
this._pauseTrigger.wake();
|
|
863
685
|
this._isPaused = false;
|
|
864
686
|
for (const feed of this._feeds.values()) {
|
|
@@ -870,39 +692,15 @@ var Pipeline = class {
|
|
|
870
692
|
* Updates the timeframe clock after the message has bee processed.
|
|
871
693
|
*/
|
|
872
694
|
async *consume() {
|
|
873
|
-
invariant4(!this._isBeingConsumed, "Pipeline is already being consumed.", {
|
|
874
|
-
F: __dxlog_file5,
|
|
875
|
-
L: 369,
|
|
876
|
-
S: this,
|
|
877
|
-
A: [
|
|
878
|
-
"!this._isBeingConsumed",
|
|
879
|
-
"'Pipeline is already being consumed.'"
|
|
880
|
-
]
|
|
881
|
-
});
|
|
695
|
+
invariant4(!this._isBeingConsumed, "Pipeline is already being consumed.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 277, S: this, A: ["!this._isBeingConsumed", "'Pipeline is already being consumed.'"] });
|
|
882
696
|
this._isBeingConsumed = true;
|
|
883
|
-
invariant4(this._feedSetIterator, "Iterator not initialized.", {
|
|
884
|
-
F: __dxlog_file5,
|
|
885
|
-
L: 372,
|
|
886
|
-
S: this,
|
|
887
|
-
A: [
|
|
888
|
-
"this._feedSetIterator",
|
|
889
|
-
"'Iterator not initialized.'"
|
|
890
|
-
]
|
|
891
|
-
});
|
|
697
|
+
invariant4(this._feedSetIterator, "Iterator not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 279, S: this, A: ["this._feedSetIterator", "'Iterator not initialized.'"] });
|
|
892
698
|
let lastFeedSetIterator = this._feedSetIterator;
|
|
893
699
|
let iterable = lastFeedSetIterator[Symbol.asyncIterator]();
|
|
894
700
|
while (!this._isStopping) {
|
|
895
701
|
await this._pauseTrigger.wait();
|
|
896
702
|
if (lastFeedSetIterator !== this._feedSetIterator) {
|
|
897
|
-
invariant4(this._feedSetIterator, "Iterator not initialized.", {
|
|
898
|
-
F: __dxlog_file5,
|
|
899
|
-
L: 381,
|
|
900
|
-
S: this,
|
|
901
|
-
A: [
|
|
902
|
-
"this._feedSetIterator",
|
|
903
|
-
"'Iterator not initialized.'"
|
|
904
|
-
]
|
|
905
|
-
});
|
|
703
|
+
invariant4(this._feedSetIterator, "Iterator not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 286, S: this, A: ["this._feedSetIterator", "'Iterator not initialized.'"] });
|
|
906
704
|
lastFeedSetIterator = this._feedSetIterator;
|
|
907
705
|
iterable = lastFeedSetIterator[Symbol.asyncIterator]();
|
|
908
706
|
}
|
|
@@ -929,12 +727,7 @@ var Pipeline = class {
|
|
|
929
727
|
feed: feed.key.truncate(),
|
|
930
728
|
seq,
|
|
931
729
|
length: feed.length
|
|
932
|
-
}, {
|
|
933
|
-
F: __dxlog_file5,
|
|
934
|
-
L: 410,
|
|
935
|
-
S: this,
|
|
936
|
-
C: (f, a) => f(...a)
|
|
937
|
-
});
|
|
730
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 311, S: this });
|
|
938
731
|
handle = feed.download({
|
|
939
732
|
start: seq + 1,
|
|
940
733
|
linear: true
|
|
@@ -943,12 +736,7 @@ var Pipeline = class {
|
|
|
943
736
|
} else {
|
|
944
737
|
log4("downloaded", {
|
|
945
738
|
data
|
|
946
|
-
}, {
|
|
947
|
-
F: __dxlog_file5,
|
|
948
|
-
L: 415,
|
|
949
|
-
S: this,
|
|
950
|
-
C: (f, a) => f(...a)
|
|
951
|
-
});
|
|
739
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 323, S: this });
|
|
952
740
|
}
|
|
953
741
|
});
|
|
954
742
|
this._downloads.set(feed, handle);
|
|
@@ -962,12 +750,7 @@ var Pipeline = class {
|
|
|
962
750
|
log4.warn(`Stalled after ${iterator.options.stallTimeout}ms with ${iterator.size} feeds.`, {
|
|
963
751
|
currentTimeframe: this._timeframeClock.timeframe,
|
|
964
752
|
targetTimeframe: this._state.targetTimeframe
|
|
965
|
-
}, {
|
|
966
|
-
F: __dxlog_file5,
|
|
967
|
-
L: 429,
|
|
968
|
-
S: this,
|
|
969
|
-
C: (f, a) => f(...a)
|
|
970
|
-
});
|
|
753
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 336, S: this });
|
|
971
754
|
this._state.stalled.emit();
|
|
972
755
|
});
|
|
973
756
|
for (const feed of this._feeds.values()) {
|
|
@@ -1001,21 +784,13 @@ import { schema as schema3 } from "@dxos/protocols/proto";
|
|
|
1001
784
|
import { RpcExtension } from "@dxos/teleport";
|
|
1002
785
|
var __dxlog_file6 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/auth.ts";
|
|
1003
786
|
var AuthExtension = class extends RpcExtension {
|
|
1004
|
-
|
|
787
|
+
_authProps;
|
|
1005
788
|
_ctx = new Context3({
|
|
1006
789
|
onError: (err) => {
|
|
1007
|
-
log5.catch(err, void 0, {
|
|
1008
|
-
F: __dxlog_file6,
|
|
1009
|
-
L: 28,
|
|
1010
|
-
S: this,
|
|
1011
|
-
C: (f, a) => f(...a)
|
|
1012
|
-
});
|
|
790
|
+
log5.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 15, S: this });
|
|
1013
791
|
}
|
|
1014
|
-
}, {
|
|
1015
|
-
|
|
1016
|
-
L: 26
|
|
1017
|
-
});
|
|
1018
|
-
constructor(_authParams) {
|
|
792
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 13 });
|
|
793
|
+
constructor(_authProps) {
|
|
1019
794
|
super({
|
|
1020
795
|
requested: {
|
|
1021
796
|
AuthService: schema3.getService("dxos.mesh.teleport.auth.AuthService")
|
|
@@ -1024,14 +799,14 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1024
799
|
AuthService: schema3.getService("dxos.mesh.teleport.auth.AuthService")
|
|
1025
800
|
},
|
|
1026
801
|
timeout: 60 * 1e3
|
|
1027
|
-
}), this.
|
|
802
|
+
}), this._authProps = _authProps;
|
|
1028
803
|
}
|
|
1029
804
|
async getHandlers() {
|
|
1030
805
|
return {
|
|
1031
806
|
AuthService: {
|
|
1032
807
|
authenticate: async ({ challenge }) => {
|
|
1033
808
|
try {
|
|
1034
|
-
const credential = await this.
|
|
809
|
+
const credential = await this._authProps.provider(challenge);
|
|
1035
810
|
if (!credential) {
|
|
1036
811
|
throw new Error("auth rejected");
|
|
1037
812
|
}
|
|
@@ -1039,12 +814,7 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1039
814
|
credential
|
|
1040
815
|
};
|
|
1041
816
|
} catch (err) {
|
|
1042
|
-
log5.error("failed to generate auth credentials", err, {
|
|
1043
|
-
F: __dxlog_file6,
|
|
1044
|
-
L: 55,
|
|
1045
|
-
S: this,
|
|
1046
|
-
C: (f, a) => f(...a)
|
|
1047
|
-
});
|
|
817
|
+
log5.error("failed to generate auth credentials", err, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 42, S: this });
|
|
1048
818
|
throw new Error("auth rejected");
|
|
1049
819
|
}
|
|
1050
820
|
}
|
|
@@ -1059,35 +829,14 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1059
829
|
const { credential } = await this.rpc.AuthService.authenticate({
|
|
1060
830
|
challenge
|
|
1061
831
|
});
|
|
1062
|
-
invariant5(credential?.length > 0, "invalid credential", {
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
A: [
|
|
1067
|
-
"credential?.length > 0",
|
|
1068
|
-
"'invalid credential'"
|
|
1069
|
-
]
|
|
1070
|
-
});
|
|
1071
|
-
const success = await this._authParams.verifier(challenge, credential);
|
|
1072
|
-
invariant5(success, "credential not verified", {
|
|
1073
|
-
F: __dxlog_file6,
|
|
1074
|
-
L: 71,
|
|
1075
|
-
S: this,
|
|
1076
|
-
A: [
|
|
1077
|
-
"success",
|
|
1078
|
-
"'credential not verified'"
|
|
1079
|
-
]
|
|
1080
|
-
});
|
|
1081
|
-
runInContext(this._ctx, () => this._authParams.onAuthSuccess());
|
|
832
|
+
invariant5(credential?.length > 0, "invalid credential", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 57, S: this, A: ["credential?.length > 0", "'invalid credential'"] });
|
|
833
|
+
const success = await this._authProps.verifier(challenge, credential);
|
|
834
|
+
invariant5(success, "credential not verified", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 59, S: this, A: ["success", "'credential not verified'"] });
|
|
835
|
+
runInContext(this._ctx, () => this._authProps.onAuthSuccess());
|
|
1082
836
|
} catch (err) {
|
|
1083
|
-
log5("auth failed", err, {
|
|
1084
|
-
F: __dxlog_file6,
|
|
1085
|
-
L: 74,
|
|
1086
|
-
S: this,
|
|
1087
|
-
C: (f, a) => f(...a)
|
|
1088
|
-
});
|
|
837
|
+
log5("auth failed", err, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 62, S: this });
|
|
1089
838
|
this.close();
|
|
1090
|
-
this.
|
|
839
|
+
this._authProps.onAuthFailure();
|
|
1091
840
|
}
|
|
1092
841
|
});
|
|
1093
842
|
}
|
|
@@ -1120,21 +869,18 @@ import { AdmittedFeed } from "@dxos/protocols/proto/dxos/halo/credentials";
|
|
|
1120
869
|
import { Timeframe as Timeframe3 } from "@dxos/timeframe";
|
|
1121
870
|
import { TimeSeriesCounter, TimeUsageCounter, trace } from "@dxos/tracing";
|
|
1122
871
|
import { Callback, tracer } from "@dxos/util";
|
|
872
|
+
var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/control-pipeline.ts";
|
|
1123
873
|
function _ts_decorate4(decorators, target, key, desc) {
|
|
1124
874
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1125
875
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1126
876
|
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;
|
|
1127
877
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1128
878
|
}
|
|
1129
|
-
var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/control-pipeline.ts";
|
|
1130
879
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 500;
|
|
1131
880
|
var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
|
|
1132
881
|
var USE_SNAPSHOTS = true;
|
|
1133
882
|
var ControlPipeline = class {
|
|
1134
|
-
_ctx = new Context4(void 0, {
|
|
1135
|
-
F: __dxlog_file7,
|
|
1136
|
-
L: 47
|
|
1137
|
-
});
|
|
883
|
+
_ctx = new Context4(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 24 });
|
|
1138
884
|
_pipeline;
|
|
1139
885
|
_spaceStateMachine;
|
|
1140
886
|
_spaceKey;
|
|
@@ -1161,12 +907,7 @@ var ControlPipeline = class {
|
|
|
1161
907
|
this._spaceStateMachine.onFeedAdmitted.set(async (info) => {
|
|
1162
908
|
log6("feed admitted", {
|
|
1163
909
|
key: info.key
|
|
1164
|
-
}, {
|
|
1165
|
-
F: __dxlog_file7,
|
|
1166
|
-
L: 82,
|
|
1167
|
-
S: this,
|
|
1168
|
-
C: (f, a) => f(...a)
|
|
1169
|
-
});
|
|
910
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 50, S: this });
|
|
1170
911
|
if (info.assertion.designation === AdmittedFeed.Designation.CONTROL && !info.key.equals(genesisFeed.key)) {
|
|
1171
912
|
scheduleMicroTask(this._ctx, async () => {
|
|
1172
913
|
try {
|
|
@@ -1178,12 +919,7 @@ var ControlPipeline = class {
|
|
|
1178
919
|
await this._pipeline.addFeed(feed);
|
|
1179
920
|
}
|
|
1180
921
|
} catch (err) {
|
|
1181
|
-
log6.catch(err, void 0, {
|
|
1182
|
-
F: __dxlog_file7,
|
|
1183
|
-
L: 96,
|
|
1184
|
-
S: this,
|
|
1185
|
-
C: (f, a) => f(...a)
|
|
1186
|
-
});
|
|
922
|
+
log6.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 65, S: this });
|
|
1187
923
|
}
|
|
1188
924
|
});
|
|
1189
925
|
}
|
|
@@ -1204,40 +940,22 @@ var ControlPipeline = class {
|
|
|
1204
940
|
await this._pipeline.addFeed(feed);
|
|
1205
941
|
this._pipeline.setWriteFeed(feed);
|
|
1206
942
|
}
|
|
1207
|
-
async start() {
|
|
943
|
+
async start(ctx) {
|
|
1208
944
|
const snapshot = this._metadata.getSpaceControlPipelineSnapshot(this._spaceKey);
|
|
1209
945
|
log6("load snapshot", {
|
|
1210
946
|
key: this._spaceKey,
|
|
1211
947
|
present: !!snapshot,
|
|
1212
948
|
tf: snapshot?.timeframe
|
|
1213
|
-
}, {
|
|
1214
|
-
F: __dxlog_file7,
|
|
1215
|
-
L: 126,
|
|
1216
|
-
S: this,
|
|
1217
|
-
C: (f, a) => f(...a)
|
|
1218
|
-
});
|
|
949
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 88, S: this });
|
|
1219
950
|
if (USE_SNAPSHOTS && snapshot) {
|
|
1220
951
|
await this._processSnapshot(snapshot);
|
|
1221
952
|
}
|
|
1222
|
-
log6("starting...", void 0, {
|
|
1223
|
-
F: __dxlog_file7,
|
|
1224
|
-
L: 131,
|
|
1225
|
-
S: this,
|
|
1226
|
-
C: (f, a) => f(...a)
|
|
1227
|
-
});
|
|
953
|
+
log6("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 96, S: this });
|
|
1228
954
|
setTimeout(async () => {
|
|
1229
|
-
void this._consumePipeline(
|
|
1230
|
-
F: __dxlog_file7,
|
|
1231
|
-
L: 133
|
|
1232
|
-
}));
|
|
955
|
+
void this._consumePipeline(ctx);
|
|
1233
956
|
});
|
|
1234
957
|
await this._pipeline.start();
|
|
1235
|
-
log6("started", void 0, {
|
|
1236
|
-
F: __dxlog_file7,
|
|
1237
|
-
L: 137,
|
|
1238
|
-
S: this,
|
|
1239
|
-
C: (f, a) => f(...a)
|
|
1240
|
-
});
|
|
958
|
+
log6("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 101, S: this });
|
|
1241
959
|
}
|
|
1242
960
|
async _processSnapshot(snapshot) {
|
|
1243
961
|
await this._pipeline.setCursor(snapshot.timeframe);
|
|
@@ -1249,12 +967,7 @@ var ControlPipeline = class {
|
|
|
1249
967
|
if (!result) {
|
|
1250
968
|
log6.warn("credential processing failed from snapshot", {
|
|
1251
969
|
message
|
|
1252
|
-
}, {
|
|
1253
|
-
F: __dxlog_file7,
|
|
1254
|
-
L: 150,
|
|
1255
|
-
S: this,
|
|
1256
|
-
C: (f, a) => f(...a)
|
|
1257
|
-
});
|
|
970
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 111, S: this });
|
|
1258
971
|
}
|
|
1259
972
|
}
|
|
1260
973
|
}
|
|
@@ -1271,12 +984,7 @@ var ControlPipeline = class {
|
|
|
1271
984
|
log6("save snapshot", {
|
|
1272
985
|
key: this._spaceKey,
|
|
1273
986
|
snapshot: getSnapshotLoggerContext(snapshot)
|
|
1274
|
-
}, {
|
|
1275
|
-
F: __dxlog_file7,
|
|
1276
|
-
L: 166,
|
|
1277
|
-
S: this,
|
|
1278
|
-
C: (f, a) => f(...a)
|
|
1279
|
-
});
|
|
987
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 127, S: this });
|
|
1280
988
|
await this._metadata.setSpaceControlPipelineSnapshot(this._spaceKey, snapshot);
|
|
1281
989
|
}
|
|
1282
990
|
async _consumePipeline(ctx) {
|
|
@@ -1286,12 +994,7 @@ var ControlPipeline = class {
|
|
|
1286
994
|
try {
|
|
1287
995
|
await this._processMessage(ctx, msg);
|
|
1288
996
|
} catch (err) {
|
|
1289
|
-
log6.catch(err, void 0, {
|
|
1290
|
-
F: __dxlog_file7,
|
|
1291
|
-
L: 179,
|
|
1292
|
-
S: this,
|
|
1293
|
-
C: (f, a) => f(...a)
|
|
1294
|
-
});
|
|
997
|
+
log6.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 140, S: this });
|
|
1295
998
|
}
|
|
1296
999
|
span.end();
|
|
1297
1000
|
}
|
|
@@ -1300,12 +1003,7 @@ var ControlPipeline = class {
|
|
|
1300
1003
|
log6("processing", {
|
|
1301
1004
|
key: msg.feedKey,
|
|
1302
1005
|
seq: msg.seq
|
|
1303
|
-
}, {
|
|
1304
|
-
F: __dxlog_file7,
|
|
1305
|
-
L: 188,
|
|
1306
|
-
S: this,
|
|
1307
|
-
C: (f, a) => f(...a)
|
|
1308
|
-
});
|
|
1006
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 146, S: this });
|
|
1309
1007
|
if (msg.data.payload.credential) {
|
|
1310
1008
|
const timer = tracer.mark("dxos.echo.pipeline.control");
|
|
1311
1009
|
const result = await this._spaceStateMachine.process(msg.data.payload.credential.credential, {
|
|
@@ -1315,12 +1013,7 @@ var ControlPipeline = class {
|
|
|
1315
1013
|
if (!result) {
|
|
1316
1014
|
log6.warn("processing failed", {
|
|
1317
1015
|
msg
|
|
1318
|
-
}, {
|
|
1319
|
-
F: __dxlog_file7,
|
|
1320
|
-
L: 197,
|
|
1321
|
-
S: this,
|
|
1322
|
-
C: (f, a) => f(...a)
|
|
1323
|
-
});
|
|
1016
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 157, S: this });
|
|
1324
1017
|
} else {
|
|
1325
1018
|
await this._noteTargetStateIfNeeded(this._pipeline.state.pendingTimeframe);
|
|
1326
1019
|
}
|
|
@@ -1334,21 +1027,11 @@ var ControlPipeline = class {
|
|
|
1334
1027
|
}
|
|
1335
1028
|
}
|
|
1336
1029
|
async stop() {
|
|
1337
|
-
log6("stopping...", void 0, {
|
|
1338
|
-
F: __dxlog_file7,
|
|
1339
|
-
L: 217,
|
|
1340
|
-
S: this,
|
|
1341
|
-
C: (f, a) => f(...a)
|
|
1342
|
-
});
|
|
1030
|
+
log6("stopping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 174, S: this });
|
|
1343
1031
|
await this._ctx.dispose();
|
|
1344
1032
|
await this._pipeline.stop();
|
|
1345
1033
|
await this._saveTargetTimeframe(this._pipeline.state.timeframe);
|
|
1346
|
-
log6("stopped", void 0, {
|
|
1347
|
-
F: __dxlog_file7,
|
|
1348
|
-
L: 221,
|
|
1349
|
-
S: this,
|
|
1350
|
-
C: (f, a) => f(...a)
|
|
1351
|
-
});
|
|
1034
|
+
log6("stopped", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 178, S: this });
|
|
1352
1035
|
}
|
|
1353
1036
|
async _saveTargetTimeframe(timeframe) {
|
|
1354
1037
|
try {
|
|
@@ -1356,15 +1039,15 @@ var ControlPipeline = class {
|
|
|
1356
1039
|
await this._metadata.setSpaceControlLatestTimeframe(this._spaceKey, newTimeframe);
|
|
1357
1040
|
this._targetTimeframe = newTimeframe;
|
|
1358
1041
|
} catch (err) {
|
|
1359
|
-
log6(err, void 0, {
|
|
1360
|
-
F: __dxlog_file7,
|
|
1361
|
-
L: 230,
|
|
1362
|
-
S: this,
|
|
1363
|
-
C: (f, a) => f(...a)
|
|
1364
|
-
});
|
|
1042
|
+
log6(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 186, S: this });
|
|
1365
1043
|
}
|
|
1366
1044
|
}
|
|
1367
1045
|
};
|
|
1046
|
+
_ts_decorate4([
|
|
1047
|
+
trace.info({
|
|
1048
|
+
spanAttribute: true
|
|
1049
|
+
})
|
|
1050
|
+
], ControlPipeline.prototype, "_spaceKey", void 0);
|
|
1368
1051
|
_ts_decorate4([
|
|
1369
1052
|
trace.metricsCounter()
|
|
1370
1053
|
], ControlPipeline.prototype, "_usage", void 0);
|
|
@@ -1373,14 +1056,15 @@ _ts_decorate4([
|
|
|
1373
1056
|
], ControlPipeline.prototype, "_mutations", void 0);
|
|
1374
1057
|
_ts_decorate4([
|
|
1375
1058
|
trace.span({
|
|
1376
|
-
showInBrowserTimeline: true
|
|
1059
|
+
showInBrowserTimeline: true,
|
|
1060
|
+
op: "lifecycle"
|
|
1377
1061
|
})
|
|
1378
1062
|
], ControlPipeline.prototype, "start", null);
|
|
1379
1063
|
_ts_decorate4([
|
|
1380
|
-
trace.span(
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1064
|
+
trace.span({
|
|
1065
|
+
showInBrowserTimeline: true,
|
|
1066
|
+
showInRemoteTracing: false
|
|
1067
|
+
})
|
|
1384
1068
|
], ControlPipeline.prototype, "_processMessage", null);
|
|
1385
1069
|
ControlPipeline = _ts_decorate4([
|
|
1386
1070
|
trace.resource(),
|
|
@@ -1400,13 +1084,13 @@ var getSnapshotLoggerContext = (snapshot) => {
|
|
|
1400
1084
|
};
|
|
1401
1085
|
|
|
1402
1086
|
// src/space/space.ts
|
|
1087
|
+
var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
1403
1088
|
function _ts_decorate5(decorators, target, key, desc) {
|
|
1404
1089
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1405
1090
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1406
1091
|
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;
|
|
1407
1092
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1408
1093
|
}
|
|
1409
|
-
var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
1410
1094
|
var Space = class extends Resource {
|
|
1411
1095
|
onCredentialProcessed = new Callback2();
|
|
1412
1096
|
stateUpdate = new Event4();
|
|
@@ -1420,15 +1104,7 @@ var Space = class extends Resource {
|
|
|
1420
1104
|
_dataFeed;
|
|
1421
1105
|
constructor(params) {
|
|
1422
1106
|
super();
|
|
1423
|
-
invariant6(params.spaceKey && params.feedProvider, void 0, {
|
|
1424
|
-
F: __dxlog_file8,
|
|
1425
|
-
L: 73,
|
|
1426
|
-
S: this,
|
|
1427
|
-
A: [
|
|
1428
|
-
"params.spaceKey && params.feedProvider",
|
|
1429
|
-
""
|
|
1430
|
-
]
|
|
1431
|
-
});
|
|
1107
|
+
invariant6(params.spaceKey && params.feedProvider, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 31, S: this, A: ["params.spaceKey && params.feedProvider", ""] });
|
|
1432
1108
|
this._id = params.id;
|
|
1433
1109
|
this._key = params.spaceKey;
|
|
1434
1110
|
this._genesisFeedKey = params.genesisFeed.key;
|
|
@@ -1453,34 +1129,19 @@ var Space = class extends Resource {
|
|
|
1453
1129
|
await this.onCredentialProcessed.callIfSet(credential);
|
|
1454
1130
|
log7("onCredentialProcessed", {
|
|
1455
1131
|
credential
|
|
1456
|
-
}, {
|
|
1457
|
-
F: __dxlog_file8,
|
|
1458
|
-
L: 100,
|
|
1459
|
-
S: this,
|
|
1460
|
-
C: (f, a) => f(...a)
|
|
1461
|
-
});
|
|
1132
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 56, S: this });
|
|
1462
1133
|
this.stateUpdate.emit();
|
|
1463
1134
|
});
|
|
1464
1135
|
this._controlPipeline.onDelegatedInvitation.set(async (invitation) => {
|
|
1465
1136
|
log7("onDelegatedInvitation", {
|
|
1466
1137
|
invitation
|
|
1467
|
-
}, {
|
|
1468
|
-
F: __dxlog_file8,
|
|
1469
|
-
L: 104,
|
|
1470
|
-
S: this,
|
|
1471
|
-
C: (f, a) => f(...a)
|
|
1472
|
-
});
|
|
1138
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 62, S: this });
|
|
1473
1139
|
await params.onDelegatedInvitationStatusChange(invitation, true);
|
|
1474
1140
|
});
|
|
1475
1141
|
this._controlPipeline.onDelegatedInvitationRemoved.set(async (invitation) => {
|
|
1476
1142
|
log7("onDelegatedInvitationRemoved", {
|
|
1477
1143
|
invitation
|
|
1478
|
-
}, {
|
|
1479
|
-
F: __dxlog_file8,
|
|
1480
|
-
L: 108,
|
|
1481
|
-
S: this,
|
|
1482
|
-
C: (f, a) => f(...a)
|
|
1483
|
-
});
|
|
1144
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 68, S: this });
|
|
1484
1145
|
await params.onDelegatedInvitationStatusChange(invitation, false);
|
|
1485
1146
|
});
|
|
1486
1147
|
this._controlPipeline.onMemberRoleChanged.set(async (changedMembers) => {
|
|
@@ -1489,12 +1150,7 @@ var Space = class extends Resource {
|
|
|
1489
1150
|
m.key,
|
|
1490
1151
|
m.role
|
|
1491
1152
|
])
|
|
1492
|
-
}), {
|
|
1493
|
-
F: __dxlog_file8,
|
|
1494
|
-
L: 112,
|
|
1495
|
-
S: this,
|
|
1496
|
-
C: (f, a) => f(...a)
|
|
1497
|
-
});
|
|
1153
|
+
}), { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 74, S: this });
|
|
1498
1154
|
await params.onMemberRolesChanged(changedMembers);
|
|
1499
1155
|
});
|
|
1500
1156
|
this.protocol = params.protocol;
|
|
@@ -1524,29 +1180,13 @@ var Space = class extends Resource {
|
|
|
1524
1180
|
return this._controlPipeline.pipeline;
|
|
1525
1181
|
}
|
|
1526
1182
|
async setControlFeed(feed) {
|
|
1527
|
-
invariant6(!this._controlFeed, "Control feed already set.", {
|
|
1528
|
-
F: __dxlog_file8,
|
|
1529
|
-
L: 156,
|
|
1530
|
-
S: this,
|
|
1531
|
-
A: [
|
|
1532
|
-
"!this._controlFeed",
|
|
1533
|
-
"'Control feed already set.'"
|
|
1534
|
-
]
|
|
1535
|
-
});
|
|
1183
|
+
invariant6(!this._controlFeed, "Control feed already set.", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 109, S: this, A: ["!this._controlFeed", "'Control feed already set.'"] });
|
|
1536
1184
|
this._controlFeed = feed;
|
|
1537
1185
|
await this._controlPipeline.setWriteFeed(feed);
|
|
1538
1186
|
return this;
|
|
1539
1187
|
}
|
|
1540
1188
|
async setDataFeed(feed) {
|
|
1541
|
-
invariant6(!this._dataFeed, "Data feed already set.", {
|
|
1542
|
-
F: __dxlog_file8,
|
|
1543
|
-
L: 163,
|
|
1544
|
-
S: this,
|
|
1545
|
-
A: [
|
|
1546
|
-
"!this._dataFeed",
|
|
1547
|
-
"'Data feed already set.'"
|
|
1548
|
-
]
|
|
1549
|
-
});
|
|
1189
|
+
invariant6(!this._dataFeed, "Data feed already set.", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 115, S: this, A: ["!this._dataFeed", "'Data feed already set.'"] });
|
|
1550
1190
|
this._dataFeed = feed;
|
|
1551
1191
|
return this;
|
|
1552
1192
|
}
|
|
@@ -1557,50 +1197,22 @@ var Space = class extends Resource {
|
|
|
1557
1197
|
return Array.from(this._controlPipeline.spaceState.feeds.values());
|
|
1558
1198
|
}
|
|
1559
1199
|
async _open(ctx) {
|
|
1560
|
-
log7("opening...", void 0, {
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
S: this,
|
|
1564
|
-
C: (f, a) => f(...a)
|
|
1565
|
-
});
|
|
1566
|
-
await this._controlPipeline.start();
|
|
1567
|
-
log7("opened", void 0, {
|
|
1568
|
-
F: __dxlog_file8,
|
|
1569
|
-
L: 182,
|
|
1570
|
-
S: this,
|
|
1571
|
-
C: (f, a) => f(...a)
|
|
1572
|
-
});
|
|
1200
|
+
log7("opening...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 125, S: this });
|
|
1201
|
+
await this._controlPipeline.start(ctx);
|
|
1202
|
+
log7("opened", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 128, S: this });
|
|
1573
1203
|
}
|
|
1574
|
-
async startProtocol() {
|
|
1575
|
-
invariant6(this.isOpen, void 0, {
|
|
1576
|
-
|
|
1577
|
-
L: 187,
|
|
1578
|
-
S: this,
|
|
1579
|
-
A: [
|
|
1580
|
-
"this.isOpen",
|
|
1581
|
-
""
|
|
1582
|
-
]
|
|
1583
|
-
});
|
|
1584
|
-
await this.protocol.start();
|
|
1204
|
+
async startProtocol(ctx) {
|
|
1205
|
+
invariant6(this.isOpen, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 131, S: this, A: ["this.isOpen", ""] });
|
|
1206
|
+
await this.protocol.start(ctx);
|
|
1585
1207
|
await this.protocol.addFeed(await this._feedProvider(this._genesisFeedKey));
|
|
1586
1208
|
}
|
|
1587
|
-
async _close() {
|
|
1209
|
+
async _close(ctx) {
|
|
1588
1210
|
log7("closing...", {
|
|
1589
1211
|
key: this._key
|
|
1590
|
-
}, {
|
|
1591
|
-
|
|
1592
|
-
L: 194,
|
|
1593
|
-
S: this,
|
|
1594
|
-
C: (f, a) => f(...a)
|
|
1595
|
-
});
|
|
1596
|
-
await this.protocol.stop();
|
|
1212
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 136, S: this });
|
|
1213
|
+
await this.protocol.stop(ctx);
|
|
1597
1214
|
await this._controlPipeline.stop();
|
|
1598
|
-
log7("closed", void 0, {
|
|
1599
|
-
F: __dxlog_file8,
|
|
1600
|
-
L: 200,
|
|
1601
|
-
S: this,
|
|
1602
|
-
C: (f, a) => f(...a)
|
|
1603
|
-
});
|
|
1215
|
+
log7("closed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 142, S: this });
|
|
1604
1216
|
}
|
|
1605
1217
|
};
|
|
1606
1218
|
_ts_decorate5([
|
|
@@ -1618,7 +1230,9 @@ _ts_decorate5([
|
|
|
1618
1230
|
trace2.info()
|
|
1619
1231
|
], Space.prototype, "key", null);
|
|
1620
1232
|
_ts_decorate5([
|
|
1621
|
-
trace2.span(
|
|
1233
|
+
trace2.span({
|
|
1234
|
+
op: "lifecycle"
|
|
1235
|
+
})
|
|
1622
1236
|
], Space.prototype, "_open", null);
|
|
1623
1237
|
_ts_decorate5([
|
|
1624
1238
|
synchronized3
|
|
@@ -1641,10 +1255,7 @@ var __dxlog_file9 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/a
|
|
|
1641
1255
|
var CredentialRetrieverExtension = class extends RpcExtension2 {
|
|
1642
1256
|
_request;
|
|
1643
1257
|
_onResult;
|
|
1644
|
-
_ctx = new Context5(void 0, {
|
|
1645
|
-
F: __dxlog_file9,
|
|
1646
|
-
L: 26
|
|
1647
|
-
});
|
|
1258
|
+
_ctx = new Context5(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file9, L: 14 });
|
|
1648
1259
|
constructor(_request, _onResult) {
|
|
1649
1260
|
super({
|
|
1650
1261
|
requested: {
|
|
@@ -1688,7 +1299,12 @@ var CredentialServerExtension = class extends RpcExtension2 {
|
|
|
1688
1299
|
getAdmissionCredential: async (request) => {
|
|
1689
1300
|
const memberInfo = this._space.spaceState.members.get(request.memberKey);
|
|
1690
1301
|
if (!memberInfo?.credential) {
|
|
1691
|
-
throw new ProtocolError(
|
|
1302
|
+
throw new ProtocolError({
|
|
1303
|
+
message: "Space member not found.",
|
|
1304
|
+
context: {
|
|
1305
|
+
...request
|
|
1306
|
+
}
|
|
1307
|
+
});
|
|
1692
1308
|
}
|
|
1693
1309
|
return {
|
|
1694
1310
|
admissionCredential: memberInfo.credential
|
|
@@ -1709,13 +1325,13 @@ import { BlobSync } from "@dxos/teleport-extension-object-sync";
|
|
|
1709
1325
|
import { ReplicatorExtension } from "@dxos/teleport-extension-replicator";
|
|
1710
1326
|
import { trace as trace3 } from "@dxos/tracing";
|
|
1711
1327
|
import { CallbackCollection, ComplexMap as ComplexMap4 } from "@dxos/util";
|
|
1328
|
+
var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-protocol.ts";
|
|
1712
1329
|
function _ts_decorate6(decorators, target, key, desc) {
|
|
1713
1330
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1714
1331
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1715
1332
|
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;
|
|
1716
1333
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1717
1334
|
}
|
|
1718
|
-
var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-protocol.ts";
|
|
1719
1335
|
var MOCK_AUTH_PROVIDER = async (nonce) => Buffer.from("mock");
|
|
1720
1336
|
var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
|
|
1721
1337
|
var SpaceProtocol = class {
|
|
@@ -1762,12 +1378,7 @@ var SpaceProtocol = class {
|
|
|
1762
1378
|
async addFeed(feed) {
|
|
1763
1379
|
log8("addFeed", {
|
|
1764
1380
|
key: feed.key
|
|
1765
|
-
}, {
|
|
1766
|
-
F: __dxlog_file10,
|
|
1767
|
-
L: 131,
|
|
1768
|
-
S: this,
|
|
1769
|
-
C: (f, a) => f(...a)
|
|
1770
|
-
});
|
|
1381
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 65, S: this });
|
|
1771
1382
|
this._feeds.add(feed);
|
|
1772
1383
|
for (const session of this._sessions.values()) {
|
|
1773
1384
|
session.replicator.addFeed(feed);
|
|
@@ -1775,64 +1386,44 @@ var SpaceProtocol = class {
|
|
|
1775
1386
|
await this.feedAdded.callSerial(feed);
|
|
1776
1387
|
}
|
|
1777
1388
|
// TODO(burdon): Rename open? Common open/close interfaces for all services?
|
|
1778
|
-
async start() {
|
|
1389
|
+
async start(ctx) {
|
|
1779
1390
|
if (this._connection) {
|
|
1780
1391
|
return;
|
|
1781
1392
|
}
|
|
1782
1393
|
const credentials = await this._swarmIdentity.credentialProvider(Buffer.from(""));
|
|
1783
1394
|
await this.blobSync.open();
|
|
1784
|
-
log8("starting...", void 0, {
|
|
1785
|
-
F: __dxlog_file10,
|
|
1786
|
-
L: 152,
|
|
1787
|
-
S: this,
|
|
1788
|
-
C: (f, a) => f(...a)
|
|
1789
|
-
});
|
|
1395
|
+
log8("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 82, S: this });
|
|
1790
1396
|
const topic = await this._topic;
|
|
1791
|
-
this._connection = await this._networkManager.joinSwarm({
|
|
1397
|
+
this._connection = await this._networkManager.joinSwarm(ctx, {
|
|
1792
1398
|
protocolProvider: this._createProtocolProvider(credentials),
|
|
1793
1399
|
topic,
|
|
1794
1400
|
topology: this._topology,
|
|
1795
1401
|
label: `swarm ${topic.truncate()} for space ${this._spaceKey.truncate()}`
|
|
1796
1402
|
});
|
|
1797
|
-
log8("started", void 0, {
|
|
1798
|
-
F: __dxlog_file10,
|
|
1799
|
-
L: 161,
|
|
1800
|
-
S: this,
|
|
1801
|
-
C: (f, a) => f(...a)
|
|
1802
|
-
});
|
|
1403
|
+
log8("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 90, S: this });
|
|
1803
1404
|
}
|
|
1804
1405
|
updateTopology() {
|
|
1805
1406
|
this._topology.forceUpdate();
|
|
1806
1407
|
}
|
|
1807
|
-
async stop() {
|
|
1408
|
+
async stop(ctx) {
|
|
1808
1409
|
await this.blobSync.close();
|
|
1809
1410
|
if (this._connection) {
|
|
1810
|
-
log8("stopping...", void 0, {
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
S: this,
|
|
1814
|
-
C: (f, a) => f(...a)
|
|
1815
|
-
});
|
|
1816
|
-
await this._connection.close();
|
|
1817
|
-
log8("stopped", void 0, {
|
|
1818
|
-
F: __dxlog_file10,
|
|
1819
|
-
L: 174,
|
|
1820
|
-
S: this,
|
|
1821
|
-
C: (f, a) => f(...a)
|
|
1822
|
-
});
|
|
1411
|
+
log8("stopping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 98, S: this });
|
|
1412
|
+
await this._connection.close(ctx);
|
|
1413
|
+
log8("stopped", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 100, S: this });
|
|
1823
1414
|
}
|
|
1824
1415
|
}
|
|
1825
1416
|
_createProtocolProvider(credentials) {
|
|
1826
|
-
return (
|
|
1417
|
+
return (wireProps) => {
|
|
1827
1418
|
const session = new SpaceProtocolSession({
|
|
1828
|
-
|
|
1419
|
+
wireProps,
|
|
1829
1420
|
swarmIdentity: this._swarmIdentity,
|
|
1830
1421
|
onSessionAuth: this._onSessionAuth,
|
|
1831
1422
|
onAuthFailure: this._onAuthFailure,
|
|
1832
1423
|
blobSync: this.blobSync,
|
|
1833
1424
|
disableP2pReplication: this._disableP2pReplication
|
|
1834
1425
|
});
|
|
1835
|
-
this._sessions.set(
|
|
1426
|
+
this._sessions.set(wireProps.remotePeerId, session);
|
|
1836
1427
|
for (const feed of this._feeds) {
|
|
1837
1428
|
session.replicator.addFeed(feed);
|
|
1838
1429
|
}
|
|
@@ -1860,7 +1451,7 @@ var AuthStatus = /* @__PURE__ */ (function(AuthStatus2) {
|
|
|
1860
1451
|
return AuthStatus2;
|
|
1861
1452
|
})({});
|
|
1862
1453
|
var SpaceProtocolSession = class {
|
|
1863
|
-
|
|
1454
|
+
_wireProps;
|
|
1864
1455
|
_disableP2pReplication;
|
|
1865
1456
|
_onSessionAuth;
|
|
1866
1457
|
_onAuthFailure;
|
|
@@ -1879,13 +1470,13 @@ var SpaceProtocolSession = class {
|
|
|
1879
1470
|
return this._teleport.stats;
|
|
1880
1471
|
}
|
|
1881
1472
|
// TODO(dmaretskyi): Allow to pass in extra extensions.
|
|
1882
|
-
constructor({
|
|
1883
|
-
this.
|
|
1473
|
+
constructor({ wireProps, swarmIdentity, onSessionAuth, onAuthFailure, blobSync, disableP2pReplication }) {
|
|
1474
|
+
this._wireProps = wireProps;
|
|
1884
1475
|
this._swarmIdentity = swarmIdentity;
|
|
1885
1476
|
this._onSessionAuth = onSessionAuth;
|
|
1886
1477
|
this._onAuthFailure = onAuthFailure;
|
|
1887
1478
|
this._blobSync = blobSync;
|
|
1888
|
-
this._teleport = new Teleport(
|
|
1479
|
+
this._teleport = new Teleport(wireProps);
|
|
1889
1480
|
this._disableP2pReplication = disableP2pReplication ?? false;
|
|
1890
1481
|
}
|
|
1891
1482
|
get stream() {
|
|
@@ -1897,12 +1488,7 @@ var SpaceProtocolSession = class {
|
|
|
1897
1488
|
provider: this._swarmIdentity.credentialProvider,
|
|
1898
1489
|
verifier: this._swarmIdentity.credentialAuthenticator,
|
|
1899
1490
|
onAuthSuccess: () => {
|
|
1900
|
-
log8("Peer authenticated", void 0, {
|
|
1901
|
-
F: __dxlog_file10,
|
|
1902
|
-
L: 285,
|
|
1903
|
-
S: this,
|
|
1904
|
-
C: (f, a) => f(...a)
|
|
1905
|
-
});
|
|
1491
|
+
log8("Peer authenticated", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 181, S: this });
|
|
1906
1492
|
this._authStatus = "SUCCESS";
|
|
1907
1493
|
this._onSessionAuth?.(this._teleport);
|
|
1908
1494
|
},
|
|
@@ -1917,12 +1503,7 @@ var SpaceProtocolSession = class {
|
|
|
1917
1503
|
this._teleport.addExtension("dxos.mesh.teleport.blobsync", this._blobSync.createExtension());
|
|
1918
1504
|
}
|
|
1919
1505
|
async close() {
|
|
1920
|
-
log8("close", void 0, {
|
|
1921
|
-
F: __dxlog_file10,
|
|
1922
|
-
L: 304,
|
|
1923
|
-
S: this,
|
|
1924
|
-
C: (f, a) => f(...a)
|
|
1925
|
-
});
|
|
1506
|
+
log8("close", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 197, S: this });
|
|
1926
1507
|
await this._teleport.close();
|
|
1927
1508
|
}
|
|
1928
1509
|
async abort() {
|
|
@@ -1931,7 +1512,7 @@ var SpaceProtocolSession = class {
|
|
|
1931
1512
|
};
|
|
1932
1513
|
_ts_decorate6([
|
|
1933
1514
|
logInfo2
|
|
1934
|
-
], SpaceProtocolSession.prototype, "
|
|
1515
|
+
], SpaceProtocolSession.prototype, "_wireProps", void 0);
|
|
1935
1516
|
_ts_decorate6([
|
|
1936
1517
|
logInfo2
|
|
1937
1518
|
], SpaceProtocolSession.prototype, "authStatus", null);
|
|
@@ -1943,22 +1524,20 @@ import { getCredentialAssertion } from "@dxos/credentials";
|
|
|
1943
1524
|
import { failUndefined as failUndefined2 } from "@dxos/debug";
|
|
1944
1525
|
import { PublicKey as PublicKey6 } from "@dxos/keys";
|
|
1945
1526
|
import { log as log9 } from "@dxos/log";
|
|
1946
|
-
import { trace as trace4 } from "@dxos/protocols";
|
|
1947
1527
|
import { ComplexMap as ComplexMap5 } from "@dxos/util";
|
|
1528
|
+
var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
1948
1529
|
function _ts_decorate7(decorators, target, key, desc) {
|
|
1949
1530
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1950
1531
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1951
1532
|
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;
|
|
1952
1533
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1953
1534
|
}
|
|
1954
|
-
var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
1955
1535
|
var SpaceManager = class {
|
|
1956
1536
|
_spaces = new ComplexMap5(PublicKey6.hash);
|
|
1957
1537
|
_feedStore;
|
|
1958
1538
|
_networkManager;
|
|
1959
1539
|
_metadataStore;
|
|
1960
1540
|
_blobStore;
|
|
1961
|
-
_instanceId = PublicKey6.random().toHex();
|
|
1962
1541
|
_disableP2pReplication;
|
|
1963
1542
|
constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }) {
|
|
1964
1543
|
this._feedStore = feedStore;
|
|
@@ -1979,22 +1558,9 @@ var SpaceManager = class {
|
|
|
1979
1558
|
].map((space) => space.close()));
|
|
1980
1559
|
}
|
|
1981
1560
|
async constructSpace({ metadata, swarmIdentity, onAuthorizedConnection, onAuthFailure, onDelegatedInvitationStatusChange, onMemberRolesChanged, memberKey }) {
|
|
1982
|
-
log9.trace("dxos.echo.space-manager.construct-space", trace4.begin({
|
|
1983
|
-
id: this._instanceId
|
|
1984
|
-
}), {
|
|
1985
|
-
F: __dxlog_file11,
|
|
1986
|
-
L: 103,
|
|
1987
|
-
S: this,
|
|
1988
|
-
C: (f, a) => f(...a)
|
|
1989
|
-
});
|
|
1990
1561
|
log9("constructing space...", {
|
|
1991
1562
|
spaceKey: metadata.genesisFeedKey
|
|
1992
|
-
}, {
|
|
1993
|
-
F: __dxlog_file11,
|
|
1994
|
-
L: 104,
|
|
1995
|
-
S: this,
|
|
1996
|
-
C: (f, a) => f(...a)
|
|
1997
|
-
});
|
|
1563
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 47, S: this });
|
|
1998
1564
|
const genesisFeed = await this._feedStore.openFeed(metadata.genesisFeedKey ?? failUndefined2());
|
|
1999
1565
|
const spaceKey = metadata.key;
|
|
2000
1566
|
const spaceId = await createIdFromSpaceKey(spaceKey);
|
|
@@ -2019,34 +1585,12 @@ var SpaceManager = class {
|
|
|
2019
1585
|
onMemberRolesChanged
|
|
2020
1586
|
});
|
|
2021
1587
|
this._spaces.set(space.key, space);
|
|
2022
|
-
log9.trace("dxos.echo.space-manager.construct-space", trace4.end({
|
|
2023
|
-
id: this._instanceId
|
|
2024
|
-
}), {
|
|
2025
|
-
F: __dxlog_file11,
|
|
2026
|
-
L: 134,
|
|
2027
|
-
S: this,
|
|
2028
|
-
C: (f, a) => f(...a)
|
|
2029
|
-
});
|
|
2030
1588
|
return space;
|
|
2031
1589
|
}
|
|
2032
|
-
async requestSpaceAdmissionCredential(params) {
|
|
2033
|
-
const traceKey = "dxos.echo.space-manager.request-space-admission";
|
|
2034
|
-
log9.trace(traceKey, trace4.begin({
|
|
2035
|
-
id: this._instanceId
|
|
2036
|
-
}), {
|
|
2037
|
-
F: __dxlog_file11,
|
|
2038
|
-
L: 140,
|
|
2039
|
-
S: this,
|
|
2040
|
-
C: (f, a) => f(...a)
|
|
2041
|
-
});
|
|
1590
|
+
async requestSpaceAdmissionCredential(ctx, params) {
|
|
2042
1591
|
log9("requesting space admission credential...", {
|
|
2043
1592
|
spaceKey: params.spaceKey
|
|
2044
|
-
}, {
|
|
2045
|
-
F: __dxlog_file11,
|
|
2046
|
-
L: 141,
|
|
2047
|
-
S: this,
|
|
2048
|
-
C: (f, a) => f(...a)
|
|
2049
|
-
});
|
|
1593
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 78, S: this });
|
|
2050
1594
|
const onCredentialResolved = new Trigger2();
|
|
2051
1595
|
const protocol = new SpaceProtocol({
|
|
2052
1596
|
topic: params.spaceKey,
|
|
@@ -2063,32 +1607,15 @@ var SpaceManager = class {
|
|
|
2063
1607
|
disableP2pReplication: this._disableP2pReplication
|
|
2064
1608
|
});
|
|
2065
1609
|
try {
|
|
2066
|
-
await protocol.start();
|
|
1610
|
+
await protocol.start(ctx);
|
|
2067
1611
|
const credential = await onCredentialResolved.wait({
|
|
2068
1612
|
timeout: params.timeout
|
|
2069
1613
|
});
|
|
2070
|
-
log9.trace(traceKey, trace4.end({
|
|
2071
|
-
id: this._instanceId
|
|
2072
|
-
}), {
|
|
2073
|
-
F: __dxlog_file11,
|
|
2074
|
-
L: 165,
|
|
2075
|
-
S: this,
|
|
2076
|
-
C: (f, a) => f(...a)
|
|
2077
|
-
});
|
|
2078
1614
|
return credential;
|
|
2079
1615
|
} catch (err) {
|
|
2080
|
-
log9.trace(traceKey, trace4.error({
|
|
2081
|
-
id: this._instanceId,
|
|
2082
|
-
error: err
|
|
2083
|
-
}), {
|
|
2084
|
-
F: __dxlog_file11,
|
|
2085
|
-
L: 168,
|
|
2086
|
-
S: this,
|
|
2087
|
-
C: (f, a) => f(...a)
|
|
2088
|
-
});
|
|
2089
1616
|
throw err;
|
|
2090
1617
|
} finally {
|
|
2091
|
-
await protocol.stop();
|
|
1618
|
+
await protocol.stop(ctx);
|
|
2092
1619
|
}
|
|
2093
1620
|
}
|
|
2094
1621
|
findSpaceByRootDocumentId(documentId) {
|
|
@@ -2141,4 +1668,4 @@ export {
|
|
|
2141
1668
|
SpaceProtocolSession,
|
|
2142
1669
|
SpaceManager
|
|
2143
1670
|
};
|
|
2144
|
-
//# sourceMappingURL=chunk-
|
|
1671
|
+
//# sourceMappingURL=chunk-LR7UFVQX.mjs.map
|