@dxos/client-services 0.1.56-main.d9d1c3e → 0.1.56-main.da2eab1

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.
Files changed (40) hide show
  1. package/dist/lib/browser/{chunk-P6TNW4K5.mjs → chunk-CXJ3H4F5.mjs} +278 -287
  2. package/dist/lib/browser/chunk-CXJ3H4F5.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +8 -13
  4. package/dist/lib/browser/index.mjs.map +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/packlets/testing/index.mjs +30 -45
  7. package/dist/lib/browser/packlets/testing/index.mjs.map +2 -2
  8. package/dist/lib/node/index.cjs +298 -312
  9. package/dist/lib/node/index.cjs.map +3 -3
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/packlets/testing/index.cjs +310 -330
  12. package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
  13. package/dist/types/src/packlets/identity/identity-manager.d.ts +5 -0
  14. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  15. package/dist/types/src/packlets/identity/identity-service.d.ts +7 -3
  16. package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
  17. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  18. package/dist/types/src/packlets/services/diagnostics.d.ts.map +1 -1
  19. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  20. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  21. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  22. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  23. package/dist/types/src/version.d.ts +1 -1
  24. package/package.json +34 -34
  25. package/src/packlets/identity/identity-manager.test.ts +11 -0
  26. package/src/packlets/identity/identity-manager.ts +18 -1
  27. package/src/packlets/identity/identity-service.test.ts +15 -1
  28. package/src/packlets/identity/identity-service.ts +23 -14
  29. package/src/packlets/invitations/invitations-handler.ts +2 -0
  30. package/src/packlets/services/diagnostics.ts +2 -1
  31. package/src/packlets/services/service-context.test.ts +59 -0
  32. package/src/packlets/services/service-context.ts +7 -4
  33. package/src/packlets/services/service-host.test.ts +1 -1
  34. package/src/packlets/services/service-host.ts +11 -7
  35. package/src/packlets/spaces/data-space-manager.test.ts +80 -22
  36. package/src/packlets/spaces/data-space-manager.ts +5 -1
  37. package/src/packlets/spaces/data-space.ts +16 -4
  38. package/src/packlets/vault/worker-runtime.ts +1 -1
  39. package/src/version.ts +1 -1
  40. package/dist/lib/browser/chunk-P6TNW4K5.mjs.map +0 -7
@@ -5,6 +5,7 @@ import { FeedStore } from '@dxos/feed-store';
5
5
  import { Keyring } from '@dxos/keyring';
6
6
  import { PublicKey } from '@dxos/keys';
7
7
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
8
+ import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
8
9
  import { Timeframe } from '@dxos/timeframe';
9
10
  import { Identity } from './identity';
10
11
  export type JoinIdentityParams = {
@@ -39,6 +40,10 @@ export declare class IdentityManager {
39
40
  * Accept an existing identity. Expects it's device key to be authorized (now or later).
40
41
  */
41
42
  acceptIdentity(params: JoinIdentityParams): Promise<Identity>;
43
+ /**
44
+ * Update the profile document of an existing identity.
45
+ */
46
+ updateProfile(profile: ProfileDocument): Promise<void>;
42
47
  private _constructIdentity;
43
48
  private _constructSpace;
44
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBACa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;gBAKV,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAGK,IAAI,CAAC,GAAG,EAAE,OAAO;IAoBjB,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YA2ClB,eAAe;CAc9B"}
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAgB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBACa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;gBAKV,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAGK,IAAI,CAAC,GAAG,EAAE,OAAO;IAoBjB,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;IA+B/C;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,eAAe;YAc9B,kBAAkB;YA2ClB,eAAe;CAc9B"}
@@ -1,14 +1,18 @@
1
1
  import { Stream } from '@dxos/codec-protobuf';
2
+ import { Keyring } from '@dxos/keyring';
2
3
  import { Identity, IdentityService, QueryIdentityResponse, RecoverIdentityRequest, SignPresentationRequest } from '@dxos/protocols/proto/dxos/client/services';
3
4
  import { Presentation, ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
4
- import { ServiceContext } from '../services';
5
+ import { CreateIdentityOptions, IdentityManager } from './identity-manager';
5
6
  export declare class IdentityServiceImpl implements IdentityService {
6
- private readonly _serviceContext;
7
- constructor(_serviceContext: ServiceContext);
7
+ private readonly _createIdentity;
8
+ private readonly _identityManager;
9
+ private readonly _keyring;
10
+ constructor(_createIdentity: (params?: CreateIdentityOptions) => Promise<Identity>, _identityManager: IdentityManager, _keyring: Keyring);
8
11
  createIdentity(request: ProfileDocument): Promise<Identity>;
9
12
  recoverIdentity(request: RecoverIdentityRequest): Promise<Identity>;
10
13
  queryIdentity(): Stream<QueryIdentityResponse>;
11
14
  private _getIdentity;
15
+ updateProfile(profile: ProfileDocument): Promise<Identity>;
12
16
  signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation>;
13
17
  }
14
18
  //# sourceMappingURL=identity-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,mBAAoB,YAAW,eAAe;IAE7C,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,cAAc;IAEtD,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM3D,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzE,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAS9C,OAAO,CAAC,YAAY;IAYd,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;CAWhG"}
1
+ {"version":3,"file":"identity-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE5F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5E,qBAAa,mBAAoB,YAAW,eAAe;IAEvD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,CAAC,EACtE,gBAAgB,EAAE,eAAe,EACjC,QAAQ,EAAE,OAAO;IAG9B,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK3D,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzE,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAS9C,OAAO,CAAC,YAAY;IAYd,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM1D,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;CAWhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kCAAkC,EAElC,+BAA+B,EAEhC,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AASxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAE5C,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,+BAA+B;IAgJ9G,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,kCAAkC;CAkL3G"}
1
+ {"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kCAAkC,EAElC,+BAA+B,EAEhC,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AASxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAE5C,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,+BAA+B;IAiJ9G,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,kCAAkC;CAmL3G"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,KAAK,IAAI,UAAU,EACnB,WAAW,EACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAIpE,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBACZ,QAAQ,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,QAAQ,WAAW,CAyDrB,CAAC"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,KAAK,IAAI,UAAU,EACnB,WAAW,EACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAIpE,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBACZ,QAAQ,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,QAAQ,WAAW,CAyDrB,CAAC"}
@@ -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,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;AAGjE,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,qBACa,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;IAkDtC,IAAI,CAAC,GAAG,EAAE,OAAO;IAgBjB,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;YAUpB,WAAW;CA6D1B"}
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,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;AAIjE,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;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;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;IAmDtC,IAAI,CAAC,GAAG,EAAE,OAAO;IAgBjB,KAAK;IAeL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAMvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAMf,oBAAoB;YAUpB,WAAW;CA8D1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,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;AAetD,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,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;IAEjD,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;IAgDhC,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;IAyEjB,KAAK;IAeL,KAAK;CAWZ"}
1
+ {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,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;AAetD,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,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;IAEjD,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;IAgDhC,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;IA6EjB,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":"AAIA,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;AAE7C,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"}
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,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;AAE7C,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;CAwF9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
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.1.56-main.d9d1c3e";
1
+ export declare const DXOS_VERSION = "0.1.56-main.da2eab1";
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.1.56-main.d9d1c3e",
3
+ "version": "0.1.56-main.da2eab1",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -21,42 +21,42 @@
21
21
  "src"
22
22
  ],
23
23
  "dependencies": {
24
- "@dxos/async": "0.1.56-main.d9d1c3e",
25
- "@dxos/client-protocol": "0.1.56-main.d9d1c3e",
26
- "@dxos/codec-protobuf": "0.1.56-main.d9d1c3e",
27
- "@dxos/config": "0.1.56-main.d9d1c3e",
28
- "@dxos/context": "0.1.56-main.d9d1c3e",
29
- "@dxos/credentials": "0.1.56-main.d9d1c3e",
30
- "@dxos/crypto": "0.1.56-main.d9d1c3e",
31
- "@dxos/debug": "0.1.56-main.d9d1c3e",
32
- "@dxos/document-model": "0.1.56-main.d9d1c3e",
33
- "@dxos/echo-db": "0.1.56-main.d9d1c3e",
34
- "@dxos/echo-pipeline": "0.1.56-main.d9d1c3e",
35
- "@dxos/errors": "0.1.56-main.d9d1c3e",
36
- "@dxos/feed-store": "0.1.56-main.d9d1c3e",
37
- "@dxos/invariant": "0.1.56-main.d9d1c3e",
38
- "@dxos/keyring": "0.1.56-main.d9d1c3e",
39
- "@dxos/keys": "0.1.56-main.d9d1c3e",
40
- "@dxos/lock-file": "0.1.56-main.d9d1c3e",
41
- "@dxos/log": "0.1.56-main.d9d1c3e",
42
- "@dxos/messaging": "0.1.56-main.d9d1c3e",
43
- "@dxos/model-factory": "0.1.56-main.d9d1c3e",
44
- "@dxos/network-manager": "0.1.56-main.d9d1c3e",
45
- "@dxos/node-std": "0.1.56-main.d9d1c3e",
46
- "@dxos/protocols": "0.1.56-main.d9d1c3e",
47
- "@dxos/random-access-storage": "0.1.56-main.d9d1c3e",
48
- "@dxos/rpc": "0.1.56-main.d9d1c3e",
49
- "@dxos/teleport": "0.1.56-main.d9d1c3e",
50
- "@dxos/teleport-extension-gossip": "0.1.56-main.d9d1c3e",
51
- "@dxos/teleport-extension-object-sync": "0.1.56-main.d9d1c3e",
52
- "@dxos/text-model": "0.1.56-main.d9d1c3e",
53
- "@dxos/timeframe": "0.1.56-main.d9d1c3e",
54
- "@dxos/tracing": "0.1.56-main.d9d1c3e",
55
- "@dxos/util": "0.1.56-main.d9d1c3e"
24
+ "@dxos/async": "0.1.56-main.da2eab1",
25
+ "@dxos/client-protocol": "0.1.56-main.da2eab1",
26
+ "@dxos/codec-protobuf": "0.1.56-main.da2eab1",
27
+ "@dxos/config": "0.1.56-main.da2eab1",
28
+ "@dxos/context": "0.1.56-main.da2eab1",
29
+ "@dxos/credentials": "0.1.56-main.da2eab1",
30
+ "@dxos/crypto": "0.1.56-main.da2eab1",
31
+ "@dxos/debug": "0.1.56-main.da2eab1",
32
+ "@dxos/document-model": "0.1.56-main.da2eab1",
33
+ "@dxos/echo-db": "0.1.56-main.da2eab1",
34
+ "@dxos/echo-pipeline": "0.1.56-main.da2eab1",
35
+ "@dxos/errors": "0.1.56-main.da2eab1",
36
+ "@dxos/feed-store": "0.1.56-main.da2eab1",
37
+ "@dxos/invariant": "0.1.56-main.da2eab1",
38
+ "@dxos/keyring": "0.1.56-main.da2eab1",
39
+ "@dxos/keys": "0.1.56-main.da2eab1",
40
+ "@dxos/lock-file": "0.1.56-main.da2eab1",
41
+ "@dxos/log": "0.1.56-main.da2eab1",
42
+ "@dxos/messaging": "0.1.56-main.da2eab1",
43
+ "@dxos/model-factory": "0.1.56-main.da2eab1",
44
+ "@dxos/network-manager": "0.1.56-main.da2eab1",
45
+ "@dxos/node-std": "0.1.56-main.da2eab1",
46
+ "@dxos/protocols": "0.1.56-main.da2eab1",
47
+ "@dxos/random-access-storage": "0.1.56-main.da2eab1",
48
+ "@dxos/rpc": "0.1.56-main.da2eab1",
49
+ "@dxos/teleport": "0.1.56-main.da2eab1",
50
+ "@dxos/teleport-extension-gossip": "0.1.56-main.da2eab1",
51
+ "@dxos/teleport-extension-object-sync": "0.1.56-main.da2eab1",
52
+ "@dxos/text-model": "0.1.56-main.da2eab1",
53
+ "@dxos/timeframe": "0.1.56-main.da2eab1",
54
+ "@dxos/tracing": "0.1.56-main.da2eab1",
55
+ "@dxos/util": "0.1.56-main.da2eab1"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/readable-stream": "^2.3.9",
59
- "@dxos/signal": "0.1.56-main.d9d1c3e"
59
+ "@dxos/signal": "0.1.56-main.da2eab1"
60
60
  },
61
61
  "publishConfig": {
62
62
  "access": "public"
@@ -91,6 +91,17 @@ describe('identity/identity-manager', () => {
91
91
  // TODO(dmaretskyi): Check that identity is "alive" (space is working and can write mutations).
92
92
  });
93
93
 
94
+ test('update profile', async () => {
95
+ const { identityManager } = await setupPeer();
96
+ await identityManager.open(new Context());
97
+ afterTest(() => identityManager.close());
98
+
99
+ const identity = await identityManager.createIdentity();
100
+ expect(identity.profileDocument?.displayName).to.be.undefined;
101
+ await identityManager.updateProfile({ displayName: 'Example' });
102
+ expect(identity.profileDocument?.displayName).to.equal('Example');
103
+ });
104
+
94
105
  test('admit another device', async () => {
95
106
  const signalContext = new MemorySignalManagerContext();
96
107
 
@@ -14,7 +14,7 @@ import { log } from '@dxos/log';
14
14
  import { trace } from '@dxos/protocols';
15
15
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
16
16
  import { IdentityRecord, SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
17
- import { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';
17
+ import { AdmittedFeed, ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
18
18
  import { Timeframe } from '@dxos/timeframe';
19
19
  import { trace as Trace } from '@dxos/tracing';
20
20
  import { deferFunction } from '@dxos/util';
@@ -193,6 +193,23 @@ export class IdentityManager {
193
193
  return identity;
194
194
  }
195
195
 
196
+ /**
197
+ * Update the profile document of an existing identity.
198
+ */
199
+ async updateProfile(profile: ProfileDocument) {
200
+ invariant(this._identity, 'Identity not initialized.');
201
+ // TODO(wittjosiah): Use CredentialGenerator.
202
+ const credential = await this._identity.getIdentityCredentialSigner().createCredential({
203
+ subject: this._identity.identityKey,
204
+ assertion: {
205
+ '@type': 'dxos.halo.credentials.IdentityProfile',
206
+ profile,
207
+ },
208
+ });
209
+ const receipt = await this._identity.controlPipeline.writer.write({ credential: { credential } });
210
+ await this._identity.controlPipeline.state.waitUntilTimeframe(new Timeframe([[receipt.feedKey, receipt.seq]]));
211
+ }
212
+
196
213
  private async _constructIdentity(identityRecord: IdentityRecord) {
197
214
  invariant(!this._identity);
198
215
  log('constructing identity', { identityRecord });
@@ -24,7 +24,11 @@ describe('IdentityService', () => {
24
24
  beforeEach(async () => {
25
25
  serviceContext = createServiceContext();
26
26
  await serviceContext.open(new Context());
27
- identityService = new IdentityServiceImpl(serviceContext);
27
+ identityService = new IdentityServiceImpl(
28
+ (options) => serviceContext.createIdentity(options),
29
+ serviceContext.identityManager,
30
+ serviceContext.keyring,
31
+ );
28
32
  });
29
33
 
30
34
  afterEach(async () => {
@@ -55,6 +59,16 @@ describe('IdentityService', () => {
55
59
 
56
60
  describe.skip('recoverIdentity', () => {});
57
61
 
62
+ describe('updateProfile', () => {
63
+ test('updates profile', async () => {
64
+ const identity = await identityService.createIdentity({});
65
+ expect(identity.profile?.displayName).to.be.undefined;
66
+
67
+ const updatedIdentity = await identityService.updateProfile({ displayName: 'Example' });
68
+ expect(updatedIdentity.profile?.displayName).to.equal('Example');
69
+ });
70
+ });
71
+
58
72
  describe('queryIdentity', () => {
59
73
  test('returns undefined if no identity is available', async () => {
60
74
  const query = identityService.queryIdentity();
@@ -6,6 +6,7 @@ import { Stream } from '@dxos/codec-protobuf';
6
6
  import { signPresentation } from '@dxos/credentials';
7
7
  import { todo } from '@dxos/debug';
8
8
  import { invariant } from '@dxos/invariant';
9
+ import { Keyring } from '@dxos/keyring';
9
10
  import {
10
11
  Identity,
11
12
  IdentityService,
@@ -15,15 +16,17 @@ import {
15
16
  } from '@dxos/protocols/proto/dxos/client/services';
16
17
  import { Presentation, ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
17
18
 
18
- import { ServiceContext } from '../services';
19
+ import { CreateIdentityOptions, IdentityManager } from './identity-manager';
19
20
 
20
21
  export class IdentityServiceImpl implements IdentityService {
21
- // TODO(wittjosiah): Remove dependency on service context.
22
- constructor(private readonly _serviceContext: ServiceContext) {}
22
+ constructor(
23
+ private readonly _createIdentity: (params?: CreateIdentityOptions) => Promise<Identity>,
24
+ private readonly _identityManager: IdentityManager,
25
+ private readonly _keyring: Keyring,
26
+ ) {}
23
27
 
24
28
  async createIdentity(request: ProfileDocument): Promise<Identity> {
25
- await this._serviceContext.createIdentity(request);
26
-
29
+ await this._createIdentity(request);
27
30
  return this._getIdentity()!;
28
31
  }
29
32
 
@@ -36,30 +39,36 @@ export class IdentityServiceImpl implements IdentityService {
36
39
  const emitNext = () => next({ identity: this._getIdentity() });
37
40
 
38
41
  emitNext();
39
- return this._serviceContext.identityManager.stateUpdate.on(emitNext);
42
+ return this._identityManager.stateUpdate.on(emitNext);
40
43
  });
41
44
  }
42
45
 
43
46
  private _getIdentity(): Identity | undefined {
44
- if (!this._serviceContext.identityManager.identity) {
47
+ if (!this._identityManager.identity) {
45
48
  return undefined;
46
49
  }
47
50
 
48
51
  return {
49
- identityKey: this._serviceContext.identityManager.identity.identityKey,
50
- spaceKey: this._serviceContext.identityManager.identity.space.key,
51
- profile: this._serviceContext.identityManager.identity.profileDocument,
52
+ identityKey: this._identityManager.identity.identityKey,
53
+ spaceKey: this._identityManager.identity.space.key,
54
+ profile: this._identityManager.identity.profileDocument,
52
55
  };
53
56
  }
54
57
 
58
+ async updateProfile(profile: ProfileDocument): Promise<Identity> {
59
+ invariant(this._identityManager.identity, 'Identity not initialized.');
60
+ await this._identityManager.updateProfile(profile);
61
+ return this._getIdentity()!;
62
+ }
63
+
55
64
  async signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation> {
56
- invariant(this._serviceContext.identityManager.identity, 'Identity not initialized.');
65
+ invariant(this._identityManager.identity, 'Identity not initialized.');
57
66
 
58
67
  return await signPresentation({
59
68
  presentation,
60
- signer: this._serviceContext.keyring,
61
- signerKey: this._serviceContext.identityManager.identity.deviceKey,
62
- chain: this._serviceContext.identityManager.identity.deviceCredentialChain,
69
+ signer: this._keyring,
70
+ signerKey: this._identityManager.identity.deviceKey,
71
+ chain: this._identityManager.identity.deviceCredentialChain,
63
72
  nonce,
64
73
  });
65
74
  }
@@ -186,6 +186,7 @@ export class InvitationsHandler {
186
186
  teleport.addExtension('dxos.halo.invitations', createExtension());
187
187
  }),
188
188
  topology: new StarTopology(topic),
189
+ label: 'invitation host',
189
190
  });
190
191
  ctx.onDispose(() => swarmConnection.close());
191
192
 
@@ -362,6 +363,7 @@ export class InvitationsHandler {
362
363
  teleport.addExtension('dxos.halo.invitations', createExtension());
363
364
  }),
364
365
  topology: new StarTopology(topic),
366
+ label: 'invitation guest',
365
367
  });
366
368
  ctx.onDispose(() => swarmConnection.close());
367
369
 
@@ -7,6 +7,7 @@ import { getFirstStreamValue } from '@dxos/codec-protobuf';
7
7
  import { Config, ConfigProto } from '@dxos/config';
8
8
  import { credentialTypeFilter } from '@dxos/credentials';
9
9
  import { DocumentModel, DocumentModelState } from '@dxos/document-model';
10
+ import { TYPE_PROPERTIES } from '@dxos/echo-db';
10
11
  import { invariant } from '@dxos/invariant';
11
12
  import { PublicKey } from '@dxos/keys';
12
13
  import { log } from '@dxos/log';
@@ -135,7 +136,7 @@ const getProperties = (space: DataSpace) => {
135
136
  const propertiesItem = space.dataPipeline.itemManager.items.find(
136
137
  (item) =>
137
138
  item.modelMeta?.type === DocumentModel.meta.type &&
138
- (item.state as DocumentModelState)?.type === 'dxos.sdk.client.Properties',
139
+ (item.state as DocumentModelState)?.type === TYPE_PROPERTIES,
139
140
  );
140
141
 
141
142
  const state = propertiesItem?.state as DocumentModelState;
@@ -2,9 +2,18 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { expect } from 'chai';
6
+
7
+ import { DocumentModel, DocumentModelState, MutationBuilder } from '@dxos/document-model';
8
+ import { createModelMutation, encodeModelMutation, genesisMutation } from '@dxos/echo-db';
9
+ import { WriteReceipt } from '@dxos/feed-store';
10
+ import { PublicKey } from '@dxos/keys';
11
+ import { log } from '@dxos/log';
5
12
  import { MemorySignalManagerContext } from '@dxos/messaging';
6
13
  import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
7
14
  import { describe, test } from '@dxos/test';
15
+ import { Timeframe } from '@dxos/timeframe';
16
+ import { range } from '@dxos/util';
8
17
 
9
18
  import { createServiceContext, syncItemsLocal } from '../testing';
10
19
  import { performInvitation } from '../testing/invitation-utils';
@@ -16,11 +25,61 @@ describe('services/ServiceContext', () => {
16
25
  await device1.createIdentity();
17
26
  const space1 = await device1.dataSpaceManager!.createSpace();
18
27
 
28
+ const itemId = PublicKey.random().toHex();
29
+ await space1.dataPipeline.databaseHost!.getWriteStream()?.write({
30
+ batch: genesisMutation(itemId, DocumentModel.meta.type),
31
+ });
32
+
33
+ let counter = 0;
34
+
35
+ for (const _ in range(5)) {
36
+ const receipts: WriteReceipt[] = [];
37
+ for (const _ in range(50)) {
38
+ receipts.push(
39
+ await space1.dataPipeline.databaseHost!.getWriteStream()!.write({
40
+ batch: createModelMutation(
41
+ itemId,
42
+ encodeModelMutation(DocumentModel.meta, new MutationBuilder().set('counter', ++counter).build()),
43
+ ),
44
+ }),
45
+ );
46
+ }
47
+
48
+ await space1.dataPipeline.pipelineState!.waitUntilTimeframe(
49
+ Timeframe.merge(...receipts.map((receipt) => new Timeframe([[receipt.feedKey, receipt.seq]]))),
50
+ );
51
+
52
+ await space1.createEpoch();
53
+ log.info('epoch', { number: space1.dataPipeline.currentEpoch?.subject.assertion.number });
54
+ }
55
+
19
56
  const device2 = createServiceContext({ signalContext: networkContext });
20
57
  await Promise.all(performInvitation({ host: device1, guest: device2, options: { kind: Invitation.Kind.DEVICE } }));
21
58
 
22
59
  await device2.dataSpaceManager!.waitUntilSpaceReady(space1!.key);
23
60
  const space2 = await device2.dataSpaceManager!.spaces.get(space1.key);
61
+
62
+ log.info('peer 2', {
63
+ currentEpoch: space2!.dataPipeline.currentEpoch?.subject.assertion.number,
64
+ appliedEpoch: space2!.dataPipeline.appliedEpoch?.subject.assertion.number,
65
+ });
66
+
67
+ await space2?.dataPipeline.onNewEpoch.waitForCondition(
68
+ () =>
69
+ space2!.dataPipeline.appliedEpoch?.subject.assertion.number ===
70
+ space1.dataPipeline.currentEpoch?.subject.assertion.number,
71
+ );
72
+
73
+ expect(space2!.dataPipeline.currentEpoch!.subject.assertion.number).to.equal(
74
+ space1.dataPipeline.currentEpoch!.subject.assertion.number,
75
+ );
76
+ expect(space2!.dataPipeline.appliedEpoch!.subject.assertion.number).to.equal(
77
+ space1.dataPipeline.appliedEpoch!.subject.assertion.number,
78
+ );
79
+
80
+ const item2 = space2!.dataPipeline.itemManager.entities.get(itemId);
81
+ expect((item2!.state as DocumentModelState).data.counter).to.equal(counter);
82
+
24
83
  await syncItemsLocal(space1.dataPipeline, space2!.dataPipeline);
25
84
  });
26
85
 
@@ -28,6 +28,7 @@ import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
28
28
  import { Storage } from '@dxos/random-access-storage';
29
29
  import { BlobStore } from '@dxos/teleport-extension-object-sync';
30
30
  import { trace as Trace } from '@dxos/tracing';
31
+ import { safeInstanceof } from '@dxos/util';
31
32
 
32
33
  import { CreateIdentityOptions, IdentityManager, JoinIdentityParams } from '../identity';
33
34
  import {
@@ -42,6 +43,8 @@ import { DataSpaceManager, SigningContext } from '../spaces';
42
43
  * Shared backend for all client services.
43
44
  */
44
45
  // TODO(burdon): Rename/break-up into smaller components. And/or make members private.
46
+ // TODO(dmaretskyi): Gets duplicated in CJS build between normal and testing bundles.
47
+ @safeInstanceof('dxos.client-services.ServiceContext')
45
48
  @Trace.resource()
46
49
  export class ServiceContext {
47
50
  public readonly initialized = new Trigger();
@@ -88,8 +91,9 @@ export class ServiceContext {
88
91
  root: storage.createDirectory('feeds'),
89
92
  signer: this.keyring,
90
93
  hypercore: {
91
- valueEncoding
92
- }
94
+ valueEncoding,
95
+ stats: true,
96
+ },
93
97
  })
94
98
  });
95
99
 
@@ -158,7 +162,6 @@ export class ServiceContext {
158
162
 
159
163
  async createIdentity(params: CreateIdentityOptions = {}) {
160
164
  const identity = await this.identityManager.createIdentity(params);
161
-
162
165
  await this._initialize(new Context());
163
166
  return identity;
164
167
  }
@@ -171,7 +174,6 @@ export class ServiceContext {
171
174
 
172
175
  private async _acceptIdentity(params: JoinIdentityParams) {
173
176
  const identity = await this.identityManager.acceptIdentity(params);
174
-
175
177
  await this._initialize(new Context());
176
178
  return identity;
177
179
  }
@@ -245,6 +247,7 @@ export class ServiceContext {
245
247
  }
246
248
  },
247
249
  };
250
+
248
251
  await identity.space.spaceState.addCredentialProcessor(this._deviceSpaceSync);
249
252
  }
250
253
  }
@@ -142,7 +142,7 @@ describe('ClientServicesHost', () => {
142
142
  }
143
143
  });
144
144
  await expect(asyncTimeout(trigger.wait(), 200)).to.be.rejectedWith();
145
- stream?.close();
145
+ await stream?.close();
146
146
  await host.close();
147
147
  }
148
148
  }).onlyEnvironments('nodejs', 'chromium', 'firefox');
@@ -179,7 +179,7 @@ export class ClientServicesHost {
179
179
  */
180
180
  initialize({ config, ...options }: InitializeOptions) {
181
181
  invariant(!this._open, 'service host is open');
182
- log.info('initializing...');
182
+ log('initializing...');
183
183
 
184
184
  if (config) {
185
185
  invariant(!this._config, 'config already set');
@@ -205,7 +205,7 @@ export class ClientServicesHost {
205
205
  signalManager,
206
206
  });
207
207
 
208
- log.info('initialized');
208
+ log('initialized');
209
209
  }
210
210
 
211
211
  @synchronized
@@ -224,7 +224,7 @@ export class ClientServicesHost {
224
224
  invariant(this._networkManager, 'network manager not set');
225
225
 
226
226
  this._opening = true;
227
- log.info('opening...', { lockKey: this._resourceLock?.lockKey });
227
+ log('opening...', { lockKey: this._resourceLock?.lockKey });
228
228
  await this._resourceLock?.acquire();
229
229
 
230
230
  await this._loggingService.open();
@@ -239,7 +239,11 @@ export class ClientServicesHost {
239
239
  this._serviceRegistry.setServices({
240
240
  SystemService: this._systemService,
241
241
 
242
- IdentityService: new IdentityServiceImpl(this._serviceContext),
242
+ IdentityService: new IdentityServiceImpl(
243
+ (params) => this._serviceContext.createIdentity(params),
244
+ this._serviceContext.identityManager,
245
+ this._serviceContext.keyring,
246
+ ),
243
247
 
244
248
  InvitationsService: new InvitationsServiceImpl(this._serviceContext.invitations, (invitation) =>
245
249
  this._serviceContext.getInvitationHandler(invitation),
@@ -277,7 +281,7 @@ export class ClientServicesHost {
277
281
  this._open = true;
278
282
  this._statusUpdate.emit();
279
283
  const deviceKey = this._serviceContext.identityManager.identity?.deviceKey;
280
- log.info('opened', { deviceKey });
284
+ log('opened', { deviceKey });
281
285
  log.trace('dxos.client-services.host.open', trace.end({ id: traceId }));
282
286
  }
283
287
 
@@ -289,13 +293,13 @@ export class ClientServicesHost {
289
293
  }
290
294
 
291
295
  const deviceKey = this._serviceContext.identityManager.identity?.deviceKey;
292
- log.info('closing...', { deviceKey });
296
+ log('closing...', { deviceKey });
293
297
  this._serviceRegistry.setServices({ SystemService: this._systemService });
294
298
  await this._loggingService.close();
295
299
  await this._serviceContext.close();
296
300
  this._open = false;
297
301
  this._statusUpdate.emit();
298
- log.info('closed', { deviceKey });
302
+ log('closed', { deviceKey });
299
303
  }
300
304
 
301
305
  async reset() {