@dxos/client-services 0.3.9-main.f8fc6b9 → 0.3.9-next.35264cb
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-F2XXOT7U.mjs → chunk-7MLIZXJG.mjs} +26 -25
- package/dist/lib/browser/chunk-7MLIZXJG.mjs.map +7 -0
- 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-ZZBDK4AA.cjs → chunk-5S4LILTZ.cjs} +29 -28
- package/dist/lib/node/{chunk-ZZBDK4AA.cjs.map → chunk-5S4LILTZ.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/services/automerge-host.test.d.ts +2 -0
- package/dist/types/src/packlets/services/automerge-host.test.d.ts.map +1 -0
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts +2 -2
- package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +35 -35
- package/src/packlets/services/automerge-host.test.ts +56 -0
- package/src/packlets/services/service-context.ts +1 -0
- package/src/packlets/spaces/data-space-manager.ts +1 -1
- package/src/packlets/spaces/data-space.ts +5 -6
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-F2XXOT7U.mjs.map +0 -7
|
@@ -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_5S4LILTZ = require("../../chunk-5S4LILTZ.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");
|
|
@@ -216,7 +216,7 @@ var createInvitation = (host, options) => {
|
|
|
216
216
|
authMethod: import_services.Invitation.AuthMethod.NONE,
|
|
217
217
|
...options ?? {}
|
|
218
218
|
};
|
|
219
|
-
if (host instanceof
|
|
219
|
+
if (host instanceof import_chunk_5S4LILTZ.ServiceContext) {
|
|
220
220
|
const hostHandler = host.getInvitationHandler({
|
|
221
221
|
kind: import_services.Invitation.Kind.SPACE,
|
|
222
222
|
...options
|
|
@@ -227,7 +227,7 @@ var createInvitation = (host, options) => {
|
|
|
227
227
|
};
|
|
228
228
|
var acceptInvitation = (guest, invitation) => {
|
|
229
229
|
invitation = sanitizeInvitation(invitation);
|
|
230
|
-
if (guest instanceof
|
|
230
|
+
if (guest instanceof import_chunk_5S4LILTZ.ServiceContext) {
|
|
231
231
|
const guestHandler = guest.getInvitationHandler({
|
|
232
232
|
kind: invitation.kind
|
|
233
233
|
});
|
|
@@ -236,7 +236,7 @@ var acceptInvitation = (guest, invitation) => {
|
|
|
236
236
|
return guest.join(invitation);
|
|
237
237
|
};
|
|
238
238
|
var createServiceHost = (config, signalManagerContext) => {
|
|
239
|
-
return new
|
|
239
|
+
return new import_chunk_5S4LILTZ.ClientServicesHost({
|
|
240
240
|
config,
|
|
241
241
|
signalManager: new import_messaging.MemorySignalManager(signalManagerContext),
|
|
242
242
|
transportFactory: import_network_manager.MemoryTransportFactory
|
|
@@ -250,8 +250,8 @@ var createServiceContext = ({ signalContext = new import_messaging.MemorySignalM
|
|
|
250
250
|
signalManager,
|
|
251
251
|
transportFactory: import_network_manager.MemoryTransportFactory
|
|
252
252
|
});
|
|
253
|
-
const modelFactory = (0,
|
|
254
|
-
return new
|
|
253
|
+
const modelFactory = (0, import_chunk_5S4LILTZ.createDefaultModelFactory)();
|
|
254
|
+
return new import_chunk_5S4LILTZ.ServiceContext(storage, networkManager, signalManager, modelFactory);
|
|
255
255
|
};
|
|
256
256
|
var createPeers = async (numPeers) => {
|
|
257
257
|
const signalContext = new import_messaging.MemorySignalManagerContext();
|
|
@@ -335,7 +335,7 @@ var TestPeer = class {
|
|
|
335
335
|
feedStore: this.feedStore,
|
|
336
336
|
networkManager: this.networkManager,
|
|
337
337
|
metadataStore: this.metadataStore,
|
|
338
|
-
modelFactory: (0,
|
|
338
|
+
modelFactory: (0, import_chunk_5S4LILTZ.createDefaultModelFactory)(),
|
|
339
339
|
snapshotStore: this.snapshotStore,
|
|
340
340
|
blobStore: this.blobStore
|
|
341
341
|
});
|
|
@@ -347,7 +347,7 @@ var TestPeer = class {
|
|
|
347
347
|
return this._props.automergeHost ??= new import_echo_pipeline.AutomergeHost(this.storage.createDirectory("automerge"));
|
|
348
348
|
}
|
|
349
349
|
get dataSpaceManager() {
|
|
350
|
-
return this._props.dataSpaceManager ??= new
|
|
350
|
+
return this._props.dataSpaceManager ??= new import_chunk_5S4LILTZ.DataSpaceManager(this.spaceManager, this.metadataStore, new import_echo_pipeline.DataServiceSubscriptions(), this.keyring, this.identity, this.feedStore, this.automergeHost);
|
|
351
351
|
}
|
|
352
352
|
async createIdentity() {
|
|
353
353
|
this._props.signingContext ??= await createSigningContext(this.keyring);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automerge-host.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/automerge-host.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAIjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,eAAe,EAA2B,MAAM,aAAa,CAAC;AACnG,OAAO,EAEL,kBAAkB,EAClB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,WAAW,CAAC;AAElE;;GAEG;AAGH,qBAEa,cAAc;aA6BP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA/B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,aAAa,EAAE,aAAa,CAAC;IAGtC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAgDtC,IAAI,CAAC,GAAG,EAAE,OAAO;IAkBjB,KAAK;
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAIjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,eAAe,EAA2B,MAAM,aAAa,CAAC;AACnG,OAAO,EAEL,kBAAkB,EAClB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,WAAW,CAAC;AAElE;;GAEG;AAGH,qBAEa,cAAc;aA6BP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA/B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,aAAa,EAAE,aAAa,CAAC;IAGtC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAgDtC,IAAI,CAAC,GAAG,EAAE,OAAO;IAkBjB,KAAK;IAiBL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAMvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;IAM9F,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS;YAUnD,eAAe;YAMf,oBAAoB;YAUpB,WAAW;CA+D1B"}
|
|
@@ -38,7 +38,7 @@ export type DataSpaceParams = {
|
|
|
38
38
|
signingContext: SigningContext;
|
|
39
39
|
callbacks?: DataSpaceCallbacks;
|
|
40
40
|
cache?: SpaceCache;
|
|
41
|
-
automergeHost
|
|
41
|
+
automergeHost: AutomergeHost;
|
|
42
42
|
};
|
|
43
43
|
export declare class DataSpace {
|
|
44
44
|
private _ctx;
|
|
@@ -52,7 +52,7 @@ export declare class DataSpace {
|
|
|
52
52
|
private readonly _notarizationPlugin;
|
|
53
53
|
private readonly _callbacks;
|
|
54
54
|
private readonly _cache?;
|
|
55
|
-
private readonly _automergeHost
|
|
55
|
+
private readonly _automergeHost;
|
|
56
56
|
private readonly _automergeSpaceState;
|
|
57
57
|
private _state;
|
|
58
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAiD,MAAM,aAAa,CAAC;AAInF,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EAEV,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,IAAI,UAAU,EAAsB,MAAM,4CAA4C,CAAC;AACtH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAiD,MAAM,aAAa,CAAC;AAInF,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EAEV,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,IAAI,UAAU,EAAsB,MAAM,4CAA4C,CAAC;AACtH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAQF,qBACa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAG/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAElE,OAAO,CAAC,MAAM,CAAqB;IAEnC;;OAEG;IACI,KAAK,EAAE,KAAK,GAAG,SAAS,CAAa;IAE5C,SAAgB,YAAY,EAAE,yBAAyB,CAAC;IACxD,SAAgB,WAAW,cAAe;IAEnC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAM;gBAE5B,MAAM,EAAE,eAAe;IA+BnC,IAAI,GAAG,cAEN;IAED,IAAI,MAAM,YAET;IAED,IAAI,KAAK,IAAI,UAAU,CAEtB;IAGD,IAAI,KAAK,UAER;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,QAAQ,aAEX;IAED,IAAI,kBAAkB,uBAErB;IAED,IAAI,KAAK,2BAER;IAED,IAAI,mBAAmB,wBAEtB;IAGK,IAAI;YAII,KAAK;IAcb,KAAK;YAIG,MAAM;IAkBd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI/C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;;;IAIlE;;OAEG;IACH,2BAA2B;IAuBrB,sBAAsB;YAwCd,iCAAiC;YAyBjC,oBAAoB;IAkD5B,gBAAgB,CAAC,OAAO,EAAE,eAAe;IAWzC,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAoDxC,QAAQ;IAWR,UAAU;CAYjB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.3.9-
|
|
1
|
+
export declare const DXOS_VERSION = "0.3.9-next.35264cb";
|
|
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.3.9-
|
|
3
|
+
"version": "0.3.9-next.35264cb",
|
|
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/async": "0.3.9-
|
|
26
|
-
"@dxos/
|
|
27
|
-
"@dxos/config": "0.3.9-
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/credentials": "0.3.9-
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/echo-
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/model-factory": "0.3.9-
|
|
44
|
-
"@dxos/messaging": "0.3.9-
|
|
45
|
-
"@dxos/network-manager": "0.3.9-
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/rpc": "0.3.9-
|
|
50
|
-
"@dxos/teleport": "0.3.9-
|
|
51
|
-
"@dxos/teleport-extension-
|
|
52
|
-
"@dxos/teleport
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/websocket-rpc": "0.3.9-
|
|
25
|
+
"@dxos/async": "0.3.9-next.35264cb",
|
|
26
|
+
"@dxos/client-protocol": "0.3.9-next.35264cb",
|
|
27
|
+
"@dxos/config": "0.3.9-next.35264cb",
|
|
28
|
+
"@dxos/context": "0.3.9-next.35264cb",
|
|
29
|
+
"@dxos/credentials": "0.3.9-next.35264cb",
|
|
30
|
+
"@dxos/codec-protobuf": "0.3.9-next.35264cb",
|
|
31
|
+
"@dxos/crypto": "0.3.9-next.35264cb",
|
|
32
|
+
"@dxos/document-model": "0.3.9-next.35264cb",
|
|
33
|
+
"@dxos/echo-db": "0.3.9-next.35264cb",
|
|
34
|
+
"@dxos/echo-schema": "0.3.9-next.35264cb",
|
|
35
|
+
"@dxos/debug": "0.3.9-next.35264cb",
|
|
36
|
+
"@dxos/feed-store": "0.3.9-next.35264cb",
|
|
37
|
+
"@dxos/echo-pipeline": "0.3.9-next.35264cb",
|
|
38
|
+
"@dxos/invariant": "0.3.9-next.35264cb",
|
|
39
|
+
"@dxos/keyring": "0.3.9-next.35264cb",
|
|
40
|
+
"@dxos/lock-file": "0.3.9-next.35264cb",
|
|
41
|
+
"@dxos/keys": "0.3.9-next.35264cb",
|
|
42
|
+
"@dxos/log": "0.3.9-next.35264cb",
|
|
43
|
+
"@dxos/model-factory": "0.3.9-next.35264cb",
|
|
44
|
+
"@dxos/messaging": "0.3.9-next.35264cb",
|
|
45
|
+
"@dxos/network-manager": "0.3.9-next.35264cb",
|
|
46
|
+
"@dxos/protocols": "0.3.9-next.35264cb",
|
|
47
|
+
"@dxos/node-std": "0.3.9-next.35264cb",
|
|
48
|
+
"@dxos/random-access-storage": "0.3.9-next.35264cb",
|
|
49
|
+
"@dxos/rpc": "0.3.9-next.35264cb",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.3.9-next.35264cb",
|
|
51
|
+
"@dxos/teleport-extension-object-sync": "0.3.9-next.35264cb",
|
|
52
|
+
"@dxos/teleport": "0.3.9-next.35264cb",
|
|
53
|
+
"@dxos/timeframe": "0.3.9-next.35264cb",
|
|
54
|
+
"@dxos/tracing": "0.3.9-next.35264cb",
|
|
55
|
+
"@dxos/text-model": "0.3.9-next.35264cb",
|
|
56
|
+
"@dxos/util": "0.3.9-next.35264cb",
|
|
57
|
+
"@dxos/websocket-rpc": "0.3.9-next.35264cb"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/platform": "^1.3.4",
|
|
61
61
|
"@types/readable-stream": "^2.3.9",
|
|
62
|
-
"@dxos/signal": "0.3.9-
|
|
62
|
+
"@dxos/signal": "0.3.9-next.35264cb"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { expect } from 'chai';
|
|
6
|
+
|
|
7
|
+
import { asyncTimeout, sleep } from '@dxos/async';
|
|
8
|
+
import { AutomergeHost, DataServiceImpl, type DataServiceSubscriptions } from '@dxos/echo-pipeline';
|
|
9
|
+
import { AutomergeContext } from '@dxos/echo-schema';
|
|
10
|
+
import { StorageType, createStorage } from '@dxos/random-access-storage';
|
|
11
|
+
import { afterTest, describe, test } from '@dxos/test';
|
|
12
|
+
|
|
13
|
+
describe('AutomergeHost', () => {
|
|
14
|
+
test('automerge context is being synced with host', async () => {
|
|
15
|
+
//
|
|
16
|
+
// Setup:
|
|
17
|
+
// client-services | <-------------> | client
|
|
18
|
+
// AutomergeHost | DataServiceImpl | AutomergeContext
|
|
19
|
+
// creates repo and document | replicates repo | finds document in repo
|
|
20
|
+
//
|
|
21
|
+
|
|
22
|
+
const storageDirectory = createStorage({ type: StorageType.RAM }).createDirectory();
|
|
23
|
+
|
|
24
|
+
const host = new AutomergeHost(storageDirectory);
|
|
25
|
+
afterTest(() => host.close());
|
|
26
|
+
const dataService = new DataServiceImpl(
|
|
27
|
+
{} as DataServiceSubscriptions, // is not used in this test, just required argument
|
|
28
|
+
host,
|
|
29
|
+
);
|
|
30
|
+
const client = new AutomergeContext(dataService);
|
|
31
|
+
afterTest(() => client.close());
|
|
32
|
+
|
|
33
|
+
// Create document in repo.
|
|
34
|
+
const handle = host.repo.create();
|
|
35
|
+
const text = 'Hello World!';
|
|
36
|
+
handle.change((doc: any) => {
|
|
37
|
+
doc.text = text;
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Find document in repo.
|
|
41
|
+
const doc = client.repo.find(handle.url);
|
|
42
|
+
await asyncTimeout(doc.whenReady(), 1_000);
|
|
43
|
+
expect(doc.docSync().text).to.equal(text);
|
|
44
|
+
|
|
45
|
+
// Changes from client are replicated to host.
|
|
46
|
+
const newText = 'Goodbye World!!!';
|
|
47
|
+
doc.change((doc: any) => {
|
|
48
|
+
doc.text = newText;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// TODO(mykola): Is there a way to know when automerge has started replication?
|
|
52
|
+
await sleep(100);
|
|
53
|
+
await asyncTimeout(handle.whenReady(), 1_000);
|
|
54
|
+
expect(handle.docSync().text).to.equal(newText);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -150,6 +150,7 @@ export class ServiceContext {
|
|
|
150
150
|
if (this._deviceSpaceSync && this.identityManager.identity) {
|
|
151
151
|
await this.identityManager.identity.space.spaceState.removeCredentialProcessor(this._deviceSpaceSync);
|
|
152
152
|
}
|
|
153
|
+
await this.automergeHost.close();
|
|
153
154
|
await this.dataSpaceManager?.close();
|
|
154
155
|
await this.identityManager.close();
|
|
155
156
|
await this.spaceManager.close();
|
|
@@ -142,7 +142,7 @@ export class DataSpaceManager {
|
|
|
142
142
|
log('creating space...', { spaceKey });
|
|
143
143
|
const space = await this._constructSpace(metadata);
|
|
144
144
|
|
|
145
|
-
const automergeRoot = this._automergeHost
|
|
145
|
+
const automergeRoot = this._automergeHost.repo.create();
|
|
146
146
|
|
|
147
147
|
const credentials = await spaceGenesis(this._keyring, this._signingContext, space.inner, automergeRoot.url);
|
|
148
148
|
await this._metadataStore.addSpace(metadata);
|
|
@@ -67,9 +67,7 @@ export type DataSpaceParams = {
|
|
|
67
67
|
signingContext: SigningContext;
|
|
68
68
|
callbacks?: DataSpaceCallbacks;
|
|
69
69
|
cache?: SpaceCache;
|
|
70
|
-
|
|
71
|
-
// TODO(dmaretskyi): Make required.
|
|
72
|
-
automergeHost?: AutomergeHost;
|
|
70
|
+
automergeHost: AutomergeHost;
|
|
73
71
|
};
|
|
74
72
|
|
|
75
73
|
/**
|
|
@@ -91,7 +89,7 @@ export class DataSpace {
|
|
|
91
89
|
private readonly _notarizationPlugin = new NotarizationPlugin();
|
|
92
90
|
private readonly _callbacks: DataSpaceCallbacks;
|
|
93
91
|
private readonly _cache?: SpaceCache = undefined;
|
|
94
|
-
private readonly _automergeHost
|
|
92
|
+
private readonly _automergeHost: AutomergeHost;
|
|
95
93
|
|
|
96
94
|
// TODO(dmaretskyi): Move into Space?
|
|
97
95
|
private readonly _automergeSpaceState = new AutomergeSpaceState();
|
|
@@ -119,6 +117,7 @@ export class DataSpace {
|
|
|
119
117
|
this._metadataStore = params.metadataStore;
|
|
120
118
|
this._signingContext = params.signingContext;
|
|
121
119
|
this._callbacks = params.callbacks ?? {};
|
|
120
|
+
this._automergeHost = params.automergeHost;
|
|
122
121
|
|
|
123
122
|
this.authVerifier = new TrustedKeySetAuthVerifier({
|
|
124
123
|
trustedKeysProvider: () =>
|
|
@@ -386,12 +385,12 @@ export class DataSpace {
|
|
|
386
385
|
}
|
|
387
386
|
break;
|
|
388
387
|
case CreateEpochRequest.Migration.INIT_AUTOMERGE: {
|
|
389
|
-
const document = this._automergeHost
|
|
388
|
+
const document = this._automergeHost.repo.create();
|
|
390
389
|
epoch = {
|
|
391
390
|
previousId: this._automergeSpaceState.lastEpoch?.id,
|
|
392
391
|
number: (this._automergeSpaceState.lastEpoch?.subject.assertion.number ?? -1) + 1,
|
|
393
392
|
timeframe: this._automergeSpaceState.lastEpoch?.subject.assertion.timeframe ?? new Timeframe(),
|
|
394
|
-
automergeRoot: document
|
|
393
|
+
automergeRoot: document.url,
|
|
395
394
|
};
|
|
396
395
|
}
|
|
397
396
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.3.9-
|
|
1
|
+
export const DXOS_VERSION = "0.3.9-next.35264cb";
|