@dxos/echo-pipeline 0.6.1 → 0.6.2-main.8a232a5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{chunk-DMUP426Q.mjs → chunk-UJQ5VS5V.mjs} +383 -196
- package/dist/lib/browser/chunk-UJQ5VS5V.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +59 -562
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-NH5WJKOW.cjs → chunk-RH6TDRML.cjs} +438 -256
- package/dist/lib/node/chunk-RH6TDRML.cjs.map +7 -0
- package/dist/lib/node/index.cjs +80 -581
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +11 -11
- package/dist/types/src/automerge/automerge-host.d.ts +2 -17
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts +1 -1
- package/dist/types/src/automerge/index.d.ts +0 -2
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/db-host/data-service.d.ts +10 -7
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-synchronizer.d.ts +43 -0
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -0
- package/dist/types/src/db-host/documents-synchronizer.test.d.ts +2 -0
- package/dist/types/src/db-host/documents-synchronizer.test.d.ts.map +1 -0
- package/dist/types/src/db-host/index.d.ts +1 -0
- package/dist/types/src/db-host/index.d.ts.map +1 -1
- package/package.json +33 -33
- package/src/automerge/automerge-host.ts +6 -56
- package/src/automerge/automerge-repo.test.ts +124 -1
- package/src/automerge/echo-network-adapter.ts +1 -1
- package/src/automerge/index.ts +0 -2
- package/src/db-host/data-service.ts +49 -25
- package/src/db-host/documents-synchronizer.test.ts +40 -0
- package/src/db-host/documents-synchronizer.ts +156 -0
- package/src/db-host/index.ts +1 -0
- package/dist/lib/browser/chunk-DMUP426Q.mjs.map +0 -7
- package/dist/lib/node/chunk-NH5WJKOW.cjs.map +0 -7
- package/dist/types/src/automerge/automerge-doc-loader.d.ts +0 -71
- package/dist/types/src/automerge/automerge-doc-loader.d.ts.map +0 -1
- package/dist/types/src/automerge/automerge-doc-loader.test.d.ts +0 -2
- package/dist/types/src/automerge/automerge-doc-loader.test.d.ts.map +0 -1
- package/dist/types/src/automerge/local-host-network-adapter.d.ts +0 -30
- package/dist/types/src/automerge/local-host-network-adapter.d.ts.map +0 -1
- package/src/automerge/automerge-doc-loader.test.ts +0 -103
- package/src/automerge/automerge-doc-loader.ts +0 -267
- package/src/automerge/local-host-network-adapter.ts +0 -115
|
@@ -121,31 +121,217 @@ var SnapshotStore = class {
|
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
+
// packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts
|
|
125
|
+
import { UpdateScheduler } from "@dxos/async";
|
|
126
|
+
import { next as A } from "@dxos/automerge/automerge";
|
|
127
|
+
import { Resource } from "@dxos/context";
|
|
128
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
129
|
+
import { log } from "@dxos/log";
|
|
130
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts";
|
|
131
|
+
var MAX_UPDATE_FREQ = 10;
|
|
132
|
+
var DocumentsSynchronizer = class extends Resource {
|
|
133
|
+
constructor(_params) {
|
|
134
|
+
super();
|
|
135
|
+
this._params = _params;
|
|
136
|
+
this._syncStates = /* @__PURE__ */ new Map();
|
|
137
|
+
this._pendingUpdates = /* @__PURE__ */ new Set();
|
|
138
|
+
this._sendUpdatesJob = void 0;
|
|
139
|
+
}
|
|
140
|
+
async addDocuments(documentIds) {
|
|
141
|
+
for (const documentId of documentIds) {
|
|
142
|
+
const doc = this._params.repo.find(documentId);
|
|
143
|
+
await doc.whenReady();
|
|
144
|
+
this._startSync(doc);
|
|
145
|
+
this._pendingUpdates.add(doc.documentId);
|
|
146
|
+
}
|
|
147
|
+
this._sendUpdatesJob.trigger();
|
|
148
|
+
}
|
|
149
|
+
removeDocuments(documentIds) {
|
|
150
|
+
for (const documentId of documentIds) {
|
|
151
|
+
this._syncStates.get(documentId)?.clearSubscriptions?.();
|
|
152
|
+
this._syncStates.delete(documentId);
|
|
153
|
+
this._pendingUpdates.delete(documentId);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async _open() {
|
|
157
|
+
this._sendUpdatesJob = new UpdateScheduler(this._ctx, this._checkAndSendUpdates.bind(this), {
|
|
158
|
+
maxFrequency: MAX_UPDATE_FREQ
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async _close() {
|
|
162
|
+
await this._sendUpdatesJob.join();
|
|
163
|
+
this._syncStates.clear();
|
|
164
|
+
}
|
|
165
|
+
update(updates) {
|
|
166
|
+
for (const { documentId, mutation, isNew } of updates) {
|
|
167
|
+
if (isNew) {
|
|
168
|
+
const doc = this._params.repo.find(documentId);
|
|
169
|
+
doc.update((doc2) => A.loadIncremental(doc2, mutation));
|
|
170
|
+
this._startSync(doc);
|
|
171
|
+
} else {
|
|
172
|
+
this._writeMutation(documentId, mutation);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
_startSync(doc) {
|
|
177
|
+
if (this._syncStates.has(doc.documentId)) {
|
|
178
|
+
log.info("Document already being synced", {
|
|
179
|
+
documentId: doc.documentId
|
|
180
|
+
}, {
|
|
181
|
+
F: __dxlog_file2,
|
|
182
|
+
L: 90,
|
|
183
|
+
S: this,
|
|
184
|
+
C: (f, a) => f(...a)
|
|
185
|
+
});
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const syncState = {
|
|
189
|
+
handle: doc
|
|
190
|
+
};
|
|
191
|
+
this._subscribeForChanges(syncState);
|
|
192
|
+
this._syncStates.set(doc.documentId, syncState);
|
|
193
|
+
}
|
|
194
|
+
_subscribeForChanges(syncState) {
|
|
195
|
+
const handler = () => {
|
|
196
|
+
this._pendingUpdates.add(syncState.handle.documentId);
|
|
197
|
+
this._sendUpdatesJob.trigger();
|
|
198
|
+
};
|
|
199
|
+
syncState.handle.on("heads-changed", handler);
|
|
200
|
+
syncState.clearSubscriptions = () => syncState.handle.off("heads-changed", handler);
|
|
201
|
+
}
|
|
202
|
+
async _checkAndSendUpdates() {
|
|
203
|
+
const updates = [];
|
|
204
|
+
const docsWithPendingUpdates = Array.from(this._pendingUpdates);
|
|
205
|
+
this._pendingUpdates.clear();
|
|
206
|
+
for (const documentId of docsWithPendingUpdates) {
|
|
207
|
+
const update = this._getPendingChanges(documentId);
|
|
208
|
+
if (update) {
|
|
209
|
+
updates.push({
|
|
210
|
+
documentId,
|
|
211
|
+
mutation: update
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
if (updates.length > 0) {
|
|
216
|
+
this._params.sendUpdates({
|
|
217
|
+
updates
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
_getPendingChanges(documentId) {
|
|
222
|
+
const syncState = this._syncStates.get(documentId);
|
|
223
|
+
invariant2(syncState, "Sync state for document not found", {
|
|
224
|
+
F: __dxlog_file2,
|
|
225
|
+
L: 131,
|
|
226
|
+
S: this,
|
|
227
|
+
A: [
|
|
228
|
+
"syncState",
|
|
229
|
+
"'Sync state for document not found'"
|
|
230
|
+
]
|
|
231
|
+
});
|
|
232
|
+
const doc = syncState.handle.docSync();
|
|
233
|
+
if (!doc) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const mutation = syncState.lastSentHead ? A.saveSince(doc, syncState.lastSentHead) : A.save(doc);
|
|
237
|
+
if (mutation.length === 0) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
syncState.lastSentHead = A.getHeads(doc);
|
|
241
|
+
return mutation;
|
|
242
|
+
}
|
|
243
|
+
_writeMutation(documentId, mutation) {
|
|
244
|
+
const syncState = this._syncStates.get(documentId);
|
|
245
|
+
invariant2(syncState, "Sync state for document not found", {
|
|
246
|
+
F: __dxlog_file2,
|
|
247
|
+
L: 146,
|
|
248
|
+
S: this,
|
|
249
|
+
A: [
|
|
250
|
+
"syncState",
|
|
251
|
+
"'Sync state for document not found'"
|
|
252
|
+
]
|
|
253
|
+
});
|
|
254
|
+
syncState.handle.update((doc) => {
|
|
255
|
+
const headsBefore = A.getHeads(doc);
|
|
256
|
+
const newDoc = A.loadIncremental(doc, mutation);
|
|
257
|
+
if (A.equals(headsBefore, syncState.lastSentHead)) {
|
|
258
|
+
syncState.lastSentHead = A.getHeads(newDoc);
|
|
259
|
+
}
|
|
260
|
+
return newDoc;
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
|
|
124
265
|
// packages/core/echo/echo-pipeline/src/db-host/data-service.ts
|
|
266
|
+
import { Stream } from "@dxos/codec-protobuf";
|
|
267
|
+
import { invariant as invariant3 } from "@dxos/invariant";
|
|
268
|
+
import { log as log2 } from "@dxos/log";
|
|
269
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/data-service.ts";
|
|
125
270
|
var DataServiceImpl = class {
|
|
126
271
|
constructor(params) {
|
|
272
|
+
/**
|
|
273
|
+
* Map of subscriptions.
|
|
274
|
+
* subscriptionId -> DocumentsSynchronizer
|
|
275
|
+
*/
|
|
276
|
+
this._subscriptions = /* @__PURE__ */ new Map();
|
|
127
277
|
this._automergeHost = params.automergeHost;
|
|
128
278
|
this._updateIndexes = params.updateIndexes;
|
|
129
279
|
}
|
|
130
280
|
subscribe(request) {
|
|
131
|
-
|
|
281
|
+
return new Stream(({ next, ready }) => {
|
|
282
|
+
const synchronizer = new DocumentsSynchronizer({
|
|
283
|
+
repo: this._automergeHost.repo,
|
|
284
|
+
sendUpdates: (updates) => next(updates)
|
|
285
|
+
});
|
|
286
|
+
synchronizer.open().then(() => {
|
|
287
|
+
this._subscriptions.set(request.subscriptionId, synchronizer);
|
|
288
|
+
ready();
|
|
289
|
+
}).catch((err) => log2.catch(err, void 0, {
|
|
290
|
+
F: __dxlog_file3,
|
|
291
|
+
L: 62,
|
|
292
|
+
S: this,
|
|
293
|
+
C: (f, a) => f(...a)
|
|
294
|
+
}));
|
|
295
|
+
return () => synchronizer.close();
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
async updateSubscription(request) {
|
|
299
|
+
const synchronizer = this._subscriptions.get(request.subscriptionId);
|
|
300
|
+
invariant3(synchronizer, "Subscription not found", {
|
|
301
|
+
F: __dxlog_file3,
|
|
302
|
+
L: 69,
|
|
303
|
+
S: this,
|
|
304
|
+
A: [
|
|
305
|
+
"synchronizer",
|
|
306
|
+
"'Subscription not found'"
|
|
307
|
+
]
|
|
308
|
+
});
|
|
309
|
+
if (request.addIds?.length) {
|
|
310
|
+
await synchronizer.addDocuments(request.addIds);
|
|
311
|
+
}
|
|
312
|
+
if (request.removeIds?.length) {
|
|
313
|
+
await synchronizer.removeDocuments(request.removeIds);
|
|
314
|
+
}
|
|
132
315
|
}
|
|
133
|
-
|
|
134
|
-
|
|
316
|
+
async update(request) {
|
|
317
|
+
if (!request.updates) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
const synchronizer = this._subscriptions.get(request.subscriptionId);
|
|
321
|
+
invariant3(synchronizer, "Subscription not found", {
|
|
322
|
+
F: __dxlog_file3,
|
|
323
|
+
L: 84,
|
|
324
|
+
S: this,
|
|
325
|
+
A: [
|
|
326
|
+
"synchronizer",
|
|
327
|
+
"'Subscription not found'"
|
|
328
|
+
]
|
|
329
|
+
});
|
|
330
|
+
synchronizer.update(request.updates);
|
|
135
331
|
}
|
|
136
332
|
async flush(request) {
|
|
137
333
|
await this._automergeHost.flush(request);
|
|
138
334
|
}
|
|
139
|
-
// Automerge specific.
|
|
140
|
-
async getHostInfo(request) {
|
|
141
|
-
return this._automergeHost.getHostInfo();
|
|
142
|
-
}
|
|
143
|
-
syncRepo(request) {
|
|
144
|
-
return this._automergeHost.syncRepo(request);
|
|
145
|
-
}
|
|
146
|
-
sendSyncMessage(request) {
|
|
147
|
-
return this._automergeHost.sendSyncMessage(request);
|
|
148
|
-
}
|
|
149
335
|
async getDocumentHeads(request) {
|
|
150
336
|
const entries = await Promise.all(request.documentIds?.map(async (documentId) => {
|
|
151
337
|
const heads = await this._automergeHost.getHeads(documentId);
|
|
@@ -175,9 +361,9 @@ var DataServiceImpl = class {
|
|
|
175
361
|
import CRC32 from "crc-32";
|
|
176
362
|
import { Event, scheduleTaskInterval, synchronized } from "@dxos/async";
|
|
177
363
|
import { Context } from "@dxos/context";
|
|
178
|
-
import { invariant as
|
|
364
|
+
import { invariant as invariant4 } from "@dxos/invariant";
|
|
179
365
|
import { PublicKey as PublicKey2 } from "@dxos/keys";
|
|
180
|
-
import { log } from "@dxos/log";
|
|
366
|
+
import { log as log3 } from "@dxos/log";
|
|
181
367
|
import { DataCorruptionError, STORAGE_VERSION, schema as schema4 } from "@dxos/protocols";
|
|
182
368
|
import { Invitation, SpaceState } from "@dxos/protocols/proto/dxos/client/services";
|
|
183
369
|
import { ComplexMap, arrayToBuffer, forEachAsync, isNotNullOrUndefined } from "@dxos/util";
|
|
@@ -191,7 +377,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
191
377
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
192
378
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
193
379
|
}
|
|
194
|
-
var
|
|
380
|
+
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts";
|
|
195
381
|
var EXPIRED_INVITATION_CLEANUP_INTERVAL = 60 * 60 * 1e3;
|
|
196
382
|
var emptyEchoMetadata = () => ({
|
|
197
383
|
version: STORAGE_VERSION,
|
|
@@ -209,7 +395,7 @@ var MetadataStore = class {
|
|
|
209
395
|
this._metadataFile = void 0;
|
|
210
396
|
this.update = new Event();
|
|
211
397
|
this._invitationCleanupCtx = new Context(void 0, {
|
|
212
|
-
F:
|
|
398
|
+
F: __dxlog_file4,
|
|
213
399
|
L: 53
|
|
214
400
|
});
|
|
215
401
|
this._directory = directory;
|
|
@@ -235,12 +421,12 @@ var MetadataStore = class {
|
|
|
235
421
|
}
|
|
236
422
|
const dataSize = fromBytesInt32(await file.read(0, 4));
|
|
237
423
|
const checksum = fromBytesInt32(await file.read(4, 4));
|
|
238
|
-
|
|
424
|
+
log3("loaded", {
|
|
239
425
|
size: dataSize,
|
|
240
426
|
checksum,
|
|
241
427
|
name: file.filename
|
|
242
428
|
}, {
|
|
243
|
-
F:
|
|
429
|
+
F: __dxlog_file4,
|
|
244
430
|
L: 89,
|
|
245
431
|
S: this,
|
|
246
432
|
C: (f, a) => f(...a)
|
|
@@ -272,11 +458,11 @@ var MetadataStore = class {
|
|
|
272
458
|
result.writeInt32LE(checksum, 4);
|
|
273
459
|
encoded.copy(result, 8);
|
|
274
460
|
await file.write(0, result);
|
|
275
|
-
|
|
461
|
+
log3("saved", {
|
|
276
462
|
size: encoded.length,
|
|
277
463
|
checksum
|
|
278
464
|
}, {
|
|
279
|
-
F:
|
|
465
|
+
F: __dxlog_file4,
|
|
280
466
|
L: 124,
|
|
281
467
|
S: this,
|
|
282
468
|
C: (f, a) => f(...a)
|
|
@@ -306,10 +492,10 @@ var MetadataStore = class {
|
|
|
306
492
|
space.state ??= SpaceState.ACTIVE;
|
|
307
493
|
});
|
|
308
494
|
} catch (err) {
|
|
309
|
-
|
|
495
|
+
log3.error("failed to load metadata", {
|
|
310
496
|
err
|
|
311
497
|
}, {
|
|
312
|
-
F:
|
|
498
|
+
F: __dxlog_file4,
|
|
313
499
|
L: 156,
|
|
314
500
|
S: this,
|
|
315
501
|
C: (f, a) => f(...a)
|
|
@@ -323,10 +509,10 @@ var MetadataStore = class {
|
|
|
323
509
|
try {
|
|
324
510
|
await this._loadSpaceLargeMetadata(key);
|
|
325
511
|
} catch (err) {
|
|
326
|
-
|
|
512
|
+
log3.error("failed to load space large metadata", {
|
|
327
513
|
err
|
|
328
514
|
}, {
|
|
329
|
-
F:
|
|
515
|
+
F: __dxlog_file4,
|
|
330
516
|
L: 168,
|
|
331
517
|
S: this,
|
|
332
518
|
C: (f, a) => f(...a)
|
|
@@ -360,10 +546,10 @@ var MetadataStore = class {
|
|
|
360
546
|
this._spaceLargeMetadata.set(key, metadata);
|
|
361
547
|
}
|
|
362
548
|
} catch (err) {
|
|
363
|
-
|
|
549
|
+
log3.error("failed to load space large metadata", {
|
|
364
550
|
err
|
|
365
551
|
}, {
|
|
366
|
-
F:
|
|
552
|
+
F: __dxlog_file4,
|
|
367
553
|
L: 210,
|
|
368
554
|
S: this,
|
|
369
555
|
C: (f, a) => f(...a)
|
|
@@ -383,8 +569,8 @@ var MetadataStore = class {
|
|
|
383
569
|
return this._metadata.identity.haloSpace;
|
|
384
570
|
}
|
|
385
571
|
const space = this.spaces.find((space2) => space2.key === spaceKey);
|
|
386
|
-
|
|
387
|
-
F:
|
|
572
|
+
invariant4(space, "Space not found", {
|
|
573
|
+
F: __dxlog_file4,
|
|
388
574
|
L: 232,
|
|
389
575
|
S: this,
|
|
390
576
|
A: [
|
|
@@ -407,8 +593,8 @@ var MetadataStore = class {
|
|
|
407
593
|
* Clears storage - doesn't work for now.
|
|
408
594
|
*/
|
|
409
595
|
async clear() {
|
|
410
|
-
|
|
411
|
-
F:
|
|
596
|
+
log3("clearing all metadata", void 0, {
|
|
597
|
+
F: __dxlog_file4,
|
|
412
598
|
L: 251,
|
|
413
599
|
S: this,
|
|
414
600
|
C: (f, a) => f(...a)
|
|
@@ -420,8 +606,8 @@ var MetadataStore = class {
|
|
|
420
606
|
return this._metadata.identity;
|
|
421
607
|
}
|
|
422
608
|
async setIdentityRecord(record) {
|
|
423
|
-
|
|
424
|
-
F:
|
|
609
|
+
invariant4(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
|
|
610
|
+
F: __dxlog_file4,
|
|
425
611
|
L: 261,
|
|
426
612
|
S: this,
|
|
427
613
|
A: [
|
|
@@ -450,8 +636,8 @@ var MetadataStore = class {
|
|
|
450
636
|
await this.flush();
|
|
451
637
|
}
|
|
452
638
|
async addSpace(record) {
|
|
453
|
-
|
|
454
|
-
F:
|
|
639
|
+
invariant4(!(this._metadata.spaces ?? []).find((space) => space.key === record.key), "Cannot overwrite existing space in metadata", {
|
|
640
|
+
F: __dxlog_file4,
|
|
455
641
|
L: 289,
|
|
456
642
|
S: this,
|
|
457
643
|
A: [
|
|
@@ -517,7 +703,7 @@ var isLegacyInvitationFormat = (invitation) => {
|
|
|
517
703
|
// packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts
|
|
518
704
|
import { Event as Event2 } from "@dxos/async";
|
|
519
705
|
import { timed } from "@dxos/debug";
|
|
520
|
-
import { log as
|
|
706
|
+
import { log as log4 } from "@dxos/log";
|
|
521
707
|
import { Timeframe } from "@dxos/timeframe";
|
|
522
708
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
523
709
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -529,7 +715,7 @@ function _ts_decorate2(decorators, target, key, desc) {
|
|
|
529
715
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
530
716
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
531
717
|
}
|
|
532
|
-
var
|
|
718
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts";
|
|
533
719
|
var mapTimeframeToFeedIndexes = (timeframe) => timeframe.frames().map(([feedKey, index]) => ({
|
|
534
720
|
feedKey,
|
|
535
721
|
index
|
|
@@ -583,22 +769,22 @@ var TimeframeClock = class {
|
|
|
583
769
|
return !gaps.isEmpty();
|
|
584
770
|
}
|
|
585
771
|
async waitUntilReached(target) {
|
|
586
|
-
|
|
772
|
+
log4("waitUntilReached", {
|
|
587
773
|
target,
|
|
588
774
|
current: this._timeframe
|
|
589
775
|
}, {
|
|
590
|
-
F:
|
|
776
|
+
F: __dxlog_file5,
|
|
591
777
|
L: 70,
|
|
592
778
|
S: this,
|
|
593
779
|
C: (f, a) => f(...a)
|
|
594
780
|
});
|
|
595
781
|
await this.update.waitForCondition(() => {
|
|
596
|
-
|
|
782
|
+
log4("check if reached", {
|
|
597
783
|
target,
|
|
598
784
|
current: this._timeframe,
|
|
599
785
|
deps: Timeframe.dependencies(target, this._timeframe)
|
|
600
786
|
}, {
|
|
601
|
-
F:
|
|
787
|
+
F: __dxlog_file5,
|
|
602
788
|
L: 72,
|
|
603
789
|
S: this,
|
|
604
790
|
C: (f, a) => f(...a)
|
|
@@ -616,22 +802,22 @@ import { Event as Event3, sleepWithContext, synchronized as synchronized2, Trigg
|
|
|
616
802
|
import { Context as Context2, rejectOnDispose } from "@dxos/context";
|
|
617
803
|
import { failUndefined } from "@dxos/debug";
|
|
618
804
|
import { FeedSetIterator } from "@dxos/feed-store";
|
|
619
|
-
import { invariant as
|
|
805
|
+
import { invariant as invariant6 } from "@dxos/invariant";
|
|
620
806
|
import { PublicKey as PublicKey3 } from "@dxos/keys";
|
|
621
|
-
import { log as
|
|
807
|
+
import { log as log6 } from "@dxos/log";
|
|
622
808
|
import { Timeframe as Timeframe2 } from "@dxos/timeframe";
|
|
623
809
|
import { ComplexMap as ComplexMap2 } from "@dxos/util";
|
|
624
810
|
|
|
625
811
|
// packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts
|
|
626
|
-
import { invariant as
|
|
627
|
-
import { log as
|
|
628
|
-
var
|
|
812
|
+
import { invariant as invariant5 } from "@dxos/invariant";
|
|
813
|
+
import { log as log5 } from "@dxos/log";
|
|
814
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts";
|
|
629
815
|
var createMessageSelector = (timeframeClock) => {
|
|
630
816
|
return (messages) => {
|
|
631
817
|
for (let i = 0; i < messages.length; i++) {
|
|
632
818
|
const { data: { timeframe } } = messages[i];
|
|
633
|
-
|
|
634
|
-
F:
|
|
819
|
+
invariant5(timeframe, void 0, {
|
|
820
|
+
F: __dxlog_file6,
|
|
635
821
|
L: 25,
|
|
636
822
|
S: void 0,
|
|
637
823
|
A: [
|
|
@@ -643,8 +829,8 @@ var createMessageSelector = (timeframeClock) => {
|
|
|
643
829
|
return i;
|
|
644
830
|
}
|
|
645
831
|
}
|
|
646
|
-
|
|
647
|
-
F:
|
|
832
|
+
log5("Skipping...", void 0, {
|
|
833
|
+
F: __dxlog_file6,
|
|
648
834
|
L: 33,
|
|
649
835
|
S: void 0,
|
|
650
836
|
C: (f, a) => f(...a)
|
|
@@ -663,13 +849,13 @@ function _ts_decorate3(decorators, target, key, desc) {
|
|
|
663
849
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
664
850
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
665
851
|
}
|
|
666
|
-
var
|
|
852
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts";
|
|
667
853
|
var PipelineState = class {
|
|
668
854
|
constructor(_feeds, _timeframeClock) {
|
|
669
855
|
this._feeds = _feeds;
|
|
670
856
|
this._timeframeClock = _timeframeClock;
|
|
671
857
|
this._ctx = new Context2(void 0, {
|
|
672
|
-
F:
|
|
858
|
+
F: __dxlog_file7,
|
|
673
859
|
L: 41
|
|
674
860
|
});
|
|
675
861
|
this.timeframeUpdate = this._timeframeClock.update;
|
|
@@ -720,15 +906,15 @@ var PipelineState = class {
|
|
|
720
906
|
* @param timeout Timeout in milliseconds to specify the maximum wait time.
|
|
721
907
|
*/
|
|
722
908
|
async waitUntilReachedTargetTimeframe({ ctx = new Context2(void 0, {
|
|
723
|
-
F:
|
|
909
|
+
F: __dxlog_file7,
|
|
724
910
|
L: 129
|
|
725
911
|
}), timeout, breakOnStall = true } = {}) {
|
|
726
|
-
|
|
912
|
+
log6("waitUntilReachedTargetTimeframe", {
|
|
727
913
|
timeout,
|
|
728
914
|
current: this.timeframe,
|
|
729
915
|
target: this.targetTimeframe
|
|
730
916
|
}, {
|
|
731
|
-
F:
|
|
917
|
+
F: __dxlog_file7,
|
|
732
918
|
L: 133,
|
|
733
919
|
S: this,
|
|
734
920
|
C: (f, a) => f(...a)
|
|
@@ -754,13 +940,13 @@ var PipelineState = class {
|
|
|
754
940
|
if (done) {
|
|
755
941
|
return;
|
|
756
942
|
}
|
|
757
|
-
|
|
943
|
+
log6.warn("waitUntilReachedTargetTimeframe timed out", {
|
|
758
944
|
timeout,
|
|
759
945
|
current: this.timeframe,
|
|
760
946
|
target: this.targetTimeframe,
|
|
761
947
|
dependencies: Timeframe2.dependencies(this.targetTimeframe, this.timeframe)
|
|
762
948
|
}, {
|
|
763
|
-
F:
|
|
949
|
+
F: __dxlog_file7,
|
|
764
950
|
L: 161,
|
|
765
951
|
S: this,
|
|
766
952
|
C: (f, a) => f(...a)
|
|
@@ -792,8 +978,8 @@ var Pipeline = class {
|
|
|
792
978
|
return this._state;
|
|
793
979
|
}
|
|
794
980
|
get writer() {
|
|
795
|
-
|
|
796
|
-
F:
|
|
981
|
+
invariant6(this._writer, "Writer not set.", {
|
|
982
|
+
F: __dxlog_file7,
|
|
797
983
|
L: 243,
|
|
798
984
|
S: this,
|
|
799
985
|
A: [
|
|
@@ -821,8 +1007,8 @@ var Pipeline = class {
|
|
|
821
1007
|
}
|
|
822
1008
|
}
|
|
823
1009
|
setWriteFeed(feed) {
|
|
824
|
-
|
|
825
|
-
F:
|
|
1010
|
+
invariant6(!this._writer, "Writer already set.", {
|
|
1011
|
+
F: __dxlog_file7,
|
|
826
1012
|
L: 270,
|
|
827
1013
|
S: this,
|
|
828
1014
|
A: [
|
|
@@ -830,8 +1016,8 @@ var Pipeline = class {
|
|
|
830
1016
|
"'Writer already set.'"
|
|
831
1017
|
]
|
|
832
1018
|
});
|
|
833
|
-
|
|
834
|
-
F:
|
|
1019
|
+
invariant6(feed.properties.writable, "Feed must be writable.", {
|
|
1020
|
+
F: __dxlog_file7,
|
|
835
1021
|
L: 271,
|
|
836
1022
|
S: this,
|
|
837
1023
|
A: [
|
|
@@ -845,8 +1031,8 @@ var Pipeline = class {
|
|
|
845
1031
|
}), feed.createFeedWriter());
|
|
846
1032
|
}
|
|
847
1033
|
async start() {
|
|
848
|
-
|
|
849
|
-
F:
|
|
1034
|
+
invariant6(!this._isStarted, "Pipeline is already started.", {
|
|
1035
|
+
F: __dxlog_file7,
|
|
850
1036
|
L: 284,
|
|
851
1037
|
S: this,
|
|
852
1038
|
A: [
|
|
@@ -854,8 +1040,8 @@ var Pipeline = class {
|
|
|
854
1040
|
"'Pipeline is already started.'"
|
|
855
1041
|
]
|
|
856
1042
|
});
|
|
857
|
-
|
|
858
|
-
F:
|
|
1043
|
+
log6("starting...", void 0, {
|
|
1044
|
+
F: __dxlog_file7,
|
|
859
1045
|
L: 285,
|
|
860
1046
|
S: this,
|
|
861
1047
|
C: (f, a) => f(...a)
|
|
@@ -863,8 +1049,8 @@ var Pipeline = class {
|
|
|
863
1049
|
await this._initIterator();
|
|
864
1050
|
await this._feedSetIterator.open();
|
|
865
1051
|
this._isStarted = true;
|
|
866
|
-
|
|
867
|
-
F:
|
|
1052
|
+
log6("started", void 0, {
|
|
1053
|
+
F: __dxlog_file7,
|
|
868
1054
|
L: 289,
|
|
869
1055
|
S: this,
|
|
870
1056
|
C: (f, a) => f(...a)
|
|
@@ -876,8 +1062,8 @@ var Pipeline = class {
|
|
|
876
1062
|
}
|
|
877
1063
|
}
|
|
878
1064
|
async stop() {
|
|
879
|
-
|
|
880
|
-
F:
|
|
1065
|
+
log6("stopping...", void 0, {
|
|
1066
|
+
F: __dxlog_file7,
|
|
881
1067
|
L: 300,
|
|
882
1068
|
S: this,
|
|
883
1069
|
C: (f, a) => f(...a)
|
|
@@ -891,14 +1077,14 @@ var Pipeline = class {
|
|
|
891
1077
|
await this._processingTrigger.wait();
|
|
892
1078
|
await this._state._ctx.dispose();
|
|
893
1079
|
this._state._ctx = new Context2(void 0, {
|
|
894
|
-
F:
|
|
1080
|
+
F: __dxlog_file7,
|
|
895
1081
|
L: 309
|
|
896
1082
|
});
|
|
897
1083
|
this._state._reachedTargetPromise = void 0;
|
|
898
1084
|
this._state._reachedTarget = false;
|
|
899
1085
|
this._isStarted = false;
|
|
900
|
-
|
|
901
|
-
F:
|
|
1086
|
+
log6("stopped", void 0, {
|
|
1087
|
+
F: __dxlog_file7,
|
|
902
1088
|
L: 313,
|
|
903
1089
|
S: this,
|
|
904
1090
|
C: (f, a) => f(...a)
|
|
@@ -909,8 +1095,8 @@ var Pipeline = class {
|
|
|
909
1095
|
* The pipeline will start processing messages AFTER this timeframe.
|
|
910
1096
|
*/
|
|
911
1097
|
async setCursor(timeframe) {
|
|
912
|
-
|
|
913
|
-
F:
|
|
1098
|
+
invariant6(!this._isStarted || this._isPaused, "Invalid state.", {
|
|
1099
|
+
F: __dxlog_file7,
|
|
914
1100
|
L: 322,
|
|
915
1101
|
S: this,
|
|
916
1102
|
A: [
|
|
@@ -938,8 +1124,8 @@ var Pipeline = class {
|
|
|
938
1124
|
this._isPaused = true;
|
|
939
1125
|
}
|
|
940
1126
|
async unpause() {
|
|
941
|
-
|
|
942
|
-
F:
|
|
1127
|
+
invariant6(this._isPaused, "Pipeline is not paused.", {
|
|
1128
|
+
F: __dxlog_file7,
|
|
943
1129
|
L: 351,
|
|
944
1130
|
S: this,
|
|
945
1131
|
A: [
|
|
@@ -958,8 +1144,8 @@ var Pipeline = class {
|
|
|
958
1144
|
* Updates the timeframe clock after the message has bee processed.
|
|
959
1145
|
*/
|
|
960
1146
|
async *consume() {
|
|
961
|
-
|
|
962
|
-
F:
|
|
1147
|
+
invariant6(!this._isBeingConsumed, "Pipeline is already being consumed.", {
|
|
1148
|
+
F: __dxlog_file7,
|
|
963
1149
|
L: 366,
|
|
964
1150
|
S: this,
|
|
965
1151
|
A: [
|
|
@@ -968,8 +1154,8 @@ var Pipeline = class {
|
|
|
968
1154
|
]
|
|
969
1155
|
});
|
|
970
1156
|
this._isBeingConsumed = true;
|
|
971
|
-
|
|
972
|
-
F:
|
|
1157
|
+
invariant6(this._feedSetIterator, "Iterator not initialized.", {
|
|
1158
|
+
F: __dxlog_file7,
|
|
973
1159
|
L: 369,
|
|
974
1160
|
S: this,
|
|
975
1161
|
A: [
|
|
@@ -982,8 +1168,8 @@ var Pipeline = class {
|
|
|
982
1168
|
while (!this._isStopping) {
|
|
983
1169
|
await this._pauseTrigger.wait();
|
|
984
1170
|
if (lastFeedSetIterator !== this._feedSetIterator) {
|
|
985
|
-
|
|
986
|
-
F:
|
|
1171
|
+
invariant6(this._feedSetIterator, "Iterator not initialized.", {
|
|
1172
|
+
F: __dxlog_file7,
|
|
987
1173
|
L: 378,
|
|
988
1174
|
S: this,
|
|
989
1175
|
A: [
|
|
@@ -1013,12 +1199,12 @@ var Pipeline = class {
|
|
|
1013
1199
|
}
|
|
1014
1200
|
const timeframe = this._state._startTimeframe;
|
|
1015
1201
|
const seq = timeframe.get(feed.key) ?? -1;
|
|
1016
|
-
|
|
1202
|
+
log6("download", {
|
|
1017
1203
|
feed: feed.key.truncate(),
|
|
1018
1204
|
seq,
|
|
1019
1205
|
length: feed.length
|
|
1020
1206
|
}, {
|
|
1021
|
-
F:
|
|
1207
|
+
F: __dxlog_file7,
|
|
1022
1208
|
L: 407,
|
|
1023
1209
|
S: this,
|
|
1024
1210
|
C: (f, a) => f(...a)
|
|
@@ -1029,10 +1215,10 @@ var Pipeline = class {
|
|
|
1029
1215
|
}, (err, data) => {
|
|
1030
1216
|
if (err) {
|
|
1031
1217
|
} else {
|
|
1032
|
-
|
|
1218
|
+
log6.info("downloaded", {
|
|
1033
1219
|
data
|
|
1034
1220
|
}, {
|
|
1035
|
-
F:
|
|
1221
|
+
F: __dxlog_file7,
|
|
1036
1222
|
L: 412,
|
|
1037
1223
|
S: this,
|
|
1038
1224
|
C: (f, a) => f(...a)
|
|
@@ -1047,8 +1233,8 @@ var Pipeline = class {
|
|
|
1047
1233
|
stallTimeout: 1e3
|
|
1048
1234
|
});
|
|
1049
1235
|
this._feedSetIterator.stalled.on((iterator) => {
|
|
1050
|
-
|
|
1051
|
-
F:
|
|
1236
|
+
log6.warn(`Stalled after ${iterator.options.stallTimeout}ms with ${iterator.size} feeds.`, void 0, {
|
|
1237
|
+
F: __dxlog_file7,
|
|
1052
1238
|
L: 426,
|
|
1053
1239
|
S: this,
|
|
1054
1240
|
C: (f, a) => f(...a)
|
|
@@ -1080,11 +1266,11 @@ _ts_decorate3([
|
|
|
1080
1266
|
import { runInContext, scheduleTask } from "@dxos/async";
|
|
1081
1267
|
import { Context as Context3 } from "@dxos/context";
|
|
1082
1268
|
import { randomBytes } from "@dxos/crypto";
|
|
1083
|
-
import { invariant as
|
|
1084
|
-
import { log as
|
|
1269
|
+
import { invariant as invariant7 } from "@dxos/invariant";
|
|
1270
|
+
import { log as log7 } from "@dxos/log";
|
|
1085
1271
|
import { schema as schema5 } from "@dxos/protocols";
|
|
1086
1272
|
import { RpcExtension } from "@dxos/teleport";
|
|
1087
|
-
var
|
|
1273
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/auth.ts";
|
|
1088
1274
|
var AuthExtension = class extends RpcExtension {
|
|
1089
1275
|
constructor(_authParams) {
|
|
1090
1276
|
super({
|
|
@@ -1099,15 +1285,15 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1099
1285
|
this._authParams = _authParams;
|
|
1100
1286
|
this._ctx = new Context3({
|
|
1101
1287
|
onError: (err) => {
|
|
1102
|
-
|
|
1103
|
-
F:
|
|
1288
|
+
log7.catch(err, void 0, {
|
|
1289
|
+
F: __dxlog_file8,
|
|
1104
1290
|
L: 28,
|
|
1105
1291
|
S: this,
|
|
1106
1292
|
C: (f, a) => f(...a)
|
|
1107
1293
|
});
|
|
1108
1294
|
}
|
|
1109
1295
|
}, {
|
|
1110
|
-
F:
|
|
1296
|
+
F: __dxlog_file8,
|
|
1111
1297
|
L: 26
|
|
1112
1298
|
});
|
|
1113
1299
|
}
|
|
@@ -1124,8 +1310,8 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1124
1310
|
credential
|
|
1125
1311
|
};
|
|
1126
1312
|
} catch (err) {
|
|
1127
|
-
|
|
1128
|
-
F:
|
|
1313
|
+
log7.error("failed to generate auth credentials", err, {
|
|
1314
|
+
F: __dxlog_file8,
|
|
1129
1315
|
L: 55,
|
|
1130
1316
|
S: this,
|
|
1131
1317
|
C: (f, a) => f(...a)
|
|
@@ -1144,8 +1330,8 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1144
1330
|
const { credential } = await this.rpc.AuthService.authenticate({
|
|
1145
1331
|
challenge
|
|
1146
1332
|
});
|
|
1147
|
-
|
|
1148
|
-
F:
|
|
1333
|
+
invariant7(credential?.length > 0, "invalid credential", {
|
|
1334
|
+
F: __dxlog_file8,
|
|
1149
1335
|
L: 69,
|
|
1150
1336
|
S: this,
|
|
1151
1337
|
A: [
|
|
@@ -1154,8 +1340,8 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1154
1340
|
]
|
|
1155
1341
|
});
|
|
1156
1342
|
const success = await this._authParams.verifier(challenge, credential);
|
|
1157
|
-
|
|
1158
|
-
F:
|
|
1343
|
+
invariant7(success, "credential not verified", {
|
|
1344
|
+
F: __dxlog_file8,
|
|
1159
1345
|
L: 71,
|
|
1160
1346
|
S: this,
|
|
1161
1347
|
A: [
|
|
@@ -1165,8 +1351,8 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1165
1351
|
});
|
|
1166
1352
|
runInContext(this._ctx, () => this._authParams.onAuthSuccess());
|
|
1167
1353
|
} catch (err) {
|
|
1168
|
-
|
|
1169
|
-
F:
|
|
1354
|
+
log7("auth failed", err, {
|
|
1355
|
+
F: __dxlog_file8,
|
|
1170
1356
|
L: 74,
|
|
1171
1357
|
S: this,
|
|
1172
1358
|
C: (f, a) => f(...a)
|
|
@@ -1188,11 +1374,11 @@ var AuthExtension = class extends RpcExtension {
|
|
|
1188
1374
|
|
|
1189
1375
|
// packages/core/echo/echo-pipeline/src/space/space.ts
|
|
1190
1376
|
import { Event as Event4, Mutex, synchronized as synchronized3, trackLeaks as trackLeaks2 } from "@dxos/async";
|
|
1191
|
-
import { LifecycleState, Resource } from "@dxos/context";
|
|
1377
|
+
import { LifecycleState, Resource as Resource2 } from "@dxos/context";
|
|
1192
1378
|
import { subtleCrypto as subtleCrypto2 } from "@dxos/crypto";
|
|
1193
|
-
import { invariant as
|
|
1379
|
+
import { invariant as invariant8 } from "@dxos/invariant";
|
|
1194
1380
|
import { PublicKey as PublicKey5, SpaceId } from "@dxos/keys";
|
|
1195
|
-
import { log as
|
|
1381
|
+
import { log as log9, logInfo } from "@dxos/log";
|
|
1196
1382
|
import { AdmittedFeed as AdmittedFeed2 } from "@dxos/protocols/proto/dxos/halo/credentials";
|
|
1197
1383
|
import { trace as trace2 } from "@dxos/tracing";
|
|
1198
1384
|
import { Callback as Callback2, ComplexMap as ComplexMap3 } from "@dxos/util";
|
|
@@ -1202,7 +1388,7 @@ import { DeferredTask, sleepWithContext as sleepWithContext2, trackLeaks } from
|
|
|
1202
1388
|
import { Context as Context4 } from "@dxos/context";
|
|
1203
1389
|
import { SpaceStateMachine } from "@dxos/credentials";
|
|
1204
1390
|
import { PublicKey as PublicKey4 } from "@dxos/keys";
|
|
1205
|
-
import { log as
|
|
1391
|
+
import { log as log8 } from "@dxos/log";
|
|
1206
1392
|
import { AdmittedFeed } from "@dxos/protocols/proto/dxos/halo/credentials";
|
|
1207
1393
|
import { Timeframe as Timeframe3 } from "@dxos/timeframe";
|
|
1208
1394
|
import { TimeSeriesCounter, TimeUsageCounter, trace } from "@dxos/tracing";
|
|
@@ -1217,14 +1403,14 @@ function _ts_decorate4(decorators, target, key, desc) {
|
|
|
1217
1403
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1218
1404
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1219
1405
|
}
|
|
1220
|
-
var
|
|
1406
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/control-pipeline.ts";
|
|
1221
1407
|
var TIMEFRAME_SAVE_DEBOUNCE_INTERVAL = 500;
|
|
1222
1408
|
var CONTROL_PIPELINE_SNAPSHOT_DELAY = 1e4;
|
|
1223
1409
|
var USE_SNAPSHOTS = true;
|
|
1224
1410
|
var ControlPipeline = class {
|
|
1225
1411
|
constructor({ spaceKey, genesisFeed, feedProvider, metadataStore }) {
|
|
1226
1412
|
this._ctx = new Context4(void 0, {
|
|
1227
|
-
F:
|
|
1413
|
+
F: __dxlog_file9,
|
|
1228
1414
|
L: 47
|
|
1229
1415
|
});
|
|
1230
1416
|
this._lastTimeframeSaveTime = Date.now();
|
|
@@ -1241,10 +1427,10 @@ var ControlPipeline = class {
|
|
|
1241
1427
|
void this._pipeline.addFeed(genesisFeed);
|
|
1242
1428
|
this._spaceStateMachine = new SpaceStateMachine(spaceKey);
|
|
1243
1429
|
this._spaceStateMachine.onFeedAdmitted.set(async (info) => {
|
|
1244
|
-
|
|
1430
|
+
log8("feed admitted", {
|
|
1245
1431
|
key: info.key
|
|
1246
1432
|
}, {
|
|
1247
|
-
F:
|
|
1433
|
+
F: __dxlog_file9,
|
|
1248
1434
|
L: 82,
|
|
1249
1435
|
S: this,
|
|
1250
1436
|
C: (f, a) => f(...a)
|
|
@@ -1257,8 +1443,8 @@ var ControlPipeline = class {
|
|
|
1257
1443
|
await this._pipeline.addFeed(feed);
|
|
1258
1444
|
}
|
|
1259
1445
|
} catch (err) {
|
|
1260
|
-
|
|
1261
|
-
F:
|
|
1446
|
+
log8.catch(err, void 0, {
|
|
1447
|
+
F: __dxlog_file9,
|
|
1262
1448
|
L: 93,
|
|
1263
1449
|
S: this,
|
|
1264
1450
|
C: (f, a) => f(...a)
|
|
@@ -1285,12 +1471,12 @@ var ControlPipeline = class {
|
|
|
1285
1471
|
}
|
|
1286
1472
|
async start() {
|
|
1287
1473
|
const snapshot = this._metadata.getSpaceControlPipelineSnapshot(this._spaceKey);
|
|
1288
|
-
|
|
1474
|
+
log8("load snapshot", {
|
|
1289
1475
|
key: this._spaceKey,
|
|
1290
1476
|
present: !!snapshot,
|
|
1291
1477
|
tf: snapshot?.timeframe
|
|
1292
1478
|
}, {
|
|
1293
|
-
F:
|
|
1479
|
+
F: __dxlog_file9,
|
|
1294
1480
|
L: 123,
|
|
1295
1481
|
S: this,
|
|
1296
1482
|
C: (f, a) => f(...a)
|
|
@@ -1298,21 +1484,21 @@ var ControlPipeline = class {
|
|
|
1298
1484
|
if (USE_SNAPSHOTS && snapshot) {
|
|
1299
1485
|
await this._processSnapshot(snapshot);
|
|
1300
1486
|
}
|
|
1301
|
-
|
|
1302
|
-
F:
|
|
1487
|
+
log8("starting...", void 0, {
|
|
1488
|
+
F: __dxlog_file9,
|
|
1303
1489
|
L: 128,
|
|
1304
1490
|
S: this,
|
|
1305
1491
|
C: (f, a) => f(...a)
|
|
1306
1492
|
});
|
|
1307
1493
|
setTimeout(async () => {
|
|
1308
1494
|
void this._consumePipeline(new Context4(void 0, {
|
|
1309
|
-
F:
|
|
1495
|
+
F: __dxlog_file9,
|
|
1310
1496
|
L: 130
|
|
1311
1497
|
}));
|
|
1312
1498
|
});
|
|
1313
1499
|
await this._pipeline.start();
|
|
1314
|
-
|
|
1315
|
-
F:
|
|
1500
|
+
log8("started", void 0, {
|
|
1501
|
+
F: __dxlog_file9,
|
|
1316
1502
|
L: 134,
|
|
1317
1503
|
S: this,
|
|
1318
1504
|
C: (f, a) => f(...a)
|
|
@@ -1326,10 +1512,10 @@ var ControlPipeline = class {
|
|
|
1326
1512
|
skipVerification: true
|
|
1327
1513
|
});
|
|
1328
1514
|
if (!result) {
|
|
1329
|
-
|
|
1515
|
+
log8.warn("credential processing failed from snapshot", {
|
|
1330
1516
|
message
|
|
1331
1517
|
}, {
|
|
1332
|
-
F:
|
|
1518
|
+
F: __dxlog_file9,
|
|
1333
1519
|
L: 147,
|
|
1334
1520
|
S: this,
|
|
1335
1521
|
C: (f, a) => f(...a)
|
|
@@ -1347,11 +1533,11 @@ var ControlPipeline = class {
|
|
|
1347
1533
|
}))
|
|
1348
1534
|
};
|
|
1349
1535
|
await this._pipeline.unpause();
|
|
1350
|
-
|
|
1536
|
+
log8("save snapshot", {
|
|
1351
1537
|
key: this._spaceKey,
|
|
1352
1538
|
snapshot
|
|
1353
1539
|
}, {
|
|
1354
|
-
F:
|
|
1540
|
+
F: __dxlog_file9,
|
|
1355
1541
|
L: 163,
|
|
1356
1542
|
S: this,
|
|
1357
1543
|
C: (f, a) => f(...a)
|
|
@@ -1365,8 +1551,8 @@ var ControlPipeline = class {
|
|
|
1365
1551
|
try {
|
|
1366
1552
|
await this._processMessage(ctx, msg);
|
|
1367
1553
|
} catch (err) {
|
|
1368
|
-
|
|
1369
|
-
F:
|
|
1554
|
+
log8.catch(err, void 0, {
|
|
1555
|
+
F: __dxlog_file9,
|
|
1370
1556
|
L: 176,
|
|
1371
1557
|
S: this,
|
|
1372
1558
|
C: (f, a) => f(...a)
|
|
@@ -1376,11 +1562,11 @@ var ControlPipeline = class {
|
|
|
1376
1562
|
}
|
|
1377
1563
|
}
|
|
1378
1564
|
async _processMessage(ctx, msg) {
|
|
1379
|
-
|
|
1565
|
+
log8("processing", {
|
|
1380
1566
|
key: msg.feedKey,
|
|
1381
1567
|
seq: msg.seq
|
|
1382
1568
|
}, {
|
|
1383
|
-
F:
|
|
1569
|
+
F: __dxlog_file9,
|
|
1384
1570
|
L: 186,
|
|
1385
1571
|
S: this,
|
|
1386
1572
|
C: (f, a) => f(...a)
|
|
@@ -1392,10 +1578,10 @@ var ControlPipeline = class {
|
|
|
1392
1578
|
});
|
|
1393
1579
|
timer.end();
|
|
1394
1580
|
if (!result) {
|
|
1395
|
-
|
|
1581
|
+
log8.warn("processing failed", {
|
|
1396
1582
|
msg
|
|
1397
1583
|
}, {
|
|
1398
|
-
F:
|
|
1584
|
+
F: __dxlog_file9,
|
|
1399
1585
|
L: 195,
|
|
1400
1586
|
S: this,
|
|
1401
1587
|
C: (f, a) => f(...a)
|
|
@@ -1413,8 +1599,8 @@ var ControlPipeline = class {
|
|
|
1413
1599
|
}
|
|
1414
1600
|
}
|
|
1415
1601
|
async stop() {
|
|
1416
|
-
|
|
1417
|
-
F:
|
|
1602
|
+
log8("stopping...", void 0, {
|
|
1603
|
+
F: __dxlog_file9,
|
|
1418
1604
|
L: 215,
|
|
1419
1605
|
S: this,
|
|
1420
1606
|
C: (f, a) => f(...a)
|
|
@@ -1422,8 +1608,8 @@ var ControlPipeline = class {
|
|
|
1422
1608
|
await this._ctx.dispose();
|
|
1423
1609
|
await this._pipeline.stop();
|
|
1424
1610
|
await this._saveTargetTimeframe(this._pipeline.state.timeframe);
|
|
1425
|
-
|
|
1426
|
-
F:
|
|
1611
|
+
log8("stopped", void 0, {
|
|
1612
|
+
F: __dxlog_file9,
|
|
1427
1613
|
L: 219,
|
|
1428
1614
|
S: this,
|
|
1429
1615
|
C: (f, a) => f(...a)
|
|
@@ -1435,8 +1621,8 @@ var ControlPipeline = class {
|
|
|
1435
1621
|
await this._metadata.setSpaceControlLatestTimeframe(this._spaceKey, newTimeframe);
|
|
1436
1622
|
this._targetTimeframe = newTimeframe;
|
|
1437
1623
|
} catch (err) {
|
|
1438
|
-
|
|
1439
|
-
F:
|
|
1624
|
+
log8(err, void 0, {
|
|
1625
|
+
F: __dxlog_file9,
|
|
1440
1626
|
L: 228,
|
|
1441
1627
|
S: this,
|
|
1442
1628
|
C: (f, a) => f(...a)
|
|
@@ -1477,15 +1663,15 @@ function _ts_decorate5(decorators, target, key, desc) {
|
|
|
1477
1663
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1478
1664
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1479
1665
|
}
|
|
1480
|
-
var
|
|
1481
|
-
var Space = class extends
|
|
1666
|
+
var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space.ts";
|
|
1667
|
+
var Space = class extends Resource2 {
|
|
1482
1668
|
constructor(params) {
|
|
1483
1669
|
super();
|
|
1484
1670
|
this._addFeedMutex = new Mutex();
|
|
1485
1671
|
this.onCredentialProcessed = new Callback2();
|
|
1486
1672
|
this.stateUpdate = new Event4();
|
|
1487
|
-
|
|
1488
|
-
F:
|
|
1673
|
+
invariant8(params.spaceKey && params.feedProvider, void 0, {
|
|
1674
|
+
F: __dxlog_file10,
|
|
1489
1675
|
L: 78,
|
|
1490
1676
|
S: this,
|
|
1491
1677
|
A: [
|
|
@@ -1516,10 +1702,10 @@ var Space = class extends Resource {
|
|
|
1516
1702
|
});
|
|
1517
1703
|
this._controlPipeline.onCredentialProcessed.set(async (credential) => {
|
|
1518
1704
|
await this.onCredentialProcessed.callIfSet(credential);
|
|
1519
|
-
|
|
1705
|
+
log9("onCredentialProcessed", {
|
|
1520
1706
|
credential
|
|
1521
1707
|
}, {
|
|
1522
|
-
F:
|
|
1708
|
+
F: __dxlog_file10,
|
|
1523
1709
|
L: 106,
|
|
1524
1710
|
S: this,
|
|
1525
1711
|
C: (f, a) => f(...a)
|
|
@@ -1527,10 +1713,10 @@ var Space = class extends Resource {
|
|
|
1527
1713
|
this.stateUpdate.emit();
|
|
1528
1714
|
});
|
|
1529
1715
|
this._controlPipeline.onDelegatedInvitation.set(async (invitation) => {
|
|
1530
|
-
|
|
1716
|
+
log9("onDelegatedInvitation", {
|
|
1531
1717
|
invitation
|
|
1532
1718
|
}, {
|
|
1533
|
-
F:
|
|
1719
|
+
F: __dxlog_file10,
|
|
1534
1720
|
L: 110,
|
|
1535
1721
|
S: this,
|
|
1536
1722
|
C: (f, a) => f(...a)
|
|
@@ -1538,10 +1724,10 @@ var Space = class extends Resource {
|
|
|
1538
1724
|
await params.onDelegatedInvitationStatusChange(invitation, true);
|
|
1539
1725
|
});
|
|
1540
1726
|
this._controlPipeline.onDelegatedInvitationRemoved.set(async (invitation) => {
|
|
1541
|
-
|
|
1727
|
+
log9("onDelegatedInvitationRemoved", {
|
|
1542
1728
|
invitation
|
|
1543
1729
|
}, {
|
|
1544
|
-
F:
|
|
1730
|
+
F: __dxlog_file10,
|
|
1545
1731
|
L: 114,
|
|
1546
1732
|
S: this,
|
|
1547
1733
|
C: (f, a) => f(...a)
|
|
@@ -1549,13 +1735,13 @@ var Space = class extends Resource {
|
|
|
1549
1735
|
await params.onDelegatedInvitationStatusChange(invitation, false);
|
|
1550
1736
|
});
|
|
1551
1737
|
this._controlPipeline.onMemberRoleChanged.set(async (changedMembers) => {
|
|
1552
|
-
|
|
1738
|
+
log9("onMemberRoleChanged", () => ({
|
|
1553
1739
|
changedMembers: changedMembers.map((m) => [
|
|
1554
1740
|
m.key,
|
|
1555
1741
|
m.role
|
|
1556
1742
|
])
|
|
1557
1743
|
}), {
|
|
1558
|
-
F:
|
|
1744
|
+
F: __dxlog_file10,
|
|
1559
1745
|
L: 118,
|
|
1560
1746
|
S: this,
|
|
1561
1747
|
C: (f, a) => f(...a)
|
|
@@ -1596,8 +1782,8 @@ var Space = class extends Resource {
|
|
|
1596
1782
|
return this._snapshotManager;
|
|
1597
1783
|
}
|
|
1598
1784
|
async setControlFeed(feed) {
|
|
1599
|
-
|
|
1600
|
-
F:
|
|
1785
|
+
invariant8(!this._controlFeed, "Control feed already set.", {
|
|
1786
|
+
F: __dxlog_file10,
|
|
1601
1787
|
L: 171,
|
|
1602
1788
|
S: this,
|
|
1603
1789
|
A: [
|
|
@@ -1610,8 +1796,8 @@ var Space = class extends Resource {
|
|
|
1610
1796
|
return this;
|
|
1611
1797
|
}
|
|
1612
1798
|
async setDataFeed(feed) {
|
|
1613
|
-
|
|
1614
|
-
F:
|
|
1799
|
+
invariant8(!this._dataFeed, "Data feed already set.", {
|
|
1800
|
+
F: __dxlog_file10,
|
|
1615
1801
|
L: 178,
|
|
1616
1802
|
S: this,
|
|
1617
1803
|
A: [
|
|
@@ -1629,34 +1815,34 @@ var Space = class extends Resource {
|
|
|
1629
1815
|
return Array.from(this._controlPipeline.spaceState.feeds.values());
|
|
1630
1816
|
}
|
|
1631
1817
|
async _open(ctx) {
|
|
1632
|
-
|
|
1633
|
-
F:
|
|
1818
|
+
log9("opening...", void 0, {
|
|
1819
|
+
F: __dxlog_file10,
|
|
1634
1820
|
L: 192,
|
|
1635
1821
|
S: this,
|
|
1636
1822
|
C: (f, a) => f(...a)
|
|
1637
1823
|
});
|
|
1638
1824
|
await this._controlPipeline.start();
|
|
1639
1825
|
await this.protocol.start();
|
|
1640
|
-
|
|
1641
|
-
F:
|
|
1826
|
+
log9("opened", void 0, {
|
|
1827
|
+
F: __dxlog_file10,
|
|
1642
1828
|
L: 198,
|
|
1643
1829
|
S: this,
|
|
1644
1830
|
C: (f, a) => f(...a)
|
|
1645
1831
|
});
|
|
1646
1832
|
}
|
|
1647
1833
|
async _close() {
|
|
1648
|
-
|
|
1834
|
+
log9("closing...", {
|
|
1649
1835
|
key: this._key
|
|
1650
1836
|
}, {
|
|
1651
|
-
F:
|
|
1837
|
+
F: __dxlog_file10,
|
|
1652
1838
|
L: 203,
|
|
1653
1839
|
S: this,
|
|
1654
1840
|
C: (f, a) => f(...a)
|
|
1655
1841
|
});
|
|
1656
1842
|
await this.protocol.stop();
|
|
1657
1843
|
await this._controlPipeline.stop();
|
|
1658
|
-
|
|
1659
|
-
F:
|
|
1844
|
+
log9("closed", void 0, {
|
|
1845
|
+
F: __dxlog_file10,
|
|
1660
1846
|
L: 209,
|
|
1661
1847
|
S: this,
|
|
1662
1848
|
C: (f, a) => f(...a)
|
|
@@ -1705,7 +1891,7 @@ import { scheduleTask as scheduleTask2 } from "@dxos/async";
|
|
|
1705
1891
|
import { Context as Context5 } from "@dxos/context";
|
|
1706
1892
|
import { ProtocolError, schema as schema6 } from "@dxos/protocols";
|
|
1707
1893
|
import { RpcExtension as RpcExtension2 } from "@dxos/teleport";
|
|
1708
|
-
var
|
|
1894
|
+
var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts";
|
|
1709
1895
|
var CredentialRetrieverExtension = class extends RpcExtension2 {
|
|
1710
1896
|
constructor(_request, _onResult) {
|
|
1711
1897
|
super({
|
|
@@ -1716,7 +1902,7 @@ var CredentialRetrieverExtension = class extends RpcExtension2 {
|
|
|
1716
1902
|
this._request = _request;
|
|
1717
1903
|
this._onResult = _onResult;
|
|
1718
1904
|
this._ctx = new Context5(void 0, {
|
|
1719
|
-
F:
|
|
1905
|
+
F: __dxlog_file11,
|
|
1720
1906
|
L: 25
|
|
1721
1907
|
});
|
|
1722
1908
|
}
|
|
@@ -1770,7 +1956,7 @@ var CredentialServerExtension = class extends RpcExtension2 {
|
|
|
1770
1956
|
// packages/core/echo/echo-pipeline/src/space/space-protocol.ts
|
|
1771
1957
|
import { discoveryKey, subtleCrypto as subtleCrypto3 } from "@dxos/crypto";
|
|
1772
1958
|
import { PublicKey as PublicKey6 } from "@dxos/keys";
|
|
1773
|
-
import { log as
|
|
1959
|
+
import { log as log10, logInfo as logInfo2 } from "@dxos/log";
|
|
1774
1960
|
import { MMSTTopology } from "@dxos/network-manager";
|
|
1775
1961
|
import { Teleport } from "@dxos/teleport";
|
|
1776
1962
|
import { BlobSync } from "@dxos/teleport-extension-object-sync";
|
|
@@ -1787,7 +1973,7 @@ function _ts_decorate6(decorators, target, key, desc) {
|
|
|
1787
1973
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1788
1974
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1789
1975
|
}
|
|
1790
|
-
var
|
|
1976
|
+
var __dxlog_file12 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-protocol.ts";
|
|
1791
1977
|
var MOCK_AUTH_PROVIDER = async (nonce) => Buffer.from("mock");
|
|
1792
1978
|
var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
|
|
1793
1979
|
var SpaceProtocol = class {
|
|
@@ -1821,10 +2007,10 @@ var SpaceProtocol = class {
|
|
|
1821
2007
|
}
|
|
1822
2008
|
// TODO(burdon): Create abstraction for Space (e.g., add keys and have provider).
|
|
1823
2009
|
addFeed(feed) {
|
|
1824
|
-
|
|
2010
|
+
log10("addFeed", {
|
|
1825
2011
|
key: feed.key
|
|
1826
2012
|
}, {
|
|
1827
|
-
F:
|
|
2013
|
+
F: __dxlog_file12,
|
|
1828
2014
|
L: 109,
|
|
1829
2015
|
S: this,
|
|
1830
2016
|
C: (f, a) => f(...a)
|
|
@@ -1841,8 +2027,8 @@ var SpaceProtocol = class {
|
|
|
1841
2027
|
}
|
|
1842
2028
|
const credentials = await this._swarmIdentity.credentialProvider(Buffer.from(""));
|
|
1843
2029
|
await this.blobSync.open();
|
|
1844
|
-
|
|
1845
|
-
F:
|
|
2030
|
+
log10("starting...", void 0, {
|
|
2031
|
+
F: __dxlog_file12,
|
|
1846
2032
|
L: 128,
|
|
1847
2033
|
S: this,
|
|
1848
2034
|
C: (f, a) => f(...a)
|
|
@@ -1855,8 +2041,8 @@ var SpaceProtocol = class {
|
|
|
1855
2041
|
topology: this._topology,
|
|
1856
2042
|
label: `swarm ${topic.truncate()} for space ${this._spaceKey.truncate()}`
|
|
1857
2043
|
});
|
|
1858
|
-
|
|
1859
|
-
F:
|
|
2044
|
+
log10("started", void 0, {
|
|
2045
|
+
F: __dxlog_file12,
|
|
1860
2046
|
L: 138,
|
|
1861
2047
|
S: this,
|
|
1862
2048
|
C: (f, a) => f(...a)
|
|
@@ -1868,15 +2054,15 @@ var SpaceProtocol = class {
|
|
|
1868
2054
|
async stop() {
|
|
1869
2055
|
await this.blobSync.close();
|
|
1870
2056
|
if (this._connection) {
|
|
1871
|
-
|
|
1872
|
-
F:
|
|
2057
|
+
log10("stopping...", void 0, {
|
|
2058
|
+
F: __dxlog_file12,
|
|
1873
2059
|
L: 149,
|
|
1874
2060
|
S: this,
|
|
1875
2061
|
C: (f, a) => f(...a)
|
|
1876
2062
|
});
|
|
1877
2063
|
await this._connection.close();
|
|
1878
|
-
|
|
1879
|
-
F:
|
|
2064
|
+
log10("stopped", void 0, {
|
|
2065
|
+
F: __dxlog_file12,
|
|
1880
2066
|
L: 151,
|
|
1881
2067
|
S: this,
|
|
1882
2068
|
C: (f, a) => f(...a)
|
|
@@ -1949,8 +2135,8 @@ var SpaceProtocolSession = class {
|
|
|
1949
2135
|
provider: this._swarmIdentity.credentialProvider,
|
|
1950
2136
|
verifier: this._swarmIdentity.credentialAuthenticator,
|
|
1951
2137
|
onAuthSuccess: () => {
|
|
1952
|
-
|
|
1953
|
-
F:
|
|
2138
|
+
log10("Peer authenticated", void 0, {
|
|
2139
|
+
F: __dxlog_file12,
|
|
1954
2140
|
L: 248,
|
|
1955
2141
|
S: this,
|
|
1956
2142
|
C: (f, a) => f(...a)
|
|
@@ -1967,8 +2153,8 @@ var SpaceProtocolSession = class {
|
|
|
1967
2153
|
this._teleport.addExtension("dxos.mesh.teleport.blobsync", this._blobSync.createExtension());
|
|
1968
2154
|
}
|
|
1969
2155
|
async close() {
|
|
1970
|
-
|
|
1971
|
-
F:
|
|
2156
|
+
log10("close", void 0, {
|
|
2157
|
+
F: __dxlog_file12,
|
|
1972
2158
|
L: 264,
|
|
1973
2159
|
S: this,
|
|
1974
2160
|
C: (f, a) => f(...a)
|
|
@@ -1990,7 +2176,7 @@ _ts_decorate6([
|
|
|
1990
2176
|
import { synchronized as synchronized4, trackLeaks as trackLeaks3, Trigger as Trigger2 } from "@dxos/async";
|
|
1991
2177
|
import { failUndefined as failUndefined2 } from "@dxos/debug";
|
|
1992
2178
|
import { PublicKey as PublicKey7 } from "@dxos/keys";
|
|
1993
|
-
import { log as
|
|
2179
|
+
import { log as log11 } from "@dxos/log";
|
|
1994
2180
|
import { trace as trace4 } from "@dxos/protocols";
|
|
1995
2181
|
import { ComplexMap as ComplexMap5 } from "@dxos/util";
|
|
1996
2182
|
function _ts_decorate7(decorators, target, key, desc) {
|
|
@@ -2003,7 +2189,7 @@ function _ts_decorate7(decorators, target, key, desc) {
|
|
|
2003
2189
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2004
2190
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2005
2191
|
}
|
|
2006
|
-
var
|
|
2192
|
+
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
|
|
2007
2193
|
var SpaceManager = class {
|
|
2008
2194
|
constructor({ feedStore, networkManager, metadataStore, snapshotStore, blobStore }) {
|
|
2009
2195
|
this._spaces = new ComplexMap5(PublicKey7.hash);
|
|
@@ -2026,18 +2212,18 @@ var SpaceManager = class {
|
|
|
2026
2212
|
].map((space) => space.close()));
|
|
2027
2213
|
}
|
|
2028
2214
|
async constructSpace({ metadata, swarmIdentity, onAuthorizedConnection, onAuthFailure, onDelegatedInvitationStatusChange, onMemberRolesChanged, memberKey }) {
|
|
2029
|
-
|
|
2215
|
+
log11.trace("dxos.echo.space-manager.construct-space", trace4.begin({
|
|
2030
2216
|
id: this._instanceId
|
|
2031
2217
|
}), {
|
|
2032
|
-
F:
|
|
2218
|
+
F: __dxlog_file13,
|
|
2033
2219
|
L: 103,
|
|
2034
2220
|
S: this,
|
|
2035
2221
|
C: (f, a) => f(...a)
|
|
2036
2222
|
});
|
|
2037
|
-
|
|
2223
|
+
log11("constructing space...", {
|
|
2038
2224
|
spaceKey: metadata.genesisFeedKey
|
|
2039
2225
|
}, {
|
|
2040
|
-
F:
|
|
2226
|
+
F: __dxlog_file13,
|
|
2041
2227
|
L: 104,
|
|
2042
2228
|
S: this,
|
|
2043
2229
|
C: (f, a) => f(...a)
|
|
@@ -2067,10 +2253,10 @@ var SpaceManager = class {
|
|
|
2067
2253
|
onMemberRolesChanged
|
|
2068
2254
|
});
|
|
2069
2255
|
this._spaces.set(space.key, space);
|
|
2070
|
-
|
|
2256
|
+
log11.trace("dxos.echo.space-manager.construct-space", trace4.end({
|
|
2071
2257
|
id: this._instanceId
|
|
2072
2258
|
}), {
|
|
2073
|
-
F:
|
|
2259
|
+
F: __dxlog_file13,
|
|
2074
2260
|
L: 135,
|
|
2075
2261
|
S: this,
|
|
2076
2262
|
C: (f, a) => f(...a)
|
|
@@ -2079,18 +2265,18 @@ var SpaceManager = class {
|
|
|
2079
2265
|
}
|
|
2080
2266
|
async requestSpaceAdmissionCredential(params) {
|
|
2081
2267
|
const traceKey = "dxos.echo.space-manager.request-space-admission";
|
|
2082
|
-
|
|
2268
|
+
log11.trace(traceKey, trace4.begin({
|
|
2083
2269
|
id: this._instanceId
|
|
2084
2270
|
}), {
|
|
2085
|
-
F:
|
|
2271
|
+
F: __dxlog_file13,
|
|
2086
2272
|
L: 141,
|
|
2087
2273
|
S: this,
|
|
2088
2274
|
C: (f, a) => f(...a)
|
|
2089
2275
|
});
|
|
2090
|
-
|
|
2276
|
+
log11("requesting space admission credential...", {
|
|
2091
2277
|
spaceKey: params.spaceKey
|
|
2092
2278
|
}, {
|
|
2093
|
-
F:
|
|
2279
|
+
F: __dxlog_file13,
|
|
2094
2280
|
L: 142,
|
|
2095
2281
|
S: this,
|
|
2096
2282
|
C: (f, a) => f(...a)
|
|
@@ -2114,21 +2300,21 @@ var SpaceManager = class {
|
|
|
2114
2300
|
const credential = await onCredentialResolved.wait({
|
|
2115
2301
|
timeout: params.timeout
|
|
2116
2302
|
});
|
|
2117
|
-
|
|
2303
|
+
log11.trace(traceKey, trace4.end({
|
|
2118
2304
|
id: this._instanceId
|
|
2119
2305
|
}), {
|
|
2120
|
-
F:
|
|
2306
|
+
F: __dxlog_file13,
|
|
2121
2307
|
L: 165,
|
|
2122
2308
|
S: this,
|
|
2123
2309
|
C: (f, a) => f(...a)
|
|
2124
2310
|
});
|
|
2125
2311
|
return credential;
|
|
2126
2312
|
} catch (err) {
|
|
2127
|
-
|
|
2313
|
+
log11.trace(traceKey, trace4.error({
|
|
2128
2314
|
id: this._instanceId,
|
|
2129
2315
|
error: err
|
|
2130
2316
|
}), {
|
|
2131
|
-
F:
|
|
2317
|
+
F: __dxlog_file13,
|
|
2132
2318
|
L: 168,
|
|
2133
2319
|
S: this,
|
|
2134
2320
|
C: (f, a) => f(...a)
|
|
@@ -2156,6 +2342,7 @@ export {
|
|
|
2156
2342
|
createMappedFeedWriter,
|
|
2157
2343
|
SnapshotManager,
|
|
2158
2344
|
SnapshotStore,
|
|
2345
|
+
DocumentsSynchronizer,
|
|
2159
2346
|
DataServiceImpl,
|
|
2160
2347
|
MetadataStore,
|
|
2161
2348
|
hasInvitationExpired,
|
|
@@ -2176,4 +2363,4 @@ export {
|
|
|
2176
2363
|
SpaceProtocolSession,
|
|
2177
2364
|
SpaceManager
|
|
2178
2365
|
};
|
|
2179
|
-
//# sourceMappingURL=chunk-
|
|
2366
|
+
//# sourceMappingURL=chunk-UJQ5VS5V.mjs.map
|