@dxos/client-services 0.7.5-labs.e27f9b9 → 0.7.5-labs.f400bbc
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-OHBCYJRF.mjs → chunk-VWZJYGCJ.mjs} +113 -27
- package/dist/lib/browser/chunk-VWZJYGCJ.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-X3IYGB6Q.cjs → chunk-TVKZUCQN.cjs} +115 -29
- package/dist/lib/node/chunk-TVKZUCQN.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-U5S4G236.mjs → chunk-OEO5PHCK.mjs} +113 -27
- package/dist/lib/node-esm/chunk-OEO5PHCK.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/identity/identity-recovery-manager.d.ts +11 -2
- package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-service.d.ts +5 -0
- package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +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/identity/identity-recovery-manager.ts +69 -5
- package/src/packlets/identity/identity-service.ts +12 -1
- package/src/packlets/spaces/data-space-manager.ts +2 -2
- package/src/packlets/spaces/data-space.ts +2 -2
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-OHBCYJRF.mjs.map +0 -7
- package/dist/lib/node/chunk-X3IYGB6Q.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-U5S4G236.mjs.map +0 -7
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
InvitationsManager,
|
|
7
7
|
ServiceContext,
|
|
8
8
|
SpaceInvitationProtocol
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-OEO5PHCK.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,5 +1,6 @@
|
|
|
1
1
|
import { type EdgeHttpClient } from '@dxos/edge-client';
|
|
2
2
|
import { type Keyring } from '@dxos/keyring';
|
|
3
|
+
import { PublicKey } from '@dxos/keys';
|
|
3
4
|
import { type CreateRecoveryCredentialRequest, type RecoverIdentityRequest } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
5
|
import { type Identity } from './identity';
|
|
5
6
|
import { type JoinIdentityParams } from './identity-manager';
|
|
@@ -9,9 +10,17 @@ export declare class EdgeIdentityRecoveryManager {
|
|
|
9
10
|
private readonly _identityProvider;
|
|
10
11
|
private readonly _acceptRecoveredIdentity;
|
|
11
12
|
constructor(_keyring: Keyring, _edgeClient: EdgeHttpClient | undefined, _identityProvider: () => Identity | undefined, _acceptRecoveredIdentity: (params: JoinIdentityParams) => Promise<Identity>);
|
|
12
|
-
createRecoveryCredential({ recoveryKey, algorithm }: CreateRecoveryCredentialRequest): Promise<{
|
|
13
|
+
createRecoveryCredential({ recoveryKey, lookupKey, algorithm }: CreateRecoveryCredentialRequest): Promise<{
|
|
13
14
|
recoveryCode: string | undefined;
|
|
14
15
|
}>;
|
|
15
|
-
|
|
16
|
+
requestRecoveryChallenge(): Promise<{
|
|
17
|
+
deviceKey: PublicKey;
|
|
18
|
+
controlFeedKey: PublicKey;
|
|
19
|
+
challenge: string;
|
|
20
|
+
}>;
|
|
21
|
+
recoverIdentityWithExternalSignature({ lookupKey, deviceKey, controlFeedKey, signature, clientDataJson, authenticatorData, }: RecoverIdentityRequest.ExternalSignature): Promise<void>;
|
|
22
|
+
recoverIdentity({ recoveryCode }: {
|
|
23
|
+
recoveryCode: string;
|
|
24
|
+
}): Promise<void>;
|
|
16
25
|
}
|
|
17
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,SAAS,EAAE,EAAE,+BAA+B;;;IAgC/F,wBAAwB;;;;;IAyBxB,oCAAoC,CAAC,EAChD,SAAS,EACT,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"}
|
|
@@ -24,6 +24,11 @@ export declare class IdentityServiceImpl extends Resource implements IdentitySer
|
|
|
24
24
|
createRecoveryCredential(request: CreateRecoveryCredentialRequest): Promise<{
|
|
25
25
|
recoveryCode: string | undefined;
|
|
26
26
|
}>;
|
|
27
|
+
requestRecoveryChallenge(): Promise<{
|
|
28
|
+
deviceKey: import("@dxos/keys").PublicKey;
|
|
29
|
+
controlFeedKey: import("@dxos/keys").PublicKey;
|
|
30
|
+
challenge: string;
|
|
31
|
+
}>;
|
|
27
32
|
recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto>;
|
|
28
33
|
signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation>;
|
|
29
34
|
createAuthCredential(): Promise<import("@dxos/protocols/proto/dxos/halo/credentials").Credential>;
|
|
@@ -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,+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,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
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"}
|
|
@@ -60,7 +60,7 @@ export declare class ClientServicesHost {
|
|
|
60
60
|
get config(): Config | undefined;
|
|
61
61
|
get context(): ServiceContext;
|
|
62
62
|
get serviceRegistry(): ServiceRegistry<ClientServices>;
|
|
63
|
-
get descriptors(): import("
|
|
63
|
+
get descriptors(): import("@dxos/rpc").ServiceBundle<ClientServices>;
|
|
64
64
|
get services(): Partial<ClientServices>;
|
|
65
65
|
/**
|
|
66
66
|
* Initialize the service host with the config.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAmBrD,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,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,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,UAAU,CAAC,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAC,CAAyC;IAChE,OAAO,CAAC,eAAe,CAAC,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAC,CAA6B;IAErD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAC7D,OAAO,CAAC,2BAA2B,CAAqC;IAGxE,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAS;gBAEf,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,KAAK,EAEL,OAAO,EACP,SAAS,EACT,aAAa,GACd,GAAE,wBAA6B;IAuDhC,IAAI,MAAM,YAET;IAED,IAAI,MAAM,uBAET;IAED,IAAI,OAAO,mBAEV;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.7.5-labs.
|
|
1
|
+
export declare const DXOS_VERSION = "0.7.5-labs.f400bbc";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.7.5-labs.
|
|
3
|
+
"version": "0.7.5-labs.f400bbc",
|
|
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-labs.
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/credentials": "0.7.5-labs.
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/echo-pipeline": "0.7.5-labs.
|
|
56
|
-
"@dxos/echo-protocol": "0.7.5-labs.
|
|
57
|
-
"@dxos/echo-schema": "0.7.5-labs.
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/
|
|
62
|
-
"@dxos/keys": "0.7.5-labs.
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/kv-store": "0.7.5-labs.
|
|
65
|
-
"@dxos/lock-file": "0.7.5-labs.
|
|
66
|
-
"@dxos/
|
|
67
|
-
"@dxos/network-manager": "0.7.5-labs.
|
|
68
|
-
"@dxos/
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/
|
|
72
|
-
"@dxos/teleport": "0.7.5-labs.
|
|
73
|
-
"@dxos/
|
|
74
|
-
"@dxos/teleport-extension-
|
|
75
|
-
"@dxos/
|
|
76
|
-
"@dxos/
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/
|
|
46
|
+
"@dxos/async": "0.7.5-labs.f400bbc",
|
|
47
|
+
"@dxos/automerge": "0.7.5-labs.f400bbc",
|
|
48
|
+
"@dxos/client-protocol": "0.7.5-labs.f400bbc",
|
|
49
|
+
"@dxos/codec-protobuf": "0.7.5-labs.f400bbc",
|
|
50
|
+
"@dxos/context": "0.7.5-labs.f400bbc",
|
|
51
|
+
"@dxos/config": "0.7.5-labs.f400bbc",
|
|
52
|
+
"@dxos/credentials": "0.7.5-labs.f400bbc",
|
|
53
|
+
"@dxos/debug": "0.7.5-labs.f400bbc",
|
|
54
|
+
"@dxos/crypto": "0.7.5-labs.f400bbc",
|
|
55
|
+
"@dxos/echo-db": "0.7.5-labs.f400bbc",
|
|
56
|
+
"@dxos/echo-pipeline": "0.7.5-labs.f400bbc",
|
|
57
|
+
"@dxos/echo-protocol": "0.7.5-labs.f400bbc",
|
|
58
|
+
"@dxos/echo-schema": "0.7.5-labs.f400bbc",
|
|
59
|
+
"@dxos/edge-client": "0.7.5-labs.f400bbc",
|
|
60
|
+
"@dxos/feed-store": "0.7.5-labs.f400bbc",
|
|
61
|
+
"@dxos/indexing": "0.7.5-labs.f400bbc",
|
|
62
|
+
"@dxos/invariant": "0.7.5-labs.f400bbc",
|
|
63
|
+
"@dxos/keys": "0.7.5-labs.f400bbc",
|
|
64
|
+
"@dxos/keyring": "0.7.5-labs.f400bbc",
|
|
65
|
+
"@dxos/kv-store": "0.7.5-labs.f400bbc",
|
|
66
|
+
"@dxos/lock-file": "0.7.5-labs.f400bbc",
|
|
67
|
+
"@dxos/messaging": "0.7.5-labs.f400bbc",
|
|
68
|
+
"@dxos/network-manager": "0.7.5-labs.f400bbc",
|
|
69
|
+
"@dxos/log": "0.7.5-labs.f400bbc",
|
|
70
|
+
"@dxos/node-std": "0.7.5-labs.f400bbc",
|
|
71
|
+
"@dxos/protocols": "0.7.5-labs.f400bbc",
|
|
72
|
+
"@dxos/random-access-storage": "0.7.5-labs.f400bbc",
|
|
73
|
+
"@dxos/teleport": "0.7.5-labs.f400bbc",
|
|
74
|
+
"@dxos/rpc": "0.7.5-labs.f400bbc",
|
|
75
|
+
"@dxos/teleport-extension-gossip": "0.7.5-labs.f400bbc",
|
|
76
|
+
"@dxos/timeframe": "0.7.5-labs.f400bbc",
|
|
77
|
+
"@dxos/tracing": "0.7.5-labs.f400bbc",
|
|
78
|
+
"@dxos/util": "0.7.5-labs.f400bbc",
|
|
79
|
+
"@dxos/websocket-rpc": "0.7.5-labs.f400bbc",
|
|
80
|
+
"@dxos/teleport-extension-object-sync": "0.7.5-labs.f400bbc"
|
|
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/
|
|
86
|
-
"@dxos/
|
|
86
|
+
"@dxos/test-utils": "0.7.5-labs.f400bbc",
|
|
87
|
+
"@dxos/signal": "0.7.5-labs.f400bbc"
|
|
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
|
};
|
|
@@ -32,16 +32,17 @@ export class EdgeIdentityRecoveryManager {
|
|
|
32
32
|
private readonly _acceptRecoveredIdentity: (params: JoinIdentityParams) => Promise<Identity>,
|
|
33
33
|
) {}
|
|
34
34
|
|
|
35
|
-
public async createRecoveryCredential({ recoveryKey, algorithm }: CreateRecoveryCredentialRequest) {
|
|
35
|
+
public async createRecoveryCredential({ recoveryKey, lookupKey, algorithm }: CreateRecoveryCredentialRequest) {
|
|
36
36
|
const identity = this._identityProvider();
|
|
37
37
|
invariant(identity);
|
|
38
38
|
|
|
39
39
|
let recoveryCode: string | undefined;
|
|
40
|
-
if (!recoveryKey) {
|
|
40
|
+
if (!recoveryKey || !lookupKey) {
|
|
41
41
|
recoveryCode = generateSeedPhrase();
|
|
42
42
|
const keypair = keyPairFromSeedPhrase(recoveryCode);
|
|
43
43
|
recoveryKey = PublicKey.from(keypair.publicKey);
|
|
44
|
-
|
|
44
|
+
lookupKey = PublicKey.random();
|
|
45
|
+
algorithm = 'ED25519';
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
invariant(algorithm, 'Algorithm is required.');
|
|
@@ -53,6 +54,7 @@ export class EdgeIdentityRecoveryManager {
|
|
|
53
54
|
recoveryKey,
|
|
54
55
|
identityKey,
|
|
55
56
|
algorithm,
|
|
57
|
+
lookupKey,
|
|
56
58
|
},
|
|
57
59
|
});
|
|
58
60
|
|
|
@@ -62,7 +64,69 @@ export class EdgeIdentityRecoveryManager {
|
|
|
62
64
|
return { recoveryCode };
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
public async
|
|
67
|
+
public async requestRecoveryChallenge() {
|
|
68
|
+
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
69
|
+
|
|
70
|
+
const deviceKey = await this._keyring.createKey();
|
|
71
|
+
const controlFeedKey = await this._keyring.createKey();
|
|
72
|
+
const request: EdgeRecoverIdentityRequest = {
|
|
73
|
+
deviceKey: deviceKey.toHex(),
|
|
74
|
+
controlFeedKey: controlFeedKey.toHex(),
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
await this._edgeClient.recoverIdentity(request);
|
|
79
|
+
throw new Error('No challenge received.');
|
|
80
|
+
} catch (error: any) {
|
|
81
|
+
if (!(error instanceof EdgeAuthChallengeError)) {
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
deviceKey,
|
|
86
|
+
controlFeedKey,
|
|
87
|
+
challenge: error.challenge,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
public async recoverIdentityWithExternalSignature({
|
|
93
|
+
lookupKey,
|
|
94
|
+
deviceKey,
|
|
95
|
+
controlFeedKey,
|
|
96
|
+
signature,
|
|
97
|
+
clientDataJson,
|
|
98
|
+
authenticatorData,
|
|
99
|
+
}: RecoverIdentityRequest.ExternalSignature) {
|
|
100
|
+
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
101
|
+
|
|
102
|
+
const request: EdgeRecoverIdentityRequest = {
|
|
103
|
+
lookupKey: lookupKey.toHex(),
|
|
104
|
+
deviceKey: deviceKey.toHex(),
|
|
105
|
+
controlFeedKey: controlFeedKey.toHex(),
|
|
106
|
+
signature:
|
|
107
|
+
clientDataJson && authenticatorData
|
|
108
|
+
? {
|
|
109
|
+
signature: Buffer.from(signature).toString('base64'),
|
|
110
|
+
clientDataJson: Buffer.from(clientDataJson).toString('base64'),
|
|
111
|
+
authenticatorData: Buffer.from(authenticatorData).toString('base64'),
|
|
112
|
+
}
|
|
113
|
+
: Buffer.from(signature).toString('base64'),
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const response = await this._edgeClient.recoverIdentity(request);
|
|
117
|
+
|
|
118
|
+
await this._acceptRecoveredIdentity({
|
|
119
|
+
authorizedDeviceCredential: decodeCredential(response.deviceAuthCredential),
|
|
120
|
+
haloGenesisFeedKey: PublicKey.fromHex(response.genesisFeedKey),
|
|
121
|
+
haloSpaceKey: PublicKey.fromHex(response.haloSpaceKey),
|
|
122
|
+
identityKey: PublicKey.fromHex(response.identityKey),
|
|
123
|
+
deviceKey,
|
|
124
|
+
controlFeedKey,
|
|
125
|
+
dataFeedKey: await this._keyring.createKey(),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
public async recoverIdentity({ recoveryCode }: { recoveryCode: string }) {
|
|
66
130
|
invariant(this._edgeClient, 'Not connected to EDGE.');
|
|
67
131
|
|
|
68
132
|
const recoveryKeypair = keyPairFromSeedPhrase(recoveryCode);
|
|
@@ -70,7 +134,7 @@ export class EdgeIdentityRecoveryManager {
|
|
|
70
134
|
const deviceKey = await this._keyring.createKey();
|
|
71
135
|
const controlFeedKey = await this._keyring.createKey();
|
|
72
136
|
const request: EdgeRecoverIdentityRequest = {
|
|
73
|
-
|
|
137
|
+
lookupKey: recoveryKey.toHex(),
|
|
74
138
|
deviceKey: deviceKey.toHex(),
|
|
75
139
|
controlFeedKey: controlFeedKey.toHex(),
|
|
76
140
|
};
|
|
@@ -95,8 +95,19 @@ export class IdentityServiceImpl extends Resource implements IdentityService {
|
|
|
95
95
|
return this._recoveryManager.createRecoveryCredential(request);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
async requestRecoveryChallenge() {
|
|
99
|
+
return this._recoveryManager.requestRecoveryChallenge();
|
|
100
|
+
}
|
|
101
|
+
|
|
98
102
|
async recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto> {
|
|
99
|
-
|
|
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
|
+
|
|
100
111
|
return this._getIdentity()!;
|
|
101
112
|
}
|
|
102
113
|
|
|
@@ -503,7 +503,7 @@ export class DataSpaceManager extends Resource {
|
|
|
503
503
|
});
|
|
504
504
|
dataSpace.postOpen.append(async () => {
|
|
505
505
|
const setting = dataSpace.getEdgeReplicationSetting();
|
|
506
|
-
if (setting === EdgeReplicationSetting.ENABLED) {
|
|
506
|
+
if (!setting || setting === EdgeReplicationSetting.ENABLED) {
|
|
507
507
|
await this._echoEdgeReplicator?.connectToSpace(dataSpace.id);
|
|
508
508
|
} else if (this._echoEdgeReplicator) {
|
|
509
509
|
log('not connecting EchoEdgeReplicator because of EdgeReplicationSetting', { spaceId: dataSpace.id });
|
|
@@ -511,7 +511,7 @@ export class DataSpaceManager extends Resource {
|
|
|
511
511
|
});
|
|
512
512
|
dataSpace.preClose.append(async () => {
|
|
513
513
|
const setting = dataSpace.getEdgeReplicationSetting();
|
|
514
|
-
if (setting === EdgeReplicationSetting.ENABLED) {
|
|
514
|
+
if (!setting || setting === EdgeReplicationSetting.ENABLED) {
|
|
515
515
|
await this._echoEdgeReplicator?.disconnectFromSpace(dataSpace.id);
|
|
516
516
|
}
|
|
517
517
|
});
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
type MetadataStore,
|
|
15
15
|
type Space,
|
|
16
16
|
} from '@dxos/echo-pipeline';
|
|
17
|
-
import { SpaceDocVersion } from '@dxos/echo-protocol';
|
|
17
|
+
import { SpaceDocVersion, type SpaceDoc } from '@dxos/echo-protocol';
|
|
18
18
|
import type { EdgeConnection, EdgeHttpClient } from '@dxos/edge-client';
|
|
19
19
|
import { type FeedStore, type FeedWrapper } from '@dxos/feed-store';
|
|
20
20
|
import { failedInvariant } from '@dxos/invariant';
|
|
@@ -446,7 +446,7 @@ export class DataSpace {
|
|
|
446
446
|
private _onNewAutomergeRoot(rootUrl: string) {
|
|
447
447
|
log('loading automerge root doc for space', { space: this.key, rootUrl });
|
|
448
448
|
|
|
449
|
-
const handle = this._echoHost.automergeRepo.find(rootUrl as any);
|
|
449
|
+
const handle = this._echoHost.automergeRepo.find<SpaceDoc>(rootUrl as any);
|
|
450
450
|
|
|
451
451
|
// TODO(dmaretskyi): Make this single-threaded (but doc loading should still be parallel to not block epoch processing).
|
|
452
452
|
queueMicrotask(async () => {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.7.5-labs.
|
|
1
|
+
export const DXOS_VERSION = "0.7.5-labs.f400bbc";
|