@dxos/client-services 0.1.56-main.c19b7cd → 0.1.56-main.c277f68
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-ZOTHWLK5.mjs → chunk-E7EKG5QQ.mjs} +267 -280
- package/dist/lib/browser/chunk-E7EKG5QQ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +8 -13
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +30 -45
- package/dist/lib/browser/packlets/testing/index.mjs.map +2 -2
- package/dist/lib/node/index.cjs +287 -305
- 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 +299 -323
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/identity/identity-manager.d.ts +5 -0
- package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-service.d.ts +7 -3
- package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
- package/dist/types/src/packlets/services/diagnostics.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.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +34 -34
- package/src/packlets/identity/identity-manager.test.ts +11 -0
- package/src/packlets/identity/identity-manager.ts +18 -1
- package/src/packlets/identity/identity-service.test.ts +15 -1
- package/src/packlets/identity/identity-service.ts +23 -14
- package/src/packlets/invitations/invitations-handler.ts +2 -0
- package/src/packlets/services/diagnostics.ts +2 -1
- package/src/packlets/services/service-context.ts +7 -4
- package/src/packlets/services/service-host.test.ts +1 -1
- package/src/packlets/services/service-host.ts +11 -7
- package/src/packlets/spaces/data-space-manager.test.ts +80 -22
- package/src/packlets/spaces/data-space-manager.ts +5 -1
- package/src/packlets/spaces/spaces-service.ts +1 -1
- package/src/packlets/vault/worker-runtime.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-ZOTHWLK5.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;
|
|
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 {
|
|
5
|
+
import { CreateIdentityOptions, IdentityManager } from './identity-manager';
|
|
5
6
|
export declare class IdentityServiceImpl implements IdentityService {
|
|
6
|
-
private readonly
|
|
7
|
-
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.1.56-main.
|
|
1
|
+
export declare const DXOS_VERSION = "0.1.56-main.c277f68";
|
|
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.
|
|
3
|
+
"version": "0.1.56-main.c277f68",
|
|
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.
|
|
25
|
-
"@dxos/client-protocol": "0.1.56-main.
|
|
26
|
-
"@dxos/codec-protobuf": "0.1.56-main.
|
|
27
|
-
"@dxos/config": "0.1.56-main.
|
|
28
|
-
"@dxos/context": "0.1.56-main.
|
|
29
|
-
"@dxos/credentials": "0.1.56-main.
|
|
30
|
-
"@dxos/crypto": "0.1.56-main.
|
|
31
|
-
"@dxos/debug": "0.1.56-main.
|
|
32
|
-
"@dxos/document-model": "0.1.56-main.
|
|
33
|
-
"@dxos/echo-db": "0.1.56-main.
|
|
34
|
-
"@dxos/echo-pipeline": "0.1.56-main.
|
|
35
|
-
"@dxos/errors": "0.1.56-main.
|
|
36
|
-
"@dxos/feed-store": "0.1.56-main.
|
|
37
|
-
"@dxos/invariant": "0.1.56-main.
|
|
38
|
-
"@dxos/keyring": "0.1.56-main.
|
|
39
|
-
"@dxos/keys": "0.1.56-main.
|
|
40
|
-
"@dxos/lock-file": "0.1.56-main.
|
|
41
|
-
"@dxos/log": "0.1.56-main.
|
|
42
|
-
"@dxos/messaging": "0.1.56-main.
|
|
43
|
-
"@dxos/model-factory": "0.1.56-main.
|
|
44
|
-
"@dxos/network-manager": "0.1.56-main.
|
|
45
|
-
"@dxos/node-std": "0.1.56-main.
|
|
46
|
-
"@dxos/protocols": "0.1.56-main.
|
|
47
|
-
"@dxos/random-access-storage": "0.1.56-main.
|
|
48
|
-
"@dxos/rpc": "0.1.56-main.
|
|
49
|
-
"@dxos/teleport": "0.1.56-main.
|
|
50
|
-
"@dxos/teleport-extension-gossip": "0.1.56-main.
|
|
51
|
-
"@dxos/teleport-extension-object-sync": "0.1.56-main.
|
|
52
|
-
"@dxos/text-model": "0.1.56-main.
|
|
53
|
-
"@dxos/timeframe": "0.1.56-main.
|
|
54
|
-
"@dxos/tracing": "0.1.56-main.
|
|
55
|
-
"@dxos/util": "0.1.56-main.
|
|
24
|
+
"@dxos/async": "0.1.56-main.c277f68",
|
|
25
|
+
"@dxos/client-protocol": "0.1.56-main.c277f68",
|
|
26
|
+
"@dxos/codec-protobuf": "0.1.56-main.c277f68",
|
|
27
|
+
"@dxos/config": "0.1.56-main.c277f68",
|
|
28
|
+
"@dxos/context": "0.1.56-main.c277f68",
|
|
29
|
+
"@dxos/credentials": "0.1.56-main.c277f68",
|
|
30
|
+
"@dxos/crypto": "0.1.56-main.c277f68",
|
|
31
|
+
"@dxos/debug": "0.1.56-main.c277f68",
|
|
32
|
+
"@dxos/document-model": "0.1.56-main.c277f68",
|
|
33
|
+
"@dxos/echo-db": "0.1.56-main.c277f68",
|
|
34
|
+
"@dxos/echo-pipeline": "0.1.56-main.c277f68",
|
|
35
|
+
"@dxos/errors": "0.1.56-main.c277f68",
|
|
36
|
+
"@dxos/feed-store": "0.1.56-main.c277f68",
|
|
37
|
+
"@dxos/invariant": "0.1.56-main.c277f68",
|
|
38
|
+
"@dxos/keyring": "0.1.56-main.c277f68",
|
|
39
|
+
"@dxos/keys": "0.1.56-main.c277f68",
|
|
40
|
+
"@dxos/lock-file": "0.1.56-main.c277f68",
|
|
41
|
+
"@dxos/log": "0.1.56-main.c277f68",
|
|
42
|
+
"@dxos/messaging": "0.1.56-main.c277f68",
|
|
43
|
+
"@dxos/model-factory": "0.1.56-main.c277f68",
|
|
44
|
+
"@dxos/network-manager": "0.1.56-main.c277f68",
|
|
45
|
+
"@dxos/node-std": "0.1.56-main.c277f68",
|
|
46
|
+
"@dxos/protocols": "0.1.56-main.c277f68",
|
|
47
|
+
"@dxos/random-access-storage": "0.1.56-main.c277f68",
|
|
48
|
+
"@dxos/rpc": "0.1.56-main.c277f68",
|
|
49
|
+
"@dxos/teleport": "0.1.56-main.c277f68",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.1.56-main.c277f68",
|
|
51
|
+
"@dxos/teleport-extension-object-sync": "0.1.56-main.c277f68",
|
|
52
|
+
"@dxos/text-model": "0.1.56-main.c277f68",
|
|
53
|
+
"@dxos/timeframe": "0.1.56-main.c277f68",
|
|
54
|
+
"@dxos/tracing": "0.1.56-main.c277f68",
|
|
55
|
+
"@dxos/util": "0.1.56-main.c277f68"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/readable-stream": "^2.3.9",
|
|
59
|
-
"@dxos/signal": "0.1.56-main.
|
|
59
|
+
"@dxos/signal": "0.1.56-main.c277f68"
|
|
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(
|
|
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 {
|
|
19
|
+
import { CreateIdentityOptions, IdentityManager } from './identity-manager';
|
|
19
20
|
|
|
20
21
|
export class IdentityServiceImpl implements IdentityService {
|
|
21
|
-
|
|
22
|
-
|
|
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.
|
|
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.
|
|
42
|
+
return this._identityManager.stateUpdate.on(emitNext);
|
|
40
43
|
});
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
private _getIdentity(): Identity | undefined {
|
|
44
|
-
if (!this.
|
|
47
|
+
if (!this._identityManager.identity) {
|
|
45
48
|
return undefined;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
return {
|
|
49
|
-
identityKey: this.
|
|
50
|
-
spaceKey: this.
|
|
51
|
-
profile: this.
|
|
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.
|
|
65
|
+
invariant(this._identityManager.identity, 'Identity not initialized.');
|
|
57
66
|
|
|
58
67
|
return await signPresentation({
|
|
59
68
|
presentation,
|
|
60
|
-
signer: this.
|
|
61
|
-
signerKey: this.
|
|
62
|
-
chain: this.
|
|
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 ===
|
|
139
|
+
(item.state as DocumentModelState)?.type === TYPE_PROPERTIES,
|
|
139
140
|
);
|
|
140
141
|
|
|
141
142
|
const state = propertiesItem?.state as DocumentModelState;
|
|
@@ -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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
302
|
+
log('closed', { deviceKey });
|
|
299
303
|
}
|
|
300
304
|
|
|
301
305
|
async reset() {
|