@dxos/client-services 0.1.53-next.63b0547 → 0.1.53-next.e9dc2bc
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-RKD47ENR.mjs → chunk-3EI4PM2V.mjs} +194 -110
- package/dist/lib/browser/chunk-3EI4PM2V.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +8 -2
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +19 -2
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/index.cjs +196 -106
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +203 -103
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts +6 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts +11 -2
- package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +2 -1
- package/dist/types/src/packlets/spaces/notarization-plugin.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/packlets/testing/test-builder.d.ts +7 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/packlets/identity/authenticator.ts +4 -2
- package/src/packlets/identity/identity.ts +21 -26
- package/src/packlets/services/service-context.ts +9 -7
- package/src/packlets/services/service-host.test.ts +50 -2
- package/src/packlets/services/service-host.ts +9 -0
- package/src/packlets/spaces/data-space-manager.test.ts +75 -119
- package/src/packlets/spaces/data-space-manager.ts +13 -3
- package/src/packlets/spaces/data-space.ts +66 -20
- package/src/packlets/spaces/notarization-plugin.test.ts +1 -1
- package/src/packlets/spaces/notarization-plugin.ts +5 -1
- package/src/packlets/spaces/spaces-service.test.ts +5 -3
- package/src/packlets/spaces/spaces-service.ts +26 -8
- package/src/packlets/testing/test-builder.ts +35 -2
- package/src/packlets/vault/worker-runtime.ts +1 -1
- package/dist/lib/browser/chunk-RKD47ENR.mjs.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/authenticator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAoB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/authenticator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAoB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,eAAO,MAAM,kBAAkB,WACpB,gBAAgB,KAAG,YAW3B,CAAC;AAEJ,MAAM,MAAM,+BAA+B,GAAG;IAE5C,mBAAmB,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,qBAAa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,IAAI,CAAiB;gBAIV,OAAO,EAAE,+BAA+B;IAGrD,KAAK;IAIX,IAAI,QAAQ,IAAI,YAAY,CA2C3B;IAED,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAEL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAEL,gBAAgB,EAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,qBAAa,QAAQ;IACnB,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,SAAgB,YAAY,EAAE,yBAAyB,CAAC;IAExD,SAAgB,WAAW,EAAE,SAAS,CAAC;IACvC,SAAgB,SAAS,EAAE,SAAS,CAAC;IAErC,SAAgB,WAAW,cAAe;gBAE9B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,cAAc;IAyBrE,IAAI,oBAAoB,IAAI,UAAU,CAAC,SAAS,CAAC,CAEhD;IAEK,IAAI;IAMJ,KAAK;IAOL,KAAK;IAMX,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,mDAElB;IAED,IAAI,YAAY,cAEf;IAED,IAAI,kBAAkB,cAErB;IAED,IAAI,qBAAqB,4EAExB;IAED,uBAAuB,IAAI,sBAAsB;IAQjD;;;OAGG;IACH,2BAA2B,IAAI,gBAAgB;IAS/C;;OAEG;IACH,yBAAyB,IAAI,gBAAgB;IAIvC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB;CA2CrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AAEH,qBAAa,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;IAGzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AAEH,qBAAa,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;IAGzC,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;gBAIxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAiDtC,IAAI;IAiBJ,KAAK;IAeL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAOvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAOf,oBAAoB;YASpB,WAAW;CA6D1B"}
|
|
@@ -18,6 +18,10 @@ export type ClientServicesHostParams = {
|
|
|
18
18
|
connectionLog?: boolean;
|
|
19
19
|
storage?: Storage;
|
|
20
20
|
lockKey?: string;
|
|
21
|
+
callbacks?: ClientServicesHostCallbacks;
|
|
22
|
+
};
|
|
23
|
+
export type ClientServicesHostCallbacks = {
|
|
24
|
+
onReset?: () => Promise<void>;
|
|
21
25
|
};
|
|
22
26
|
export type InitializeOptions = {
|
|
23
27
|
config?: Config;
|
|
@@ -39,10 +43,11 @@ export declare class ClientServicesHost {
|
|
|
39
43
|
private _signalManager?;
|
|
40
44
|
private _networkManager?;
|
|
41
45
|
private _storage?;
|
|
46
|
+
private _callbacks?;
|
|
42
47
|
_serviceContext: ServiceContext;
|
|
43
48
|
private _opening;
|
|
44
49
|
private _open;
|
|
45
|
-
constructor({ config, modelFactory, transportFactory, signalManager, connectionLog, storage, lockKey, }?: ClientServicesHostParams);
|
|
50
|
+
constructor({ config, modelFactory, transportFactory, signalManager, connectionLog, storage, lockKey, callbacks, }?: ClientServicesHostParams);
|
|
46
51
|
get isOpen(): boolean;
|
|
47
52
|
get serviceRegistry(): ServiceRegistry<ClientServices>;
|
|
48
53
|
get descriptors(): import("@dxos/rpc").ServiceBundle<ClientServices>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC,OAAO,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAgD,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGvG,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,yBAAyB,oBAErC,CAAC;AAEF,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;
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC,OAAO,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAgD,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGvG,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,yBAAyB,oBAErC,CAAC;AAEF,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,qBAAa,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;IAErD,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;IAEjD,eAAe,EAAG,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,EACV,MAAM,EACN,YAA0C,EAE1C,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,OAAO,EAEP,OAAO,EACP,SAAS,GACV,GAAE,wBAA6B;IAiDhC,IAAI,MAAM,YAET;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;IA8B9C,IAAI;IA0EJ,KAAK;IAeL,KAAK;CAWZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,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;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;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;IAf7B,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;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;
|
|
1
|
+
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,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;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;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;IAf7B,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;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;IAwBJ,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;CAoF9B"}
|
|
@@ -20,8 +20,13 @@ export type DataSpaceCallbacks = {
|
|
|
20
20
|
* Called after transitioning to the ready state.
|
|
21
21
|
*/
|
|
22
22
|
afterReady?: () => Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Called before space gets closed.
|
|
25
|
+
*/
|
|
26
|
+
beforeClose?: () => Promise<void>;
|
|
23
27
|
};
|
|
24
28
|
export type DataSpaceParams = {
|
|
29
|
+
initialState: SpaceState;
|
|
25
30
|
inner: Space;
|
|
26
31
|
metadataStore: MetadataStore;
|
|
27
32
|
gossip: Gossip;
|
|
@@ -33,7 +38,7 @@ export type DataSpaceParams = {
|
|
|
33
38
|
cache?: SpaceCache;
|
|
34
39
|
};
|
|
35
40
|
export declare class DataSpace {
|
|
36
|
-
private
|
|
41
|
+
private _ctx;
|
|
37
42
|
private readonly _inner;
|
|
38
43
|
private readonly _gossip;
|
|
39
44
|
private readonly _presence;
|
|
@@ -41,7 +46,7 @@ export declare class DataSpace {
|
|
|
41
46
|
private readonly _feedStore;
|
|
42
47
|
private readonly _metadataStore;
|
|
43
48
|
private readonly _signingContext;
|
|
44
|
-
private readonly
|
|
49
|
+
private readonly _notarizationPlugin;
|
|
45
50
|
private readonly _callbacks;
|
|
46
51
|
private readonly _cache?;
|
|
47
52
|
private _state;
|
|
@@ -62,7 +67,9 @@ export declare class DataSpace {
|
|
|
62
67
|
get notarizationPlugin(): NotarizationPlugin;
|
|
63
68
|
get cache(): SpaceCache | undefined;
|
|
64
69
|
open(): Promise<void>;
|
|
70
|
+
private _open;
|
|
65
71
|
close(): Promise<void>;
|
|
72
|
+
private _close;
|
|
66
73
|
postMessage(channel: string, message: any): Promise<void>;
|
|
67
74
|
listen(channel: string, callback: (message: GossipMessage) => void): {
|
|
68
75
|
unsubscribe: () => void;
|
|
@@ -74,5 +81,7 @@ export declare class DataSpace {
|
|
|
74
81
|
initializeDataPipeline(): Promise<void>;
|
|
75
82
|
private _createWritableFeeds;
|
|
76
83
|
createEpoch(): Promise<void>;
|
|
84
|
+
activate(): Promise<void>;
|
|
85
|
+
deactivate(): Promise<void>;
|
|
77
86
|
}
|
|
78
87
|
//# sourceMappingURL=data-space.d.ts.map
|
|
@@ -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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"}
|
|
@@ -41,6 +41,7 @@ export declare class NotarizationPlugin implements CredentialProcessor {
|
|
|
41
41
|
private readonly _extensions;
|
|
42
42
|
private readonly _processedCredentials;
|
|
43
43
|
private readonly _processCredentialsTriggers;
|
|
44
|
+
get hasWriter(): boolean;
|
|
44
45
|
open(): Promise<void>;
|
|
45
46
|
close(): Promise<void>;
|
|
46
47
|
/**
|
|
@@ -50,7 +51,7 @@ export declare class NotarizationPlugin implements CredentialProcessor {
|
|
|
50
51
|
/**
|
|
51
52
|
* Called with credentials arriving from the control pipeline.
|
|
52
53
|
*/
|
|
53
|
-
|
|
54
|
+
processCredential(credential: Credential): Promise<void>;
|
|
54
55
|
setWriter(writer: FeedWriter<Credential>): void;
|
|
55
56
|
private _waitUntilProcessed;
|
|
56
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notarization-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/notarization-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAWhE,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAEhD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6C;IACnF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsD;
|
|
1
|
+
{"version":3,"file":"notarization-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/notarization-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAWhE,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAEhD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6C;IACnF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsD;IAElG,IAAI,SAAS,YAEZ;IAEK,IAAI;IAEJ,KAAK;IAIX;;OAEG;IACG,QAAQ,CAAC,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EACX,OAAkC,EAClC,YAAoC,EACpC,YAAoC,GACrC,EAAE,cAAc;IA+EjB;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAS9C,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;YAK1B,mBAAmB;IAOjC;;OAEG;YACW,WAAW;IAazB,eAAe;CAehB;AAED,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,qBAAa,6BAA8B,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mCAAmC;cAWzD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAUjC,MAAM,CAAC,GAAG,EAAE,gBAAgB;IAK5B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS;CAI/C;AAED,KAAK,QAAQ,GAAG;IACd,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
|
|
@@ -13,7 +13,7 @@ export declare class SpacesServiceImpl implements SpacesService {
|
|
|
13
13
|
private readonly _getDataSpaceManager;
|
|
14
14
|
constructor(_identityManager: IdentityManager, _spaceManager: SpaceManager, _dataServiceSubscriptions: DataServiceSubscriptions, _getDataSpaceManager: Provider<Promise<DataSpaceManager>>);
|
|
15
15
|
createSpace(): Promise<Space>;
|
|
16
|
-
updateSpace(
|
|
16
|
+
updateSpace({ spaceKey, state }: UpdateSpaceRequest): Promise<void>;
|
|
17
17
|
querySpaces(): Stream<QuerySpacesResponse>;
|
|
18
18
|
postMessage({ spaceKey, channel, message }: PostMessageRequest): Promise<void>;
|
|
19
19
|
subscribeMessages({ spaceKey, channel }: SubscribeMessagesRequest): Stream<GossipMessage>;
|
|
@@ -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;
|
|
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,wBAAwB,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAIjG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAGL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,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;IAmDpC,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,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOnE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAMlD,OAAO,CAAC,eAAe;CAsCxB"}
|
|
@@ -7,7 +7,7 @@ import { NetworkManager } from '@dxos/network-manager';
|
|
|
7
7
|
import { Storage, StorageType } from '@dxos/random-access-storage';
|
|
8
8
|
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
9
9
|
import { ClientServicesHost, ServiceContext } from '../services';
|
|
10
|
-
import { SigningContext } from '../spaces';
|
|
10
|
+
import { DataSpaceManager, SigningContext } from '../spaces';
|
|
11
11
|
export declare const createServiceHost: (config: Config, signalManagerContext: MemorySignalManagerContext) => ClientServicesHost;
|
|
12
12
|
export declare const createServiceContext: ({ signalContext, storage, }?: {
|
|
13
13
|
signalContext?: MemorySignalManagerContext | undefined;
|
|
@@ -32,7 +32,9 @@ export type TestPeerProps = {
|
|
|
32
32
|
keyring?: Keyring;
|
|
33
33
|
networkManager?: NetworkManager;
|
|
34
34
|
spaceManager?: SpaceManager;
|
|
35
|
+
dataSpaceManager?: DataSpaceManager;
|
|
35
36
|
snapshotStore?: SnapshotStore;
|
|
37
|
+
signingContext?: SigningContext;
|
|
36
38
|
blobStore?: BlobStore;
|
|
37
39
|
};
|
|
38
40
|
export declare class TestPeer {
|
|
@@ -40,6 +42,7 @@ export declare class TestPeer {
|
|
|
40
42
|
private readonly opts;
|
|
41
43
|
private _props;
|
|
42
44
|
constructor(signalContext: MemorySignalManagerContext, opts?: TestPeerOpts);
|
|
45
|
+
get props(): TestPeerProps;
|
|
43
46
|
get storage(): Storage;
|
|
44
47
|
get keyring(): Keyring;
|
|
45
48
|
get feedStore(): FeedStore<any>;
|
|
@@ -48,6 +51,9 @@ export declare class TestPeer {
|
|
|
48
51
|
get snapshotStore(): SnapshotStore;
|
|
49
52
|
get networkManager(): NetworkManager;
|
|
50
53
|
get spaceManager(): SpaceManager;
|
|
54
|
+
get identity(): SigningContext;
|
|
55
|
+
get dataSpaceManager(): DataSpaceManager;
|
|
56
|
+
createIdentity(): Promise<void>;
|
|
51
57
|
destroy(): Promise<void>;
|
|
52
58
|
}
|
|
53
59
|
export declare const createSigningContext: (keyring: Keyring) => Promise<SigningContext>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAA6B,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM7D,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAMjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAehC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,QAAe,YAAY,OAAO,YAAY,kBAGxE,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAgB,aAAa,6BAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,QAAQ;IAM1C,OAAO;CAGd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAqB;gBAGhB,aAAa,EAAE,0BAA0B,EACzC,IAAI,GAAE,YAA+C;IAGxE,IAAI,KAAK,kBAER;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,mBAUZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBASf;IAED,IAAI,QAAQ,mBAEX;IAED,IAAI,gBAAgB,qBASnB;IAEK,cAAc;IAId,OAAO;CAGd;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.1.53-next.
|
|
3
|
+
"version": "0.1.53-next.e9dc2bc",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -22,40 +22,40 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"tiny-invariant": "^1.3.1",
|
|
25
|
-
"@dxos/async": "0.1.53-next.
|
|
26
|
-
"@dxos/client-protocol": "0.1.53-next.
|
|
27
|
-
"@dxos/codec-protobuf": "0.1.53-next.
|
|
28
|
-
"@dxos/config": "0.1.53-next.
|
|
29
|
-
"@dxos/context": "0.1.53-next.
|
|
30
|
-
"@dxos/credentials": "0.1.53-next.
|
|
31
|
-
"@dxos/crypto": "0.1.53-next.
|
|
32
|
-
"@dxos/debug": "0.1.53-next.
|
|
33
|
-
"@dxos/document-model": "0.1.53-next.
|
|
34
|
-
"@dxos/echo-db": "0.1.53-next.
|
|
35
|
-
"@dxos/echo-pipeline": "0.1.53-next.
|
|
36
|
-
"@dxos/errors": "0.1.53-next.
|
|
37
|
-
"@dxos/feed-store": "0.1.53-next.
|
|
38
|
-
"@dxos/keyring": "0.1.53-next.
|
|
39
|
-
"@dxos/keys": "0.1.53-next.
|
|
40
|
-
"@dxos/lock-file": "0.1.53-next.
|
|
41
|
-
"@dxos/log": "0.1.53-next.
|
|
42
|
-
"@dxos/messaging": "0.1.53-next.
|
|
43
|
-
"@dxos/model-factory": "0.1.53-next.
|
|
44
|
-
"@dxos/network-manager": "0.1.53-next.
|
|
45
|
-
"@dxos/node-std": "0.1.53-next.
|
|
46
|
-
"@dxos/protocols": "0.1.53-next.
|
|
47
|
-
"@dxos/random-access-storage": "0.1.53-next.
|
|
48
|
-
"@dxos/rpc": "0.1.53-next.
|
|
49
|
-
"@dxos/teleport": "0.1.53-next.
|
|
50
|
-
"@dxos/teleport-extension-gossip": "0.1.53-next.
|
|
51
|
-
"@dxos/teleport-extension-object-sync": "0.1.53-next.
|
|
52
|
-
"@dxos/text-model": "0.1.53-next.
|
|
53
|
-
"@dxos/timeframe": "0.1.53-next.
|
|
54
|
-
"@dxos/util": "0.1.53-next.
|
|
25
|
+
"@dxos/async": "0.1.53-next.e9dc2bc",
|
|
26
|
+
"@dxos/client-protocol": "0.1.53-next.e9dc2bc",
|
|
27
|
+
"@dxos/codec-protobuf": "0.1.53-next.e9dc2bc",
|
|
28
|
+
"@dxos/config": "0.1.53-next.e9dc2bc",
|
|
29
|
+
"@dxos/context": "0.1.53-next.e9dc2bc",
|
|
30
|
+
"@dxos/credentials": "0.1.53-next.e9dc2bc",
|
|
31
|
+
"@dxos/crypto": "0.1.53-next.e9dc2bc",
|
|
32
|
+
"@dxos/debug": "0.1.53-next.e9dc2bc",
|
|
33
|
+
"@dxos/document-model": "0.1.53-next.e9dc2bc",
|
|
34
|
+
"@dxos/echo-db": "0.1.53-next.e9dc2bc",
|
|
35
|
+
"@dxos/echo-pipeline": "0.1.53-next.e9dc2bc",
|
|
36
|
+
"@dxos/errors": "0.1.53-next.e9dc2bc",
|
|
37
|
+
"@dxos/feed-store": "0.1.53-next.e9dc2bc",
|
|
38
|
+
"@dxos/keyring": "0.1.53-next.e9dc2bc",
|
|
39
|
+
"@dxos/keys": "0.1.53-next.e9dc2bc",
|
|
40
|
+
"@dxos/lock-file": "0.1.53-next.e9dc2bc",
|
|
41
|
+
"@dxos/log": "0.1.53-next.e9dc2bc",
|
|
42
|
+
"@dxos/messaging": "0.1.53-next.e9dc2bc",
|
|
43
|
+
"@dxos/model-factory": "0.1.53-next.e9dc2bc",
|
|
44
|
+
"@dxos/network-manager": "0.1.53-next.e9dc2bc",
|
|
45
|
+
"@dxos/node-std": "0.1.53-next.e9dc2bc",
|
|
46
|
+
"@dxos/protocols": "0.1.53-next.e9dc2bc",
|
|
47
|
+
"@dxos/random-access-storage": "0.1.53-next.e9dc2bc",
|
|
48
|
+
"@dxos/rpc": "0.1.53-next.e9dc2bc",
|
|
49
|
+
"@dxos/teleport": "0.1.53-next.e9dc2bc",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.1.53-next.e9dc2bc",
|
|
51
|
+
"@dxos/teleport-extension-object-sync": "0.1.53-next.e9dc2bc",
|
|
52
|
+
"@dxos/text-model": "0.1.53-next.e9dc2bc",
|
|
53
|
+
"@dxos/timeframe": "0.1.53-next.e9dc2bc",
|
|
54
|
+
"@dxos/util": "0.1.53-next.e9dc2bc"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/readable-stream": "^2.3.9",
|
|
58
|
-
"@dxos/signal": "0.1.53-next.
|
|
58
|
+
"@dxos/signal": "0.1.53-next.e9dc2bc"
|
|
59
59
|
},
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
@@ -11,6 +11,8 @@ import { log } from '@dxos/log';
|
|
|
11
11
|
import { schema } from '@dxos/protocols';
|
|
12
12
|
import { ComplexSet } from '@dxos/util';
|
|
13
13
|
|
|
14
|
+
const Credential = schema.getCodecForType('dxos.halo.credentials.Credential');
|
|
15
|
+
|
|
14
16
|
export const createAuthProvider =
|
|
15
17
|
(signer: CredentialSigner): AuthProvider =>
|
|
16
18
|
async (nonce) => {
|
|
@@ -22,7 +24,7 @@ export const createAuthProvider =
|
|
|
22
24
|
nonce,
|
|
23
25
|
});
|
|
24
26
|
|
|
25
|
-
return
|
|
27
|
+
return Credential.encode(credential);
|
|
26
28
|
};
|
|
27
29
|
|
|
28
30
|
export type TrustedKeySetAuthVerifierParams = {
|
|
@@ -53,7 +55,7 @@ export class TrustedKeySetAuthVerifier {
|
|
|
53
55
|
|
|
54
56
|
get verifier(): AuthVerifier {
|
|
55
57
|
return async (nonce, auth) => {
|
|
56
|
-
const credential =
|
|
58
|
+
const credential = Credential.decode(auth);
|
|
57
59
|
log('authenticating...', { credential });
|
|
58
60
|
|
|
59
61
|
const result = await verifyCredential(credential);
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
createCredentialSignerWithKey,
|
|
13
13
|
createCredentialSignerWithChain,
|
|
14
14
|
ProfileStateMachine,
|
|
15
|
-
CredentialConsumer,
|
|
16
15
|
} from '@dxos/credentials';
|
|
17
16
|
import { Signer } from '@dxos/crypto';
|
|
18
17
|
import { failUndefined } from '@dxos/debug';
|
|
@@ -40,8 +39,8 @@ export type IdentityParams = {
|
|
|
40
39
|
export class Identity {
|
|
41
40
|
public readonly space: Space;
|
|
42
41
|
private readonly _signer: Signer;
|
|
43
|
-
private readonly _deviceStateMachine:
|
|
44
|
-
private readonly _profileStateMachine:
|
|
42
|
+
private readonly _deviceStateMachine: DeviceStateMachine;
|
|
43
|
+
private readonly _profileStateMachine: ProfileStateMachine;
|
|
45
44
|
public readonly authVerifier: TrustedKeySetAuthVerifier;
|
|
46
45
|
|
|
47
46
|
public readonly identityKey: PublicKey;
|
|
@@ -56,19 +55,15 @@ export class Identity {
|
|
|
56
55
|
this.identityKey = identityKey;
|
|
57
56
|
this.deviceKey = deviceKey;
|
|
58
57
|
|
|
59
|
-
this._deviceStateMachine =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
identityKey: this.identityKey,
|
|
69
|
-
onUpdate: () => this.stateUpdate.emit(),
|
|
70
|
-
}),
|
|
71
|
-
);
|
|
58
|
+
this._deviceStateMachine = new DeviceStateMachine({
|
|
59
|
+
identityKey: this.identityKey,
|
|
60
|
+
deviceKey: this.deviceKey,
|
|
61
|
+
onUpdate: () => this.stateUpdate.emit(),
|
|
62
|
+
});
|
|
63
|
+
this._profileStateMachine = new ProfileStateMachine({
|
|
64
|
+
identityKey: this.identityKey,
|
|
65
|
+
onUpdate: () => this.stateUpdate.emit(),
|
|
66
|
+
});
|
|
72
67
|
|
|
73
68
|
this.authVerifier = new TrustedKeySetAuthVerifier({
|
|
74
69
|
trustedKeysProvider: () => this.authorizedDeviceKeys,
|
|
@@ -79,30 +74,30 @@ export class Identity {
|
|
|
79
74
|
|
|
80
75
|
// TODO(burdon): Expose state object?
|
|
81
76
|
get authorizedDeviceKeys(): ComplexSet<PublicKey> {
|
|
82
|
-
return this._deviceStateMachine.
|
|
77
|
+
return this._deviceStateMachine.authorizedDeviceKeys;
|
|
83
78
|
}
|
|
84
79
|
|
|
85
80
|
async open() {
|
|
86
|
-
await this.
|
|
87
|
-
await this.
|
|
81
|
+
await this.space.spaceState.addCredentialProcessor(this._deviceStateMachine);
|
|
82
|
+
await this.space.spaceState.addCredentialProcessor(this._profileStateMachine);
|
|
88
83
|
await this.space.open();
|
|
89
84
|
}
|
|
90
85
|
|
|
91
86
|
async close() {
|
|
92
87
|
await this.authVerifier.close();
|
|
93
|
-
await this.
|
|
94
|
-
await this.
|
|
88
|
+
await this.space.spaceState.removeCredentialProcessor(this._profileStateMachine);
|
|
89
|
+
await this.space.spaceState.removeCredentialProcessor(this._deviceStateMachine);
|
|
95
90
|
await this.space.close();
|
|
96
91
|
}
|
|
97
92
|
|
|
98
93
|
async ready() {
|
|
99
|
-
await this._deviceStateMachine.
|
|
94
|
+
await this._deviceStateMachine.deviceChainReady.wait();
|
|
100
95
|
|
|
101
96
|
await this.controlPipeline.state.waitUntilReachedTargetTimeframe({ timeout: LOAD_CONTROL_FEEDS_TIMEOUT });
|
|
102
97
|
}
|
|
103
98
|
|
|
104
99
|
get profileDocument(): ProfileDocument | undefined {
|
|
105
|
-
return this._profileStateMachine.
|
|
100
|
+
return this._profileStateMachine.profile;
|
|
106
101
|
}
|
|
107
102
|
|
|
108
103
|
/**
|
|
@@ -121,7 +116,7 @@ export class Identity {
|
|
|
121
116
|
}
|
|
122
117
|
|
|
123
118
|
get deviceCredentialChain() {
|
|
124
|
-
return this._deviceStateMachine.
|
|
119
|
+
return this._deviceStateMachine.deviceCredentialChain;
|
|
125
120
|
}
|
|
126
121
|
|
|
127
122
|
getAdmissionCredentials(): DeviceAdmissionRequest {
|
|
@@ -137,10 +132,10 @@ export class Identity {
|
|
|
137
132
|
* Requires identity to be ready.
|
|
138
133
|
*/
|
|
139
134
|
getIdentityCredentialSigner(): CredentialSigner {
|
|
140
|
-
invariant(this._deviceStateMachine.
|
|
135
|
+
invariant(this._deviceStateMachine.deviceCredentialChain, 'Device credential chain is not ready.');
|
|
141
136
|
return createCredentialSignerWithChain(
|
|
142
137
|
this._signer,
|
|
143
|
-
this._deviceStateMachine.
|
|
138
|
+
this._deviceStateMachine.deviceCredentialChain,
|
|
144
139
|
this.deviceKey,
|
|
145
140
|
);
|
|
146
141
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import invariant from 'tiny-invariant';
|
|
6
6
|
|
|
7
7
|
import { Trigger } from '@dxos/async';
|
|
8
|
-
import {
|
|
8
|
+
import { CredentialProcessor, getCredentialAssertion } from '@dxos/credentials';
|
|
9
9
|
import { failUndefined } from '@dxos/debug';
|
|
10
10
|
import {
|
|
11
11
|
valueEncoding,
|
|
@@ -64,7 +64,7 @@ export class ServiceContext {
|
|
|
64
64
|
(invitation: Partial<Invitation>) => InvitationProtocol
|
|
65
65
|
>();
|
|
66
66
|
|
|
67
|
-
private _deviceSpaceSync?:
|
|
67
|
+
private _deviceSpaceSync?: CredentialProcessor;
|
|
68
68
|
|
|
69
69
|
private readonly _instanceId = PublicKey.random().toHex();
|
|
70
70
|
|
|
@@ -141,7 +141,9 @@ export class ServiceContext {
|
|
|
141
141
|
|
|
142
142
|
async close() {
|
|
143
143
|
log('closing...');
|
|
144
|
-
|
|
144
|
+
if (this._deviceSpaceSync && this.identityManager.identity) {
|
|
145
|
+
await this.identityManager.identity.space.spaceState.removeCredentialProcessor(this._deviceSpaceSync);
|
|
146
|
+
}
|
|
145
147
|
await this.dataSpaceManager?.close();
|
|
146
148
|
await this.identityManager.close();
|
|
147
149
|
await this.spaceManager.close();
|
|
@@ -210,8 +212,8 @@ export class ServiceContext {
|
|
|
210
212
|
});
|
|
211
213
|
this.initialized.wake();
|
|
212
214
|
|
|
213
|
-
this._deviceSpaceSync =
|
|
214
|
-
|
|
215
|
+
this._deviceSpaceSync = {
|
|
216
|
+
processCredential: async (credential: Credential) => {
|
|
215
217
|
const assertion = getCredentialAssertion(credential);
|
|
216
218
|
if (assertion['@type'] !== 'dxos.halo.credentials.SpaceMember') {
|
|
217
219
|
return;
|
|
@@ -239,7 +241,7 @@ export class ServiceContext {
|
|
|
239
241
|
log.catch(err);
|
|
240
242
|
}
|
|
241
243
|
},
|
|
242
|
-
}
|
|
243
|
-
await this._deviceSpaceSync
|
|
244
|
+
};
|
|
245
|
+
await identity.space.spaceState.addCredentialProcessor(this._deviceSpaceSync);
|
|
244
246
|
}
|
|
245
247
|
}
|
|
@@ -2,19 +2,32 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { expect } from 'chai';
|
|
5
|
+
import chai, { expect } from 'chai';
|
|
6
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
7
|
+
import { rmSync } from 'node:fs';
|
|
6
8
|
|
|
7
|
-
import { latch, Trigger } from '@dxos/async';
|
|
9
|
+
import { asyncTimeout, latch, Trigger } from '@dxos/async';
|
|
8
10
|
import { Config } from '@dxos/config';
|
|
9
11
|
import { verifyPresentation } from '@dxos/credentials';
|
|
10
12
|
import { PublicKey } from '@dxos/keys';
|
|
11
13
|
import { MemorySignalManagerContext } from '@dxos/messaging';
|
|
14
|
+
import { Identity } from '@dxos/protocols/proto/dxos/client/services';
|
|
12
15
|
import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
13
16
|
import { afterTest, describe, test } from '@dxos/test';
|
|
17
|
+
import { isNode } from '@dxos/util';
|
|
14
18
|
|
|
15
19
|
import { createMockCredential, createServiceHost } from '../testing';
|
|
16
20
|
|
|
21
|
+
chai.use(chaiAsPromised);
|
|
22
|
+
|
|
17
23
|
describe('ClientServicesHost', () => {
|
|
24
|
+
const persistentStoragePath = '/tmp/dxos/client-services/service-host/storage';
|
|
25
|
+
|
|
26
|
+
afterEach(async () => {
|
|
27
|
+
// Clean up.
|
|
28
|
+
isNode() && rmSync(persistentStoragePath, { recursive: true, force: true });
|
|
29
|
+
});
|
|
30
|
+
|
|
18
31
|
test('queryCredentials', async () => {
|
|
19
32
|
const host = createServiceHost(new Config(), new MemorySignalManagerContext());
|
|
20
33
|
await host.open();
|
|
@@ -97,4 +110,39 @@ describe('ClientServicesHost', () => {
|
|
|
97
110
|
kind: 'pass',
|
|
98
111
|
});
|
|
99
112
|
});
|
|
113
|
+
|
|
114
|
+
test('storage reset', async () => {
|
|
115
|
+
const config = new Config({
|
|
116
|
+
runtime: { client: { storage: { persistent: true, path: persistentStoragePath } } },
|
|
117
|
+
});
|
|
118
|
+
{
|
|
119
|
+
const host = createServiceHost(config, new MemorySignalManagerContext());
|
|
120
|
+
await host.open();
|
|
121
|
+
|
|
122
|
+
await host.services.IdentityService?.createIdentity({});
|
|
123
|
+
|
|
124
|
+
expect(host._serviceContext.storage.size).to.exist;
|
|
125
|
+
|
|
126
|
+
await asyncTimeout(host.reset(), 1000);
|
|
127
|
+
await host.close();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
{
|
|
131
|
+
const host = createServiceHost(config, new MemorySignalManagerContext());
|
|
132
|
+
await host.open();
|
|
133
|
+
const trigger = new Trigger<Identity>();
|
|
134
|
+
|
|
135
|
+
const stream = host.services.IdentityService?.queryIdentity();
|
|
136
|
+
await stream?.waitUntilReady();
|
|
137
|
+
|
|
138
|
+
stream?.subscribe((identity) => {
|
|
139
|
+
if (identity.identity) {
|
|
140
|
+
trigger.wake(identity.identity);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
await expect(asyncTimeout(trigger.wait(), 200)).to.be.rejectedWith();
|
|
144
|
+
stream?.close();
|
|
145
|
+
await host.close();
|
|
146
|
+
}
|
|
147
|
+
}).onlyEnvironments('nodejs', 'chromium', 'firefox');
|
|
100
148
|
});
|
|
@@ -48,6 +48,11 @@ export type ClientServicesHostParams = {
|
|
|
48
48
|
connectionLog?: boolean;
|
|
49
49
|
storage?: Storage;
|
|
50
50
|
lockKey?: string;
|
|
51
|
+
callbacks?: ClientServicesHostCallbacks;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export type ClientServicesHostCallbacks = {
|
|
55
|
+
onReset?: () => Promise<void>;
|
|
51
56
|
};
|
|
52
57
|
|
|
53
58
|
export type InitializeOptions = {
|
|
@@ -72,6 +77,7 @@ export class ClientServicesHost {
|
|
|
72
77
|
private _signalManager?: SignalManager;
|
|
73
78
|
private _networkManager?: NetworkManager;
|
|
74
79
|
private _storage?: Storage;
|
|
80
|
+
private _callbacks?: ClientServicesHostCallbacks;
|
|
75
81
|
|
|
76
82
|
_serviceContext!: ServiceContext;
|
|
77
83
|
private _opening = false;
|
|
@@ -87,9 +93,11 @@ export class ClientServicesHost {
|
|
|
87
93
|
storage,
|
|
88
94
|
// TODO(wittjosiah): Turn this on by default.
|
|
89
95
|
lockKey,
|
|
96
|
+
callbacks,
|
|
90
97
|
}: ClientServicesHostParams = {}) {
|
|
91
98
|
this._storage = storage;
|
|
92
99
|
this._modelFactory = modelFactory;
|
|
100
|
+
this._callbacks = callbacks;
|
|
93
101
|
|
|
94
102
|
if (config) {
|
|
95
103
|
this.initialize({ config, transportFactory, signalManager });
|
|
@@ -284,5 +292,6 @@ export class ClientServicesHost {
|
|
|
284
292
|
await this._storage!.reset();
|
|
285
293
|
log('reset');
|
|
286
294
|
log.trace('dxos.sdk.client-services-host.reset', trace.end({ id: traceId }));
|
|
295
|
+
await this._callbacks?.onReset?.();
|
|
287
296
|
}
|
|
288
297
|
}
|