@dxos/client-services 0.1.8 → 0.1.10
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/src/packlets/deprecated/invitations.d.ts +4 -4
- package/dist/src/packlets/deprecated/invitations.d.ts.map +1 -1
- package/dist/src/packlets/deprecated/profile.d.ts.map +1 -1
- package/dist/src/packlets/deprecated/profile.js +21 -9
- package/dist/src/packlets/deprecated/profile.js.map +1 -1
- package/dist/src/packlets/deprecated/space.js +9 -6
- package/dist/src/packlets/deprecated/space.js.map +1 -1
- package/dist/src/packlets/deprecated/system.d.ts.map +1 -1
- package/dist/src/packlets/deprecated/system.js +2 -0
- package/dist/src/packlets/deprecated/system.js.map +1 -1
- package/dist/src/packlets/devtools/devtools.d.ts +1 -1
- package/dist/src/packlets/devtools/devtools.d.ts.map +1 -1
- package/dist/src/packlets/devtools/network.js +3 -3
- package/dist/src/packlets/devtools/network.js.map +1 -1
- package/dist/src/packlets/identity/authenticator.js +3 -3
- package/dist/src/packlets/identity/authenticator.js.map +1 -1
- package/dist/src/packlets/identity/identity-manager.d.ts +5 -2
- package/dist/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/src/packlets/identity/identity-manager.js +13 -9
- package/dist/src/packlets/identity/identity-manager.js.map +1 -1
- package/dist/src/packlets/identity/identity.d.ts +4 -1
- package/dist/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/src/packlets/identity/identity.js +8 -2
- package/dist/src/packlets/identity/identity.js.map +1 -1
- package/dist/src/packlets/invitations/halo-invitations-handler.js +17 -17
- package/dist/src/packlets/invitations/halo-invitations-handler.js.map +1 -1
- package/dist/src/packlets/invitations/invitations-handler.d.ts +3 -1
- package/dist/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
- package/dist/src/packlets/invitations/invitations-handler.js.map +1 -1
- package/dist/src/packlets/invitations/invitations-proxy.js +2 -2
- package/dist/src/packlets/invitations/invitations-proxy.js.map +1 -1
- package/dist/src/packlets/invitations/invitations-service.js +12 -12
- package/dist/src/packlets/invitations/invitations-service.js.map +1 -1
- package/dist/src/packlets/invitations/invitations.d.ts +1 -1
- package/dist/src/packlets/invitations/invitations.d.ts.map +1 -1
- package/dist/src/packlets/invitations/space-invitations-handler.d.ts.map +1 -1
- package/dist/src/packlets/invitations/space-invitations-handler.js +26 -20
- package/dist/src/packlets/invitations/space-invitations-handler.js.map +1 -1
- package/dist/src/packlets/services/service-context.d.ts +3 -2
- package/dist/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/src/packlets/services/service-context.js +11 -8
- package/dist/src/packlets/services/service-context.js.map +1 -1
- package/dist/src/packlets/services/service-definitions.d.ts +1 -1
- package/dist/src/packlets/services/service-definitions.d.ts.map +1 -1
- package/dist/src/packlets/services/service-host.d.ts +2 -2
- package/dist/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/src/packlets/services/service-host.js +4 -5
- package/dist/src/packlets/services/service-host.js.map +1 -1
- package/dist/src/packlets/services/service-registry.test.js +3 -3
- package/dist/src/packlets/services/service-registry.test.js.map +1 -1
- package/dist/src/packlets/storage/storage.d.ts +1 -1
- package/dist/src/packlets/storage/storage.d.ts.map +1 -1
- package/dist/src/packlets/vault/iframe-runtime.d.ts +1 -1
- package/dist/src/packlets/vault/iframe-runtime.d.ts.map +1 -1
- package/dist/src/packlets/vault/services.d.ts +2 -2
- package/dist/src/packlets/vault/services.d.ts.map +1 -1
- package/dist/src/packlets/vault/worker-runtime.d.ts +1 -1
- package/dist/src/packlets/vault/worker-runtime.d.ts.map +1 -1
- package/dist/src/packlets/vault/worker-session.d.ts +1 -1
- package/dist/src/packlets/vault/worker-session.d.ts.map +1 -1
- package/dist/src/packlets/vault/worker-session.js +3 -3
- package/dist/src/packlets/vault/worker-session.js.map +1 -1
- package/package.json +37 -27
- package/src/packlets/deprecated/profile.ts +11 -3
- package/src/packlets/deprecated/space.ts +1 -1
- package/src/packlets/deprecated/system.ts +2 -0
- package/src/packlets/devtools/network.ts +3 -3
- package/src/packlets/identity/identity-manager.ts +14 -5
- package/src/packlets/identity/identity.ts +12 -3
- package/src/packlets/invitations/halo-invitations-handler.ts +4 -4
- package/src/packlets/invitations/invitations-handler.ts +3 -0
- package/src/packlets/invitations/invitations-service.ts +2 -2
- package/src/packlets/invitations/space-invitations-handler.ts +17 -7
- package/src/packlets/services/service-context.ts +10 -5
- package/src/packlets/services/service-host.ts +6 -7
|
@@ -25,23 +25,23 @@ export interface InvitationOptions {
|
|
|
25
25
|
/**
|
|
26
26
|
* @deprecated
|
|
27
27
|
*/
|
|
28
|
-
export
|
|
28
|
+
export type InviterInvitation = {
|
|
29
29
|
invitationCode: string;
|
|
30
30
|
secret: Uint8Array | undefined;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* @deprecated
|
|
34
34
|
*/
|
|
35
|
-
export
|
|
35
|
+
export type InviteeInvitation = {
|
|
36
36
|
secret?: Uint8Array | undefined;
|
|
37
37
|
secretTrigger?: () => void;
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
40
|
* @deprecated
|
|
41
41
|
*/
|
|
42
|
-
export
|
|
42
|
+
export type InviterInvitations = InviterInvitation[];
|
|
43
43
|
/**
|
|
44
44
|
* @deprecated
|
|
45
45
|
*/
|
|
46
|
-
export
|
|
46
|
+
export type InviteeInvitations = Map<string, InviteeInvitation>;
|
|
47
47
|
//# sourceMappingURL=invitations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/invitations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiD,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMnH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,uBAAuB,CAG5E,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"invitations.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/invitations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiD,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMnH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,uBAAuB,CAG5E,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/profile.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAG3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,kBAAkB,CAAiC;gBAE9B,OAAO,EAAE,cAAc;IAEpD,gBAAgB,IAAI,MAAM,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/profile.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAG3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,kBAAkB,CAAiC;gBAE9B,OAAO,EAAE,cAAc;IAEpD,gBAAgB,IAAI,MAAM,CAAC,wBAAwB,CAAC;IAkB9C,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9D,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;CAWvE"}
|
|
@@ -17,20 +17,32 @@ class ProfileServiceImpl {
|
|
|
17
17
|
}
|
|
18
18
|
subscribeProfile() {
|
|
19
19
|
return new codec_protobuf_1.Stream(({ next }) => {
|
|
20
|
-
const emitNext = () =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
const emitNext = () => {
|
|
21
|
+
var _a;
|
|
22
|
+
return next({
|
|
23
|
+
profile: this.context.identityManager.identity
|
|
24
|
+
? {
|
|
25
|
+
identityKey: this.context.identityManager.identity.identityKey,
|
|
26
|
+
deviceKey: this.context.identityManager.identity.deviceKey,
|
|
27
|
+
displayName: (_a = this.context.identityManager.identity.profileDocument) === null || _a === void 0 ? void 0 : _a.displayName
|
|
28
|
+
}
|
|
29
|
+
: undefined
|
|
30
|
+
});
|
|
31
|
+
};
|
|
27
32
|
emitNext();
|
|
28
33
|
return this.context.identityManager.stateUpdate.on(emitNext);
|
|
29
34
|
});
|
|
30
35
|
}
|
|
31
36
|
async createProfile(request) {
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
await this.context.createIdentity({
|
|
39
|
+
displayName: request.displayName
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
identityKey: this.context.identityManager.identity.identityKey,
|
|
43
|
+
deviceKey: this.context.identityManager.identity.deviceKey,
|
|
44
|
+
displayName: (_a = this.context.identityManager.identity.profileDocument) === null || _a === void 0 ? void 0 : _a.displayName
|
|
45
|
+
};
|
|
34
46
|
}
|
|
35
47
|
async recoverProfile(request) {
|
|
36
48
|
return (0, debug_1.todo)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/profile.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,yDAA8C;AAC9C,uCAAmC;AAYnC;;;GAGG;AACH,MAAa,kBAAkB;IAG7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAF5C,uBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEJ,CAAC;IAExD,gBAAgB;QACd,OAAO,IAAI,uBAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/profile.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,yDAA8C;AAC9C,uCAAmC;AAYnC;;;GAGG;AACH,MAAa,kBAAkB;IAG7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAF5C,uBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEJ,CAAC;IAExD,gBAAgB;QACd,OAAO,IAAI,uBAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE;;gBACpB,OAAA,IAAI,CAAC;oBACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ;wBAC5C,CAAC,CAAC;4BACE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW;4BAC9D,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS;4BAC1D,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,0CAAE,WAAW;yBAChF;wBACH,CAAC,CAAC,SAAS;iBACd,CAAC,CAAA;aAAA,CAAC;YAEL,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA6B;;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAS,CAAC,WAAW;YAC/D,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAS,CAAC,SAAS;YAC3D,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAS,CAAC,eAAe,0CAAE,WAAW;SACjF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,OAAO,IAAA,YAAI,GAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,0BAA0B;QAC1B,qDAAqD;QACrD,+CAA+C;QAC/C,iDAAiD;QACjD,kBAAkB;IACpB,CAAC;CACF;AA7CD,gDA6CC"}
|
|
@@ -80,13 +80,16 @@ class SpaceServiceImpl {
|
|
|
80
80
|
publicKey: space.key,
|
|
81
81
|
isOpen: true,
|
|
82
82
|
isActive: true,
|
|
83
|
-
members: Array.from(space.spaceState.members.values()).map((member) =>
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
members: Array.from(space.spaceState.members.values()).map((member) => {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
return ({
|
|
86
86
|
identityKey: member.key,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
profile: {
|
|
88
|
+
identityKey: member.key,
|
|
89
|
+
displayName: (_b = (_a = member.assertion.profile) === null || _a === void 0 ? void 0 : _a.displayName) !== null && _b !== void 0 ? _b : (0, util_1.humanize)(member.key)
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
})
|
|
90
93
|
}))
|
|
91
94
|
});
|
|
92
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/space.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAAiD;AACjD,yDAA8C;AAC9C,uCAAmC;AAgBnC,qCAAsC;AAKtC;;;GAGG;AACH,MAAa,gBAAgB;IAG3B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFnD,uBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEG,CAAC;IAE/D,gBAAgB,CAAC,OAA8B;QAC7C,OAAO,IAAI,uBAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,QAAQ;oBAC3B,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,UAAU;QACV,2DAA2D;QAC3D,aAAa;QACb,0BAA0B;QAC1B,iCAAiC;QACjC,kCAAkC;QAClC,sCAAsC;QACtC,8CAA8C;QAC9C,UAAU;QACV,UAAU;QACV,oBAAoB;QACpB,8CAA8C;QAC9C,uBAAuB;QACvB,eAAe;QACf,mBAAmB;QACnB,QAAQ;QACR,MAAM;QACN,KAAK;QAEL,uEAAuE;QACvE,eAAe;QACf,0EAA0E;QAC1E,WAAW;QACX,sCAAsC;QACtC,wCAAwC;QACxC,gFAAgF;QAChF,mFAAmF;QACnF,0CAA0C;QAC1C,kEAAkE;QAClE,UAAU;QACV,UAAU;QAEV,oBAAoB;QAEpB,qBAAqB;QACrB,6BAA6B;QAC7B,8BAA8B;QAC9B,SAAS;QACT,QAAQ;QACR,IAAI;IACN,CAAC;IAED,eAAe;QACb,OAAO,IAAI,uBAAM,CAA0B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACtD,MAAM,aAAa,GAAG,IAAI,0BAAkB,EAAE,CAAC;YAE/C,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC;oBACH,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACvE,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC;wBACjB,SAAS,EAAE,KAAK,CAAC,GAAG;wBACpB,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"space.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/space.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/system.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/packlets/deprecated/system.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAGtC,WAAW;IAIX,SAAS,CAAC,OAAO,EAAE,IAAI;IAKvB,KAAK,CAAC,OAAO,EAAE,GAAG;CAGzB"}
|
|
@@ -12,12 +12,14 @@ class SystemServiceImpl {
|
|
|
12
12
|
constructor(_config) {
|
|
13
13
|
this._config = _config;
|
|
14
14
|
}
|
|
15
|
+
// TODO(burdon): Remove.
|
|
15
16
|
async initSession() {
|
|
16
17
|
// Ok.
|
|
17
18
|
}
|
|
18
19
|
async getConfig(request) {
|
|
19
20
|
return this._config.values;
|
|
20
21
|
}
|
|
22
|
+
// TODO(burdon): Reset ServiceContext
|
|
21
23
|
async reset(request) {
|
|
22
24
|
(0, debug_1.todo)();
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/system.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAGF,uCAAmC;AAGnC;;GAEG;AACH,MAAa,iBAAiB;IAC5B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,KAAK,CAAC,WAAW;QACf,MAAM;IACR,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAa;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAY;QACtB,IAAA,YAAI,GAAE,CAAC;IACT,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../src/packlets/deprecated/system.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAGF,uCAAmC;AAGnC;;GAEG;AACH,MAAa,iBAAiB;IAC5B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,wBAAwB;IACxB,KAAK,CAAC,WAAW;QACf,MAAM;IACR,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAa;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,KAAK,CAAC,OAAY;QACtB,IAAA,YAAI,GAAE,CAAC;IACT,CAAC;CACF;AAhBD,8CAgBC"}
|
|
@@ -7,7 +7,7 @@ import { ServiceContext } from '../services';
|
|
|
7
7
|
export declare class DevtoolsHostEvents {
|
|
8
8
|
readonly ready: AsyncEvent<void>;
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export type DevtoolsServiceParams = {
|
|
11
11
|
events: DevtoolsHostEvents;
|
|
12
12
|
config: Config;
|
|
13
13
|
context: ServiceContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,YAAY,EAAE,uCAAuC;AACrD,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,KAAK,mBAAoB;CACnC;AAED,
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,YAAY,EAAE,uCAAuC;AACrD,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,KAAK,mBAAoB;CACnC;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAE1D,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;IAQpC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI3F,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI5F,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,MAAM,CAAC,8BAA8B,CAAC;IAItG,6BAA6B,CAC3B,OAAO,EAAE,oCAAoC,GAC5C,MAAM,CAAC,qCAAqC,CAAC;IAIhD,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,yBAAyB,CAAC;IAIvF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAIpF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAIpF,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC,6BAA6B,CAAC;IAInG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrF,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAIxF,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIlF,wBAAwB,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,gCAAgC,CAAC;IAIjF,uBAAuB,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,+BAA+B,CAAC;IAI/E,sBAAsB,IAAI,MAAM,CAAC,8BAA8B,CAAC;IAIhE,oBAAoB,IAAI,MAAM,CAAC,4BAA4B,CAAC;CAG7D"}
|
|
@@ -9,21 +9,21 @@ const keys_1 = require("@dxos/keys");
|
|
|
9
9
|
const subscribeToNetworkStatus = ({ networkManager }) => new codec_protobuf_1.Stream(({ next, close }) => {
|
|
10
10
|
const update = () => {
|
|
11
11
|
try {
|
|
12
|
-
const status = networkManager.
|
|
12
|
+
const status = networkManager.signalManager.getStatus();
|
|
13
13
|
next({ servers: status });
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
16
16
|
close(err);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
networkManager.
|
|
19
|
+
networkManager.signalManager.statusChanged.on(update);
|
|
20
20
|
update();
|
|
21
21
|
});
|
|
22
22
|
exports.subscribeToNetworkStatus = subscribeToNetworkStatus;
|
|
23
23
|
const subscribeToSignalTrace = ({ networkManager }) => new codec_protobuf_1.Stream(({ next }) => {
|
|
24
24
|
next({ events: [] });
|
|
25
25
|
const trace = [];
|
|
26
|
-
networkManager.
|
|
26
|
+
networkManager.signalManager.commandTrace.on((msg) => {
|
|
27
27
|
trace.push(msg);
|
|
28
28
|
next({ events: trace.map((msg) => JSON.stringify(msg)) });
|
|
29
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/packlets/devtools/network.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,yDAA8C;AAC9C,qCAAuC;AAYhC,MAAM,wBAAwB,GAAG,CAAC,EAAE,cAAc,EAAsC,EAAE,EAAE,CACjG,IAAI,uBAAM,CAAkC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI;YACF,MAAM,MAAM,GAAG,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/packlets/devtools/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,15 +23,15 @@ const createHaloAuthVerifier = (getDeviceSet) => async (nonce, auth) => {
|
|
|
23
23
|
const deviceSet = getDeviceSet();
|
|
24
24
|
const result = await (0, credentials_1.verifyCredential)(credential);
|
|
25
25
|
if (result.kind === 'fail') {
|
|
26
|
-
(0, log_1.log)('Invalid credential', { result }, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 34 });
|
|
26
|
+
(0, log_1.log)('Invalid credential', { result }, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 34, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
29
|
if (!credential.proof.nonce || !Buffer.from(nonce).equals(credential.proof.nonce)) {
|
|
30
|
-
(0, log_1.log)('Invalid nonce', { nonce, credential }, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 39 });
|
|
30
|
+
(0, log_1.log)('Invalid nonce', { nonce, credential }, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 39, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
if (!deviceSet.has(credential.issuer)) {
|
|
34
|
-
(0, log_1.log)('Device not in allowed set', {}, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 44 });
|
|
34
|
+
(0, log_1.log)('Device not in allowed set', {}, { file: "packages/sdk/client-services/src/packlets/identity/authenticator.ts", line: 44, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
37
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticator.js","sourceRoot":"","sources":["../../../../src/packlets/identity/authenticator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAAuE;AAGvE,mCAAgC;AAChC,+CAAyC;AAGlC,MAAM,sBAAsB,GACjC,CAAC,MAAwB,EAAgB,EAAE,CAC3C,KAAK,EAAE,KAAK,EAAE,EAAE;IACd,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE;YACT,OAAO,EAAE,4BAA4B;SACtC;QACD,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE;QAC3B,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,kBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACvF,CAAC,CAAC;AAZS,QAAA,sBAAsB,0BAY/B;AAEG,MAAM,sBAAsB,GACjC,CAAC,YAAyC,EAAgB,EAAE,CAC5D,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACpB,MAAM,UAAU,GAAG,kBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAgB,EAAC,UAAU,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1B,IAAA,SAAG,EAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"authenticator.js","sourceRoot":"","sources":["../../../../src/packlets/identity/authenticator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAAuE;AAGvE,mCAAgC;AAChC,+CAAyC;AAGlC,MAAM,sBAAsB,GACjC,CAAC,MAAwB,EAAgB,EAAE,CAC3C,KAAK,EAAE,KAAK,EAAE,EAAE;IACd,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE;YACT,OAAO,EAAE,4BAA4B;SACtC;QACD,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE;QAC3B,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,kBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACvF,CAAC,CAAC;AAZS,QAAA,sBAAsB,0BAY/B;AAEG,MAAM,sBAAsB,GACjC,CAAC,YAAyC,EAAgB,EAAE,CAC5D,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACpB,MAAM,UAAU,GAAG,kBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAgB,EAAC,UAAU,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1B,IAAA,SAAG,EAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,iSAAC,CAAC;QACtC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACjF,IAAA,SAAG,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,iSAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACrC,IAAA,SAAG,EAAC,2BAA2B,qSAAC,CAAC;QACjC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvBS,QAAA,sBAAsB,0BAuB/B"}
|
|
@@ -7,11 +7,14 @@ import { ModelFactory } from '@dxos/model-factory';
|
|
|
7
7
|
import { NetworkManager } from '@dxos/network-manager';
|
|
8
8
|
import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
9
9
|
import { Identity } from '../identity';
|
|
10
|
-
export
|
|
10
|
+
export type JoinIdentityParams = {
|
|
11
11
|
identityKey: PublicKey;
|
|
12
12
|
haloSpaceKey: PublicKey;
|
|
13
13
|
haloGenesisFeedKey: PublicKey;
|
|
14
14
|
};
|
|
15
|
+
export type CreateIdentityOptions = {
|
|
16
|
+
displayName?: string;
|
|
17
|
+
};
|
|
15
18
|
export declare class IdentityManager {
|
|
16
19
|
private readonly _metadataStore;
|
|
17
20
|
private readonly _feedStore;
|
|
@@ -24,7 +27,7 @@ export declare class IdentityManager {
|
|
|
24
27
|
get identity(): Identity | undefined;
|
|
25
28
|
open(): Promise<void>;
|
|
26
29
|
close(): Promise<void>;
|
|
27
|
-
createIdentity(): Promise<Identity>;
|
|
30
|
+
createIdentity({ displayName }?: CreateIdentityOptions): Promise<Identity>;
|
|
28
31
|
/**
|
|
29
32
|
* Accept an existing identity. Expects it's device key to be authorized.
|
|
30
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAGL,aAAa,EAKd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,
|
|
1
|
+
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAGL,aAAa,EAKd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAXhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;gBAKV,cAAc,EAAE,aAAa,EAC7B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAEK,IAAI;IAYJ,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAiEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YAqBjC,kBAAkB;YAsBlB,eAAe;CAyB9B"}
|
|
@@ -43,9 +43,9 @@ class IdentityManager {
|
|
|
43
43
|
var _a;
|
|
44
44
|
await ((_a = this._identity) === null || _a === void 0 ? void 0 : _a.close());
|
|
45
45
|
}
|
|
46
|
-
async createIdentity() {
|
|
46
|
+
async createIdentity({ displayName } = {}) {
|
|
47
47
|
(0, assert_1.default)(!this._identity, 'Identity already exists.');
|
|
48
|
-
(0, log_1.log)('creating identity...', {}, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line:
|
|
48
|
+
(0, log_1.log)('creating identity...', {}, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line: 83, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
49
49
|
const controlFeedKey = await this._keyring.createKey();
|
|
50
50
|
const identityRecord = {
|
|
51
51
|
identityKey: await this._keyring.createKey(),
|
|
@@ -65,10 +65,14 @@ class IdentityManager {
|
|
|
65
65
|
// Space genesis.
|
|
66
66
|
...(await generator.createSpaceGenesis(identityRecord.haloSpace.spaceKey, identityRecord.haloSpace.genesisFeedKey)),
|
|
67
67
|
// Feed admission.
|
|
68
|
-
await generator.createFeedAdmission(identityRecord.haloSpace.spaceKey, identityRecord.haloSpace.writeDataFeedKey, credentials_2.AdmittedFeed.Designation.DATA)
|
|
69
|
-
// Device authorization (writes device chain).
|
|
70
|
-
await generator.createDeviceAuthorization(identityRecord.deviceKey)
|
|
68
|
+
await generator.createFeedAdmission(identityRecord.haloSpace.spaceKey, identityRecord.haloSpace.writeDataFeedKey, credentials_2.AdmittedFeed.Designation.DATA)
|
|
71
69
|
];
|
|
70
|
+
if (displayName) {
|
|
71
|
+
credentials.push(await generator.createProfileCredential({ displayName }));
|
|
72
|
+
}
|
|
73
|
+
// Device authorization (writes device chain).
|
|
74
|
+
// NOTE: This credential is written last. This is a hack to make sure that display name is set before identity is "ready".
|
|
75
|
+
credentials.push(await generator.createDeviceAuthorization(identityRecord.deviceKey));
|
|
72
76
|
for (const credential of credentials) {
|
|
73
77
|
await identity.controlPipeline.writer.write({
|
|
74
78
|
'@type': 'dxos.echo.feed.CredentialsMessage',
|
|
@@ -83,14 +87,14 @@ class IdentityManager {
|
|
|
83
87
|
this._identity = identity;
|
|
84
88
|
await this._identity.ready();
|
|
85
89
|
this.stateUpdate.emit();
|
|
86
|
-
(0, log_1.log)('created identity', { identityKey: identity.identityKey, deviceKey: identity.deviceKey }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line:
|
|
90
|
+
(0, log_1.log)('created identity', { identityKey: identity.identityKey, deviceKey: identity.deviceKey }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line: 142, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
87
91
|
return identity;
|
|
88
92
|
}
|
|
89
93
|
/**
|
|
90
94
|
* Accept an existing identity. Expects it's device key to be authorized.
|
|
91
95
|
*/
|
|
92
96
|
async acceptIdentity(params) {
|
|
93
|
-
(0, log_1.log)('accepting identity', { params }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line:
|
|
97
|
+
(0, log_1.log)('accepting identity', { params }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line: 150, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
94
98
|
(0, assert_1.default)(!this._identity, 'Identity already exists.');
|
|
95
99
|
const identity = await this._constructIdentity({
|
|
96
100
|
identityKey: params.identityKey,
|
|
@@ -109,7 +113,7 @@ class IdentityManager {
|
|
|
109
113
|
}
|
|
110
114
|
async _constructIdentity(identityRecord) {
|
|
111
115
|
(0, assert_1.default)(!this._identity);
|
|
112
|
-
(0, log_1.log)('constructing identity', { identityRecord }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line:
|
|
116
|
+
(0, log_1.log)('constructing identity', { identityRecord }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line: 172, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
113
117
|
const space = await this._constructSpace({
|
|
114
118
|
spaceRecord: identityRecord.haloSpace,
|
|
115
119
|
swarmIdentity: {
|
|
@@ -118,7 +122,7 @@ class IdentityManager {
|
|
|
118
122
|
credentialAuthenticator: echo_db_1.MOCK_AUTH_VERIFIER
|
|
119
123
|
}
|
|
120
124
|
});
|
|
121
|
-
(0, log_1.log)('done', { identityKey: identityRecord.identityKey }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line:
|
|
125
|
+
(0, log_1.log)('done', { identityKey: identityRecord.identityKey }, { file: "packages/sdk/client-services/src/packlets/identity/identity-manager.ts", line: 183, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
122
126
|
return new identity_1.Identity({
|
|
123
127
|
space,
|
|
124
128
|
signer: this._keyring,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAE5B,uCAAoC;AACpC,mDAAwD;AACxD,2CAQuB;AAIvB,mCAAgC;AAIhC,6EAAwG;AAExG,0CAAuC;
|
|
1
|
+
{"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@ import { CredentialSigner } from '@dxos/credentials';
|
|
|
3
3
|
import { Signer } from '@dxos/crypto';
|
|
4
4
|
import { Database, Space } from '@dxos/echo-db';
|
|
5
5
|
import { PublicKey } from '@dxos/keys';
|
|
6
|
+
import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
7
|
import { HaloAdmissionCredentials } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
7
8
|
import { ComplexSet } from '@dxos/util';
|
|
8
|
-
export
|
|
9
|
+
export type IdentityParams = {
|
|
9
10
|
identityKey: PublicKey;
|
|
10
11
|
deviceKey: PublicKey;
|
|
11
12
|
signer: Signer;
|
|
@@ -18,6 +19,7 @@ export declare class Identity {
|
|
|
18
19
|
private readonly _space;
|
|
19
20
|
private readonly _signer;
|
|
20
21
|
private readonly _deviceStateMachine;
|
|
22
|
+
private readonly _profileStateMachine;
|
|
21
23
|
readonly identityKey: PublicKey;
|
|
22
24
|
readonly deviceKey: PublicKey;
|
|
23
25
|
readonly stateUpdate: Event<void>;
|
|
@@ -26,6 +28,7 @@ export declare class Identity {
|
|
|
26
28
|
open(): Promise<void>;
|
|
27
29
|
close(): Promise<void>;
|
|
28
30
|
ready(): Promise<void>;
|
|
31
|
+
get profileDocument(): ProfileDocument | undefined;
|
|
29
32
|
/**
|
|
30
33
|
* @test-only
|
|
31
34
|
*/
|
|
@@ -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;AACpC,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;AACpC,OAAO,EAEL,gBAAgB,EAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,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,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAE3D,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;IAoBrE,IAAI,oBAAoB,IAAI,UAAU,CAAC,SAAS,CAAC,CAEhD;IAEK,IAAI;IAIJ,KAAK;IAIL,KAAK;IAMX,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,wEAElB;IAED,IAAI,YAAY,cAEf;IAED,IAAI,kBAAkB,cAErB;IAED,IAAI,YAAY,IAAI,QAAQ,CAE3B;IAED,uBAAuB,IAAI,wBAAwB;IAQnD;;;OAGG;IACH,2BAA2B,IAAI,gBAAgB;IAS/C;;OAEG;IACH,yBAAyB,IAAI,gBAAgB;IAIvC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,wBAAwB;CA2CvF"}
|
|
@@ -25,9 +25,12 @@ class Identity {
|
|
|
25
25
|
this.identityKey = identityKey;
|
|
26
26
|
this.deviceKey = deviceKey;
|
|
27
27
|
this._deviceStateMachine = new credentials_1.DeviceStateMachine(this.identityKey, this.deviceKey);
|
|
28
|
-
|
|
28
|
+
this._profileStateMachine = new credentials_1.ProfileStateMachine(this.identityKey);
|
|
29
|
+
// Process halo-specific credentials.
|
|
29
30
|
this._space.onCredentialProcessed.set(async (credential) => {
|
|
31
|
+
// Save device keychain credential when processed by the space state machine.
|
|
30
32
|
await this._deviceStateMachine.process(credential);
|
|
33
|
+
await this._profileStateMachine.process(credential);
|
|
31
34
|
this.stateUpdate.emit();
|
|
32
35
|
});
|
|
33
36
|
}
|
|
@@ -45,6 +48,9 @@ class Identity {
|
|
|
45
48
|
await this._deviceStateMachine.deviceChainReady.wait();
|
|
46
49
|
// TODO(dmaretskyi): Should we also wait for our feeds to be admitted?
|
|
47
50
|
}
|
|
51
|
+
get profileDocument() {
|
|
52
|
+
return this._profileStateMachine.profile;
|
|
53
|
+
}
|
|
48
54
|
/**
|
|
49
55
|
* @test-only
|
|
50
56
|
*/
|
|
@@ -89,7 +95,7 @@ class Identity {
|
|
|
89
95
|
deviceKey,
|
|
90
96
|
controlFeedKey,
|
|
91
97
|
dataFeedKey
|
|
92
|
-
}, { file: "packages/sdk/client-services/src/packlets/identity/identity.ts", line:
|
|
98
|
+
}, { file: "packages/sdk/client-services/src/packlets/identity/identity.ts", line: 137, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
93
99
|
const signer = this.getIdentityCredentialSigner();
|
|
94
100
|
await (0, feed_store_1.writeMessages)(this.controlPipeline.writer, [
|
|
95
101
|
await signer.createCredential({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAE5B,uCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"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"}
|