@dxos/client-services 0.3.9-main.e6215fc → 0.3.9-main.ef334cd
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-AJI7G3GC.mjs → chunk-5AFGJQGV.mjs} +111 -61
- package/dist/lib/browser/{chunk-AJI7G3GC.mjs.map → chunk-5AFGJQGV.mjs.map} +4 -4
- 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-2QCQPP34.cjs → chunk-RD2EVVPQ.cjs} +120 -73
- package/dist/lib/node/chunk-RD2EVVPQ.cjs.map +7 -0
- 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/service-context.d.ts +2 -1
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/automerge-space-state.d.ts +8 -0
- package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -0
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts +3 -2
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts +7 -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/service-context.ts +5 -0
- package/src/packlets/services/service-host.ts +4 -1
- package/src/packlets/spaces/automerge-space-state.ts +22 -0
- package/src/packlets/spaces/data-space-manager.ts +11 -1
- package/src/packlets/spaces/data-space.ts +53 -6
- package/src/version.ts +1 -1
- package/dist/lib/node/chunk-2QCQPP34.cjs.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_RD2EVVPQ = require("../../chunk-RD2EVVPQ.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_RD2EVVPQ.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_RD2EVVPQ.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_RD2EVVPQ.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_RD2EVVPQ.createDefaultModelFactory)();
|
|
254
|
+
return new import_chunk_RD2EVVPQ.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_RD2EVVPQ.createDefaultModelFactory)(),
|
|
339
339
|
snapshotStore: this.snapshotStore,
|
|
340
340
|
blobStore: this.blobStore
|
|
341
341
|
});
|
|
@@ -344,7 +344,7 @@ var TestPeer = class {
|
|
|
344
344
|
return this._props.signingContext ?? (0, import_debug.failUndefined)();
|
|
345
345
|
}
|
|
346
346
|
get dataSpaceManager() {
|
|
347
|
-
return this._props.dataSpaceManager ??= new
|
|
347
|
+
return this._props.dataSpaceManager ??= new import_chunk_RD2EVVPQ.DataSpaceManager(this.spaceManager, this.metadataStore, new import_echo_pipeline.DataServiceSubscriptions(), this.keyring, this.identity, this.feedStore);
|
|
348
348
|
}
|
|
349
349
|
async createIdentity() {
|
|
350
350
|
this._props.signingContext ??= await createSigningContext(this.keyring);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Trigger } from '@dxos/async';
|
|
2
2
|
import { Context } from '@dxos/context';
|
|
3
|
-
import { MetadataStore, SpaceManager, DataServiceSubscriptions, SnapshotStore } from '@dxos/echo-pipeline';
|
|
3
|
+
import { MetadataStore, SpaceManager, DataServiceSubscriptions, SnapshotStore, AutomergeHost } from '@dxos/echo-pipeline';
|
|
4
4
|
import { FeedStore } from '@dxos/feed-store';
|
|
5
5
|
import { Keyring } from '@dxos/keyring';
|
|
6
6
|
import { type SignalManager } from '@dxos/messaging';
|
|
@@ -35,6 +35,7 @@ export declare class ServiceContext {
|
|
|
35
35
|
readonly spaceManager: SpaceManager;
|
|
36
36
|
readonly identityManager: IdentityManager;
|
|
37
37
|
readonly invitations: InvitationsHandler;
|
|
38
|
+
readonly automergeHost: AutomergeHost;
|
|
38
39
|
dataSpaceManager?: DataSpaceManager;
|
|
39
40
|
private readonly _handlerFactories;
|
|
40
41
|
private _deviceSpaceSync?;
|
|
@@ -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,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;
|
|
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;IAgBL,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAoD,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIhH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,eAAO,MAAM,yBAAyB,oBAErC,CAAC;AAiBF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IAEvE,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAC,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAC,CAAyC;IAEhE,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAS;gBAEV,EACV,MAAM,EACN,YAA0C,EAC1C,gBAAgB,EAChB,aAAa,EACb,OAAO,EAEP,OAAO,EACP,SAAS,GACV,GAAE,wBAA6B;IAiDhC,IAAI,MAAM,YAET;IAED,IAAI,MAAM,uBAET;IAED,IAAI,OAAO,mBAEV;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,iBAAiB;IAiC9C,IAAI,CAAC,GAAG,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAoD,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIhH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,eAAO,MAAM,yBAAyB,oBAErC,CAAC;AAiBF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IAEvE,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAC,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAC,CAAyC;IAEhE,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAS;gBAEV,EACV,MAAM,EACN,YAA0C,EAC1C,gBAAgB,EAChB,aAAa,EACb,OAAO,EAEP,OAAO,EACP,SAAS,GACV,GAAE,wBAA6B;IAiDhC,IAAI,MAAM,YAET;IAED,IAAI,MAAM,uBAET;IAED,IAAI,OAAO,mBAEV;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,iBAAiB;IAiC9C,IAAI,CAAC,GAAG,EAAE,OAAO;IA6FjB,KAAK;IAgBL,KAAK;YAYG,eAAe;CAkB9B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CredentialProcessor, type SpecificCredential } from '@dxos/credentials';
|
|
2
|
+
import { type Credential, type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
3
|
+
export declare class AutomergeSpaceState implements CredentialProcessor {
|
|
4
|
+
rootUrl: string | undefined;
|
|
5
|
+
lastEpoch: SpecificCredential<Epoch> | undefined;
|
|
6
|
+
processCredential(credential: Credential): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=automerge-space-state.d.ts.map
|
|
@@ -0,0 +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;IACtD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IACxC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAa;IAE9D,iBAAiB,CAAC,UAAU,EAAE,UAAU;CAU/C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
2
|
import { type CredentialSigner } from '@dxos/credentials';
|
|
3
|
-
import { type DataServiceSubscriptions, type MetadataStore, type SpaceManager } from '@dxos/echo-pipeline';
|
|
3
|
+
import { type AutomergeHost, type DataServiceSubscriptions, type MetadataStore, type SpaceManager } from '@dxos/echo-pipeline';
|
|
4
4
|
import { type FeedStore } from '@dxos/feed-store';
|
|
5
5
|
import { type Keyring } from '@dxos/keyring';
|
|
6
6
|
import { PublicKey } from '@dxos/keys';
|
|
@@ -37,12 +37,13 @@ export declare class DataSpaceManager {
|
|
|
37
37
|
private readonly _keyring;
|
|
38
38
|
private readonly _signingContext;
|
|
39
39
|
private readonly _feedStore;
|
|
40
|
+
private readonly _automergeHost?;
|
|
40
41
|
private readonly _ctx;
|
|
41
42
|
readonly updated: Event<void>;
|
|
42
43
|
private readonly _spaces;
|
|
43
44
|
private _isOpen;
|
|
44
45
|
private readonly _instanceId;
|
|
45
|
-
constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _dataServiceSubscriptions: DataServiceSubscriptions, _keyring: Keyring, _signingContext: SigningContext, _feedStore: FeedStore<FeedMessage
|
|
46
|
+
constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _dataServiceSubscriptions: DataServiceSubscriptions, _keyring: Keyring, _signingContext: SigningContext, _feedStore: FeedStore<FeedMessage>, _automergeHost?: AutomergeHost | undefined);
|
|
46
47
|
get spaces(): ComplexMap<PublicKey, DataSpace>;
|
|
47
48
|
open(): Promise<void>;
|
|
48
49
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEpG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,UAAU,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAlBlC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAGlC,cAAc,CAAC,2BAAe;IAIjD,IAAI,MAAM,qCAET;IAGK,IAAI;IA2BJ,KAAK;IASX;;OAEG;IAEG,WAAW;IA+BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;CAyF9B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
|
-
import { type MetadataStore, type Space, type DataPipeline } from '@dxos/echo-pipeline';
|
|
2
|
+
import { type MetadataStore, type Space, type DataPipeline, type CreateEpochOptions, type AutomergeHost } from '@dxos/echo-pipeline';
|
|
3
3
|
import { type FeedStore } from '@dxos/feed-store';
|
|
4
4
|
import { type Keyring } from '@dxos/keyring';
|
|
5
5
|
import { PublicKey } from '@dxos/keys';
|
|
@@ -9,6 +9,7 @@ import { type SpaceCache } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
|
9
9
|
import { type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
10
10
|
import { type GossipMessage } from '@dxos/protocols/proto/dxos/mesh/teleport/gossip';
|
|
11
11
|
import { type Gossip, type Presence } from '@dxos/teleport-extension-gossip';
|
|
12
|
+
import { AutomergeSpaceState } from './automerge-space-state';
|
|
12
13
|
import { type SigningContext } from './data-space-manager';
|
|
13
14
|
import { NotarizationPlugin } from './notarization-plugin';
|
|
14
15
|
import { TrustedKeySetAuthVerifier } from '../identity';
|
|
@@ -37,6 +38,7 @@ export type DataSpaceParams = {
|
|
|
37
38
|
signingContext: SigningContext;
|
|
38
39
|
callbacks?: DataSpaceCallbacks;
|
|
39
40
|
cache?: SpaceCache;
|
|
41
|
+
automergeHost?: AutomergeHost;
|
|
40
42
|
};
|
|
41
43
|
export declare class DataSpace {
|
|
42
44
|
private _ctx;
|
|
@@ -50,6 +52,8 @@ export declare class DataSpace {
|
|
|
50
52
|
private readonly _notarizationPlugin;
|
|
51
53
|
private readonly _callbacks;
|
|
52
54
|
private readonly _cache?;
|
|
55
|
+
private readonly _automergeHost?;
|
|
56
|
+
private readonly _automergeSpaceState;
|
|
53
57
|
private _state;
|
|
54
58
|
/**
|
|
55
59
|
* Error for _state === SpaceState.ERROR.
|
|
@@ -67,6 +71,7 @@ export declare class DataSpace {
|
|
|
67
71
|
get presence(): Presence;
|
|
68
72
|
get notarizationPlugin(): NotarizationPlugin;
|
|
69
73
|
get cache(): SpaceCache | undefined;
|
|
74
|
+
get automergeSpaceState(): AutomergeSpaceState;
|
|
70
75
|
open(): Promise<void>;
|
|
71
76
|
private _open;
|
|
72
77
|
close(): Promise<void>;
|
|
@@ -83,7 +88,7 @@ export declare class DataSpace {
|
|
|
83
88
|
private _initializeAndReadControlPipeline;
|
|
84
89
|
private _createWritableFeeds;
|
|
85
90
|
updateOwnProfile(profile: ProfileDocument): Promise<void>;
|
|
86
|
-
createEpoch(): Promise<void>;
|
|
91
|
+
createEpoch(options?: CreateEpochOptions): Promise<void>;
|
|
87
92
|
activate(): Promise<void>;
|
|
88
93
|
deactivate(): Promise<void>;
|
|
89
94
|
}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.3.9-main.
|
|
1
|
+
export declare const DXOS_VERSION = "0.3.9-main.ef334cd";
|
|
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-main.
|
|
3
|
+
"version": "0.3.9-main.ef334cd",
|
|
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/codec-protobuf": "0.3.9-main.
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/crypto": "0.3.9-main.
|
|
32
|
-
"@dxos/debug": "0.3.9-main.
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/echo-
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/model-factory": "0.3.9-main.
|
|
45
|
-
"@dxos/network-manager": "0.3.9-main.
|
|
46
|
-
"@dxos/node-std": "0.3.9-main.
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/teleport": "0.3.9-main.
|
|
51
|
-
"@dxos/teleport-extension-
|
|
52
|
-
"@dxos/teleport-extension-
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/tracing": "0.3.9-main.
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
25
|
+
"@dxos/async": "0.3.9-main.ef334cd",
|
|
26
|
+
"@dxos/client-protocol": "0.3.9-main.ef334cd",
|
|
27
|
+
"@dxos/codec-protobuf": "0.3.9-main.ef334cd",
|
|
28
|
+
"@dxos/config": "0.3.9-main.ef334cd",
|
|
29
|
+
"@dxos/context": "0.3.9-main.ef334cd",
|
|
30
|
+
"@dxos/credentials": "0.3.9-main.ef334cd",
|
|
31
|
+
"@dxos/crypto": "0.3.9-main.ef334cd",
|
|
32
|
+
"@dxos/debug": "0.3.9-main.ef334cd",
|
|
33
|
+
"@dxos/echo-db": "0.3.9-main.ef334cd",
|
|
34
|
+
"@dxos/document-model": "0.3.9-main.ef334cd",
|
|
35
|
+
"@dxos/echo-pipeline": "0.3.9-main.ef334cd",
|
|
36
|
+
"@dxos/feed-store": "0.3.9-main.ef334cd",
|
|
37
|
+
"@dxos/echo-schema": "0.3.9-main.ef334cd",
|
|
38
|
+
"@dxos/keyring": "0.3.9-main.ef334cd",
|
|
39
|
+
"@dxos/keys": "0.3.9-main.ef334cd",
|
|
40
|
+
"@dxos/invariant": "0.3.9-main.ef334cd",
|
|
41
|
+
"@dxos/messaging": "0.3.9-main.ef334cd",
|
|
42
|
+
"@dxos/lock-file": "0.3.9-main.ef334cd",
|
|
43
|
+
"@dxos/log": "0.3.9-main.ef334cd",
|
|
44
|
+
"@dxos/model-factory": "0.3.9-main.ef334cd",
|
|
45
|
+
"@dxos/network-manager": "0.3.9-main.ef334cd",
|
|
46
|
+
"@dxos/node-std": "0.3.9-main.ef334cd",
|
|
47
|
+
"@dxos/random-access-storage": "0.3.9-main.ef334cd",
|
|
48
|
+
"@dxos/rpc": "0.3.9-main.ef334cd",
|
|
49
|
+
"@dxos/protocols": "0.3.9-main.ef334cd",
|
|
50
|
+
"@dxos/teleport": "0.3.9-main.ef334cd",
|
|
51
|
+
"@dxos/teleport-extension-object-sync": "0.3.9-main.ef334cd",
|
|
52
|
+
"@dxos/teleport-extension-gossip": "0.3.9-main.ef334cd",
|
|
53
|
+
"@dxos/text-model": "0.3.9-main.ef334cd",
|
|
54
|
+
"@dxos/timeframe": "0.3.9-main.ef334cd",
|
|
55
|
+
"@dxos/tracing": "0.3.9-main.ef334cd",
|
|
56
|
+
"@dxos/util": "0.3.9-main.ef334cd",
|
|
57
|
+
"@dxos/websocket-rpc": "0.3.9-main.ef334cd"
|
|
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-main.
|
|
62
|
+
"@dxos/signal": "0.3.9-main.ef334cd"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
SpaceManager,
|
|
13
13
|
DataServiceSubscriptions,
|
|
14
14
|
SnapshotStore,
|
|
15
|
+
AutomergeHost,
|
|
15
16
|
} from '@dxos/echo-pipeline';
|
|
16
17
|
import { FeedFactory, FeedStore } from '@dxos/feed-store';
|
|
17
18
|
import { invariant } from '@dxos/invariant';
|
|
@@ -60,6 +61,7 @@ export class ServiceContext {
|
|
|
60
61
|
public readonly spaceManager: SpaceManager;
|
|
61
62
|
public readonly identityManager: IdentityManager;
|
|
62
63
|
public readonly invitations: InvitationsHandler;
|
|
64
|
+
public readonly automergeHost: AutomergeHost;
|
|
63
65
|
|
|
64
66
|
// Initialized after identity is initialized.
|
|
65
67
|
public dataSpaceManager?: DataSpaceManager;
|
|
@@ -107,6 +109,8 @@ export class ServiceContext {
|
|
|
107
109
|
|
|
108
110
|
this.identityManager = new IdentityManager(this.metadataStore, this.keyring, this.feedStore, this.spaceManager);
|
|
109
111
|
|
|
112
|
+
this.automergeHost = new AutomergeHost(storage.createDirectory('automerge'));
|
|
113
|
+
|
|
110
114
|
this.invitations = new InvitationsHandler(this.networkManager);
|
|
111
115
|
|
|
112
116
|
// TODO(burdon): _initialize called in multiple places.
|
|
@@ -215,6 +219,7 @@ export class ServiceContext {
|
|
|
215
219
|
this.keyring,
|
|
216
220
|
signingContext,
|
|
217
221
|
this.feedStore,
|
|
222
|
+
this.automergeHost,
|
|
218
223
|
);
|
|
219
224
|
await this.dataSpaceManager.open();
|
|
220
225
|
|
|
@@ -282,7 +282,10 @@ export class ClientServicesHost {
|
|
|
282
282
|
},
|
|
283
283
|
),
|
|
284
284
|
|
|
285
|
-
DataService: new DataServiceImpl(
|
|
285
|
+
DataService: new DataServiceImpl(
|
|
286
|
+
this._serviceContext.dataServiceSubscriptions,
|
|
287
|
+
this._serviceContext.automergeHost,
|
|
288
|
+
),
|
|
286
289
|
|
|
287
290
|
NetworkService: new NetworkServiceImpl(this._serviceContext.networkManager, this._serviceContext.signalManager),
|
|
288
291
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type CredentialProcessor, type SpecificCredential, checkCredentialType } from '@dxos/credentials';
|
|
6
|
+
import { type Credential, type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
7
|
+
|
|
8
|
+
export class AutomergeSpaceState implements CredentialProcessor {
|
|
9
|
+
public rootUrl: string | undefined = undefined;
|
|
10
|
+
public lastEpoch: SpecificCredential<Epoch> | undefined = undefined;
|
|
11
|
+
|
|
12
|
+
async processCredential(credential: Credential) {
|
|
13
|
+
if (!checkCredentialType(credential, 'dxos.halo.credentials.Epoch')) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
this.lastEpoch = credential;
|
|
18
|
+
if (credential.subject.assertion.automergeRoot) {
|
|
19
|
+
this.rootUrl = credential.subject.assertion.automergeRoot;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
import { Event, synchronized, trackLeaks } from '@dxos/async';
|
|
6
6
|
import { cancelWithContext, Context } from '@dxos/context';
|
|
7
7
|
import { type CredentialSigner, getCredentialAssertion } from '@dxos/credentials';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
type AutomergeHost,
|
|
10
|
+
type DataServiceSubscriptions,
|
|
11
|
+
type MetadataStore,
|
|
12
|
+
type Space,
|
|
13
|
+
type SpaceManager,
|
|
14
|
+
} from '@dxos/echo-pipeline';
|
|
9
15
|
import { type FeedStore } from '@dxos/feed-store';
|
|
10
16
|
import { invariant } from '@dxos/invariant';
|
|
11
17
|
import { type Keyring } from '@dxos/keyring';
|
|
@@ -71,6 +77,9 @@ export class DataSpaceManager {
|
|
|
71
77
|
private readonly _keyring: Keyring,
|
|
72
78
|
private readonly _signingContext: SigningContext,
|
|
73
79
|
private readonly _feedStore: FeedStore<FeedMessage>,
|
|
80
|
+
|
|
81
|
+
// TODO(dmaretskyi): Make required.
|
|
82
|
+
private readonly _automergeHost?: AutomergeHost,
|
|
74
83
|
) {}
|
|
75
84
|
|
|
76
85
|
// TODO(burdon): Remove.
|
|
@@ -257,6 +266,7 @@ export class DataSpaceManager {
|
|
|
257
266
|
},
|
|
258
267
|
},
|
|
259
268
|
cache: metadata.cache,
|
|
269
|
+
automergeHost: this._automergeHost,
|
|
260
270
|
});
|
|
261
271
|
|
|
262
272
|
if (metadata.state !== SpaceState.INACTIVE) {
|
|
@@ -6,22 +6,35 @@ import { Event, scheduleTask, sleep, synchronized, trackLeaks } from '@dxos/asyn
|
|
|
6
6
|
import { AUTH_TIMEOUT } from '@dxos/client-protocol';
|
|
7
7
|
import { cancelWithContext, Context } from '@dxos/context';
|
|
8
8
|
import { timed } from '@dxos/debug';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
type MetadataStore,
|
|
11
|
+
type Space,
|
|
12
|
+
createMappedFeedWriter,
|
|
13
|
+
type DataPipeline,
|
|
14
|
+
type CreateEpochOptions,
|
|
15
|
+
type AutomergeHost,
|
|
16
|
+
} from '@dxos/echo-pipeline';
|
|
10
17
|
import { type FeedStore } from '@dxos/feed-store';
|
|
11
18
|
import { type Keyring } from '@dxos/keyring';
|
|
12
19
|
import { PublicKey } from '@dxos/keys';
|
|
13
20
|
import { log } from '@dxos/log';
|
|
14
21
|
import { CancelledError, SystemError } from '@dxos/protocols';
|
|
15
|
-
import { SpaceState, type Space as SpaceProto } from '@dxos/protocols/proto/dxos/client/services';
|
|
22
|
+
import { SpaceState, type Space as SpaceProto, CreateEpochRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
16
23
|
import { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
17
24
|
import { type SpaceCache } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
18
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
AdmittedFeed,
|
|
27
|
+
type ProfileDocument,
|
|
28
|
+
type Credential,
|
|
29
|
+
type Epoch,
|
|
30
|
+
} from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
19
31
|
import { type GossipMessage } from '@dxos/protocols/proto/dxos/mesh/teleport/gossip';
|
|
20
32
|
import { type Gossip, type Presence } from '@dxos/teleport-extension-gossip';
|
|
21
33
|
import { Timeframe } from '@dxos/timeframe';
|
|
22
34
|
import { trace } from '@dxos/tracing';
|
|
23
35
|
import { ComplexSet } from '@dxos/util';
|
|
24
36
|
|
|
37
|
+
import { AutomergeSpaceState } from './automerge-space-state';
|
|
25
38
|
import { type SigningContext } from './data-space-manager';
|
|
26
39
|
import { NotarizationPlugin } from './notarization-plugin';
|
|
27
40
|
import { TrustedKeySetAuthVerifier } from '../identity';
|
|
@@ -54,6 +67,9 @@ export type DataSpaceParams = {
|
|
|
54
67
|
signingContext: SigningContext;
|
|
55
68
|
callbacks?: DataSpaceCallbacks;
|
|
56
69
|
cache?: SpaceCache;
|
|
70
|
+
|
|
71
|
+
// TODO(dmaretskyi): Make required.
|
|
72
|
+
automergeHost?: AutomergeHost;
|
|
57
73
|
};
|
|
58
74
|
|
|
59
75
|
/**
|
|
@@ -74,7 +90,11 @@ export class DataSpace {
|
|
|
74
90
|
private readonly _signingContext: SigningContext;
|
|
75
91
|
private readonly _notarizationPlugin = new NotarizationPlugin();
|
|
76
92
|
private readonly _callbacks: DataSpaceCallbacks;
|
|
77
|
-
private readonly _cache?: SpaceCache;
|
|
93
|
+
private readonly _cache?: SpaceCache = undefined;
|
|
94
|
+
private readonly _automergeHost?: AutomergeHost = undefined;
|
|
95
|
+
|
|
96
|
+
// TODO(dmaretskyi): Move into Space?
|
|
97
|
+
private readonly _automergeSpaceState = new AutomergeSpaceState();
|
|
78
98
|
|
|
79
99
|
private _state = SpaceState.CLOSED;
|
|
80
100
|
|
|
@@ -151,6 +171,10 @@ export class DataSpace {
|
|
|
151
171
|
return this._cache;
|
|
152
172
|
}
|
|
153
173
|
|
|
174
|
+
get automergeSpaceState() {
|
|
175
|
+
return this._automergeSpaceState;
|
|
176
|
+
}
|
|
177
|
+
|
|
154
178
|
@synchronized
|
|
155
179
|
async open() {
|
|
156
180
|
await this._open();
|
|
@@ -160,6 +184,7 @@ export class DataSpace {
|
|
|
160
184
|
await this._gossip.open();
|
|
161
185
|
await this._notarizationPlugin.open();
|
|
162
186
|
await this._inner.spaceState.addCredentialProcessor(this._notarizationPlugin);
|
|
187
|
+
await this._inner.spaceState.addCredentialProcessor(this._automergeSpaceState);
|
|
163
188
|
await this._inner.open(new Context());
|
|
164
189
|
this._state = SpaceState.CONTROL_ONLY;
|
|
165
190
|
log('new state', { state: SpaceState[this._state] });
|
|
@@ -183,6 +208,7 @@ export class DataSpace {
|
|
|
183
208
|
await this.authVerifier.close();
|
|
184
209
|
|
|
185
210
|
await this._inner.close();
|
|
211
|
+
await this._inner.spaceState.removeCredentialProcessor(this._automergeSpaceState);
|
|
186
212
|
await this._inner.spaceState.removeCredentialProcessor(this._notarizationPlugin);
|
|
187
213
|
await this._notarizationPlugin.close();
|
|
188
214
|
|
|
@@ -350,8 +376,29 @@ export class DataSpace {
|
|
|
350
376
|
await this.inner.controlPipeline.writer.write({ credential: { credential } });
|
|
351
377
|
}
|
|
352
378
|
|
|
353
|
-
async createEpoch() {
|
|
354
|
-
|
|
379
|
+
async createEpoch(options?: CreateEpochOptions) {
|
|
380
|
+
let epoch: Epoch | undefined;
|
|
381
|
+
switch (options?.migration) {
|
|
382
|
+
case undefined:
|
|
383
|
+
case CreateEpochRequest.Migration.NONE:
|
|
384
|
+
{
|
|
385
|
+
epoch = await this.dataPipeline.createEpoch();
|
|
386
|
+
}
|
|
387
|
+
break;
|
|
388
|
+
case CreateEpochRequest.Migration.INIT_AUTOMERGE: {
|
|
389
|
+
const document = this._automergeHost?.repo.create();
|
|
390
|
+
epoch = {
|
|
391
|
+
previousId: this._automergeSpaceState.lastEpoch?.id,
|
|
392
|
+
number: (this._automergeSpaceState.lastEpoch?.subject.assertion.number ?? -1) + 1,
|
|
393
|
+
timeframe: this._automergeSpaceState.lastEpoch?.subject.assertion.timeframe ?? new Timeframe(),
|
|
394
|
+
automergeRoot: document?.url,
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
if (!epoch) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
355
402
|
|
|
356
403
|
const receipt = await this.inner.controlPipeline.writer.write({
|
|
357
404
|
credential: {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.3.9-main.
|
|
1
|
+
export const DXOS_VERSION = "0.3.9-main.ef334cd";
|