@dxos/client-services 0.4.7-main.aa6dc1f → 0.4.7-main.b51ad3a
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-HVCUCBHI.mjs → chunk-W4YHONPO.mjs} +87 -47
- package/dist/lib/browser/{chunk-HVCUCBHI.mjs.map → chunk-W4YHONPO.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-Z5XDOC7V.cjs → chunk-UGRBM6TA.cjs} +63 -23
- package/dist/lib/node/{chunk-Z5XDOC7V.cjs.map → chunk-UGRBM6TA.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +37 -37
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +8 -8
- package/dist/types/src/packlets/spaces/automerge-space-state.d.ts +2 -0
- package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +35 -35
- package/src/packlets/spaces/automerge-space-state.ts +15 -0
- package/src/packlets/spaces/data-space.ts +33 -11
- package/src/packlets/spaces/spaces-service.ts +2 -2
- package/src/version.ts +1 -1
|
@@ -31,7 +31,7 @@ __export(testing_exports, {
|
|
|
31
31
|
syncItemsLocal: () => syncItemsLocal
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(testing_exports);
|
|
34
|
-
var
|
|
34
|
+
var import_chunk_UGRBM6TA = require("../../chunk-UGRBM6TA.cjs");
|
|
35
35
|
var import_credentials = require("@dxos/credentials");
|
|
36
36
|
var import_keys = require("@dxos/keys");
|
|
37
37
|
var import_async = require("@dxos/async");
|
|
@@ -209,7 +209,7 @@ var createInvitation = (host, options) => {
|
|
|
209
209
|
authMethod: import_services.Invitation.AuthMethod.NONE,
|
|
210
210
|
...options ?? {}
|
|
211
211
|
};
|
|
212
|
-
if (host instanceof
|
|
212
|
+
if (host instanceof import_chunk_UGRBM6TA.ServiceContext) {
|
|
213
213
|
const hostHandler = host.getInvitationHandler({
|
|
214
214
|
kind: import_services.Invitation.Kind.SPACE,
|
|
215
215
|
...options
|
|
@@ -220,7 +220,7 @@ var createInvitation = (host, options) => {
|
|
|
220
220
|
};
|
|
221
221
|
var acceptInvitation = (guest, invitation, guestDeviceProfile) => {
|
|
222
222
|
invitation = sanitizeInvitation(invitation);
|
|
223
|
-
if (guest instanceof
|
|
223
|
+
if (guest instanceof import_chunk_UGRBM6TA.ServiceContext) {
|
|
224
224
|
const guestHandler = guest.getInvitationHandler({
|
|
225
225
|
kind: invitation.kind
|
|
226
226
|
});
|
|
@@ -229,7 +229,7 @@ var acceptInvitation = (guest, invitation, guestDeviceProfile) => {
|
|
|
229
229
|
return guest.join(invitation, guestDeviceProfile);
|
|
230
230
|
};
|
|
231
231
|
var createServiceHost = (config, signalManagerContext) => {
|
|
232
|
-
return new
|
|
232
|
+
return new import_chunk_UGRBM6TA.ClientServicesHost({
|
|
233
233
|
config,
|
|
234
234
|
signalManager: new import_messaging.MemorySignalManager(signalManagerContext),
|
|
235
235
|
transportFactory: import_network_manager.MemoryTransportFactory
|
|
@@ -243,8 +243,8 @@ var createServiceContext = ({ signalContext = new import_messaging.MemorySignalM
|
|
|
243
243
|
signalManager,
|
|
244
244
|
transportFactory: import_network_manager.MemoryTransportFactory
|
|
245
245
|
});
|
|
246
|
-
const modelFactory = (0,
|
|
247
|
-
return new
|
|
246
|
+
const modelFactory = (0, import_chunk_UGRBM6TA.createDefaultModelFactory)();
|
|
247
|
+
return new import_chunk_UGRBM6TA.ServiceContext(storage, networkManager, signalManager, modelFactory);
|
|
248
248
|
};
|
|
249
249
|
var createPeers = async (numPeers) => {
|
|
250
250
|
const signalContext = new import_messaging.MemorySignalManagerContext();
|
|
@@ -328,7 +328,7 @@ var TestPeer = class {
|
|
|
328
328
|
feedStore: this.feedStore,
|
|
329
329
|
networkManager: this.networkManager,
|
|
330
330
|
metadataStore: this.metadataStore,
|
|
331
|
-
modelFactory: (0,
|
|
331
|
+
modelFactory: (0, import_chunk_UGRBM6TA.createDefaultModelFactory)(),
|
|
332
332
|
snapshotStore: this.snapshotStore,
|
|
333
333
|
blobStore: this.blobStore
|
|
334
334
|
});
|
|
@@ -342,7 +342,7 @@ var TestPeer = class {
|
|
|
342
342
|
});
|
|
343
343
|
}
|
|
344
344
|
get dataSpaceManager() {
|
|
345
|
-
return this._props.dataSpaceManager ??= new
|
|
345
|
+
return this._props.dataSpaceManager ??= new import_chunk_UGRBM6TA.DataSpaceManager(this.spaceManager, this.metadataStore, new import_echo_pipeline.DataServiceSubscriptions(), this.keyring, this.identity, this.feedStore, this.automergeHost);
|
|
346
346
|
}
|
|
347
347
|
async createIdentity() {
|
|
348
348
|
this._props.signingContext ??= await createSigningContext(this.keyring);
|
|
@@ -4,7 +4,9 @@ export declare class AutomergeSpaceState implements CredentialProcessor {
|
|
|
4
4
|
private readonly _onNewRoot;
|
|
5
5
|
rootUrl: string | undefined;
|
|
6
6
|
lastEpoch: SpecificCredential<Epoch> | undefined;
|
|
7
|
+
private _isProcessingRootDocs;
|
|
7
8
|
constructor(_onNewRoot: (rootUrl: string) => void);
|
|
8
9
|
processCredential(credential: Credential): Promise<void>;
|
|
10
|
+
startProcessingRootDocs(): void;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=automerge-space-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automerge-space-state.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/automerge-space-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAE1F,qBAAa,mBAAoB,YAAW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"automerge-space-state.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/automerge-space-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAE1F,qBAAa,mBAAoB,YAAW,mBAAmB;IAMjD,OAAO,CAAC,QAAQ,CAAC,UAAU;IALhC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IACxC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAa;IAEpE,OAAO,CAAC,qBAAqB,CAAS;gBAET,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAE5D,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAe9C,uBAAuB;CAUxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export declare class SpacesServiceImpl implements SpacesService {
|
|
|
19
19
|
subscribeMessages({ spaceKey, channel }: SubscribeMessagesRequest): Stream<GossipMessage>;
|
|
20
20
|
queryCredentials({ spaceKey, noTail }: QueryCredentialsRequest): Stream<Credential>;
|
|
21
21
|
writeCredentials({ spaceKey, credentials }: WriteCredentialsRequest): Promise<void>;
|
|
22
|
-
createEpoch({ spaceKey }: CreateEpochRequest): Promise<void>;
|
|
22
|
+
createEpoch({ spaceKey, migration }: CreateEpochRequest): Promise<void>;
|
|
23
23
|
private _serializeSpace;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=spaces-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIvF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,KAAK,EAGV,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAU7B,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB;IAmBzD,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAqDpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAmB7E,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAmBnE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIvF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,KAAK,EAGV,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAU7B,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB;IAmBzD,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAqDpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAmB7E,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAmBnE,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,kBAAkB;IAM7D,OAAO,CAAC,eAAe;CA8CxB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.4.7-main.
|
|
1
|
+
export declare const DXOS_VERSION = "0.4.7-main.b51ad3a";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.4.7-main.
|
|
3
|
+
"version": "0.4.7-main.b51ad3a",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -22,44 +22,44 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"platform": "^1.3.6",
|
|
25
|
-
"@dxos/
|
|
26
|
-
"@dxos/
|
|
27
|
-
"@dxos/
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/crypto": "0.4.7-main.
|
|
32
|
-
"@dxos/debug": "0.4.7-main.
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/echo-
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/echo-schema": "0.4.7-main.
|
|
37
|
-
"@dxos/feed-store": "0.4.7-main.
|
|
38
|
-
"@dxos/invariant": "0.4.7-main.
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/lock-file": "0.4.7-main.
|
|
42
|
-
"@dxos/log": "0.4.7-main.
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/model-factory": "0.4.7-main.
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/node-std": "0.4.7-main.
|
|
47
|
-
"@dxos/protocols": "0.4.7-main.
|
|
48
|
-
"@dxos/random-access-storage": "0.4.7-main.
|
|
49
|
-
"@dxos/rpc": "0.4.7-main.
|
|
50
|
-
"@dxos/teleport": "0.4.7-main.
|
|
51
|
-
"@dxos/teleport
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
25
|
+
"@dxos/async": "0.4.7-main.b51ad3a",
|
|
26
|
+
"@dxos/codec-protobuf": "0.4.7-main.b51ad3a",
|
|
27
|
+
"@dxos/client-protocol": "0.4.7-main.b51ad3a",
|
|
28
|
+
"@dxos/config": "0.4.7-main.b51ad3a",
|
|
29
|
+
"@dxos/context": "0.4.7-main.b51ad3a",
|
|
30
|
+
"@dxos/credentials": "0.4.7-main.b51ad3a",
|
|
31
|
+
"@dxos/crypto": "0.4.7-main.b51ad3a",
|
|
32
|
+
"@dxos/debug": "0.4.7-main.b51ad3a",
|
|
33
|
+
"@dxos/echo-db": "0.4.7-main.b51ad3a",
|
|
34
|
+
"@dxos/echo-pipeline": "0.4.7-main.b51ad3a",
|
|
35
|
+
"@dxos/document-model": "0.4.7-main.b51ad3a",
|
|
36
|
+
"@dxos/echo-schema": "0.4.7-main.b51ad3a",
|
|
37
|
+
"@dxos/feed-store": "0.4.7-main.b51ad3a",
|
|
38
|
+
"@dxos/invariant": "0.4.7-main.b51ad3a",
|
|
39
|
+
"@dxos/keys": "0.4.7-main.b51ad3a",
|
|
40
|
+
"@dxos/keyring": "0.4.7-main.b51ad3a",
|
|
41
|
+
"@dxos/lock-file": "0.4.7-main.b51ad3a",
|
|
42
|
+
"@dxos/log": "0.4.7-main.b51ad3a",
|
|
43
|
+
"@dxos/network-manager": "0.4.7-main.b51ad3a",
|
|
44
|
+
"@dxos/model-factory": "0.4.7-main.b51ad3a",
|
|
45
|
+
"@dxos/messaging": "0.4.7-main.b51ad3a",
|
|
46
|
+
"@dxos/node-std": "0.4.7-main.b51ad3a",
|
|
47
|
+
"@dxos/protocols": "0.4.7-main.b51ad3a",
|
|
48
|
+
"@dxos/random-access-storage": "0.4.7-main.b51ad3a",
|
|
49
|
+
"@dxos/rpc": "0.4.7-main.b51ad3a",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.4.7-main.b51ad3a",
|
|
51
|
+
"@dxos/teleport": "0.4.7-main.b51ad3a",
|
|
52
|
+
"@dxos/teleport-extension-object-sync": "0.4.7-main.b51ad3a",
|
|
53
|
+
"@dxos/tracing": "0.4.7-main.b51ad3a",
|
|
54
|
+
"@dxos/text-model": "0.4.7-main.b51ad3a",
|
|
55
|
+
"@dxos/util": "0.4.7-main.b51ad3a",
|
|
56
|
+
"@dxos/websocket-rpc": "0.4.7-main.b51ad3a",
|
|
57
|
+
"@dxos/timeframe": "0.4.7-main.b51ad3a"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/platform": "^1.3.4",
|
|
61
61
|
"@types/readable-stream": "^2.3.9",
|
|
62
|
-
"@dxos/signal": "0.4.7-main.
|
|
62
|
+
"@dxos/signal": "0.4.7-main.b51ad3a"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
@@ -9,6 +9,8 @@ export class AutomergeSpaceState implements CredentialProcessor {
|
|
|
9
9
|
public rootUrl: string | undefined = undefined;
|
|
10
10
|
public lastEpoch: SpecificCredential<Epoch> | undefined = undefined;
|
|
11
11
|
|
|
12
|
+
private _isProcessingRootDocs = false;
|
|
13
|
+
|
|
12
14
|
constructor(private readonly _onNewRoot: (rootUrl: string) => void) {}
|
|
13
15
|
|
|
14
16
|
async processCredential(credential: Credential) {
|
|
@@ -20,7 +22,20 @@ export class AutomergeSpaceState implements CredentialProcessor {
|
|
|
20
22
|
if (credential.subject.assertion.automergeRoot) {
|
|
21
23
|
this.rootUrl = credential.subject.assertion.automergeRoot;
|
|
22
24
|
|
|
25
|
+
if (this._isProcessingRootDocs) {
|
|
26
|
+
this._onNewRoot(this.rootUrl);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
startProcessingRootDocs() {
|
|
32
|
+
if (this._isProcessingRootDocs) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (this.rootUrl) {
|
|
23
37
|
this._onNewRoot(this.rootUrl);
|
|
24
38
|
}
|
|
39
|
+
this._isProcessingRootDocs = true;
|
|
25
40
|
}
|
|
26
41
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Event, scheduleTask, sleep, synchronized, trackLeaks } from '@dxos/async';
|
|
5
|
+
import { Event, asyncTimeout, scheduleTask, sleep, synchronized, trackLeaks } from '@dxos/async';
|
|
6
6
|
import { AUTH_TIMEOUT } from '@dxos/client-protocol';
|
|
7
7
|
import { cancelWithContext, Context, ContextDisposedError } from '@dxos/context';
|
|
8
8
|
import { timed, warnAfterTimeout } from '@dxos/debug';
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
type AutomergeHost,
|
|
16
16
|
} from '@dxos/echo-pipeline';
|
|
17
17
|
import { type FeedStore } from '@dxos/feed-store';
|
|
18
|
-
import { failedInvariant } from '@dxos/invariant';
|
|
18
|
+
import { failedInvariant, invariant } from '@dxos/invariant';
|
|
19
19
|
import { type Keyring } from '@dxos/keyring';
|
|
20
20
|
import { PublicKey } from '@dxos/keys';
|
|
21
21
|
import { log } from '@dxos/log';
|
|
@@ -276,6 +276,8 @@ export class DataSpace {
|
|
|
276
276
|
// Allow other tasks to run before loading the data pipeline.
|
|
277
277
|
await sleep(1);
|
|
278
278
|
|
|
279
|
+
this._automergeSpaceState.startProcessingRootDocs();
|
|
280
|
+
|
|
279
281
|
await this._inner.initializeDataPipeline();
|
|
280
282
|
|
|
281
283
|
this.metrics.dataPipelineOpen = new Date();
|
|
@@ -423,18 +425,38 @@ export class DataSpace {
|
|
|
423
425
|
case undefined:
|
|
424
426
|
case CreateEpochRequest.Migration.NONE:
|
|
425
427
|
{
|
|
428
|
+
// TODO(dmaretskyi): Unify epoch construction.
|
|
426
429
|
epoch = await this.dataPipeline.createEpoch();
|
|
427
430
|
}
|
|
428
431
|
break;
|
|
429
|
-
case CreateEpochRequest.Migration.INIT_AUTOMERGE:
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
432
|
+
case CreateEpochRequest.Migration.INIT_AUTOMERGE:
|
|
433
|
+
{
|
|
434
|
+
const document = this._automergeHost.repo.create();
|
|
435
|
+
// TODO(dmaretskyi): Unify epoch construction.
|
|
436
|
+
epoch = {
|
|
437
|
+
previousId: this._automergeSpaceState.lastEpoch?.id,
|
|
438
|
+
number: (this._automergeSpaceState.lastEpoch?.subject.assertion.number ?? -1) + 1,
|
|
439
|
+
timeframe: this._automergeSpaceState.lastEpoch?.subject.assertion.timeframe ?? new Timeframe(),
|
|
440
|
+
automergeRoot: document.url,
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
break;
|
|
444
|
+
case CreateEpochRequest.Migration.PRUNE_AUTOMERGE_ROOT_HISTORY:
|
|
445
|
+
{
|
|
446
|
+
const currentRootUrl = this._automergeSpaceState.rootUrl;
|
|
447
|
+
const rootHandle = this._automergeHost.repo.find(currentRootUrl as any);
|
|
448
|
+
await cancelWithContext(this._ctx, asyncTimeout(rootHandle.whenReady(), 10_000));
|
|
449
|
+
const newRoot = this._automergeHost.repo.create(rootHandle.docSync());
|
|
450
|
+
invariant(typeof newRoot.url === 'string' && newRoot.url.length > 0);
|
|
451
|
+
// TODO(dmaretskyi): Unify epoch construction.
|
|
452
|
+
epoch = {
|
|
453
|
+
previousId: this._automergeSpaceState.lastEpoch?.id,
|
|
454
|
+
number: (this._automergeSpaceState.lastEpoch?.subject.assertion.number ?? -1) + 1,
|
|
455
|
+
timeframe: this._automergeSpaceState.lastEpoch?.subject.assertion.timeframe ?? new Timeframe(),
|
|
456
|
+
automergeRoot: newRoot.url,
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
break;
|
|
438
460
|
}
|
|
439
461
|
|
|
440
462
|
if (!epoch) {
|
|
@@ -178,10 +178,10 @@ export class SpacesServiceImpl implements SpacesService {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
async createEpoch({ spaceKey }: CreateEpochRequest) {
|
|
181
|
+
async createEpoch({ spaceKey, migration }: CreateEpochRequest) {
|
|
182
182
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
183
183
|
const space = dataSpaceManager.spaces.get(spaceKey) ?? raise(new SpaceNotFoundError(spaceKey));
|
|
184
|
-
await space.createEpoch();
|
|
184
|
+
await space.createEpoch({ migration });
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
private _serializeSpace(space: DataSpace): Space {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.4.7-main.
|
|
1
|
+
export const DXOS_VERSION = "0.4.7-main.b51ad3a";
|