@dxos/client-services 0.7.5-main.ff8607b → 0.7.5-staging.2ff1350
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-TS26F5QD.mjs → chunk-VWRYD6LV.mjs} +194 -127
- package/dist/lib/browser/chunk-VWRYD6LV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-25BSUDM4.cjs → chunk-K6H3KWWB.cjs} +192 -125
- package/dist/lib/node/chunk-K6H3KWWB.cjs.map +7 -0
- package/dist/lib/node/index.cjs +47 -47
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +8 -8
- package/dist/lib/node-esm/{chunk-XLOQTBJB.mjs → chunk-6OZO2NH7.mjs} +194 -127
- package/dist/lib/node-esm/chunk-6OZO2NH7.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +1 -1
- package/dist/types/src/packlets/agents/edge-agent-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/diagnostics/diagnostics-collector.d.ts.map +1 -1
- package/dist/types/src/packlets/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-manager.d.ts +0 -3
- package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts +12 -4
- package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-service.d.ts +8 -3
- package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity.d.ts +3 -1
- package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/dist/types/src/version.d.ts.map +1 -1
- package/package.json +39 -38
- package/src/packlets/agents/edge-agent-manager.ts +6 -0
- package/src/packlets/diagnostics/diagnostics-collector.ts +2 -2
- package/src/packlets/diagnostics/diagnostics.ts +17 -13
- package/src/packlets/identity/identity-manager.ts +3 -29
- package/src/packlets/identity/identity-recovery-manager.ts +86 -9
- package/src/packlets/identity/identity-service.ts +16 -3
- package/src/packlets/identity/identity.test.ts +2 -1
- package/src/packlets/identity/identity.ts +4 -1
- package/src/packlets/spaces/data-space-manager.ts +2 -2
- package/src/packlets/spaces/edge-feed-replicator.ts +8 -8
- package/src/packlets/spaces/spaces-service.ts +30 -20
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-TS26F5QD.mjs.map +0 -7
- package/dist/lib/node/chunk-25BSUDM4.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-XLOQTBJB.mjs.map +0 -7
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
InvitationsManager,
|
|
7
7
|
ServiceContext,
|
|
8
8
|
SpaceInvitationProtocol
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-6OZO2NH7.mjs";
|
|
10
10
|
|
|
11
11
|
// packages/sdk/client-services/src/packlets/testing/credential-utils.ts
|
|
12
12
|
import { createCredential } from "@dxos/credentials";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-agent-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/agents/edge-agent-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAA8B,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAMlD,MAAM,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAExC,qBAAa,gBAAiB,SAAQ,QAAQ;IAW1C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAbrB,kBAAkB,yBAAgC;IAEzD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,qBAAqB,CAA2B;gBAGrC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,EACtD,eAAe,EAAE,cAAc,GAAG,SAAS,EAC3C,iBAAiB,EAAE,gBAAgB,EACnC,SAAS,EAAE,QAAQ;IAKtC,IAAW,WAAW,IAAI,eAAe,GAAG,SAAS,CAEpD;IAED,IAAW,WAAW,wBAErB;IAGY,WAAW;
|
|
1
|
+
{"version":3,"file":"edge-agent-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/agents/edge-agent-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAA8B,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAMlD,MAAM,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAExC,qBAAa,gBAAiB,SAAQ,QAAQ;IAW1C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAbrB,kBAAkB,yBAAgC;IAEzD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,qBAAqB,CAA2B;gBAGrC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,EACtD,eAAe,EAAE,cAAc,GAAG,SAAS,EAC3C,iBAAiB,EAAE,gBAAgB,EACnC,SAAS,EAAE,QAAQ;IAKtC,IAAW,WAAW,IAAI,eAAe,GAAG,SAAS,CAEpD;IAED,IAAW,WAAW,wBAErB;IAGY,WAAW;cA+BC,KAAK;cA+BL,MAAM;cAKf,iBAAiB;IAuBjC;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,SAAS;IA0B1D,OAAO,CAAC,aAAa;CAStB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics-collector.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/diagnostics/diagnostics-collector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAkC,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"diagnostics-collector.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/diagnostics/diagnostics-collector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAkC,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,KAAK,cAAc,EAAkC,MAAM,YAAY,CAAC;AAMjF,MAAM,WAAW,iCAAiC;IAChD,2BAA2B,IAAI,GAAG,CAAC;CACpC;AAED,MAAM,WAAW,kCAAkC;IACjD,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,eAAe,CAA6C;WAEvD,OAAO,CACzB,MAAM,GAAE,MAAM,GAAG,MAAM,EAAkB,EACzC,QAAQ,GAAE,sBAAsB,GAAG,IAAkC,EACrE,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,GAAG,CAAC;CA2BhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/diagnostics/diagnostics.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACL,WAAW,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,KAAK,IAAI,UAAU,EACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI9E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,eAAe,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;QACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB,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,OAAO,CAAC,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/diagnostics/diagnostics.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACL,WAAW,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,KAAK,IAAI,UAAU,EACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI9E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,eAAe,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;QACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB,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,OAAO,CAAC,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CA4EjC,CAAC"}
|
|
@@ -74,9 +74,6 @@ export declare class IdentityManager {
|
|
|
74
74
|
*/
|
|
75
75
|
updateProfile(profile: ProfileDocument): Promise<ProfileDocument>;
|
|
76
76
|
updateDeviceProfile(profile: DeviceProfileDocument): Promise<Device>;
|
|
77
|
-
createRecoveryPhrase(): Promise<{
|
|
78
|
-
seedphrase: string;
|
|
79
|
-
}>;
|
|
80
77
|
private _constructIdentity;
|
|
81
78
|
private _constructSpace;
|
|
82
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type EdgeHttpClient } from '@dxos/edge-client';
|
|
2
2
|
import { type Keyring } from '@dxos/keyring';
|
|
3
|
+
import { PublicKey } from '@dxos/keys';
|
|
4
|
+
import { type CreateRecoveryCredentialRequest, type RecoverIdentityRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
5
|
import { type Identity } from './identity';
|
|
4
6
|
import { type JoinIdentityParams } from './identity-manager';
|
|
5
7
|
export declare class EdgeIdentityRecoveryManager {
|
|
@@ -8,11 +10,17 @@ export declare class EdgeIdentityRecoveryManager {
|
|
|
8
10
|
private readonly _identityProvider;
|
|
9
11
|
private readonly _acceptRecoveredIdentity;
|
|
10
12
|
constructor(_keyring: Keyring, _edgeClient: EdgeHttpClient | undefined, _identityProvider: () => Identity | undefined, _acceptRecoveredIdentity: (params: JoinIdentityParams) => Promise<Identity>);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
createRecoveryCredential({ recoveryKey, algorithm }: CreateRecoveryCredentialRequest): Promise<{
|
|
14
|
+
recoveryCode: string | undefined;
|
|
13
15
|
}>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
requestRecoveryChallenge(): Promise<{
|
|
17
|
+
deviceKey: PublicKey;
|
|
18
|
+
controlFeedKey: PublicKey;
|
|
19
|
+
challenge: string;
|
|
20
|
+
}>;
|
|
21
|
+
recoverIdentityWithExternalSignature({ identityDid, deviceKey, controlFeedKey, signature, clientDataJson, authenticatorData, }: RecoverIdentityRequest.ExternalSignature): Promise<void>;
|
|
22
|
+
recoverIdentity({ recoveryCode }: {
|
|
23
|
+
recoveryCode: string;
|
|
16
24
|
}): Promise<void>;
|
|
17
25
|
}
|
|
18
26
|
//# sourceMappingURL=identity-recovery-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-recovery-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-recovery-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-recovery-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-recovery-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQvC,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC5B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHxB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,iBAAiB,EAAE,MAAM,QAAQ,GAAG,SAAS,EAC7C,wBAAwB,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC;IAGjF,wBAAwB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,+BAA+B;;;IA8BpF,wBAAwB;;;;;IAyBxB,oCAAoC,CAAC,EAChD,WAAW,EACX,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,iBAAiB,GAClB,EAAE,sBAAsB,CAAC,iBAAiB;IA8B9B,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE;CAuCxE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Stream } from '@dxos/codec-protobuf/stream';
|
|
2
2
|
import { Resource } from '@dxos/context';
|
|
3
3
|
import { type Keyring } from '@dxos/keyring';
|
|
4
|
-
import { type CreateIdentityRequest, type Identity as IdentityProto, type IdentityService, type QueryIdentityResponse, type RecoverIdentityRequest, type SignPresentationRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
|
+
import { type CreateIdentityRequest, type CreateRecoveryCredentialRequest, type Identity as IdentityProto, type IdentityService, type QueryIdentityResponse, type RecoverIdentityRequest, type SignPresentationRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
5
5
|
import { type Presentation, type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
6
|
import { type Identity } from './identity';
|
|
7
7
|
import { type CreateIdentityOptions, type IdentityManager } from './identity-manager';
|
|
@@ -21,8 +21,13 @@ export declare class IdentityServiceImpl extends Resource implements IdentitySer
|
|
|
21
21
|
queryIdentity(): Stream<QueryIdentityResponse>;
|
|
22
22
|
private _getIdentity;
|
|
23
23
|
updateProfile(profile: ProfileDocument): Promise<IdentityProto>;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
createRecoveryCredential(request: CreateRecoveryCredentialRequest): Promise<{
|
|
25
|
+
recoveryCode: string | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
requestRecoveryChallenge(): Promise<{
|
|
28
|
+
deviceKey: import("packages/common/keys/dist/types/src").PublicKey;
|
|
29
|
+
controlFeedKey: import("packages/common/keys/dist/types/src").PublicKey;
|
|
30
|
+
challenge: string;
|
|
26
31
|
}>;
|
|
27
32
|
recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto>;
|
|
28
33
|
signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,IAAI,aAAa,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAGtG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,eAAe;IAExE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBALjB,gBAAgB,EAAE,eAAe,EACjC,gBAAgB,EAAE,2BAA2B,EAC7C,QAAQ,EAAE,OAAO,EACjB,yBAAyB,EAAE,MAAM,gBAAgB,EACjD,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,CAAC,EACrE,gBAAgB,CAAC,GAAE,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA;cAKpE,KAAK;IAOxB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;YAO9D,mBAAmB;IAOjC,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAS9C,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"identity-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,QAAQ,IAAI,aAAa,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAGtG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,eAAe;IAExE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBALjB,gBAAgB,EAAE,eAAe,EACjC,gBAAgB,EAAE,2BAA2B,EAC7C,QAAQ,EAAE,OAAO,EACjB,yBAAyB,EAAE,MAAM,gBAAgB,EACjD,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,CAAC,EACrE,gBAAgB,CAAC,GAAE,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA;cAKpE,KAAK;IAOxB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;YAO9D,mBAAmB;IAOjC,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAS9C,OAAO,CAAC,YAAY;IAad,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/D,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;;;IAIjE,wBAAwB;;;;;IAIxB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAaxE,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;IAYzF,oBAAoB;YAeZ,+BAA+B;CA6C9C"}
|
|
@@ -4,7 +4,7 @@ import { type CredentialSigner } from '@dxos/credentials';
|
|
|
4
4
|
import { type Signer } from '@dxos/crypto';
|
|
5
5
|
import { type Space } from '@dxos/echo-pipeline';
|
|
6
6
|
import { type EdgeConnection } from '@dxos/edge-client';
|
|
7
|
-
import { PublicKey, type SpaceId } from '@dxos/keys';
|
|
7
|
+
import { type IdentityDid, PublicKey, type SpaceId } from '@dxos/keys';
|
|
8
8
|
import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
9
9
|
import { type DeviceProfileDocument, type ProfileDocument, type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
10
10
|
import { type DeviceAdmissionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
@@ -12,6 +12,7 @@ import { type Presence } from '@dxos/teleport-extension-gossip';
|
|
|
12
12
|
import { type ComplexMap } from '@dxos/util';
|
|
13
13
|
import { TrustedKeySetAuthVerifier } from './authenticator';
|
|
14
14
|
export type IdentityParams = {
|
|
15
|
+
did: IdentityDid;
|
|
15
16
|
identityKey: PublicKey;
|
|
16
17
|
deviceKey: PublicKey;
|
|
17
18
|
signer: Signer;
|
|
@@ -32,6 +33,7 @@ export declare class Identity {
|
|
|
32
33
|
private readonly _defaultSpaceStateMachine;
|
|
33
34
|
private readonly _edgeFeedReplicator?;
|
|
34
35
|
readonly authVerifier: TrustedKeySetAuthVerifier;
|
|
36
|
+
readonly did: IdentityDid;
|
|
35
37
|
readonly identityKey: PublicKey;
|
|
36
38
|
readonly deviceKey: PublicKey;
|
|
37
39
|
readonly stateUpdate: Event<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAQrD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWxD,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAFpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAQ7B,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,kBAAkB;IAuBpE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BvE,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IA+DpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAmB7E,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAmBnE,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOxG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAMvE,gBAAgB;YAmBhB,eAAe;IAmD7B,OAAO,CAAC,gBAAgB;YASV,cAAc;CAS7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.7.5-
|
|
1
|
+
export declare const DXOS_VERSION = "0.7.5-staging.2ff1350";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.7.5-
|
|
3
|
+
"version": "0.7.5-staging.2ff1350",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "DXOS.org",
|
|
9
9
|
"sideEffects": true,
|
|
10
|
+
"type": "module",
|
|
10
11
|
"exports": {
|
|
11
12
|
".": {
|
|
12
13
|
"types": "./dist/types/src/index.d.ts",
|
|
@@ -42,48 +43,48 @@
|
|
|
42
43
|
"dependencies": {
|
|
43
44
|
"cbor-x": "^1.5.4",
|
|
44
45
|
"platform": "^1.3.6",
|
|
45
|
-
"@dxos/async": "0.7.5-
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/echo-
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/
|
|
69
|
-
"@dxos/node-std": "0.7.5-
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/random-access-storage": "0.7.5-
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/
|
|
74
|
-
"@dxos/teleport-extension-gossip": "0.7.5-
|
|
75
|
-
"@dxos/
|
|
76
|
-
"@dxos/
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/
|
|
46
|
+
"@dxos/async": "0.7.5-staging.2ff1350",
|
|
47
|
+
"@dxos/client-protocol": "0.7.5-staging.2ff1350",
|
|
48
|
+
"@dxos/codec-protobuf": "0.7.5-staging.2ff1350",
|
|
49
|
+
"@dxos/config": "0.7.5-staging.2ff1350",
|
|
50
|
+
"@dxos/context": "0.7.5-staging.2ff1350",
|
|
51
|
+
"@dxos/automerge": "0.7.5-staging.2ff1350",
|
|
52
|
+
"@dxos/crypto": "0.7.5-staging.2ff1350",
|
|
53
|
+
"@dxos/debug": "0.7.5-staging.2ff1350",
|
|
54
|
+
"@dxos/credentials": "0.7.5-staging.2ff1350",
|
|
55
|
+
"@dxos/echo-db": "0.7.5-staging.2ff1350",
|
|
56
|
+
"@dxos/echo-protocol": "0.7.5-staging.2ff1350",
|
|
57
|
+
"@dxos/echo-pipeline": "0.7.5-staging.2ff1350",
|
|
58
|
+
"@dxos/edge-client": "0.7.5-staging.2ff1350",
|
|
59
|
+
"@dxos/echo-schema": "0.7.5-staging.2ff1350",
|
|
60
|
+
"@dxos/feed-store": "0.7.5-staging.2ff1350",
|
|
61
|
+
"@dxos/invariant": "0.7.5-staging.2ff1350",
|
|
62
|
+
"@dxos/indexing": "0.7.5-staging.2ff1350",
|
|
63
|
+
"@dxos/keyring": "0.7.5-staging.2ff1350",
|
|
64
|
+
"@dxos/lock-file": "0.7.5-staging.2ff1350",
|
|
65
|
+
"@dxos/kv-store": "0.7.5-staging.2ff1350",
|
|
66
|
+
"@dxos/log": "0.7.5-staging.2ff1350",
|
|
67
|
+
"@dxos/messaging": "0.7.5-staging.2ff1350",
|
|
68
|
+
"@dxos/keys": "0.7.5-staging.2ff1350",
|
|
69
|
+
"@dxos/network-manager": "0.7.5-staging.2ff1350",
|
|
70
|
+
"@dxos/node-std": "0.7.5-staging.2ff1350",
|
|
71
|
+
"@dxos/protocols": "0.7.5-staging.2ff1350",
|
|
72
|
+
"@dxos/random-access-storage": "0.7.5-staging.2ff1350",
|
|
73
|
+
"@dxos/teleport": "0.7.5-staging.2ff1350",
|
|
74
|
+
"@dxos/rpc": "0.7.5-staging.2ff1350",
|
|
75
|
+
"@dxos/teleport-extension-gossip": "0.7.5-staging.2ff1350",
|
|
76
|
+
"@dxos/teleport-extension-object-sync": "0.7.5-staging.2ff1350",
|
|
77
|
+
"@dxos/timeframe": "0.7.5-staging.2ff1350",
|
|
78
|
+
"@dxos/tracing": "0.7.5-staging.2ff1350",
|
|
79
|
+
"@dxos/websocket-rpc": "0.7.5-staging.2ff1350",
|
|
80
|
+
"@dxos/util": "0.7.5-staging.2ff1350"
|
|
80
81
|
},
|
|
81
82
|
"devDependencies": {
|
|
82
83
|
"@types/platform": "^1.3.4",
|
|
83
84
|
"@types/readable-stream": "^2.3.9",
|
|
84
85
|
"get-port-please": "^3.1.1",
|
|
85
|
-
"@dxos/signal": "0.7.5-
|
|
86
|
-
"@dxos/test-utils": "0.7.5-
|
|
86
|
+
"@dxos/signal": "0.7.5-staging.2ff1350",
|
|
87
|
+
"@dxos/test-utils": "0.7.5-staging.2ff1350"
|
|
87
88
|
},
|
|
88
89
|
"publishConfig": {
|
|
89
90
|
"access": "public"
|
|
@@ -63,6 +63,12 @@ export class EdgeAgentManager extends Resource {
|
|
|
63
63
|
|
|
64
64
|
const deviceKey = PublicKey.fromHex(response.deviceKey);
|
|
65
65
|
|
|
66
|
+
if (await this._identity.authorizedDeviceKeys.has(deviceKey)) {
|
|
67
|
+
log.info('agent was already added to HALO, ignoring response', { response });
|
|
68
|
+
this._updateStatus(EdgeAgentStatus.ACTIVE, deviceKey);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
66
72
|
await this._identity.admitDevice({
|
|
67
73
|
deviceKey,
|
|
68
74
|
controlFeedKey: PublicKey.fromHex(response.feedKey),
|
|
@@ -6,7 +6,7 @@ import { type ClientServicesProvider, ClientServicesProviderResource } from '@dx
|
|
|
6
6
|
import { type Config, ConfigResource } from '@dxos/config';
|
|
7
7
|
import { GetDiagnosticsRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
8
8
|
import { TRACE_PROCESSOR } from '@dxos/tracing';
|
|
9
|
-
import { type JsonKeyOptions, jsonKeyReplacer,
|
|
9
|
+
import { type JsonKeyOptions, jsonKeyReplacer, isNonNullable } from '@dxos/util';
|
|
10
10
|
|
|
11
11
|
import { createCollectDiagnosticsBroadcastSender } from './diagnostics-broadcast';
|
|
12
12
|
|
|
@@ -65,5 +65,5 @@ const findSystemServiceProvider = (): ClientServicesProvider | null => {
|
|
|
65
65
|
|
|
66
66
|
const findConfigs = (): Config[] => {
|
|
67
67
|
const configs = TRACE_PROCESSOR.findResourcesByAnnotation(ConfigResource);
|
|
68
|
-
return configs.map((r) => r.instance.deref()).filter(
|
|
68
|
+
return configs.map((r) => r.instance.deref()).filter(isNonNullable);
|
|
69
69
|
};
|
|
@@ -6,7 +6,7 @@ import { asyncTimeout } from '@dxos/async';
|
|
|
6
6
|
import { type ClientServices } from '@dxos/client-protocol';
|
|
7
7
|
import { getFirstStreamValue } from '@dxos/codec-protobuf';
|
|
8
8
|
import { type Config, type ConfigProto } from '@dxos/config';
|
|
9
|
-
import { credentialTypeFilter } from '@dxos/credentials';
|
|
9
|
+
import { createDidFromIdentityKey, credentialTypeFilter } from '@dxos/credentials';
|
|
10
10
|
import { invariant } from '@dxos/invariant';
|
|
11
11
|
import { type PublicKey } from '@dxos/keys';
|
|
12
12
|
import { STORAGE_VERSION } from '@dxos/protocols';
|
|
@@ -120,6 +120,7 @@ export const createDiagnostics = async (
|
|
|
120
120
|
if (identity) {
|
|
121
121
|
// Identity.
|
|
122
122
|
diagnostics.identity = {
|
|
123
|
+
did: identity.did,
|
|
123
124
|
identityKey: identity.identityKey,
|
|
124
125
|
spaceKey: identity.space.key,
|
|
125
126
|
profile: identity.profileDocument,
|
|
@@ -179,19 +180,22 @@ const getSpaceStats = async (space: DataSpace): Promise<SpaceStats> => {
|
|
|
179
180
|
id: credential.id,
|
|
180
181
|
})),
|
|
181
182
|
|
|
182
|
-
members:
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
183
|
+
members: await Promise.all(
|
|
184
|
+
Array.from(space.inner.spaceState.members.values()).map(async (member) => ({
|
|
185
|
+
role: member.role,
|
|
186
|
+
identity: {
|
|
187
|
+
did: await createDidFromIdentityKey(member.key),
|
|
188
|
+
identityKey: member.key,
|
|
189
|
+
profile: {
|
|
190
|
+
displayName: member.assertion.profile?.displayName,
|
|
191
|
+
},
|
|
188
192
|
},
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
presence:
|
|
194
|
+
space.presence.getPeersOnline().filter(({ identityKey }) => identityKey.equals(member.key)).length > 0
|
|
195
|
+
? SpaceMember.PresenceState.ONLINE
|
|
196
|
+
: SpaceMember.PresenceState.OFFLINE,
|
|
197
|
+
})),
|
|
198
|
+
),
|
|
195
199
|
|
|
196
200
|
pipeline: {
|
|
197
201
|
// TODO(burdon): Pick properties from credentials if needed.
|
|
@@ -5,12 +5,7 @@ import platform from 'platform';
|
|
|
5
5
|
|
|
6
6
|
import { Event } from '@dxos/async';
|
|
7
7
|
import { Context } from '@dxos/context';
|
|
8
|
-
import {
|
|
9
|
-
createCredentialSignerWithKey,
|
|
10
|
-
CredentialGenerator,
|
|
11
|
-
generateSeedPhrase,
|
|
12
|
-
keyPairFromSeedPhrase,
|
|
13
|
-
} from '@dxos/credentials';
|
|
8
|
+
import { createCredentialSignerWithKey, createDidFromIdentityKey, CredentialGenerator } from '@dxos/credentials';
|
|
14
9
|
import { type MetadataStore, type SpaceManager, type SwarmIdentity } from '@dxos/echo-pipeline';
|
|
15
10
|
import { type EdgeConnection } from '@dxos/edge-client';
|
|
16
11
|
import { type FeedStore } from '@dxos/feed-store';
|
|
@@ -335,29 +330,6 @@ export class IdentityManager {
|
|
|
335
330
|
};
|
|
336
331
|
}
|
|
337
332
|
|
|
338
|
-
async createRecoveryPhrase() {
|
|
339
|
-
const identity = this._identity;
|
|
340
|
-
invariant(identity);
|
|
341
|
-
|
|
342
|
-
const seedphrase = generateSeedPhrase();
|
|
343
|
-
const keypair = keyPairFromSeedPhrase(seedphrase);
|
|
344
|
-
const recoveryKey = PublicKey.from(keypair.publicKey);
|
|
345
|
-
const identityKey = identity.identityKey;
|
|
346
|
-
const credential = await identity.getIdentityCredentialSigner().createCredential({
|
|
347
|
-
subject: identityKey,
|
|
348
|
-
assertion: {
|
|
349
|
-
'@type': 'dxos.halo.credentials.IdentityRecovery',
|
|
350
|
-
recoveryKey,
|
|
351
|
-
identityKey,
|
|
352
|
-
},
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
const receipt = await identity.controlPipeline.writer.write({ credential: { credential } });
|
|
356
|
-
await identity.controlPipeline.state.waitUntilTimeframe(new Timeframe([[receipt.feedKey, receipt.seq]]));
|
|
357
|
-
|
|
358
|
-
return { seedphrase };
|
|
359
|
-
}
|
|
360
|
-
|
|
361
333
|
private async _constructIdentity(identityRecord: IdentityRecord) {
|
|
362
334
|
invariant(!this._identity);
|
|
363
335
|
log('constructing identity', { identityRecord });
|
|
@@ -397,10 +369,12 @@ export class IdentityManager {
|
|
|
397
369
|
await space.setControlFeed(controlFeed);
|
|
398
370
|
await space.setDataFeed(dataFeed);
|
|
399
371
|
|
|
372
|
+
const did = await createDidFromIdentityKey(identityRecord.identityKey);
|
|
400
373
|
const identity: Identity = new Identity({
|
|
401
374
|
space,
|
|
402
375
|
presence,
|
|
403
376
|
signer: this._keyring,
|
|
377
|
+
did,
|
|
404
378
|
identityKey: identityRecord.identityKey,
|
|
405
379
|
deviceKey: identityRecord.deviceKey,
|
|
406
380
|
edgeConnection: this._edgeConnection,
|
|
@@ -9,8 +9,16 @@ import { invariant } from '@dxos/invariant';
|
|
|
9
9
|
import { type Keyring } from '@dxos/keyring';
|
|
10
10
|
import { PublicKey } from '@dxos/keys';
|
|
11
11
|
import { log } from '@dxos/log';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
EdgeAuthChallengeError,
|
|
14
|
+
type RecoverIdentityRequest as EdgeRecoverIdentityRequest,
|
|
15
|
+
type RecoverIdentityResponseBody,
|
|
16
|
+
} from '@dxos/protocols';
|
|
13
17
|
import { schema } from '@dxos/protocols/proto';
|
|
18
|
+
import {
|
|
19
|
+
type CreateRecoveryCredentialRequest,
|
|
20
|
+
type RecoverIdentityRequest,
|
|
21
|
+
} from '@dxos/protocols/proto/dxos/client/services';
|
|
14
22
|
import { Timeframe } from '@dxos/timeframe';
|
|
15
23
|
|
|
16
24
|
import { type Identity } from './identity';
|
|
@@ -24,13 +32,19 @@ export class EdgeIdentityRecoveryManager {
|
|
|
24
32
|
private readonly _acceptRecoveredIdentity: (params: JoinIdentityParams) => Promise<Identity>,
|
|
25
33
|
) {}
|
|
26
34
|
|
|
27
|
-
public async
|
|
35
|
+
public async createRecoveryCredential({ recoveryKey, algorithm }: CreateRecoveryCredentialRequest) {
|
|
28
36
|
const identity = this._identityProvider();
|
|
29
37
|
invariant(identity);
|
|
30
38
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
let recoveryCode: string | undefined;
|
|
40
|
+
if (!recoveryKey) {
|
|
41
|
+
recoveryCode = generateSeedPhrase();
|
|
42
|
+
const keypair = keyPairFromSeedPhrase(recoveryCode);
|
|
43
|
+
recoveryKey = PublicKey.from(keypair.publicKey);
|
|
44
|
+
algorithm = 'ED25519';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
invariant(algorithm, 'Algorithm is required.');
|
|
34
48
|
const identityKey = identity.identityKey;
|
|
35
49
|
const credential = await identity.getIdentityCredentialSigner().createCredential({
|
|
36
50
|
subject: identityKey,
|
|
@@ -38,23 +52,86 @@ export class EdgeIdentityRecoveryManager {
|
|
|
38
52
|
'@type': 'dxos.halo.credentials.IdentityRecovery',
|
|
39
53
|
recoveryKey,
|
|
40
54
|
identityKey,
|
|
55
|
+
algorithm,
|
|
41
56
|
},
|
|
42
57
|
});
|
|
43
58
|
|
|
44
59
|
const receipt = await identity.controlPipeline.writer.write({ credential: { credential } });
|
|
45
60
|
await identity.controlPipeline.state.waitUntilTimeframe(new Timeframe([[receipt.feedKey, receipt.seq]]));
|
|
46
61
|
|
|
47
|
-
return {
|
|
62
|
+
return { recoveryCode };
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public async requestRecoveryChallenge() {
|
|
66
|
+
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
67
|
+
|
|
68
|
+
const deviceKey = await this._keyring.createKey();
|
|
69
|
+
const controlFeedKey = await this._keyring.createKey();
|
|
70
|
+
const request: EdgeRecoverIdentityRequest = {
|
|
71
|
+
deviceKey: deviceKey.toHex(),
|
|
72
|
+
controlFeedKey: controlFeedKey.toHex(),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
await this._edgeClient.recoverIdentity(request);
|
|
77
|
+
throw new Error('No challenge received.');
|
|
78
|
+
} catch (error: any) {
|
|
79
|
+
if (!(error instanceof EdgeAuthChallengeError)) {
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
deviceKey,
|
|
84
|
+
controlFeedKey,
|
|
85
|
+
challenge: error.challenge,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
public async recoverIdentityWithExternalSignature({
|
|
91
|
+
identityDid,
|
|
92
|
+
deviceKey,
|
|
93
|
+
controlFeedKey,
|
|
94
|
+
signature,
|
|
95
|
+
clientDataJson,
|
|
96
|
+
authenticatorData,
|
|
97
|
+
}: RecoverIdentityRequest.ExternalSignature) {
|
|
98
|
+
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
99
|
+
|
|
100
|
+
const request: EdgeRecoverIdentityRequest = {
|
|
101
|
+
identityDid,
|
|
102
|
+
deviceKey: deviceKey.toHex(),
|
|
103
|
+
controlFeedKey: controlFeedKey.toHex(),
|
|
104
|
+
signature:
|
|
105
|
+
clientDataJson && authenticatorData
|
|
106
|
+
? {
|
|
107
|
+
signature: Buffer.from(signature).toString('base64'),
|
|
108
|
+
clientDataJson: Buffer.from(clientDataJson).toString('base64'),
|
|
109
|
+
authenticatorData: Buffer.from(authenticatorData).toString('base64'),
|
|
110
|
+
}
|
|
111
|
+
: Buffer.from(signature).toString('base64'),
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
const response = await this._edgeClient.recoverIdentity(request);
|
|
115
|
+
|
|
116
|
+
await this._acceptRecoveredIdentity({
|
|
117
|
+
authorizedDeviceCredential: decodeCredential(response.deviceAuthCredential),
|
|
118
|
+
haloGenesisFeedKey: PublicKey.fromHex(response.genesisFeedKey),
|
|
119
|
+
haloSpaceKey: PublicKey.fromHex(response.haloSpaceKey),
|
|
120
|
+
identityKey: PublicKey.fromHex(response.identityKey),
|
|
121
|
+
deviceKey,
|
|
122
|
+
controlFeedKey,
|
|
123
|
+
dataFeedKey: await this._keyring.createKey(),
|
|
124
|
+
});
|
|
48
125
|
}
|
|
49
126
|
|
|
50
|
-
public async recoverIdentity(
|
|
127
|
+
public async recoverIdentity({ recoveryCode }: { recoveryCode: string }) {
|
|
51
128
|
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
52
129
|
|
|
53
|
-
const recoveryKeypair = keyPairFromSeedPhrase(
|
|
130
|
+
const recoveryKeypair = keyPairFromSeedPhrase(recoveryCode);
|
|
54
131
|
const recoveryKey = PublicKey.from(recoveryKeypair.publicKey);
|
|
55
132
|
const deviceKey = await this._keyring.createKey();
|
|
56
133
|
const controlFeedKey = await this._keyring.createKey();
|
|
57
|
-
const request:
|
|
134
|
+
const request: EdgeRecoverIdentityRequest = {
|
|
58
135
|
recoveryKey: recoveryKey.toHex(),
|
|
59
136
|
deviceKey: deviceKey.toHex(),
|
|
60
137
|
controlFeedKey: controlFeedKey.toHex(),
|
|
@@ -11,6 +11,7 @@ import { type Keyring } from '@dxos/keyring';
|
|
|
11
11
|
import { log } from '@dxos/log';
|
|
12
12
|
import {
|
|
13
13
|
type CreateIdentityRequest,
|
|
14
|
+
type CreateRecoveryCredentialRequest,
|
|
14
15
|
type Identity as IdentityProto,
|
|
15
16
|
type IdentityService,
|
|
16
17
|
type QueryIdentityResponse,
|
|
@@ -76,6 +77,7 @@ export class IdentityServiceImpl extends Resource implements IdentityService {
|
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
return {
|
|
80
|
+
did: this._identityManager.identity.did,
|
|
79
81
|
identityKey: this._identityManager.identity.identityKey,
|
|
80
82
|
spaceKey: this._identityManager.identity.space.key,
|
|
81
83
|
profile: this._identityManager.identity.profileDocument,
|
|
@@ -89,12 +91,23 @@ export class IdentityServiceImpl extends Resource implements IdentityService {
|
|
|
89
91
|
return this._getIdentity()!;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
async
|
|
93
|
-
return this._recoveryManager.
|
|
94
|
+
async createRecoveryCredential(request: CreateRecoveryCredentialRequest) {
|
|
95
|
+
return this._recoveryManager.createRecoveryCredential(request);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
async requestRecoveryChallenge() {
|
|
99
|
+
return this._recoveryManager.requestRecoveryChallenge();
|
|
94
100
|
}
|
|
95
101
|
|
|
96
102
|
async recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto> {
|
|
97
|
-
|
|
103
|
+
if (request.recoveryCode) {
|
|
104
|
+
await this._recoveryManager.recoverIdentity({ recoveryCode: request.recoveryCode });
|
|
105
|
+
} else if (request.external) {
|
|
106
|
+
await this._recoveryManager.recoverIdentityWithExternalSignature(request.external);
|
|
107
|
+
} else {
|
|
108
|
+
throw new Error('Invalid request.');
|
|
109
|
+
}
|
|
110
|
+
|
|
98
111
|
return this._getIdentity()!;
|
|
99
112
|
}
|
|
100
113
|
|