@dxos/client-services 0.1.35 → 0.1.36
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-H5IXSSI7.mjs → chunk-2AYYVPWN.mjs} +835 -950
- package/dist/lib/browser/chunk-2AYYVPWN.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +9 -11
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +212 -74
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/index.cjs +942 -1058
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +1089 -1067
- package/dist/lib/node/packlets/testing/index.cjs.map +4 -4
- package/dist/types/src/packlets/identity/identity-manager.d.ts +1 -0
- package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity.d.ts +3 -3
- package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +18 -0
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/device-invitation-protocol.test.d.ts +2 -0
- package/dist/types/src/packlets/invitations/device-invitation-protocol.test.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/index.d.ts +4 -4
- package/dist/types/src/packlets/invitations/index.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +12 -0
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts +38 -0
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/invitations-service.d.ts +13 -15
- package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +22 -0
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/space-invitation-protocol.test.d.ts +2 -0
- package/dist/types/src/packlets/invitations/space-invitation-protocol.test.d.ts.map +1 -0
- package/dist/types/src/packlets/services/service-context.d.ts +6 -4
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts +2 -0
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/invitation-utils.d.ts +31 -2
- package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts +3 -3
- package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/packlets/tests/invitations.test.d.ts +2 -0
- package/dist/types/src/packlets/tests/invitations.test.d.ts.map +1 -0
- package/dist/types/src/packlets/vault/worker-runtime.d.ts +2 -0
- package/dist/types/src/packlets/vault/worker-runtime.d.ts.map +1 -1
- package/package.json +30 -30
- package/src/packlets/identity/identity-manager.ts +2 -1
- package/src/packlets/identity/identity.ts +3 -3
- package/src/packlets/invitations/{device-invitations-handler.test.ts → device-invitation-protocol.test.ts} +3 -3
- package/src/packlets/invitations/device-invitation-protocol.ts +83 -0
- package/src/packlets/invitations/index.ts +4 -4
- package/src/packlets/invitations/invitation-protocol.ts +21 -0
- package/src/packlets/invitations/invitations-handler.ts +462 -0
- package/src/packlets/invitations/invitations-service.ts +127 -104
- package/src/packlets/invitations/space-invitation-protocol.test.ts +221 -0
- package/src/packlets/invitations/space-invitation-protocol.ts +117 -0
- package/src/packlets/services/service-context.test.ts +11 -4
- package/src/packlets/services/service-context.ts +40 -19
- package/src/packlets/services/service-host.ts +4 -12
- package/src/packlets/services/service-registry.test.ts +23 -25
- package/src/packlets/spaces/data-space-manager.ts +5 -0
- package/src/packlets/spaces/spaces-service.ts +7 -2
- package/src/packlets/storage/storage.ts +2 -0
- package/src/packlets/testing/invitation-utils.ts +219 -31
- package/src/packlets/testing/test-builder.ts +33 -22
- package/src/packlets/tests/client-services.test.ts +33 -76
- package/src/packlets/tests/halo-profile.test.ts +2 -28
- package/src/packlets/tests/invitations.test.ts +389 -0
- package/src/packlets/tests/spaces-invitations.test.ts +12 -30
- package/src/packlets/tests/spaces.test.ts +30 -28
- package/src/packlets/vault/worker-runtime.ts +4 -0
- package/dist/lib/browser/chunk-H5IXSSI7.mjs.map +0 -7
- package/dist/types/src/packlets/invitations/device-invitations-handler.d.ts +0 -30
- package/dist/types/src/packlets/invitations/device-invitations-handler.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/device-invitations-handler.test.d.ts +0 -2
- package/dist/types/src/packlets/invitations/device-invitations-handler.test.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/device-invitations-service.d.ts +0 -13
- package/dist/types/src/packlets/invitations/device-invitations-service.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/device-invitations-service.test.d.ts +0 -2
- package/dist/types/src/packlets/invitations/device-invitations-service.test.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/space-invitations-handler.d.ts +0 -26
- package/dist/types/src/packlets/invitations/space-invitations-handler.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/space-invitations-handler.test.d.ts +0 -2
- package/dist/types/src/packlets/invitations/space-invitations-handler.test.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/space-invitations-service.d.ts +0 -16
- package/dist/types/src/packlets/invitations/space-invitations-service.d.ts.map +0 -1
- package/dist/types/src/packlets/invitations/space-invitations-service.test.d.ts +0 -2
- package/dist/types/src/packlets/invitations/space-invitations-service.test.d.ts.map +0 -1
- package/src/packlets/invitations/device-invitations-handler.ts +0 -370
- package/src/packlets/invitations/device-invitations-service.test.ts +0 -96
- package/src/packlets/invitations/device-invitations-service.ts +0 -24
- package/src/packlets/invitations/space-invitations-handler.test.ts +0 -246
- package/src/packlets/invitations/space-invitations-handler.ts +0 -463
- package/src/packlets/invitations/space-invitations-service.test.ts +0 -129
- package/src/packlets/invitations/space-invitations-service.ts +0 -35
|
@@ -30,6 +30,7 @@ export declare class IdentityManager {
|
|
|
30
30
|
readonly stateUpdate: Event<void>;
|
|
31
31
|
private _identity?;
|
|
32
32
|
private readonly _instanceId;
|
|
33
|
+
_traceParent?: string;
|
|
33
34
|
constructor(_metadataStore: MetadataStore, _keyring: Keyring, _feedStore: FeedStore<FeedMessage>, _spaceManager: SpaceManager);
|
|
34
35
|
get identity(): Identity | undefined;
|
|
35
36
|
open(): Promise<void>;
|
|
@@ -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,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBAAa,eAAe;
|
|
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,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBAAa,eAAe;IAWxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAKV,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAEK,IAAI;IAkBJ,KAAK;IAKL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YAwClB,eAAe;CAU9B"}
|
|
@@ -4,7 +4,7 @@ import { Signer } from '@dxos/crypto';
|
|
|
4
4
|
import { Space } from '@dxos/echo-pipeline';
|
|
5
5
|
import { PublicKey } from '@dxos/keys';
|
|
6
6
|
import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
7
|
-
import {
|
|
7
|
+
import { DeviceAdmissionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
8
8
|
import { ComplexSet } from '@dxos/util';
|
|
9
9
|
import { TrustedKeySetAuthVerifier } from './authenticator';
|
|
10
10
|
export declare type IdentityParams = {
|
|
@@ -38,7 +38,7 @@ export declare class Identity {
|
|
|
38
38
|
get haloSpaceKey(): PublicKey;
|
|
39
39
|
get haloGenesisFeedKey(): PublicKey;
|
|
40
40
|
get deviceCredentialChain(): import("@dxos/protocols/proto/dxos/halo/credentials").Chain | undefined;
|
|
41
|
-
getAdmissionCredentials():
|
|
41
|
+
getAdmissionCredentials(): DeviceAdmissionRequest;
|
|
42
42
|
/**
|
|
43
43
|
* Issues credentials as identity.
|
|
44
44
|
* Requires identity to be ready.
|
|
@@ -48,6 +48,6 @@ export declare class Identity {
|
|
|
48
48
|
* Issues credentials as device.
|
|
49
49
|
*/
|
|
50
50
|
getDeviceCredentialSigner(): CredentialSigner;
|
|
51
|
-
admitDevice({ deviceKey, controlFeedKey, dataFeedKey }:
|
|
51
|
+
admitDevice({ deviceKey, controlFeedKey, dataFeedKey }: DeviceAdmissionRequest): Promise<void>;
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -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,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,
|
|
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,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAO5D,oBAAY,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,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0C;IAC/E,SAAgB,YAAY,EAAE,yBAAyB,CAAC;IAExD,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;IA6BrE,IAAI,oBAAoB,IAAI,UAAU,CAAC,SAAS,CAAC,CAEhD;IAEK,IAAI;IAMJ,KAAK;IAOL,KAAK;IAMX,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,mDAElB;IAED,IAAI,YAAY,cAEf;IAED,IAAI,kBAAkB,cAErB;IAED,IAAI,qBAAqB,4EAExB;IAED,uBAAuB,IAAI,sBAAsB;IAQjD;;;OAGG;IACH,2BAA2B,IAAI,gBAAgB;IAS/C;;OAEG;IACH,yBAAyB,IAAI,gBAAgB;IAIvC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB;CA2CrF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Keyring } from '@dxos/keyring';
|
|
2
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
|
+
import { AdmissionRequest, AdmissionResponse, IntroductionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
4
|
+
import { Identity, JoinIdentityParams } from '../identity';
|
|
5
|
+
import { InvitationProtocol } from './invitation-protocol';
|
|
6
|
+
export declare class DeviceInvitationProtocol implements InvitationProtocol {
|
|
7
|
+
private readonly _keyring;
|
|
8
|
+
private readonly _getIdentity;
|
|
9
|
+
private readonly _acceptIdentity;
|
|
10
|
+
constructor(_keyring: Keyring, _getIdentity: () => Identity, _acceptIdentity: (identity: JoinIdentityParams) => Promise<Identity>);
|
|
11
|
+
toJSON(): object;
|
|
12
|
+
getInvitationContext(): Partial<Invitation> & Pick<Invitation, 'kind'>;
|
|
13
|
+
admit(request: AdmissionRequest): Promise<AdmissionResponse>;
|
|
14
|
+
createIntroduction(): IntroductionRequest;
|
|
15
|
+
createAdmissionRequest(): Promise<AdmissionRequest>;
|
|
16
|
+
accept(response: AdmissionResponse, request: AdmissionRequest): Promise<Partial<Invitation>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=device-invitation-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitation-protocol.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAEvH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,wBAAyB,YAAW,kBAAkB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,QAAQ,EAC5B,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC;IAGvF,MAAM,IAAI,MAAM;IAIhB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAMhE,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAelE,kBAAkB,IAAI,mBAAmB;IAInC,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAcnD,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAmBnG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-invitation-protocol.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitation-protocol.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './device-
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './device-invitation-protocol';
|
|
2
|
+
export * from './invitation-protocol';
|
|
3
|
+
export * from './invitations-handler';
|
|
3
4
|
export * from './invitations-service';
|
|
4
|
-
export * from './space-
|
|
5
|
-
export * from './space-invitations-service';
|
|
5
|
+
export * from './space-invitation-protocol';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/index.ts"],"names":[],"mappings":"AAIA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/index.ts"],"names":[],"mappings":"AAIA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
2
|
+
import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
3
|
+
import { AdmissionRequest, AdmissionResponse, IntroductionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
4
|
+
export interface InvitationProtocol {
|
|
5
|
+
toJSON(): object;
|
|
6
|
+
getInvitationContext(): Partial<Invitation> & Pick<Invitation, 'kind'>;
|
|
7
|
+
admit(request: AdmissionRequest, guestProfile?: ProfileDocument): Promise<AdmissionResponse>;
|
|
8
|
+
createIntroduction(): IntroductionRequest;
|
|
9
|
+
createAdmissionRequest(): Promise<AdmissionRequest>;
|
|
10
|
+
accept(response: AdmissionResponse, request: AdmissionRequest): Promise<Partial<Invitation>>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=invitation-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAEvH,MAAM,WAAW,kBAAkB;IAEjC,MAAM,IAAI,MAAM,CAAC;IAGjB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAG7F,kBAAkB,IAAI,mBAAmB,CAAC;IAC1C,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;CAC9F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CancellableInvitationObservable, AuthenticatingInvitationObservable } from '@dxos/client';
|
|
2
|
+
import { NetworkManager } from '@dxos/network-manager';
|
|
3
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
|
+
import { InvitationProtocol } from './invitation-protocol';
|
|
5
|
+
/**
|
|
6
|
+
* Generic handler for Halo and Space invitations.
|
|
7
|
+
* Handles the life-cycle of invitations between peers.
|
|
8
|
+
*
|
|
9
|
+
* Host
|
|
10
|
+
* - Creates an invitation containing a swarm topic (which can be shared via a URL, QR code, or direct message).
|
|
11
|
+
* - Joins the swarm with the topic and waits for guest's introduction.
|
|
12
|
+
* - Wait for guest to authenticate with OTP.
|
|
13
|
+
* - Waits for guest to present credentials (containing local device and feed keys).
|
|
14
|
+
* - Writes credentials to control feed then exits.
|
|
15
|
+
*
|
|
16
|
+
* Guest
|
|
17
|
+
* - Joins the swarm with the topic.
|
|
18
|
+
* - Sends an introduction.
|
|
19
|
+
* - Sends authentication OTP.
|
|
20
|
+
* - If Space handler then creates a local cloned space (with genesis block).
|
|
21
|
+
* - Sends admission credentials.
|
|
22
|
+
*
|
|
23
|
+
* TODO(burdon): Show proxy/service relationship and reference design doc/diagram.
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* [Guest] [Host]
|
|
27
|
+
* |------------------------------------Introduce-->|
|
|
28
|
+
* |-------------------------------[Authenticate]-->|
|
|
29
|
+
* |----------------------------------------Admit-->|
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class InvitationsHandler {
|
|
33
|
+
private readonly _networkManager;
|
|
34
|
+
constructor(_networkManager: NetworkManager);
|
|
35
|
+
createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>): CancellableInvitationObservable;
|
|
36
|
+
acceptInvitation(protocol: InvitationProtocol, invitation: Invitation): AuthenticatingInvitationObservable;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=invitations-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,+BAA+B,EAG/B,kCAAkC,EACnC,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAiC,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAaxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,cAAc;IAE5D,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,+BAA+B;IAiL9G,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,kCAAkC;CA6I3G"}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
import { InvitationsService, InvitationsHandler, InvitationsOptions } from '@dxos/client';
|
|
2
1
|
import { Stream } from '@dxos/codec-protobuf';
|
|
3
|
-
import { AuthenticationRequest, Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { AuthenticationRequest, Invitation, InvitationsService } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
|
+
import { InvitationProtocol } from './invitation-protocol';
|
|
4
|
+
import { InvitationsHandler } from './invitations-handler';
|
|
6
5
|
/**
|
|
7
6
|
* Adapts invitation service observable to client/service stream.
|
|
8
7
|
*/
|
|
9
|
-
export declare
|
|
10
|
-
private readonly
|
|
11
|
-
private readonly
|
|
8
|
+
export declare class InvitationsServiceImpl implements InvitationsService {
|
|
9
|
+
private readonly _invitationsHandler;
|
|
10
|
+
private readonly _getHandler;
|
|
12
11
|
private readonly _createInvitations;
|
|
13
12
|
private readonly _acceptInvitations;
|
|
14
|
-
|
|
15
|
-
getLoggingContext(): {
|
|
16
|
-
deviceKey: import("@dxos/client").PublicKey | undefined;
|
|
17
|
-
};
|
|
18
|
-
abstract getContext(invitation: Invitation): T;
|
|
13
|
+
constructor(_invitationsHandler: InvitationsHandler, _getHandler: (invitation: Invitation) => InvitationProtocol);
|
|
14
|
+
getLoggingContext(): {};
|
|
19
15
|
createInvitation(invitation: Invitation): Stream<Invitation>;
|
|
20
|
-
acceptInvitation(invitation: Invitation
|
|
21
|
-
authenticate({ invitationId,
|
|
22
|
-
cancelInvitation(
|
|
16
|
+
acceptInvitation(invitation: Invitation): Stream<Invitation>;
|
|
17
|
+
authenticate({ invitationId, authCode }: AuthenticationRequest): Promise<void>;
|
|
18
|
+
cancelInvitation({ invitationId }: {
|
|
19
|
+
invitationId: string;
|
|
20
|
+
}): Promise<void>;
|
|
23
21
|
}
|
|
24
22
|
//# sourceMappingURL=invitations-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAK7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAL9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsD;IACzF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyD;gBAGzE,mBAAmB,EAAE,kBAAkB,EACvC,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,kBAAkB;IAI9E,iBAAiB;IAMjB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IA+E5D,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IA8EtD,YAAY,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SigningContext } from '@dxos/echo-pipeline';
|
|
2
|
+
import { Keyring } from '@dxos/keyring';
|
|
3
|
+
import { PublicKey } from '@dxos/keys';
|
|
4
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
5
|
+
import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
|
+
import { AdmissionRequest, AdmissionResponse, IntroductionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
7
|
+
import { DataSpaceManager } from '../spaces';
|
|
8
|
+
import { InvitationProtocol } from './invitation-protocol';
|
|
9
|
+
export declare class SpaceInvitationProtocol implements InvitationProtocol {
|
|
10
|
+
private readonly _spaceManager;
|
|
11
|
+
private readonly _signingContext;
|
|
12
|
+
private readonly _keyring;
|
|
13
|
+
private readonly _spaceKey?;
|
|
14
|
+
constructor(_spaceManager: DataSpaceManager, _signingContext: SigningContext, _keyring: Keyring, _spaceKey?: PublicKey | undefined);
|
|
15
|
+
toJSON(): object;
|
|
16
|
+
getInvitationContext(): Partial<Invitation> & Pick<Invitation, 'kind'>;
|
|
17
|
+
admit(request: AdmissionRequest, guestProfile?: ProfileDocument | undefined): Promise<AdmissionResponse>;
|
|
18
|
+
createIntroduction(): IntroductionRequest;
|
|
19
|
+
createAdmissionRequest(): Promise<AdmissionRequest>;
|
|
20
|
+
accept(response: AdmissionResponse): Promise<Partial<Invitation>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=space-invitation-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitation-protocol.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAEvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,uBAAwB,YAAW,kBAAkB;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAHV,aAAa,EAAE,gBAAgB,EAC/B,eAAe,EAAE,cAAc,EAC/B,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,uBAAW;IAGxC,MAAM,IAAI,MAAM;IAOhB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAOhE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkC9G,kBAAkB,IAAI,mBAAmB;IAMnC,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAenD,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAmBxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-invitation-protocol.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitation-protocol.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Trigger } from '@dxos/async';
|
|
2
|
+
import { Invitation } from '@dxos/client';
|
|
2
3
|
import { MetadataStore, SpaceManager, DataServiceSubscriptions, SnapshotStore } from '@dxos/echo-pipeline';
|
|
3
4
|
import { FeedStore } from '@dxos/feed-store';
|
|
4
5
|
import { Keyring } from '@dxos/keyring';
|
|
@@ -7,7 +8,7 @@ import { NetworkManager } from '@dxos/network-manager';
|
|
|
7
8
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
8
9
|
import { Storage } from '@dxos/random-access-storage';
|
|
9
10
|
import { CreateIdentityOptions, IdentityManager } from '../identity';
|
|
10
|
-
import {
|
|
11
|
+
import { InvitationsHandler, InvitationProtocol } from '../invitations';
|
|
11
12
|
import { DataSpaceManager } from '../spaces';
|
|
12
13
|
/**
|
|
13
14
|
* Shared backend for all client services.
|
|
@@ -24,16 +25,17 @@ export declare class ServiceContext {
|
|
|
24
25
|
readonly keyring: Keyring;
|
|
25
26
|
readonly spaceManager: SpaceManager;
|
|
26
27
|
readonly identityManager: IdentityManager;
|
|
27
|
-
readonly
|
|
28
|
-
private _deviceSpaceSync?;
|
|
28
|
+
readonly invitations: InvitationsHandler;
|
|
29
29
|
dataSpaceManager?: DataSpaceManager;
|
|
30
|
-
|
|
30
|
+
private readonly _handlerFactories;
|
|
31
|
+
private _deviceSpaceSync?;
|
|
31
32
|
private readonly _instanceId;
|
|
32
33
|
constructor(storage: Storage, networkManager: NetworkManager, modelFactory: ModelFactory);
|
|
33
34
|
open(): Promise<void>;
|
|
34
35
|
close(): Promise<void>;
|
|
35
36
|
reset(): Promise<void>;
|
|
36
37
|
createIdentity(params?: CreateIdentityOptions): Promise<import("../identity").Identity>;
|
|
38
|
+
getInvitationHandler(invitation: Partial<Invitation> & Pick<Invitation, 'kind'>): InvitationProtocol;
|
|
37
39
|
private _acceptIdentity;
|
|
38
40
|
private _initialize;
|
|
39
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAEL,aAAa,EACb,YAAY,EAEZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AAEH,qBAAa,cAAc;aAyBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;IA1B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAGzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAA0B;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAIxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY;IA2CtC,IAAI;IAaJ,KAAK;IAcL,KAAK;IAOL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAOvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAQf,WAAW;CAgE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAwC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAwC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oBAAY,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAEnD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAM3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EACV,MAAM,EACN,YAA0C,EAE1C,cAAc,EACd,OAAO,EAEP,OAAO,EACR,GAAE,wBAA6B;IA6ChC,IAAI,MAAM,YAET;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,iBAAiB;IAkBlD,IAAI;IA8DJ,KAAK;CAeZ"}
|
|
@@ -35,6 +35,8 @@ export declare class DataSpaceManager {
|
|
|
35
35
|
readonly updated: Event<void>;
|
|
36
36
|
private readonly _spaces;
|
|
37
37
|
private _isOpen;
|
|
38
|
+
private readonly _instanceId;
|
|
39
|
+
_traceParent?: string;
|
|
38
40
|
constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _dataServiceSubscriptions: DataServiceSubscriptions, _keyring: Keyring, _signingContext: SigningContext, _modelFactory: ModelFactory, _feedStore: FeedStore<FeedMessage>, _snapshotStore: SnapshotStore);
|
|
39
41
|
get spaces(): ComplexMap<PublicKey, DataSpace>;
|
|
40
42
|
open(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAI9D,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EAEd,aAAa,EAGb,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,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;
|
|
1
|
+
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAI9D,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EAEd,aAAa,EAGb,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,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;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAYzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAlBjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGV,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,cAAc,EAAE,aAAa;IAIhD,IAAI,MAAM,qCAET;IAGK,IAAI;IAiBJ,KAAK;IAUX;;OAEG;IAEG,WAAW;IA8BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;CA6E9B"}
|
|
@@ -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,sBAAsB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAEL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAS7B,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAI7C,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAoDpC,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,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOzE,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAEL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAS7B,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAI7C,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAoDpC,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,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOzE,OAAO,CAAC,eAAe;CA8BxB"}
|
|
@@ -1,3 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AuthenticatingInvitationObservable, CancellableInvitationObservable, Client, EchoProxy, HaloProxy, InvitationsProxy, SpaceProxy } from '@dxos/client';
|
|
2
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
|
+
import { ServiceContext } from '../services';
|
|
4
|
+
/**
|
|
5
|
+
* Strip secrets from invitation before giving it to the peer.
|
|
6
|
+
*/
|
|
7
|
+
export declare const sanitizeInvitation: (invitation: Invitation) => Invitation;
|
|
8
|
+
export declare type PerformInvitationCallbacks<T> = {
|
|
9
|
+
onConnecting?: (value: T) => boolean | void;
|
|
10
|
+
onConnected?: (value: T) => boolean | void;
|
|
11
|
+
onReady?: (value: T) => boolean | void;
|
|
12
|
+
onAuthenticating?: (value: T) => boolean | void;
|
|
13
|
+
onSuccess?: (value: T) => boolean | void;
|
|
14
|
+
onCancelled?: (value: T) => boolean | void;
|
|
15
|
+
onTimeout?: (value: T) => boolean | void;
|
|
16
|
+
onError?: (value: T) => boolean | void;
|
|
17
|
+
};
|
|
18
|
+
export declare type PerformInvitationParams = {
|
|
19
|
+
host: ServiceContext | InvitationsProxy | HaloProxy | SpaceProxy;
|
|
20
|
+
guest: ServiceContext | InvitationsProxy | HaloProxy | EchoProxy | Client;
|
|
21
|
+
options?: Partial<Invitation>;
|
|
22
|
+
hooks?: {
|
|
23
|
+
host?: PerformInvitationCallbacks<CancellableInvitationObservable>;
|
|
24
|
+
guest?: PerformInvitationCallbacks<AuthenticatingInvitationObservable>;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare type Result = {
|
|
28
|
+
invitation?: Invitation;
|
|
29
|
+
error?: Error;
|
|
30
|
+
};
|
|
31
|
+
export declare const performInvitation: ({ host, guest, options, hooks }: PerformInvitationParams) => [Promise<Result>, Promise<Result>];
|
|
3
32
|
//# sourceMappingURL=invitation-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,kCAAkC,EAClC,+BAA+B,EAC/B,MAAM,EACN,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAgB,UAAU,KAAG,UAU3D,CAAC;AAEF,oBAAY,0BAA0B,CAAC,CAAC,IAAI;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;IACjE,KAAK,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,0BAA0B,CAAC,+BAA+B,CAAC,CAAC;QACnE,KAAK,CAAC,EAAE,0BAA0B,CAAC,kCAAkC,CAAC,CAAC;KACxE,CAAC;CACH,CAAC;AAEF,oBAAY,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,iBAAiB,oCAK3B,uBAAuB,KAAG,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,CAmI7D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from '@dxos/client';
|
|
2
2
|
import { Config } from '@dxos/config';
|
|
3
|
-
import {
|
|
3
|
+
import { DatabaseProxy } from '@dxos/echo-db';
|
|
4
4
|
import { PublicKey } from '@dxos/keys';
|
|
5
5
|
import { MemorySignalManagerContext } from '@dxos/messaging';
|
|
6
6
|
import { NetworkManager } from '@dxos/network-manager';
|
|
@@ -35,7 +35,7 @@ export declare class TestBuilder {
|
|
|
35
35
|
*/
|
|
36
36
|
createClientServer(host?: ClientServicesHost): [Client, ProtoRpcPeer<{}>];
|
|
37
37
|
}
|
|
38
|
-
export declare const testSpace: (create:
|
|
39
|
-
export declare const syncItems: (db1:
|
|
38
|
+
export declare const testSpace: (create: DatabaseProxy, check?: DatabaseProxy) => Promise<import("@dxos/echo-db").MutateResult>;
|
|
39
|
+
export declare const syncItems: (db1: DatabaseProxy, db2: DatabaseProxy) => Promise<void>;
|
|
40
40
|
export declare const joinCommonSpace: ([initialPeer, ...peers]: Client[], spaceKey?: PublicKey) => Promise<PublicKey>;
|
|
41
41
|
//# sourceMappingURL=test-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAA8E,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAA8E,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAmB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAuB,0BAA0B,EAA0B,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAwD,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,yBAAyB,QAUpC,CAAC;AAEH;;GAEG;AACH,qBAAa,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IARxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC;gBAIvB,MAAM,CAAC,EAAE,MAAM,EACE,aAAa,6CAA8B,EAC3C,qBAAqB,6BAAmC;IAK3E,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,cAAc,mBAkBjB;IAED;;OAEG;IACH,wBAAwB;IASxB;;OAEG;IACH,WAAW;IASX;;OAEG;IACH,kBAAkB,CAAC,IAAI,GAAE,kBAAoD,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CAY3G;AAED,eAAO,MAAM,SAAS,WAAkB,aAAa,UAAS,aAAa,kDAe1E,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,aAAa,OAAO,aAAa,kBAMrE,CAAC;AAEF,eAAO,MAAM,eAAe,4BAAmC,MAAM,EAAE,aAAa,SAAS,KAAG,QAAQ,SAAS,CA+ChH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitations.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/tests/invitations.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Config } from '@dxos/config';
|
|
2
2
|
import { RpcPort } from '@dxos/rpc';
|
|
3
3
|
import { MaybePromise } from '@dxos/util';
|
|
4
|
+
import { ClientServicesHost } from '../services';
|
|
4
5
|
export declare type CreateSessionParams = {
|
|
5
6
|
appPort: RpcPort;
|
|
6
7
|
systemPort: RpcPort;
|
|
@@ -20,6 +21,7 @@ export declare class WorkerRuntime {
|
|
|
20
21
|
private _clientServices;
|
|
21
22
|
private _config;
|
|
22
23
|
constructor(_configProvider: () => MaybePromise<Config>);
|
|
24
|
+
get host(): ClientServicesHost;
|
|
23
25
|
start(): Promise<void>;
|
|
24
26
|
stop(): Promise<void>;
|
|
25
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAUtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IATlC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqC;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,OAAO,CAAU;gBAIN,eAAe,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC;IAK9D,IAAI,IAAI,uBAEP;IAEK,KAAK;IAyBL,IAAI;IAKV;;OAEG;IACG,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB;IAqB3E;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAmBzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.36",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -20,39 +20,39 @@
|
|
|
20
20
|
"src"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@dxos/async": "0.1.
|
|
24
|
-
"@dxos/client": "0.1.
|
|
25
|
-
"@dxos/codec-protobuf": "0.1.
|
|
26
|
-
"@dxos/config": "0.1.
|
|
27
|
-
"@dxos/context": "0.1.
|
|
28
|
-
"@dxos/credentials": "0.1.
|
|
29
|
-
"@dxos/crypto": "0.1.
|
|
30
|
-
"@dxos/debug": "0.1.
|
|
31
|
-
"@dxos/document-model": "0.1.
|
|
32
|
-
"@dxos/echo-db": "0.1.
|
|
33
|
-
"@dxos/echo-pipeline": "0.1.
|
|
34
|
-
"@dxos/errors": "0.1.
|
|
35
|
-
"@dxos/feed-store": "0.1.
|
|
36
|
-
"@dxos/keyring": "0.1.
|
|
37
|
-
"@dxos/keys": "0.1.
|
|
38
|
-
"@dxos/log": "0.1.
|
|
39
|
-
"@dxos/messaging": "0.1.
|
|
40
|
-
"@dxos/model-factory": "0.1.
|
|
41
|
-
"@dxos/network-manager": "0.1.
|
|
42
|
-
"@dxos/node-std": "0.1.
|
|
43
|
-
"@dxos/protocols": "0.1.
|
|
44
|
-
"@dxos/random-access-storage": "0.1.
|
|
45
|
-
"@dxos/rpc": "0.1.
|
|
46
|
-
"@dxos/teleport": "0.1.
|
|
47
|
-
"@dxos/teleport-extension-gossip": "0.1.
|
|
48
|
-
"@dxos/text-model": "0.1.
|
|
49
|
-
"@dxos/timeframe": "0.1.
|
|
50
|
-
"@dxos/util": "0.1.
|
|
23
|
+
"@dxos/async": "0.1.36",
|
|
24
|
+
"@dxos/client": "0.1.36",
|
|
25
|
+
"@dxos/codec-protobuf": "0.1.36",
|
|
26
|
+
"@dxos/config": "0.1.36",
|
|
27
|
+
"@dxos/context": "0.1.36",
|
|
28
|
+
"@dxos/credentials": "0.1.36",
|
|
29
|
+
"@dxos/crypto": "0.1.36",
|
|
30
|
+
"@dxos/debug": "0.1.36",
|
|
31
|
+
"@dxos/document-model": "0.1.36",
|
|
32
|
+
"@dxos/echo-db": "0.1.36",
|
|
33
|
+
"@dxos/echo-pipeline": "0.1.36",
|
|
34
|
+
"@dxos/errors": "0.1.36",
|
|
35
|
+
"@dxos/feed-store": "0.1.36",
|
|
36
|
+
"@dxos/keyring": "0.1.36",
|
|
37
|
+
"@dxos/keys": "0.1.36",
|
|
38
|
+
"@dxos/log": "0.1.36",
|
|
39
|
+
"@dxos/messaging": "0.1.36",
|
|
40
|
+
"@dxos/model-factory": "0.1.36",
|
|
41
|
+
"@dxos/network-manager": "0.1.36",
|
|
42
|
+
"@dxos/node-std": "0.1.36",
|
|
43
|
+
"@dxos/protocols": "0.1.36",
|
|
44
|
+
"@dxos/random-access-storage": "0.1.36",
|
|
45
|
+
"@dxos/rpc": "0.1.36",
|
|
46
|
+
"@dxos/teleport": "0.1.36",
|
|
47
|
+
"@dxos/teleport-extension-gossip": "0.1.36",
|
|
48
|
+
"@dxos/text-model": "0.1.36",
|
|
49
|
+
"@dxos/timeframe": "0.1.36",
|
|
50
|
+
"@dxos/util": "0.1.36"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/readable-stream": "^2.3.9",
|
|
54
54
|
"fast-check": "~3.3.0",
|
|
55
|
-
"@dxos/signal": "0.1.
|
|
55
|
+
"@dxos/signal": "0.1.36"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
@@ -53,6 +53,7 @@ export class IdentityManager {
|
|
|
53
53
|
private _identity?: Identity;
|
|
54
54
|
|
|
55
55
|
private readonly _instanceId = PublicKey.random().toHex();
|
|
56
|
+
public _traceParent?: string;
|
|
56
57
|
|
|
57
58
|
// TODO(burdon): IdentityManagerParams.
|
|
58
59
|
// TODO(dmaretskyi): Perhaps this should take/generate the peerKey outside of an initialized identity.
|
|
@@ -68,7 +69,7 @@ export class IdentityManager {
|
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
async open() {
|
|
71
|
-
log.trace('dxos.halo.identity-manager', trace.begin({ id: this._instanceId }));
|
|
72
|
+
log.trace('dxos.halo.identity-manager', trace.begin({ id: this._instanceId, parentId: this._traceParent }));
|
|
72
73
|
await this._metadataStore.load();
|
|
73
74
|
|
|
74
75
|
const identityRecord = this._metadataStore.getIdentityRecord();
|
|
@@ -21,7 +21,7 @@ import { PublicKey } from '@dxos/keys';
|
|
|
21
21
|
import { log } from '@dxos/log';
|
|
22
22
|
import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
23
23
|
import { AdmittedFeed, ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
24
|
-
import {
|
|
24
|
+
import { DeviceAdmissionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
25
25
|
import { ComplexSet } from '@dxos/util';
|
|
26
26
|
|
|
27
27
|
import { TrustedKeySetAuthVerifier } from './authenticator';
|
|
@@ -128,7 +128,7 @@ export class Identity {
|
|
|
128
128
|
return this._deviceStateMachine.processor.deviceCredentialChain;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
getAdmissionCredentials():
|
|
131
|
+
getAdmissionCredentials(): DeviceAdmissionRequest {
|
|
132
132
|
return {
|
|
133
133
|
deviceKey: this.deviceKey,
|
|
134
134
|
controlFeedKey: this.space.controlFeedKey ?? failUndefined(),
|
|
@@ -156,7 +156,7 @@ export class Identity {
|
|
|
156
156
|
return createCredentialSignerWithKey(this._signer, this.deviceKey);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
async admitDevice({ deviceKey, controlFeedKey, dataFeedKey }:
|
|
159
|
+
async admitDevice({ deviceKey, controlFeedKey, dataFeedKey }: DeviceAdmissionRequest) {
|
|
160
160
|
log('Admitting device:', {
|
|
161
161
|
identityKey: this.identityKey,
|
|
162
162
|
hostDevice: this.deviceKey,
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
import { expect } from 'chai';
|
|
6
6
|
|
|
7
7
|
import { asyncChain } from '@dxos/async';
|
|
8
|
+
import { Invitation } from '@dxos/client';
|
|
8
9
|
import { describe, test, afterTest } from '@dxos/test';
|
|
9
10
|
|
|
10
11
|
import { ServiceContext } from '../services';
|
|
11
|
-
import { createPeers, createServiceContext } from '../testing';
|
|
12
|
-
import { performInvitation } from '../testing/invitation-utils';
|
|
12
|
+
import { createPeers, createServiceContext, performInvitation } from '../testing';
|
|
13
13
|
|
|
14
14
|
const closeAfterTest = async (peer: ServiceContext) => {
|
|
15
15
|
afterTest(() => peer.close());
|
|
@@ -32,7 +32,7 @@ describe('services/device', () => {
|
|
|
32
32
|
const identity1 = await host.createIdentity();
|
|
33
33
|
expect(host.identityManager.identity).to.eq(identity1);
|
|
34
34
|
|
|
35
|
-
await performInvitation(host
|
|
35
|
+
await Promise.all(performInvitation({ host, guest, options: { kind: Invitation.Kind.DEVICE } }));
|
|
36
36
|
expect(guest.identityManager.identity?.identityKey).to.deep.eq(identity1.identityKey);
|
|
37
37
|
});
|
|
38
38
|
});
|