@dxos/echo-pipeline 0.8.4-main.d05673bc65 → 0.8.4-main.dfabb4ec29
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/neutral/{chunk-FE3UY2NU.mjs → chunk-VIHYDCCC.mjs} +115 -598
- package/dist/lib/neutral/chunk-VIHYDCCC.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BU37PJWX.mjs → chunk-YBC6ONBZ.mjs} +14 -2
- package/dist/lib/neutral/chunk-YBC6ONBZ.mjs.map +7 -0
- package/dist/lib/neutral/filter/index.mjs +1 -1
- package/dist/lib/neutral/index.mjs +1916 -1539
- package/dist/lib/neutral/index.mjs.map +4 -4
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +28 -98
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- 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 +52 -18
- 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.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 +19 -0
- 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 +4 -3
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +4 -3
- 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.map +1 -1
- package/dist/types/src/automerge/index.d.ts +1 -0
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +4 -0
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts +2 -1
- 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 +4 -3
- package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -1
- package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -1
- package/dist/types/src/db-host/data-service.d.ts +3 -3
- 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 +4 -4
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
- package/dist/types/src/db-host/echo-host.d.ts +22 -8
- package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
- package/dist/types/src/db-host/index.d.ts +1 -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 +4 -2
- package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -1
- 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 +5 -2
- package/dist/types/src/db-host/query-service.d.ts.map +1 -1
- package/dist/types/src/db-host/queue-data-source.d.ts +11 -1
- package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -1
- package/dist/types/src/db-host/space-state-manager.d.ts +2 -2
- package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
- package/dist/types/src/db-host/stub.d.ts.map +1 -1
- package/dist/types/src/edge/echo-edge-replicator.d.ts +3 -2
- 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 +1 -1
- 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 +6 -6
- package/dist/types/src/query/errors.d.ts.map +1 -1
- package/dist/types/src/query/plan.d.ts +12 -1
- package/dist/types/src/query/plan.d.ts.map +1 -1
- package/dist/types/src/query/query-executor.d.ts +18 -9
- package/dist/types/src/query/query-executor.d.ts.map +1 -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.map +1 -1
- package/dist/types/src/space/control-pipeline.d.ts +2 -1
- package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +3 -3
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +5 -4
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +2 -2
- 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/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.map +1 -1
- package/dist/types/src/testing/test-replicator.d.ts +4 -4
- 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 +42 -47
- package/src/automerge/automerge-host-subduction.test.ts +247 -0
- package/src/automerge/automerge-host.test.ts +21 -26
- package/src/automerge/automerge-host.ts +249 -139
- package/src/automerge/automerge-repo-subduction.test.ts +1049 -0
- package/src/automerge/automerge-repo.test.ts +147 -57
- package/src/automerge/automerge-subduction.test.ts +330 -0
- package/src/automerge/collection-synchronizer.test.ts +37 -8
- package/src/automerge/collection-synchronizer.ts +62 -14
- package/src/automerge/echo-network-adapter.test.ts +2 -1
- package/src/automerge/echo-network-adapter.ts +7 -8
- package/src/automerge/echo-replicator.ts +4 -3
- package/src/automerge/handle-state.ts +62 -0
- package/src/automerge/index.ts +1 -0
- package/src/automerge/leveldb-storage-adapter.ts +29 -0
- package/src/automerge/mesh-echo-replicator.ts +2 -2
- package/src/db-host/automerge-data-source.test.ts +28 -21
- package/src/db-host/automerge-data-source.ts +53 -10
- package/src/db-host/data-service.ts +7 -7
- package/src/db-host/database-root.ts +19 -7
- package/src/db-host/documents-synchronizer.test.ts +71 -2
- package/src/db-host/documents-synchronizer.ts +24 -21
- package/src/db-host/echo-host.ts +222 -73
- package/src/db-host/index.ts +1 -0
- package/src/db-host/invalidation-hint.ts +50 -0
- package/src/db-host/local-queue-service.ts +11 -9
- package/src/db-host/query-invalidation.test.ts +270 -0
- package/src/db-host/query-service.ts +85 -13
- package/src/db-host/queue-data-source.ts +44 -16
- package/src/db-host/queue-service.test.ts +11 -11
- package/src/db-host/space-state-manager.ts +6 -8
- package/src/edge/echo-edge-replicator.test.ts +5 -5
- package/src/edge/echo-edge-replicator.ts +30 -26
- 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 +11 -1
- package/src/filter/filter-match.ts +17 -1
- package/src/pipeline/pipeline-stress.test.ts +1 -3
- package/src/pipeline/pipeline.test.ts +0 -1
- package/src/pipeline/pipeline.ts +0 -1
- package/src/query/plan.ts +14 -1
- package/src/query/query-executor.ts +401 -152
- package/src/query/query-planner.test.ts +21 -1
- package/src/query/query-planner.ts +190 -11
- package/src/space/control-pipeline.test.ts +2 -2
- package/src/space/control-pipeline.ts +5 -5
- package/src/space/space-manager.ts +7 -12
- 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 +5 -4
- package/src/space/space.test.ts +2 -2
- package/src/space/space.ts +6 -7
- package/src/testing/test-agent-builder.ts +0 -1
- package/src/testing/test-network-adapter.ts +10 -2
- package/src/testing/test-replicator.ts +4 -10
- package/dist/lib/neutral/chunk-BU37PJWX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-FE3UY2NU.mjs.map +0 -7
|
@@ -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,12 +100,7 @@ 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
105
|
throw new DataCorruptionError({
|
|
130
106
|
message: "Metadata size is smaller than expected.",
|
|
@@ -160,12 +136,7 @@ var MetadataStore = class {
|
|
|
160
136
|
log("saved", {
|
|
161
137
|
size: encoded.length,
|
|
162
138
|
checksum
|
|
163
|
-
}, {
|
|
164
|
-
F: __dxlog_file2,
|
|
165
|
-
L: 129,
|
|
166
|
-
S: this,
|
|
167
|
-
C: (f, a) => f(...a)
|
|
168
|
-
});
|
|
139
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 100, S: this });
|
|
169
140
|
}
|
|
170
141
|
async close() {
|
|
171
142
|
await this._invitationCleanupCtx.dispose();
|
|
@@ -193,12 +164,7 @@ var MetadataStore = class {
|
|
|
193
164
|
} catch (err) {
|
|
194
165
|
log.error("failed to load metadata", {
|
|
195
166
|
err
|
|
196
|
-
}, {
|
|
197
|
-
F: __dxlog_file2,
|
|
198
|
-
L: 161,
|
|
199
|
-
S: this,
|
|
200
|
-
C: (f, a) => f(...a)
|
|
201
|
-
});
|
|
167
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 129, S: this });
|
|
202
168
|
this._metadata = emptyEchoMetadata();
|
|
203
169
|
}
|
|
204
170
|
await forEachAsync([
|
|
@@ -210,12 +176,7 @@ var MetadataStore = class {
|
|
|
210
176
|
} catch (err) {
|
|
211
177
|
log.error("failed to load space large metadata", {
|
|
212
178
|
err
|
|
213
|
-
}, {
|
|
214
|
-
F: __dxlog_file2,
|
|
215
|
-
L: 173,
|
|
216
|
-
S: this,
|
|
217
|
-
C: (f, a) => f(...a)
|
|
218
|
-
});
|
|
179
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 141, S: this });
|
|
219
180
|
}
|
|
220
181
|
});
|
|
221
182
|
scheduleTaskInterval(this._invitationCleanupCtx, async () => {
|
|
@@ -247,12 +208,7 @@ var MetadataStore = class {
|
|
|
247
208
|
} catch (err) {
|
|
248
209
|
log.error("failed to load space large metadata", {
|
|
249
210
|
err
|
|
250
|
-
}, {
|
|
251
|
-
F: __dxlog_file2,
|
|
252
|
-
L: 215,
|
|
253
|
-
S: this,
|
|
254
|
-
C: (f, a) => f(...a)
|
|
255
|
-
});
|
|
211
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 174, S: this });
|
|
256
212
|
}
|
|
257
213
|
}
|
|
258
214
|
async _saveSpaceLargeMetadata(key) {
|
|
@@ -268,15 +224,7 @@ var MetadataStore = class {
|
|
|
268
224
|
return this._metadata.identity.haloSpace;
|
|
269
225
|
}
|
|
270
226
|
const space = this.spaces.find((space2) => space2.key.equals(spaceKey));
|
|
271
|
-
invariant2(space, "Space not found", {
|
|
272
|
-
F: __dxlog_file2,
|
|
273
|
-
L: 237,
|
|
274
|
-
S: this,
|
|
275
|
-
A: [
|
|
276
|
-
"space",
|
|
277
|
-
"'Space not found'"
|
|
278
|
-
]
|
|
279
|
-
});
|
|
227
|
+
invariant2(space, "Space not found", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 193, S: this, A: ["space", "'Space not found'"] });
|
|
280
228
|
return space;
|
|
281
229
|
}
|
|
282
230
|
hasSpace(spaceKey) {
|
|
@@ -298,12 +246,7 @@ var MetadataStore = class {
|
|
|
298
246
|
* Clears storage - doesn't work for now.
|
|
299
247
|
*/
|
|
300
248
|
async clear() {
|
|
301
|
-
log("clearing all metadata", void 0, {
|
|
302
|
-
F: __dxlog_file2,
|
|
303
|
-
L: 265,
|
|
304
|
-
S: this,
|
|
305
|
-
C: (f, a) => f(...a)
|
|
306
|
-
});
|
|
249
|
+
log("clearing all metadata", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 215, S: this });
|
|
307
250
|
await this._directory.delete();
|
|
308
251
|
this._metadata = emptyEchoMetadata();
|
|
309
252
|
}
|
|
@@ -311,15 +254,7 @@ var MetadataStore = class {
|
|
|
311
254
|
return this._metadata.identity;
|
|
312
255
|
}
|
|
313
256
|
async setIdentityRecord(record) {
|
|
314
|
-
invariant2(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
|
|
315
|
-
F: __dxlog_file2,
|
|
316
|
-
L: 275,
|
|
317
|
-
S: this,
|
|
318
|
-
A: [
|
|
319
|
-
"!this._metadata.identity",
|
|
320
|
-
"'Cannot overwrite existing identity in metadata'"
|
|
321
|
-
]
|
|
322
|
-
});
|
|
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'"] });
|
|
323
258
|
this._metadata.identity = record;
|
|
324
259
|
await this._save();
|
|
325
260
|
await this.flush();
|
|
@@ -341,15 +276,7 @@ var MetadataStore = class {
|
|
|
341
276
|
await this.flush();
|
|
342
277
|
}
|
|
343
278
|
async addSpace(record) {
|
|
344
|
-
invariant2(!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key)), "Cannot overwrite existing space in metadata", {
|
|
345
|
-
F: __dxlog_file2,
|
|
346
|
-
L: 303,
|
|
347
|
-
S: this,
|
|
348
|
-
A: [
|
|
349
|
-
"!(this._metadata.spaces ?? []).find((space) => space.key.equals(record.key))",
|
|
350
|
-
"'Cannot overwrite existing space in metadata'"
|
|
351
|
-
]
|
|
352
|
-
});
|
|
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'"] });
|
|
353
280
|
(this._metadata.spaces ??= []).push(record);
|
|
354
281
|
await this._save();
|
|
355
282
|
await this.flush();
|
|
@@ -418,13 +345,13 @@ import { Event as Event2 } from "@dxos/async";
|
|
|
418
345
|
import { timed } from "@dxos/debug";
|
|
419
346
|
import { log as log2 } from "@dxos/log";
|
|
420
347
|
import { Timeframe } from "@dxos/timeframe";
|
|
348
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts";
|
|
421
349
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
422
350
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
423
351
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
424
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;
|
|
425
353
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
426
354
|
}
|
|
427
|
-
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts";
|
|
428
355
|
var mapTimeframeToFeedIndexes = (timeframe) => timeframe.frames().map(([feedKey, index]) => ({
|
|
429
356
|
feedKey,
|
|
430
357
|
index
|
|
@@ -483,23 +410,13 @@ var TimeframeClock = class {
|
|
|
483
410
|
log2("waitUntilReached", {
|
|
484
411
|
target,
|
|
485
412
|
current: this._timeframe
|
|
486
|
-
}, {
|
|
487
|
-
F: __dxlog_file3,
|
|
488
|
-
L: 70,
|
|
489
|
-
S: this,
|
|
490
|
-
C: (f, a) => f(...a)
|
|
491
|
-
});
|
|
413
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 69, S: this });
|
|
492
414
|
await this.update.waitForCondition(() => {
|
|
493
415
|
log2("check if reached", {
|
|
494
416
|
target,
|
|
495
417
|
current: this._timeframe,
|
|
496
418
|
deps: Timeframe.dependencies(target, this._timeframe)
|
|
497
|
-
}, {
|
|
498
|
-
F: __dxlog_file3,
|
|
499
|
-
L: 72,
|
|
500
|
-
S: this,
|
|
501
|
-
C: (f, a) => f(...a)
|
|
502
|
-
});
|
|
419
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 74, S: this });
|
|
503
420
|
return Timeframe.dependencies(target, this._timeframe).isEmpty();
|
|
504
421
|
});
|
|
505
422
|
}
|
|
@@ -527,46 +444,30 @@ var createMessageSelector = (timeframeClock) => {
|
|
|
527
444
|
return (messages) => {
|
|
528
445
|
for (let i = 0; i < messages.length; i++) {
|
|
529
446
|
const { data: { timeframe } } = messages[i];
|
|
530
|
-
invariant3(timeframe, void 0, {
|
|
531
|
-
F: __dxlog_file4,
|
|
532
|
-
L: 25,
|
|
533
|
-
S: void 0,
|
|
534
|
-
A: [
|
|
535
|
-
"timeframe",
|
|
536
|
-
""
|
|
537
|
-
]
|
|
538
|
-
});
|
|
447
|
+
invariant3(timeframe, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 16, S: void 0, A: ["timeframe", ""] });
|
|
539
448
|
if (!timeframeClock.hasGaps(timeframe)) {
|
|
540
449
|
return i;
|
|
541
450
|
}
|
|
542
451
|
}
|
|
543
|
-
log3("Skipping...", void 0, {
|
|
544
|
-
F: __dxlog_file4,
|
|
545
|
-
L: 33,
|
|
546
|
-
S: void 0,
|
|
547
|
-
C: (f, a) => f(...a)
|
|
548
|
-
});
|
|
452
|
+
log3("Skipping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 22, S: void 0 });
|
|
549
453
|
};
|
|
550
454
|
};
|
|
551
455
|
|
|
552
456
|
// src/pipeline/pipeline.ts
|
|
457
|
+
var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
|
|
553
458
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
554
459
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
555
460
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
556
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;
|
|
557
462
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
558
463
|
}
|
|
559
|
-
var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
|
|
560
464
|
var PipelineState = class {
|
|
561
465
|
_feeds;
|
|
562
466
|
_timeframeClock;
|
|
563
467
|
/**
|
|
564
468
|
* @internal
|
|
565
469
|
*/
|
|
566
|
-
_ctx = new Context2(void 0, {
|
|
567
|
-
F: __dxlog_file5,
|
|
568
|
-
L: 42
|
|
569
|
-
});
|
|
470
|
+
_ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 29 });
|
|
570
471
|
// TODO(dmaretskyi): Remove?. Avoid accessing `_timeframeClock` before constructor initialization.
|
|
571
472
|
get timeframeUpdate() {
|
|
572
473
|
return this._timeframeClock.update;
|
|
@@ -634,20 +535,12 @@ var PipelineState = class {
|
|
|
634
535
|
*
|
|
635
536
|
* @param timeout Timeout in milliseconds to specify the maximum wait time.
|
|
636
537
|
*/
|
|
637
|
-
async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, {
|
|
638
|
-
F: __dxlog_file5,
|
|
639
|
-
L: 132
|
|
640
|
-
}), timeout, breakOnStall = true } = {}) {
|
|
538
|
+
async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 91 }), timeout, breakOnStall = true } = {}) {
|
|
641
539
|
log4("waitUntilReachedTargetTimeframe", {
|
|
642
540
|
timeout,
|
|
643
541
|
current: this.timeframe,
|
|
644
542
|
target: this.targetTimeframe
|
|
645
|
-
}, {
|
|
646
|
-
F: __dxlog_file5,
|
|
647
|
-
L: 136,
|
|
648
|
-
S: this,
|
|
649
|
-
C: (f, a) => f(...a)
|
|
650
|
-
});
|
|
543
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 92, S: this });
|
|
651
544
|
this._reachedTargetPromise ??= Promise.race([
|
|
652
545
|
this._timeframeClock.update.waitForCondition(() => {
|
|
653
546
|
return Timeframe2.dependencies(this.targetTimeframe, this.timeframe).isEmpty();
|
|
@@ -674,12 +567,7 @@ var PipelineState = class {
|
|
|
674
567
|
current: this.timeframe,
|
|
675
568
|
target: this.targetTimeframe,
|
|
676
569
|
dependencies: Timeframe2.dependencies(this.targetTimeframe, this.timeframe)
|
|
677
|
-
}, {
|
|
678
|
-
F: __dxlog_file5,
|
|
679
|
-
L: 164,
|
|
680
|
-
S: this,
|
|
681
|
-
C: (f, a) => f(...a)
|
|
682
|
-
});
|
|
570
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 118, S: this });
|
|
683
571
|
})
|
|
684
572
|
]);
|
|
685
573
|
} else {
|
|
@@ -709,15 +597,7 @@ var Pipeline = class {
|
|
|
709
597
|
return this._state;
|
|
710
598
|
}
|
|
711
599
|
get writer() {
|
|
712
|
-
invariant4(this._writer, "Writer not set.", {
|
|
713
|
-
F: __dxlog_file5,
|
|
714
|
-
L: 246,
|
|
715
|
-
S: this,
|
|
716
|
-
A: [
|
|
717
|
-
"this._writer",
|
|
718
|
-
"'Writer not set.'"
|
|
719
|
-
]
|
|
720
|
-
});
|
|
600
|
+
invariant4(this._writer, "Writer not set.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 184, S: this, A: ["this._writer", "'Writer not set.'"] });
|
|
721
601
|
return this._writer;
|
|
722
602
|
}
|
|
723
603
|
hasFeed(feedKey) {
|
|
@@ -738,54 +618,20 @@ var Pipeline = class {
|
|
|
738
618
|
}
|
|
739
619
|
}
|
|
740
620
|
setWriteFeed(feed) {
|
|
741
|
-
invariant4(!this._writer, "Writer already set.", {
|
|
742
|
-
|
|
743
|
-
L: 273,
|
|
744
|
-
S: this,
|
|
745
|
-
A: [
|
|
746
|
-
"!this._writer",
|
|
747
|
-
"'Writer already set.'"
|
|
748
|
-
]
|
|
749
|
-
});
|
|
750
|
-
invariant4(feed.properties.writable, "Feed must be writable.", {
|
|
751
|
-
F: __dxlog_file5,
|
|
752
|
-
L: 274,
|
|
753
|
-
S: this,
|
|
754
|
-
A: [
|
|
755
|
-
"feed.properties.writable",
|
|
756
|
-
"'Feed must be writable.'"
|
|
757
|
-
]
|
|
758
|
-
});
|
|
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.'"] });
|
|
759
623
|
this._writer = createMappedFeedWriter((payload) => ({
|
|
760
624
|
timeframe: this._timeframeClock.timeframe,
|
|
761
625
|
payload
|
|
762
626
|
}), feed.createFeedWriter());
|
|
763
627
|
}
|
|
764
628
|
async start() {
|
|
765
|
-
invariant4(!this._isStarted, "Pipeline is already started.", {
|
|
766
|
-
|
|
767
|
-
L: 287,
|
|
768
|
-
S: this,
|
|
769
|
-
A: [
|
|
770
|
-
"!this._isStarted",
|
|
771
|
-
"'Pipeline is already started.'"
|
|
772
|
-
]
|
|
773
|
-
});
|
|
774
|
-
log4("starting...", void 0, {
|
|
775
|
-
F: __dxlog_file5,
|
|
776
|
-
L: 288,
|
|
777
|
-
S: this,
|
|
778
|
-
C: (f, a) => f(...a)
|
|
779
|
-
});
|
|
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 });
|
|
780
631
|
await this._initIterator();
|
|
781
632
|
await this._feedSetIterator.open();
|
|
782
633
|
this._isStarted = true;
|
|
783
|
-
log4("started", void 0, {
|
|
784
|
-
F: __dxlog_file5,
|
|
785
|
-
L: 292,
|
|
786
|
-
S: this,
|
|
787
|
-
C: (f, a) => f(...a)
|
|
788
|
-
});
|
|
634
|
+
log4("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 218, S: this });
|
|
789
635
|
if (!this._isPaused) {
|
|
790
636
|
for (const feed of this._feeds.values()) {
|
|
791
637
|
this._setFeedDownloadState(feed);
|
|
@@ -793,12 +639,7 @@ var Pipeline = class {
|
|
|
793
639
|
}
|
|
794
640
|
}
|
|
795
641
|
async stop() {
|
|
796
|
-
log4("stopping...", void 0, {
|
|
797
|
-
F: __dxlog_file5,
|
|
798
|
-
L: 303,
|
|
799
|
-
S: this,
|
|
800
|
-
C: (f, a) => f(...a)
|
|
801
|
-
});
|
|
642
|
+
log4("stopping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 226, S: this });
|
|
802
643
|
this._isStopping = true;
|
|
803
644
|
for (const [feed, handle] of this._downloads.entries()) {
|
|
804
645
|
feed.undownload(handle);
|
|
@@ -807,34 +648,18 @@ var Pipeline = class {
|
|
|
807
648
|
await this._feedSetIterator?.close();
|
|
808
649
|
await this._processingTrigger.wait();
|
|
809
650
|
await this._state._ctx.dispose();
|
|
810
|
-
this._state._ctx = new Context2(void 0, {
|
|
811
|
-
F: __dxlog_file5,
|
|
812
|
-
L: 312
|
|
813
|
-
});
|
|
651
|
+
this._state._ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 235 });
|
|
814
652
|
this._state._reachedTargetPromise = void 0;
|
|
815
653
|
this._state._reachedTarget = false;
|
|
816
654
|
this._isStarted = false;
|
|
817
|
-
log4("stopped", void 0, {
|
|
818
|
-
F: __dxlog_file5,
|
|
819
|
-
L: 316,
|
|
820
|
-
S: this,
|
|
821
|
-
C: (f, a) => f(...a)
|
|
822
|
-
});
|
|
655
|
+
log4("stopped", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 239, S: this });
|
|
823
656
|
}
|
|
824
657
|
/**
|
|
825
658
|
* @param timeframe Timeframe of already processed messages.
|
|
826
659
|
* The pipeline will start processing messages AFTER this timeframe.
|
|
827
660
|
*/
|
|
828
661
|
async setCursor(timeframe) {
|
|
829
|
-
invariant4(!this._isStarted || this._isPaused, "Invalid state.", {
|
|
830
|
-
F: __dxlog_file5,
|
|
831
|
-
L: 325,
|
|
832
|
-
S: this,
|
|
833
|
-
A: [
|
|
834
|
-
"!this._isStarted || this._isPaused",
|
|
835
|
-
"'Invalid state.'"
|
|
836
|
-
]
|
|
837
|
-
});
|
|
662
|
+
invariant4(!this._isStarted || this._isPaused, "Invalid state.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 245, S: this, A: ["!this._isStarted || this._isPaused", "'Invalid state.'"] });
|
|
838
663
|
this._state._startTimeframe = timeframe;
|
|
839
664
|
this._timeframeClock.setTimeframe(timeframe);
|
|
840
665
|
if (this._feedSetIterator) {
|
|
@@ -855,15 +680,7 @@ var Pipeline = class {
|
|
|
855
680
|
this._isPaused = true;
|
|
856
681
|
}
|
|
857
682
|
async unpause() {
|
|
858
|
-
invariant4(this._isPaused, "Pipeline is not paused.", {
|
|
859
|
-
F: __dxlog_file5,
|
|
860
|
-
L: 354,
|
|
861
|
-
S: this,
|
|
862
|
-
A: [
|
|
863
|
-
"this._isPaused",
|
|
864
|
-
"'Pipeline is not paused.'"
|
|
865
|
-
]
|
|
866
|
-
});
|
|
683
|
+
invariant4(this._isPaused, "Pipeline is not paused.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 266, S: this, A: ["this._isPaused", "'Pipeline is not paused.'"] });
|
|
867
684
|
this._pauseTrigger.wake();
|
|
868
685
|
this._isPaused = false;
|
|
869
686
|
for (const feed of this._feeds.values()) {
|
|
@@ -875,39 +692,15 @@ var Pipeline = class {
|
|
|
875
692
|
* Updates the timeframe clock after the message has bee processed.
|
|
876
693
|
*/
|
|
877
694
|
async *consume() {
|
|
878
|
-
invariant4(!this._isBeingConsumed, "Pipeline is already being consumed.", {
|
|
879
|
-
F: __dxlog_file5,
|
|
880
|
-
L: 369,
|
|
881
|
-
S: this,
|
|
882
|
-
A: [
|
|
883
|
-
"!this._isBeingConsumed",
|
|
884
|
-
"'Pipeline is already being consumed.'"
|
|
885
|
-
]
|
|
886
|
-
});
|
|
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.'"] });
|
|
887
696
|
this._isBeingConsumed = true;
|
|
888
|
-
invariant4(this._feedSetIterator, "Iterator not initialized.", {
|
|
889
|
-
F: __dxlog_file5,
|
|
890
|
-
L: 372,
|
|
891
|
-
S: this,
|
|
892
|
-
A: [
|
|
893
|
-
"this._feedSetIterator",
|
|
894
|
-
"'Iterator not initialized.'"
|
|
895
|
-
]
|
|
896
|
-
});
|
|
697
|
+
invariant4(this._feedSetIterator, "Iterator not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 279, S: this, A: ["this._feedSetIterator", "'Iterator not initialized.'"] });
|
|
897
698
|
let lastFeedSetIterator = this._feedSetIterator;
|
|
898
699
|
let iterable = lastFeedSetIterator[Symbol.asyncIterator]();
|
|
899
700
|
while (!this._isStopping) {
|
|
900
701
|
await this._pauseTrigger.wait();
|
|
901
702
|
if (lastFeedSetIterator !== this._feedSetIterator) {
|
|
902
|
-
invariant4(this._feedSetIterator, "Iterator not initialized.", {
|
|
903
|
-
F: __dxlog_file5,
|
|
904
|
-
L: 381,
|
|
905
|
-
S: this,
|
|
906
|
-
A: [
|
|
907
|
-
"this._feedSetIterator",
|
|
908
|
-
"'Iterator not initialized.'"
|
|
909
|
-
]
|
|
910
|
-
});
|
|
703
|
+
invariant4(this._feedSetIterator, "Iterator not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 286, S: this, A: ["this._feedSetIterator", "'Iterator not initialized.'"] });
|
|
911
704
|
lastFeedSetIterator = this._feedSetIterator;
|
|
912
705
|
iterable = lastFeedSetIterator[Symbol.asyncIterator]();
|
|
913
706
|
}
|
|
@@ -934,12 +727,7 @@ var Pipeline = class {
|
|
|
934
727
|
feed: feed.key.truncate(),
|
|
935
728
|
seq,
|
|
936
729
|
length: feed.length
|
|
937
|
-
}, {
|
|
938
|
-
F: __dxlog_file5,
|
|
939
|
-
L: 410,
|
|
940
|
-
S: this,
|
|
941
|
-
C: (f, a) => f(...a)
|
|
942
|
-
});
|
|
730
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 311, S: this });
|
|
943
731
|
handle = feed.download({
|
|
944
732
|
start: seq + 1,
|
|
945
733
|
linear: true
|
|
@@ -948,12 +736,7 @@ var Pipeline = class {
|
|
|
948
736
|
} else {
|
|
949
737
|
log4("downloaded", {
|
|
950
738
|
data
|
|
951
|
-
}, {
|
|
952
|
-
F: __dxlog_file5,
|
|
953
|
-
L: 415,
|
|
954
|
-
S: this,
|
|
955
|
-
C: (f, a) => f(...a)
|
|
956
|
-
});
|
|
739
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 323, S: this });
|
|
957
740
|
}
|
|
958
741
|
});
|
|
959
742
|
this._downloads.set(feed, handle);
|
|
@@ -967,12 +750,7 @@ var Pipeline = class {
|
|
|
967
750
|
log4.warn(`Stalled after ${iterator.options.stallTimeout}ms with ${iterator.size} feeds.`, {
|
|
968
751
|
currentTimeframe: this._timeframeClock.timeframe,
|
|
969
752
|
targetTimeframe: this._state.targetTimeframe
|
|
970
|
-
}, {
|
|
971
|
-
F: __dxlog_file5,
|
|
972
|
-
L: 429,
|
|
973
|
-
S: this,
|
|
974
|
-
C: (f, a) => f(...a)
|
|
975
|
-
});
|
|
753
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 336, S: this });
|
|
976
754
|
this._state.stalled.emit();
|
|
977
755
|
});
|
|
978
756
|
for (const feed of this._feeds.values()) {
|
|
@@ -1009,17 +787,9 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1009
787
|
_authProps;
|
|
1010
788
|
_ctx = new Context3({
|
|
1011
789
|
onError: (err) => {
|
|
1012
|
-
log5.catch(err, void 0, {
|
|
1013
|
-
F: __dxlog_file6,
|
|
1014
|
-
L: 28,
|
|
1015
|
-
S: this,
|
|
1016
|
-
C: (f, a) => f(...a)
|
|
1017
|
-
});
|
|
790
|
+
log5.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 15, S: this });
|
|
1018
791
|
}
|
|
1019
|
-
}, {
|
|
1020
|
-
F: __dxlog_file6,
|
|
1021
|
-
L: 26
|
|
1022
|
-
});
|
|
792
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 13 });
|
|
1023
793
|
constructor(_authProps) {
|
|
1024
794
|
super({
|
|
1025
795
|
requested: {
|
|
@@ -1044,12 +814,7 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1044
814
|
credential
|
|
1045
815
|
};
|
|
1046
816
|
} catch (err) {
|
|
1047
|
-
log5.error("failed to generate auth credentials", err, {
|
|
1048
|
-
F: __dxlog_file6,
|
|
1049
|
-
L: 55,
|
|
1050
|
-
S: this,
|
|
1051
|
-
C: (f, a) => f(...a)
|
|
1052
|
-
});
|
|
817
|
+
log5.error("failed to generate auth credentials", err, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 42, S: this });
|
|
1053
818
|
throw new Error("auth rejected");
|
|
1054
819
|
}
|
|
1055
820
|
}
|
|
@@ -1064,33 +829,12 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1064
829
|
const { credential } = await this.rpc.AuthService.authenticate({
|
|
1065
830
|
challenge
|
|
1066
831
|
});
|
|
1067
|
-
invariant5(credential?.length > 0, "invalid credential", {
|
|
1068
|
-
F: __dxlog_file6,
|
|
1069
|
-
L: 69,
|
|
1070
|
-
S: this,
|
|
1071
|
-
A: [
|
|
1072
|
-
"credential?.length > 0",
|
|
1073
|
-
"'invalid credential'"
|
|
1074
|
-
]
|
|
1075
|
-
});
|
|
832
|
+
invariant5(credential?.length > 0, "invalid credential", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 57, S: this, A: ["credential?.length > 0", "'invalid credential'"] });
|
|
1076
833
|
const success = await this._authProps.verifier(challenge, credential);
|
|
1077
|
-
invariant5(success, "credential not verified", {
|
|
1078
|
-
F: __dxlog_file6,
|
|
1079
|
-
L: 71,
|
|
1080
|
-
S: this,
|
|
1081
|
-
A: [
|
|
1082
|
-
"success",
|
|
1083
|
-
"'credential not verified'"
|
|
1084
|
-
]
|
|
1085
|
-
});
|
|
834
|
+
invariant5(success, "credential not verified", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 59, S: this, A: ["success", "'credential not verified'"] });
|
|
1086
835
|
runInContext(this._ctx, () => this._authProps.onAuthSuccess());
|
|
1087
836
|
} catch (err) {
|
|
1088
|
-
log5("auth failed", err, {
|
|
1089
|
-
F: __dxlog_file6,
|
|
1090
|
-
L: 74,
|
|
1091
|
-
S: this,
|
|
1092
|
-
C: (f, a) => f(...a)
|
|
1093
|
-
});
|
|
837
|
+
log5("auth failed", err, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 62, S: this });
|
|
1094
838
|
this.close();
|
|
1095
839
|
this._authProps.onAuthFailure();
|
|
1096
840
|
}
|
|
@@ -1125,21 +869,18 @@ import { AdmittedFeed } from "@dxos/protocols/proto/dxos/halo/credentials";
|
|
|
1125
869
|
import { Timeframe as Timeframe3 } from "@dxos/timeframe";
|
|
1126
870
|
import { TimeSeriesCounter, TimeUsageCounter, trace } from "@dxos/tracing";
|
|
1127
871
|
import { Callback, tracer } from "@dxos/util";
|
|
872
|
+
var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/control-pipeline.ts";
|
|
1128
873
|
function _ts_decorate4(decorators, target, key, desc) {
|
|
1129
874
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1130
875
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1131
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;
|
|
1132
877
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1133
878
|
}
|
|
1134
|
-
var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/control-pipeline.ts";
|
|
1135
879
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 500;
|
|
1136
880
|
var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
|
|
1137
881
|
var USE_SNAPSHOTS = true;
|
|
1138
882
|
var ControlPipeline = class {
|
|
1139
|
-
_ctx = new Context4(void 0, {
|
|
1140
|
-
F: __dxlog_file7,
|
|
1141
|
-
L: 47
|
|
1142
|
-
});
|
|
883
|
+
_ctx = new Context4(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 24 });
|
|
1143
884
|
_pipeline;
|
|
1144
885
|
_spaceStateMachine;
|
|
1145
886
|
_spaceKey;
|
|
@@ -1166,12 +907,7 @@ var ControlPipeline = class {
|
|
|
1166
907
|
this._spaceStateMachine.onFeedAdmitted.set(async (info) => {
|
|
1167
908
|
log6("feed admitted", {
|
|
1168
909
|
key: info.key
|
|
1169
|
-
}, {
|
|
1170
|
-
F: __dxlog_file7,
|
|
1171
|
-
L: 82,
|
|
1172
|
-
S: this,
|
|
1173
|
-
C: (f, a) => f(...a)
|
|
1174
|
-
});
|
|
910
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 50, S: this });
|
|
1175
911
|
if (info.assertion.designation === AdmittedFeed.Designation.CONTROL && !info.key.equals(genesisFeed.key)) {
|
|
1176
912
|
scheduleMicroTask(this._ctx, async () => {
|
|
1177
913
|
try {
|
|
@@ -1183,12 +919,7 @@ var ControlPipeline = class {
|
|
|
1183
919
|
await this._pipeline.addFeed(feed);
|
|
1184
920
|
}
|
|
1185
921
|
} catch (err) {
|
|
1186
|
-
log6.catch(err, void 0, {
|
|
1187
|
-
F: __dxlog_file7,
|
|
1188
|
-
L: 96,
|
|
1189
|
-
S: this,
|
|
1190
|
-
C: (f, a) => f(...a)
|
|
1191
|
-
});
|
|
922
|
+
log6.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 65, S: this });
|
|
1192
923
|
}
|
|
1193
924
|
});
|
|
1194
925
|
}
|
|
@@ -1209,40 +940,22 @@ var ControlPipeline = class {
|
|
|
1209
940
|
await this._pipeline.addFeed(feed);
|
|
1210
941
|
this._pipeline.setWriteFeed(feed);
|
|
1211
942
|
}
|
|
1212
|
-
async start() {
|
|
943
|
+
async start(ctx) {
|
|
1213
944
|
const snapshot = this._metadata.getSpaceControlPipelineSnapshot(this._spaceKey);
|
|
1214
945
|
log6("load snapshot", {
|
|
1215
946
|
key: this._spaceKey,
|
|
1216
947
|
present: !!snapshot,
|
|
1217
948
|
tf: snapshot?.timeframe
|
|
1218
|
-
}, {
|
|
1219
|
-
F: __dxlog_file7,
|
|
1220
|
-
L: 126,
|
|
1221
|
-
S: this,
|
|
1222
|
-
C: (f, a) => f(...a)
|
|
1223
|
-
});
|
|
949
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 88, S: this });
|
|
1224
950
|
if (USE_SNAPSHOTS && snapshot) {
|
|
1225
951
|
await this._processSnapshot(snapshot);
|
|
1226
952
|
}
|
|
1227
|
-
log6("starting...", void 0, {
|
|
1228
|
-
F: __dxlog_file7,
|
|
1229
|
-
L: 131,
|
|
1230
|
-
S: this,
|
|
1231
|
-
C: (f, a) => f(...a)
|
|
1232
|
-
});
|
|
953
|
+
log6("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 96, S: this });
|
|
1233
954
|
setTimeout(async () => {
|
|
1234
|
-
void this._consumePipeline(
|
|
1235
|
-
F: __dxlog_file7,
|
|
1236
|
-
L: 133
|
|
1237
|
-
}));
|
|
955
|
+
void this._consumePipeline(ctx);
|
|
1238
956
|
});
|
|
1239
957
|
await this._pipeline.start();
|
|
1240
|
-
log6("started", void 0, {
|
|
1241
|
-
F: __dxlog_file7,
|
|
1242
|
-
L: 137,
|
|
1243
|
-
S: this,
|
|
1244
|
-
C: (f, a) => f(...a)
|
|
1245
|
-
});
|
|
958
|
+
log6("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 101, S: this });
|
|
1246
959
|
}
|
|
1247
960
|
async _processSnapshot(snapshot) {
|
|
1248
961
|
await this._pipeline.setCursor(snapshot.timeframe);
|
|
@@ -1254,12 +967,7 @@ var ControlPipeline = class {
|
|
|
1254
967
|
if (!result) {
|
|
1255
968
|
log6.warn("credential processing failed from snapshot", {
|
|
1256
969
|
message
|
|
1257
|
-
}, {
|
|
1258
|
-
F: __dxlog_file7,
|
|
1259
|
-
L: 150,
|
|
1260
|
-
S: this,
|
|
1261
|
-
C: (f, a) => f(...a)
|
|
1262
|
-
});
|
|
970
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 111, S: this });
|
|
1263
971
|
}
|
|
1264
972
|
}
|
|
1265
973
|
}
|
|
@@ -1276,12 +984,7 @@ var ControlPipeline = class {
|
|
|
1276
984
|
log6("save snapshot", {
|
|
1277
985
|
key: this._spaceKey,
|
|
1278
986
|
snapshot: getSnapshotLoggerContext(snapshot)
|
|
1279
|
-
}, {
|
|
1280
|
-
F: __dxlog_file7,
|
|
1281
|
-
L: 166,
|
|
1282
|
-
S: this,
|
|
1283
|
-
C: (f, a) => f(...a)
|
|
1284
|
-
});
|
|
987
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 127, S: this });
|
|
1285
988
|
await this._metadata.setSpaceControlPipelineSnapshot(this._spaceKey, snapshot);
|
|
1286
989
|
}
|
|
1287
990
|
async _consumePipeline(ctx) {
|
|
@@ -1291,12 +994,7 @@ var ControlPipeline = class {
|
|
|
1291
994
|
try {
|
|
1292
995
|
await this._processMessage(ctx, msg);
|
|
1293
996
|
} catch (err) {
|
|
1294
|
-
log6.catch(err, void 0, {
|
|
1295
|
-
F: __dxlog_file7,
|
|
1296
|
-
L: 179,
|
|
1297
|
-
S: this,
|
|
1298
|
-
C: (f, a) => f(...a)
|
|
1299
|
-
});
|
|
997
|
+
log6.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 140, S: this });
|
|
1300
998
|
}
|
|
1301
999
|
span.end();
|
|
1302
1000
|
}
|
|
@@ -1305,12 +1003,7 @@ var ControlPipeline = class {
|
|
|
1305
1003
|
log6("processing", {
|
|
1306
1004
|
key: msg.feedKey,
|
|
1307
1005
|
seq: msg.seq
|
|
1308
|
-
}, {
|
|
1309
|
-
F: __dxlog_file7,
|
|
1310
|
-
L: 188,
|
|
1311
|
-
S: this,
|
|
1312
|
-
C: (f, a) => f(...a)
|
|
1313
|
-
});
|
|
1006
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 146, S: this });
|
|
1314
1007
|
if (msg.data.payload.credential) {
|
|
1315
1008
|
const timer = tracer.mark("dxos.echo.pipeline.control");
|
|
1316
1009
|
const result = await this._spaceStateMachine.process(msg.data.payload.credential.credential, {
|
|
@@ -1320,12 +1013,7 @@ var ControlPipeline = class {
|
|
|
1320
1013
|
if (!result) {
|
|
1321
1014
|
log6.warn("processing failed", {
|
|
1322
1015
|
msg
|
|
1323
|
-
}, {
|
|
1324
|
-
F: __dxlog_file7,
|
|
1325
|
-
L: 197,
|
|
1326
|
-
S: this,
|
|
1327
|
-
C: (f, a) => f(...a)
|
|
1328
|
-
});
|
|
1016
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 157, S: this });
|
|
1329
1017
|
} else {
|
|
1330
1018
|
await this._noteTargetStateIfNeeded(this._pipeline.state.pendingTimeframe);
|
|
1331
1019
|
}
|
|
@@ -1339,21 +1027,11 @@ var ControlPipeline = class {
|
|
|
1339
1027
|
}
|
|
1340
1028
|
}
|
|
1341
1029
|
async stop() {
|
|
1342
|
-
log6("stopping...", void 0, {
|
|
1343
|
-
F: __dxlog_file7,
|
|
1344
|
-
L: 217,
|
|
1345
|
-
S: this,
|
|
1346
|
-
C: (f, a) => f(...a)
|
|
1347
|
-
});
|
|
1030
|
+
log6("stopping...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 174, S: this });
|
|
1348
1031
|
await this._ctx.dispose();
|
|
1349
1032
|
await this._pipeline.stop();
|
|
1350
1033
|
await this._saveTargetTimeframe(this._pipeline.state.timeframe);
|
|
1351
|
-
log6("stopped", void 0, {
|
|
1352
|
-
F: __dxlog_file7,
|
|
1353
|
-
L: 221,
|
|
1354
|
-
S: this,
|
|
1355
|
-
C: (f, a) => f(...a)
|
|
1356
|
-
});
|
|
1034
|
+
log6("stopped", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 178, S: this });
|
|
1357
1035
|
}
|
|
1358
1036
|
async _saveTargetTimeframe(timeframe) {
|
|
1359
1037
|
try {
|
|
@@ -1361,15 +1039,15 @@ var ControlPipeline = class {
|
|
|
1361
1039
|
await this._metadata.setSpaceControlLatestTimeframe(this._spaceKey, newTimeframe);
|
|
1362
1040
|
this._targetTimeframe = newTimeframe;
|
|
1363
1041
|
} catch (err) {
|
|
1364
|
-
log6(err, void 0, {
|
|
1365
|
-
F: __dxlog_file7,
|
|
1366
|
-
L: 230,
|
|
1367
|
-
S: this,
|
|
1368
|
-
C: (f, a) => f(...a)
|
|
1369
|
-
});
|
|
1042
|
+
log6(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 186, S: this });
|
|
1370
1043
|
}
|
|
1371
1044
|
}
|
|
1372
1045
|
};
|
|
1046
|
+
_ts_decorate4([
|
|
1047
|
+
trace.info({
|
|
1048
|
+
spanAttribute: true
|
|
1049
|
+
})
|
|
1050
|
+
], ControlPipeline.prototype, "_spaceKey", void 0);
|
|
1373
1051
|
_ts_decorate4([
|
|
1374
1052
|
trace.metricsCounter()
|
|
1375
1053
|
], ControlPipeline.prototype, "_usage", void 0);
|
|
@@ -1378,14 +1056,15 @@ _ts_decorate4([
|
|
|
1378
1056
|
], ControlPipeline.prototype, "_mutations", void 0);
|
|
1379
1057
|
_ts_decorate4([
|
|
1380
1058
|
trace.span({
|
|
1381
|
-
showInBrowserTimeline: true
|
|
1059
|
+
showInBrowserTimeline: true,
|
|
1060
|
+
op: "lifecycle"
|
|
1382
1061
|
})
|
|
1383
1062
|
], ControlPipeline.prototype, "start", null);
|
|
1384
1063
|
_ts_decorate4([
|
|
1385
|
-
trace.span(
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1064
|
+
trace.span({
|
|
1065
|
+
showInBrowserTimeline: true,
|
|
1066
|
+
showInRemoteTracing: false
|
|
1067
|
+
})
|
|
1389
1068
|
], ControlPipeline.prototype, "_processMessage", null);
|
|
1390
1069
|
ControlPipeline = _ts_decorate4([
|
|
1391
1070
|
trace.resource(),
|
|
@@ -1405,13 +1084,13 @@ var getSnapshotLoggerContext = (snapshot) => {
|
|
|
1405
1084
|
};
|
|
1406
1085
|
|
|
1407
1086
|
// src/space/space.ts
|
|
1087
|
+
var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
1408
1088
|
function _ts_decorate5(decorators, target, key, desc) {
|
|
1409
1089
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1410
1090
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1411
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;
|
|
1412
1092
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1413
1093
|
}
|
|
1414
|
-
var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
1415
1094
|
var Space = class extends Resource {
|
|
1416
1095
|
onCredentialProcessed = new Callback2();
|
|
1417
1096
|
stateUpdate = new Event4();
|
|
@@ -1425,15 +1104,7 @@ var Space = class extends Resource {
|
|
|
1425
1104
|
_dataFeed;
|
|
1426
1105
|
constructor(params) {
|
|
1427
1106
|
super();
|
|
1428
|
-
invariant6(params.spaceKey && params.feedProvider, void 0, {
|
|
1429
|
-
F: __dxlog_file8,
|
|
1430
|
-
L: 73,
|
|
1431
|
-
S: this,
|
|
1432
|
-
A: [
|
|
1433
|
-
"params.spaceKey && params.feedProvider",
|
|
1434
|
-
""
|
|
1435
|
-
]
|
|
1436
|
-
});
|
|
1107
|
+
invariant6(params.spaceKey && params.feedProvider, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 31, S: this, A: ["params.spaceKey && params.feedProvider", ""] });
|
|
1437
1108
|
this._id = params.id;
|
|
1438
1109
|
this._key = params.spaceKey;
|
|
1439
1110
|
this._genesisFeedKey = params.genesisFeed.key;
|
|
@@ -1458,34 +1129,19 @@ var Space = class extends Resource {
|
|
|
1458
1129
|
await this.onCredentialProcessed.callIfSet(credential);
|
|
1459
1130
|
log7("onCredentialProcessed", {
|
|
1460
1131
|
credential
|
|
1461
|
-
}, {
|
|
1462
|
-
F: __dxlog_file8,
|
|
1463
|
-
L: 100,
|
|
1464
|
-
S: this,
|
|
1465
|
-
C: (f, a) => f(...a)
|
|
1466
|
-
});
|
|
1132
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 56, S: this });
|
|
1467
1133
|
this.stateUpdate.emit();
|
|
1468
1134
|
});
|
|
1469
1135
|
this._controlPipeline.onDelegatedInvitation.set(async (invitation) => {
|
|
1470
1136
|
log7("onDelegatedInvitation", {
|
|
1471
1137
|
invitation
|
|
1472
|
-
}, {
|
|
1473
|
-
F: __dxlog_file8,
|
|
1474
|
-
L: 104,
|
|
1475
|
-
S: this,
|
|
1476
|
-
C: (f, a) => f(...a)
|
|
1477
|
-
});
|
|
1138
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 62, S: this });
|
|
1478
1139
|
await params.onDelegatedInvitationStatusChange(invitation, true);
|
|
1479
1140
|
});
|
|
1480
1141
|
this._controlPipeline.onDelegatedInvitationRemoved.set(async (invitation) => {
|
|
1481
1142
|
log7("onDelegatedInvitationRemoved", {
|
|
1482
1143
|
invitation
|
|
1483
|
-
}, {
|
|
1484
|
-
F: __dxlog_file8,
|
|
1485
|
-
L: 108,
|
|
1486
|
-
S: this,
|
|
1487
|
-
C: (f, a) => f(...a)
|
|
1488
|
-
});
|
|
1144
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 68, S: this });
|
|
1489
1145
|
await params.onDelegatedInvitationStatusChange(invitation, false);
|
|
1490
1146
|
});
|
|
1491
1147
|
this._controlPipeline.onMemberRoleChanged.set(async (changedMembers) => {
|
|
@@ -1494,12 +1150,7 @@ var Space = class extends Resource {
|
|
|
1494
1150
|
m.key,
|
|
1495
1151
|
m.role
|
|
1496
1152
|
])
|
|
1497
|
-
}), {
|
|
1498
|
-
F: __dxlog_file8,
|
|
1499
|
-
L: 112,
|
|
1500
|
-
S: this,
|
|
1501
|
-
C: (f, a) => f(...a)
|
|
1502
|
-
});
|
|
1153
|
+
}), { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 74, S: this });
|
|
1503
1154
|
await params.onMemberRolesChanged(changedMembers);
|
|
1504
1155
|
});
|
|
1505
1156
|
this.protocol = params.protocol;
|
|
@@ -1529,29 +1180,13 @@ var Space = class extends Resource {
|
|
|
1529
1180
|
return this._controlPipeline.pipeline;
|
|
1530
1181
|
}
|
|
1531
1182
|
async setControlFeed(feed) {
|
|
1532
|
-
invariant6(!this._controlFeed, "Control feed already set.", {
|
|
1533
|
-
F: __dxlog_file8,
|
|
1534
|
-
L: 156,
|
|
1535
|
-
S: this,
|
|
1536
|
-
A: [
|
|
1537
|
-
"!this._controlFeed",
|
|
1538
|
-
"'Control feed already set.'"
|
|
1539
|
-
]
|
|
1540
|
-
});
|
|
1183
|
+
invariant6(!this._controlFeed, "Control feed already set.", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 109, S: this, A: ["!this._controlFeed", "'Control feed already set.'"] });
|
|
1541
1184
|
this._controlFeed = feed;
|
|
1542
1185
|
await this._controlPipeline.setWriteFeed(feed);
|
|
1543
1186
|
return this;
|
|
1544
1187
|
}
|
|
1545
1188
|
async setDataFeed(feed) {
|
|
1546
|
-
invariant6(!this._dataFeed, "Data feed already set.", {
|
|
1547
|
-
F: __dxlog_file8,
|
|
1548
|
-
L: 163,
|
|
1549
|
-
S: this,
|
|
1550
|
-
A: [
|
|
1551
|
-
"!this._dataFeed",
|
|
1552
|
-
"'Data feed already set.'"
|
|
1553
|
-
]
|
|
1554
|
-
});
|
|
1189
|
+
invariant6(!this._dataFeed, "Data feed already set.", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 115, S: this, A: ["!this._dataFeed", "'Data feed already set.'"] });
|
|
1555
1190
|
this._dataFeed = feed;
|
|
1556
1191
|
return this;
|
|
1557
1192
|
}
|
|
@@ -1562,50 +1197,22 @@ var Space = class extends Resource {
|
|
|
1562
1197
|
return Array.from(this._controlPipeline.spaceState.feeds.values());
|
|
1563
1198
|
}
|
|
1564
1199
|
async _open(ctx) {
|
|
1565
|
-
log7("opening...", void 0, {
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
S: this,
|
|
1569
|
-
C: (f, a) => f(...a)
|
|
1570
|
-
});
|
|
1571
|
-
await this._controlPipeline.start();
|
|
1572
|
-
log7("opened", void 0, {
|
|
1573
|
-
F: __dxlog_file8,
|
|
1574
|
-
L: 182,
|
|
1575
|
-
S: this,
|
|
1576
|
-
C: (f, a) => f(...a)
|
|
1577
|
-
});
|
|
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 });
|
|
1578
1203
|
}
|
|
1579
|
-
async startProtocol() {
|
|
1580
|
-
invariant6(this.isOpen, void 0, {
|
|
1581
|
-
|
|
1582
|
-
L: 187,
|
|
1583
|
-
S: this,
|
|
1584
|
-
A: [
|
|
1585
|
-
"this.isOpen",
|
|
1586
|
-
""
|
|
1587
|
-
]
|
|
1588
|
-
});
|
|
1589
|
-
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);
|
|
1590
1207
|
await this.protocol.addFeed(await this._feedProvider(this._genesisFeedKey));
|
|
1591
1208
|
}
|
|
1592
|
-
async _close() {
|
|
1209
|
+
async _close(ctx) {
|
|
1593
1210
|
log7("closing...", {
|
|
1594
1211
|
key: this._key
|
|
1595
|
-
}, {
|
|
1596
|
-
|
|
1597
|
-
L: 194,
|
|
1598
|
-
S: this,
|
|
1599
|
-
C: (f, a) => f(...a)
|
|
1600
|
-
});
|
|
1601
|
-
await this.protocol.stop();
|
|
1212
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 136, S: this });
|
|
1213
|
+
await this.protocol.stop(ctx);
|
|
1602
1214
|
await this._controlPipeline.stop();
|
|
1603
|
-
log7("closed", void 0, {
|
|
1604
|
-
F: __dxlog_file8,
|
|
1605
|
-
L: 200,
|
|
1606
|
-
S: this,
|
|
1607
|
-
C: (f, a) => f(...a)
|
|
1608
|
-
});
|
|
1215
|
+
log7("closed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 142, S: this });
|
|
1609
1216
|
}
|
|
1610
1217
|
};
|
|
1611
1218
|
_ts_decorate5([
|
|
@@ -1623,7 +1230,9 @@ _ts_decorate5([
|
|
|
1623
1230
|
trace2.info()
|
|
1624
1231
|
], Space.prototype, "key", null);
|
|
1625
1232
|
_ts_decorate5([
|
|
1626
|
-
trace2.span(
|
|
1233
|
+
trace2.span({
|
|
1234
|
+
op: "lifecycle"
|
|
1235
|
+
})
|
|
1627
1236
|
], Space.prototype, "_open", null);
|
|
1628
1237
|
_ts_decorate5([
|
|
1629
1238
|
synchronized3
|
|
@@ -1646,10 +1255,7 @@ var __dxlog_file9 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/a
|
|
|
1646
1255
|
var CredentialRetrieverExtension = class extends RpcExtension2 {
|
|
1647
1256
|
_request;
|
|
1648
1257
|
_onResult;
|
|
1649
|
-
_ctx = new Context5(void 0, {
|
|
1650
|
-
F: __dxlog_file9,
|
|
1651
|
-
L: 26
|
|
1652
|
-
});
|
|
1258
|
+
_ctx = new Context5(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file9, L: 14 });
|
|
1653
1259
|
constructor(_request, _onResult) {
|
|
1654
1260
|
super({
|
|
1655
1261
|
requested: {
|
|
@@ -1719,13 +1325,13 @@ import { BlobSync } from "@dxos/teleport-extension-object-sync";
|
|
|
1719
1325
|
import { ReplicatorExtension } from "@dxos/teleport-extension-replicator";
|
|
1720
1326
|
import { trace as trace3 } from "@dxos/tracing";
|
|
1721
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";
|
|
1722
1329
|
function _ts_decorate6(decorators, target, key, desc) {
|
|
1723
1330
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1724
1331
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1725
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;
|
|
1726
1333
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1727
1334
|
}
|
|
1728
|
-
var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-protocol.ts";
|
|
1729
1335
|
var MOCK_AUTH_PROVIDER = async (nonce) => Buffer.from("mock");
|
|
1730
1336
|
var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
|
|
1731
1337
|
var SpaceProtocol = class {
|
|
@@ -1772,12 +1378,7 @@ var SpaceProtocol = class {
|
|
|
1772
1378
|
async addFeed(feed) {
|
|
1773
1379
|
log8("addFeed", {
|
|
1774
1380
|
key: feed.key
|
|
1775
|
-
}, {
|
|
1776
|
-
F: __dxlog_file10,
|
|
1777
|
-
L: 131,
|
|
1778
|
-
S: this,
|
|
1779
|
-
C: (f, a) => f(...a)
|
|
1780
|
-
});
|
|
1381
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 65, S: this });
|
|
1781
1382
|
this._feeds.add(feed);
|
|
1782
1383
|
for (const session of this._sessions.values()) {
|
|
1783
1384
|
session.replicator.addFeed(feed);
|
|
@@ -1785,51 +1386,31 @@ var SpaceProtocol = class {
|
|
|
1785
1386
|
await this.feedAdded.callSerial(feed);
|
|
1786
1387
|
}
|
|
1787
1388
|
// TODO(burdon): Rename open? Common open/close interfaces for all services?
|
|
1788
|
-
async start() {
|
|
1389
|
+
async start(ctx) {
|
|
1789
1390
|
if (this._connection) {
|
|
1790
1391
|
return;
|
|
1791
1392
|
}
|
|
1792
1393
|
const credentials = await this._swarmIdentity.credentialProvider(Buffer.from(""));
|
|
1793
1394
|
await this.blobSync.open();
|
|
1794
|
-
log8("starting...", void 0, {
|
|
1795
|
-
F: __dxlog_file10,
|
|
1796
|
-
L: 152,
|
|
1797
|
-
S: this,
|
|
1798
|
-
C: (f, a) => f(...a)
|
|
1799
|
-
});
|
|
1395
|
+
log8("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 82, S: this });
|
|
1800
1396
|
const topic = await this._topic;
|
|
1801
|
-
this._connection = await this._networkManager.joinSwarm({
|
|
1397
|
+
this._connection = await this._networkManager.joinSwarm(ctx, {
|
|
1802
1398
|
protocolProvider: this._createProtocolProvider(credentials),
|
|
1803
1399
|
topic,
|
|
1804
1400
|
topology: this._topology,
|
|
1805
1401
|
label: `swarm ${topic.truncate()} for space ${this._spaceKey.truncate()}`
|
|
1806
1402
|
});
|
|
1807
|
-
log8("started", void 0, {
|
|
1808
|
-
F: __dxlog_file10,
|
|
1809
|
-
L: 161,
|
|
1810
|
-
S: this,
|
|
1811
|
-
C: (f, a) => f(...a)
|
|
1812
|
-
});
|
|
1403
|
+
log8("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 90, S: this });
|
|
1813
1404
|
}
|
|
1814
1405
|
updateTopology() {
|
|
1815
1406
|
this._topology.forceUpdate();
|
|
1816
1407
|
}
|
|
1817
|
-
async stop() {
|
|
1408
|
+
async stop(ctx) {
|
|
1818
1409
|
await this.blobSync.close();
|
|
1819
1410
|
if (this._connection) {
|
|
1820
|
-
log8("stopping...", void 0, {
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
S: this,
|
|
1824
|
-
C: (f, a) => f(...a)
|
|
1825
|
-
});
|
|
1826
|
-
await this._connection.close();
|
|
1827
|
-
log8("stopped", void 0, {
|
|
1828
|
-
F: __dxlog_file10,
|
|
1829
|
-
L: 174,
|
|
1830
|
-
S: this,
|
|
1831
|
-
C: (f, a) => f(...a)
|
|
1832
|
-
});
|
|
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 });
|
|
1833
1414
|
}
|
|
1834
1415
|
}
|
|
1835
1416
|
_createProtocolProvider(credentials) {
|
|
@@ -1907,12 +1488,7 @@ var SpaceProtocolSession = class {
|
|
|
1907
1488
|
provider: this._swarmIdentity.credentialProvider,
|
|
1908
1489
|
verifier: this._swarmIdentity.credentialAuthenticator,
|
|
1909
1490
|
onAuthSuccess: () => {
|
|
1910
|
-
log8("Peer authenticated", void 0, {
|
|
1911
|
-
F: __dxlog_file10,
|
|
1912
|
-
L: 285,
|
|
1913
|
-
S: this,
|
|
1914
|
-
C: (f, a) => f(...a)
|
|
1915
|
-
});
|
|
1491
|
+
log8("Peer authenticated", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 181, S: this });
|
|
1916
1492
|
this._authStatus = "SUCCESS";
|
|
1917
1493
|
this._onSessionAuth?.(this._teleport);
|
|
1918
1494
|
},
|
|
@@ -1927,12 +1503,7 @@ var SpaceProtocolSession = class {
|
|
|
1927
1503
|
this._teleport.addExtension("dxos.mesh.teleport.blobsync", this._blobSync.createExtension());
|
|
1928
1504
|
}
|
|
1929
1505
|
async close() {
|
|
1930
|
-
log8("close", void 0, {
|
|
1931
|
-
F: __dxlog_file10,
|
|
1932
|
-
L: 304,
|
|
1933
|
-
S: this,
|
|
1934
|
-
C: (f, a) => f(...a)
|
|
1935
|
-
});
|
|
1506
|
+
log8("close", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 197, S: this });
|
|
1936
1507
|
await this._teleport.close();
|
|
1937
1508
|
}
|
|
1938
1509
|
async abort() {
|
|
@@ -1953,22 +1524,20 @@ import { getCredentialAssertion } from "@dxos/credentials";
|
|
|
1953
1524
|
import { failUndefined as failUndefined2 } from "@dxos/debug";
|
|
1954
1525
|
import { PublicKey as PublicKey6 } from "@dxos/keys";
|
|
1955
1526
|
import { log as log9 } from "@dxos/log";
|
|
1956
|
-
import { trace as trace4 } from "@dxos/protocols";
|
|
1957
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";
|
|
1958
1529
|
function _ts_decorate7(decorators, target, key, desc) {
|
|
1959
1530
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1960
1531
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1961
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;
|
|
1962
1533
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1963
1534
|
}
|
|
1964
|
-
var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
1965
1535
|
var SpaceManager = class {
|
|
1966
1536
|
_spaces = new ComplexMap5(PublicKey6.hash);
|
|
1967
1537
|
_feedStore;
|
|
1968
1538
|
_networkManager;
|
|
1969
1539
|
_metadataStore;
|
|
1970
1540
|
_blobStore;
|
|
1971
|
-
_instanceId = PublicKey6.random().toHex();
|
|
1972
1541
|
_disableP2pReplication;
|
|
1973
1542
|
constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }) {
|
|
1974
1543
|
this._feedStore = feedStore;
|
|
@@ -1989,22 +1558,9 @@ var SpaceManager = class {
|
|
|
1989
1558
|
].map((space) => space.close()));
|
|
1990
1559
|
}
|
|
1991
1560
|
async constructSpace({ metadata, swarmIdentity, onAuthorizedConnection, onAuthFailure, onDelegatedInvitationStatusChange, onMemberRolesChanged, memberKey }) {
|
|
1992
|
-
log9.trace("dxos.echo.space-manager.construct-space", trace4.begin({
|
|
1993
|
-
id: this._instanceId
|
|
1994
|
-
}), {
|
|
1995
|
-
F: __dxlog_file11,
|
|
1996
|
-
L: 103,
|
|
1997
|
-
S: this,
|
|
1998
|
-
C: (f, a) => f(...a)
|
|
1999
|
-
});
|
|
2000
1561
|
log9("constructing space...", {
|
|
2001
1562
|
spaceKey: metadata.genesisFeedKey
|
|
2002
|
-
}, {
|
|
2003
|
-
F: __dxlog_file11,
|
|
2004
|
-
L: 104,
|
|
2005
|
-
S: this,
|
|
2006
|
-
C: (f, a) => f(...a)
|
|
2007
|
-
});
|
|
1563
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 47, S: this });
|
|
2008
1564
|
const genesisFeed = await this._feedStore.openFeed(metadata.genesisFeedKey ?? failUndefined2());
|
|
2009
1565
|
const spaceKey = metadata.key;
|
|
2010
1566
|
const spaceId = await createIdFromSpaceKey(spaceKey);
|
|
@@ -2029,34 +1585,12 @@ var SpaceManager = class {
|
|
|
2029
1585
|
onMemberRolesChanged
|
|
2030
1586
|
});
|
|
2031
1587
|
this._spaces.set(space.key, space);
|
|
2032
|
-
log9.trace("dxos.echo.space-manager.construct-space", trace4.end({
|
|
2033
|
-
id: this._instanceId
|
|
2034
|
-
}), {
|
|
2035
|
-
F: __dxlog_file11,
|
|
2036
|
-
L: 134,
|
|
2037
|
-
S: this,
|
|
2038
|
-
C: (f, a) => f(...a)
|
|
2039
|
-
});
|
|
2040
1588
|
return space;
|
|
2041
1589
|
}
|
|
2042
|
-
async requestSpaceAdmissionCredential(params) {
|
|
2043
|
-
const traceKey = "dxos.echo.space-manager.request-space-admission";
|
|
2044
|
-
log9.trace(traceKey, trace4.begin({
|
|
2045
|
-
id: this._instanceId
|
|
2046
|
-
}), {
|
|
2047
|
-
F: __dxlog_file11,
|
|
2048
|
-
L: 140,
|
|
2049
|
-
S: this,
|
|
2050
|
-
C: (f, a) => f(...a)
|
|
2051
|
-
});
|
|
1590
|
+
async requestSpaceAdmissionCredential(ctx, params) {
|
|
2052
1591
|
log9("requesting space admission credential...", {
|
|
2053
1592
|
spaceKey: params.spaceKey
|
|
2054
|
-
}, {
|
|
2055
|
-
F: __dxlog_file11,
|
|
2056
|
-
L: 141,
|
|
2057
|
-
S: this,
|
|
2058
|
-
C: (f, a) => f(...a)
|
|
2059
|
-
});
|
|
1593
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 78, S: this });
|
|
2060
1594
|
const onCredentialResolved = new Trigger2();
|
|
2061
1595
|
const protocol = new SpaceProtocol({
|
|
2062
1596
|
topic: params.spaceKey,
|
|
@@ -2073,32 +1607,15 @@ var SpaceManager = class {
|
|
|
2073
1607
|
disableP2pReplication: this._disableP2pReplication
|
|
2074
1608
|
});
|
|
2075
1609
|
try {
|
|
2076
|
-
await protocol.start();
|
|
1610
|
+
await protocol.start(ctx);
|
|
2077
1611
|
const credential = await onCredentialResolved.wait({
|
|
2078
1612
|
timeout: params.timeout
|
|
2079
1613
|
});
|
|
2080
|
-
log9.trace(traceKey, trace4.end({
|
|
2081
|
-
id: this._instanceId
|
|
2082
|
-
}), {
|
|
2083
|
-
F: __dxlog_file11,
|
|
2084
|
-
L: 165,
|
|
2085
|
-
S: this,
|
|
2086
|
-
C: (f, a) => f(...a)
|
|
2087
|
-
});
|
|
2088
1614
|
return credential;
|
|
2089
1615
|
} catch (err) {
|
|
2090
|
-
log9.trace(traceKey, trace4.error({
|
|
2091
|
-
id: this._instanceId,
|
|
2092
|
-
error: err
|
|
2093
|
-
}), {
|
|
2094
|
-
F: __dxlog_file11,
|
|
2095
|
-
L: 168,
|
|
2096
|
-
S: this,
|
|
2097
|
-
C: (f, a) => f(...a)
|
|
2098
|
-
});
|
|
2099
1616
|
throw err;
|
|
2100
1617
|
} finally {
|
|
2101
|
-
await protocol.stop();
|
|
1618
|
+
await protocol.stop(ctx);
|
|
2102
1619
|
}
|
|
2103
1620
|
}
|
|
2104
1621
|
findSpaceByRootDocumentId(documentId) {
|
|
@@ -2151,4 +1668,4 @@ export {
|
|
|
2151
1668
|
SpaceProtocolSession,
|
|
2152
1669
|
SpaceManager
|
|
2153
1670
|
};
|
|
2154
|
-
//# sourceMappingURL=chunk-
|
|
1671
|
+
//# sourceMappingURL=chunk-VIHYDCCC.mjs.map
|