@dxos/client-services 0.4.10-next.71cec10 → 0.5.0
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-5U7G5S73.mjs → chunk-ESEYLOPB.mjs} +355 -287
- package/dist/lib/browser/chunk-ESEYLOPB.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +125 -112
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-Y3ADPF24.cjs → chunk-GA7JFIXK.cjs} +445 -377
- package/dist/lib/node/chunk-GA7JFIXK.cjs.map +7 -0
- package/dist/lib/node/index.cjs +43 -43
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +125 -115
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/indexing/util.d.ts +0 -5
- package/dist/types/src/packlets/indexing/util.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +3 -1
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +6 -1
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts +4 -2
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-manager.d.ts +9 -7
- package/dist/types/src/packlets/invitations/invitations-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +2 -1
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts +5 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts +3 -0
- package/dist/types/src/packlets/testing/test-builder.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 +34 -34
- package/src/packlets/identity/identity-manager.ts +1 -0
- package/src/packlets/identity/identity.test.ts +3 -0
- package/src/packlets/indexing/util.ts +1 -65
- package/src/packlets/invitations/device-invitation-protocol.ts +6 -1
- package/src/packlets/invitations/invitation-protocol.ts +7 -1
- package/src/packlets/invitations/invitations-handler.ts +10 -71
- package/src/packlets/invitations/invitations-manager.ts +114 -40
- package/src/packlets/invitations/invitations-service.ts +4 -2
- package/src/packlets/invitations/space-invitation-protocol.ts +45 -3
- package/src/packlets/services/service-context.ts +3 -2
- package/src/packlets/spaces/data-space-manager.ts +48 -2
- package/src/packlets/testing/invitation-utils.ts +100 -97
- package/src/packlets/testing/test-builder.ts +19 -1
- package/src/version.ts +5 -1
- package/dist/lib/browser/chunk-5U7G5S73.mjs.map +0 -7
- package/dist/lib/node/chunk-Y3ADPF24.cjs.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,kBAAkB;IAGpE,iBAAiB;IAMjB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,kBAAkB;IAGpE,iBAAiB;IAMjB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IASzD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAOhE,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,gBAAgB,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,gBAAgB,IAAI,MAAM,CAAC,wBAAwB,CAAC;CAsErD"}
|
|
@@ -14,7 +14,8 @@ export declare class SpaceInvitationProtocol implements InvitationProtocol {
|
|
|
14
14
|
constructor(_spaceManager: DataSpaceManager, _signingContext: SigningContext, _keyring: Keyring, _spaceKey?: PublicKey | undefined);
|
|
15
15
|
toJSON(): object;
|
|
16
16
|
getInvitationContext(): Partial<Invitation> & Pick<Invitation, 'kind'>;
|
|
17
|
-
admit(request: AdmissionRequest, guestProfile?: ProfileDocument | undefined): Promise<AdmissionResponse>;
|
|
17
|
+
admit(invitation: Invitation, request: AdmissionRequest, guestProfile?: ProfileDocument | undefined): Promise<AdmissionResponse>;
|
|
18
|
+
delegate(invitation: Invitation): Promise<PublicKey>;
|
|
18
19
|
checkInvitation(invitation: Partial<Invitation>): AlreadyJoinedError | undefined;
|
|
19
20
|
createIntroduction(): IntroductionRequest;
|
|
20
21
|
createAdmissionRequest(): Promise<AdmissionRequest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitation-protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"space-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitation-protocol.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEvE,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,CACT,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,gBAAgB,EACzB,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,GACzC,OAAO,CAAC,iBAAiB,CAAC;IAkCvB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiC1D,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;IAM/C,kBAAkB,IAAI,mBAAmB;IAMnC,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAenD,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAuBxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { type Credential, type ProfileDocument } from '@dxos/protocols/proto/dxo
|
|
|
9
9
|
import { type Timeframe } from '@dxos/timeframe';
|
|
10
10
|
import { ComplexMap } from '@dxos/util';
|
|
11
11
|
import { DataSpace } from './data-space';
|
|
12
|
+
import { type InvitationsManager } from '../invitations';
|
|
12
13
|
export interface SigningContext {
|
|
13
14
|
identityKey: PublicKey;
|
|
14
15
|
deviceKey: PublicKey;
|
|
@@ -41,6 +42,7 @@ export declare class DataSpaceManager {
|
|
|
41
42
|
private readonly _signingContext;
|
|
42
43
|
private readonly _feedStore;
|
|
43
44
|
private readonly _automergeHost;
|
|
45
|
+
private readonly _invitationsManager;
|
|
44
46
|
private readonly _ctx;
|
|
45
47
|
readonly updated: Event<void>;
|
|
46
48
|
private readonly _spaces;
|
|
@@ -48,7 +50,7 @@ export declare class DataSpaceManager {
|
|
|
48
50
|
private readonly _instanceId;
|
|
49
51
|
private readonly _spaceMemberPresenceAnnounceInterval;
|
|
50
52
|
private readonly _spaceMemberPresenceOfflineTimeout;
|
|
51
|
-
constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _keyring: Keyring, _signingContext: SigningContext, _feedStore: FeedStore<FeedMessage>, _automergeHost: AutomergeHost, params?: DataSpaceManagerRuntimeParams);
|
|
53
|
+
constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _keyring: Keyring, _signingContext: SigningContext, _feedStore: FeedStore<FeedMessage>, _automergeHost: AutomergeHost, _invitationsManager: InvitationsManager, params?: DataSpaceManagerRuntimeParams);
|
|
52
54
|
get spaces(): ComplexMap<PublicKey, DataSpace>;
|
|
53
55
|
open(): Promise<void>;
|
|
54
56
|
close(): Promise<void>;
|
|
@@ -64,5 +66,7 @@ export declare class DataSpaceManager {
|
|
|
64
66
|
*/
|
|
65
67
|
waitUntilSpaceReady(spaceKey: PublicKey): Promise<void>;
|
|
66
68
|
private _constructSpace;
|
|
69
|
+
private _handleInvitationStatusChange;
|
|
70
|
+
private _createDelegatedInvitations;
|
|
67
71
|
}
|
|
68
72
|
//# sourceMappingURL=data-space-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAA0B,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAA0B,KAAK,gBAAgB,EAAqC,MAAM,mBAAmB,CAAC;AACrH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAc,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAGpG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKzD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,UAAU,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC5C,CAAC;AAEF,qBACa,gBAAgB;IAazB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAlBtC,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;IAC1D,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAS;IAC9D,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAS;gBAGzC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,cAAc,EAAE,aAAa,EAC7B,mBAAmB,EAAE,kBAAkB,EACxD,MAAM,CAAC,EAAE,6BAA6B;IAWxC,IAAI,MAAM,qCAET;IAGK,IAAI;IA2BJ,KAAK;IASX;;OAEG;IAEG,WAAW;IAqCX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;YAwFf,6BAA6B;YAiB7B,2BAA2B;CAqB1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAgB,UAAU,KAAG,UAE3D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,aAAa,CAAC,EAAE,qBAAqB,GAAG,wBAAwB,CAAC;CACxG,CAAC;AAEF,MAAM,MAAM,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,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC;IACtC,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;KAC9D,CAAC;IACF,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,iBAAiB,yDAM3B,uBAAuB,KAAG,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAgB,UAAU,KAAG,UAE3D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,aAAa,CAAC,EAAE,qBAAqB,GAAG,wBAAwB,CAAC;CACxG,CAAC;AAEF,MAAM,MAAM,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,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC;IACtC,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;KAC9D,CAAC;IACF,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,iBAAiB,yDAM3B,uBAAuB,KAAG,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,CAoI7D,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { MemorySignalManagerContext } from '@dxos/messaging';
|
|
|
6
6
|
import { NetworkManager } from '@dxos/network-manager';
|
|
7
7
|
import { StorageType, type Storage } from '@dxos/random-access-storage';
|
|
8
8
|
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
9
|
+
import { InvitationsManager } from '../invitations';
|
|
9
10
|
import { ClientServicesHost, ServiceContext } from '../services';
|
|
10
11
|
import { DataSpaceManager, type SigningContext } from '../spaces';
|
|
11
12
|
export declare const createServiceHost: (config: Config, signalManagerContext: MemorySignalManagerContext) => ClientServicesHost;
|
|
@@ -37,6 +38,7 @@ export type TestPeerProps = {
|
|
|
37
38
|
signingContext?: SigningContext;
|
|
38
39
|
blobStore?: BlobStore;
|
|
39
40
|
automergeHost?: AutomergeHost;
|
|
41
|
+
invitationsManager?: InvitationsManager;
|
|
40
42
|
};
|
|
41
43
|
export declare class TestPeer {
|
|
42
44
|
private readonly signalContext;
|
|
@@ -56,6 +58,7 @@ export declare class TestPeer {
|
|
|
56
58
|
get identity(): SigningContext;
|
|
57
59
|
get automergeHost(): AutomergeHost;
|
|
58
60
|
get dataSpaceManager(): DataSpaceManager;
|
|
61
|
+
get invitationsManager(): InvitationsManager;
|
|
59
62
|
createIdentity(): Promise<void>;
|
|
60
63
|
destroy(): Promise<void>;
|
|
61
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,OAAO,EACZ,aAAa,EACb,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,OAAO,EACZ,aAAa,EACb,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAiB,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAsB,kBAAkB,EAA2B,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAMlE,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAMjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;6BAgBhC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAgB,aAAa,6BAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,QAAQ;IAM1C,OAAO;CAGd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAqB;gBAGhB,aAAa,EAAE,0BAA0B,EACzC,IAAI,GAAE,YAA6C;IAGtE,IAAI,KAAK,kBAER;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,KAAK,YAER;IAED,IAAI,SAAS,mBAUZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBAQf;IAED,IAAI,QAAQ,mBAEX;IAED,IAAI,aAAa,kBAIhB;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAUvC;IAED,IAAI,kBAAkB,uBAYrB;IAEK,cAAc;IAId,OAAO;CAId;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAiBnF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.
|
|
1
|
+
export declare const DXOS_VERSION = "0.5.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -24,43 +24,43 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"level": "^8.0.1",
|
|
26
26
|
"platform": "^1.3.6",
|
|
27
|
-
"@dxos/async": "0.
|
|
28
|
-
"@dxos/automerge": "0.
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/debug": "0.
|
|
36
|
-
"@dxos/echo-pipeline": "0.
|
|
37
|
-
"@dxos/echo-db": "0.
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/keys": "0.
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/log": "0.
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/teleport": "0.
|
|
53
|
-
"@dxos/teleport-extension-gossip": "0.
|
|
54
|
-
"@dxos/teleport-extension-object-sync": "0.
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
27
|
+
"@dxos/async": "0.5.0",
|
|
28
|
+
"@dxos/automerge": "0.5.0",
|
|
29
|
+
"@dxos/codec-protobuf": "0.5.0",
|
|
30
|
+
"@dxos/client-protocol": "0.5.0",
|
|
31
|
+
"@dxos/context": "0.5.0",
|
|
32
|
+
"@dxos/crypto": "0.5.0",
|
|
33
|
+
"@dxos/config": "0.5.0",
|
|
34
|
+
"@dxos/credentials": "0.5.0",
|
|
35
|
+
"@dxos/debug": "0.5.0",
|
|
36
|
+
"@dxos/echo-pipeline": "0.5.0",
|
|
37
|
+
"@dxos/echo-db": "0.5.0",
|
|
38
|
+
"@dxos/echo-schema": "0.5.0",
|
|
39
|
+
"@dxos/feed-store": "0.5.0",
|
|
40
|
+
"@dxos/indexing": "0.5.0",
|
|
41
|
+
"@dxos/invariant": "0.5.0",
|
|
42
|
+
"@dxos/keyring": "0.5.0",
|
|
43
|
+
"@dxos/keys": "0.5.0",
|
|
44
|
+
"@dxos/lock-file": "0.5.0",
|
|
45
|
+
"@dxos/log": "0.5.0",
|
|
46
|
+
"@dxos/messaging": "0.5.0",
|
|
47
|
+
"@dxos/network-manager": "0.5.0",
|
|
48
|
+
"@dxos/node-std": "0.5.0",
|
|
49
|
+
"@dxos/protocols": "0.5.0",
|
|
50
|
+
"@dxos/random-access-storage": "0.5.0",
|
|
51
|
+
"@dxos/rpc": "0.5.0",
|
|
52
|
+
"@dxos/teleport": "0.5.0",
|
|
53
|
+
"@dxos/teleport-extension-gossip": "0.5.0",
|
|
54
|
+
"@dxos/teleport-extension-object-sync": "0.5.0",
|
|
55
|
+
"@dxos/tracing": "0.5.0",
|
|
56
|
+
"@dxos/timeframe": "0.5.0",
|
|
57
|
+
"@dxos/websocket-rpc": "0.5.0",
|
|
58
|
+
"@dxos/util": "0.5.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/platform": "^1.3.4",
|
|
62
62
|
"@types/readable-stream": "^2.3.9",
|
|
63
|
-
"@dxos/signal": "0.
|
|
63
|
+
"@dxos/signal": "0.5.0"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
@@ -94,6 +94,7 @@ describe('identity/identity', () => {
|
|
|
94
94
|
metadataStore,
|
|
95
95
|
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
96
96
|
snapshotId: undefined,
|
|
97
|
+
onDelegatedInvitationStatusChange: async () => {},
|
|
97
98
|
});
|
|
98
99
|
await space.setControlFeed(controlFeed);
|
|
99
100
|
await space.setDataFeed(dataFeed);
|
|
@@ -206,6 +207,7 @@ describe('identity/identity', () => {
|
|
|
206
207
|
memberKey: identityKey,
|
|
207
208
|
metadataStore,
|
|
208
209
|
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
210
|
+
onDelegatedInvitationStatusChange: async () => {},
|
|
209
211
|
});
|
|
210
212
|
await space.setControlFeed(controlFeed);
|
|
211
213
|
await space.setDataFeed(dataFeed);
|
|
@@ -296,6 +298,7 @@ describe('identity/identity', () => {
|
|
|
296
298
|
memberKey: identityKey,
|
|
297
299
|
metadataStore,
|
|
298
300
|
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
301
|
+
onDelegatedInvitationStatusChange: async () => {},
|
|
299
302
|
});
|
|
300
303
|
await space.setControlFeed(controlFeed);
|
|
301
304
|
await space.setDataFeed(dataFeed);
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { getHeads } from '@dxos/automerge/automerge';
|
|
6
|
-
import { type DocumentId
|
|
6
|
+
import { type DocumentId } from '@dxos/automerge/automerge-repo';
|
|
7
7
|
import { type AutomergeHost } from '@dxos/echo-pipeline';
|
|
8
|
-
import { type ObjectSnapshot } from '@dxos/indexing';
|
|
9
8
|
import { type ObjectPointerEncoded, idCodec } from '@dxos/protocols';
|
|
10
9
|
|
|
11
10
|
/**
|
|
@@ -31,66 +30,3 @@ export const createSelectedDocumentsIterator = (automergeHost: AutomergeHost) =>
|
|
|
31
30
|
yield doc.objects?.[objectId] ? [{ id, object: doc.objects[objectId], currentHash: hash }] : [];
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Factory for `getAllDocuments` iterator.
|
|
37
|
-
*/
|
|
38
|
-
export const createDocumentsIterator = (automergeHost: AutomergeHost) =>
|
|
39
|
-
/**
|
|
40
|
-
* Recursively get all object data blobs from Automerge Repo.
|
|
41
|
-
* @param ids
|
|
42
|
-
*/
|
|
43
|
-
// TODO(mykola): Unload automerge handles after usage.
|
|
44
|
-
async function* getAllDocuments(): AsyncGenerator<ObjectSnapshot[], void, 'done'> {
|
|
45
|
-
/** visited automerge handles */
|
|
46
|
-
const visited = new Set<string>();
|
|
47
|
-
|
|
48
|
-
async function* getObjectsFromHandle(handle: DocHandle<any>): AsyncGenerator<ObjectSnapshot[]> {
|
|
49
|
-
if (visited.has(handle.documentId)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!handle.isReady()) {
|
|
54
|
-
// `whenReady` creates a timeout so we guard it with an if to skip it if the handle is already ready.
|
|
55
|
-
await handle.whenReady();
|
|
56
|
-
}
|
|
57
|
-
const doc = handle.docSync();
|
|
58
|
-
|
|
59
|
-
const heads = getHeads(doc);
|
|
60
|
-
|
|
61
|
-
if (doc.objects) {
|
|
62
|
-
yield Object.entries(doc.objects as { [key: string]: any }).map(([objectId, object]) => {
|
|
63
|
-
return {
|
|
64
|
-
id: idCodec.encode({ documentId: handle.documentId, objectId }),
|
|
65
|
-
object,
|
|
66
|
-
currentHash: heads.join(''),
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (doc.links) {
|
|
72
|
-
for (const id of Object.values(doc.links as { [echoId: string]: string })) {
|
|
73
|
-
if (visited.has(id)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
const linkHandle = automergeHost.repo.handles[id as DocumentId] ?? automergeHost.repo.find(id as DocumentId);
|
|
77
|
-
for await (const result of getObjectsFromHandle(linkHandle)) {
|
|
78
|
-
yield result;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
visited.add(handle.documentId);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// TODO(mykola): Use list of roots instead of iterating over all handles.
|
|
87
|
-
for (const handle of Object.values(automergeHost.repo.handles)) {
|
|
88
|
-
if (visited.has(handle.documentId)) {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
for await (const result of getObjectsFromHandle(handle)) {
|
|
92
|
-
yield result;
|
|
93
|
-
}
|
|
94
|
-
visited.add(handle.documentId);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { invariant } from '@dxos/invariant';
|
|
6
6
|
import { type Keyring } from '@dxos/keyring';
|
|
7
|
+
import { type PublicKey } from '@dxos/keys';
|
|
7
8
|
import { AlreadyJoinedError } from '@dxos/protocols';
|
|
8
9
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
9
10
|
import type { DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
@@ -33,7 +34,11 @@ export class DeviceInvitationProtocol implements InvitationProtocol {
|
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
async
|
|
37
|
+
async delegate(invitation: Invitation): Promise<PublicKey> {
|
|
38
|
+
throw new Error('delegation not supported');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async admit(_: Invitation, request: AdmissionRequest): Promise<AdmissionResponse> {
|
|
37
42
|
invariant(request.device);
|
|
38
43
|
const identity = this._getIdentity();
|
|
39
44
|
await identity.admitDevice(request.device);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { type PublicKey } from '@dxos/keys';
|
|
5
6
|
import type { ApiError } from '@dxos/protocols';
|
|
6
7
|
import type { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
7
8
|
import type { ProfileDocument, DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
@@ -33,7 +34,12 @@ export interface InvitationProtocol {
|
|
|
33
34
|
/**
|
|
34
35
|
* Once authentication is successful, the host can admit the guest to the requested resource.
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
|
+
delegate(invitation: Invitation): Promise<PublicKey>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Once authentication is successful, the host can admit the guest to the requested resource.
|
|
41
|
+
*/
|
|
42
|
+
admit(invitation: Invitation, request: AdmissionRequest, guestProfile?: ProfileDocument): Promise<AdmissionResponse>;
|
|
37
43
|
|
|
38
44
|
//
|
|
39
45
|
// Guest
|
|
@@ -3,14 +3,8 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { PushStream, scheduleTask, TimeoutError, Trigger } from '@dxos/async';
|
|
6
|
-
import {
|
|
7
|
-
AuthenticatingInvitation,
|
|
8
|
-
AUTHENTICATION_CODE_LENGTH,
|
|
9
|
-
CancellableInvitation,
|
|
10
|
-
INVITATION_TIMEOUT,
|
|
11
|
-
} from '@dxos/client-protocol';
|
|
6
|
+
import { AuthenticatingInvitation, INVITATION_TIMEOUT } from '@dxos/client-protocol';
|
|
12
7
|
import { Context } from '@dxos/context';
|
|
13
|
-
import { generatePasscode } from '@dxos/credentials';
|
|
14
8
|
import { createKeyPair, sign } from '@dxos/crypto';
|
|
15
9
|
import { invariant } from '@dxos/invariant';
|
|
16
10
|
import { PublicKey } from '@dxos/keys';
|
|
@@ -67,55 +61,12 @@ export class InvitationsHandler {
|
|
|
67
61
|
*/
|
|
68
62
|
constructor(private readonly _networkManager: NetworkManager) {}
|
|
69
63
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
timeout = INVITATION_TIMEOUT,
|
|
77
|
-
swarmKey = PublicKey.random(),
|
|
78
|
-
persistent = options?.authMethod !== Invitation.AuthMethod.KNOWN_PUBLIC_KEY, // default no not storing keypairs
|
|
79
|
-
created = new Date(),
|
|
80
|
-
guestKeypair = undefined,
|
|
81
|
-
lifetime = 86400, // 1 day,
|
|
82
|
-
multiUse = false,
|
|
83
|
-
} = options ?? {};
|
|
84
|
-
const authCode =
|
|
85
|
-
options?.authCode ??
|
|
86
|
-
(authMethod === Invitation.AuthMethod.SHARED_SECRET ? generatePasscode(AUTHENTICATION_CODE_LENGTH) : undefined);
|
|
87
|
-
invariant(protocol);
|
|
88
|
-
|
|
89
|
-
const invitation: Invitation = {
|
|
90
|
-
invitationId,
|
|
91
|
-
type,
|
|
92
|
-
authMethod,
|
|
93
|
-
state,
|
|
94
|
-
swarmKey,
|
|
95
|
-
authCode,
|
|
96
|
-
timeout,
|
|
97
|
-
persistent: persistent && type !== Invitation.Type.DELEGATED, // delegated invitations are persisted in control feed
|
|
98
|
-
guestKeypair:
|
|
99
|
-
guestKeypair ?? (authMethod === Invitation.AuthMethod.KNOWN_PUBLIC_KEY ? createAdmissionKeypair() : undefined),
|
|
100
|
-
created,
|
|
101
|
-
lifetime,
|
|
102
|
-
multiUse,
|
|
103
|
-
...protocol.getInvitationContext(),
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
const stream = new PushStream<Invitation>();
|
|
107
|
-
const ctx = new Context({
|
|
108
|
-
onError: (err) => {
|
|
109
|
-
stream.error(err);
|
|
110
|
-
void ctx.dispose();
|
|
111
|
-
},
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
ctx.onDispose(() => {
|
|
115
|
-
log('complete', { ...protocol.toJSON() });
|
|
116
|
-
stream.complete();
|
|
117
|
-
});
|
|
118
|
-
|
|
64
|
+
handleInvitationFlow(
|
|
65
|
+
ctx: Context,
|
|
66
|
+
stream: PushStream<Invitation>,
|
|
67
|
+
protocol: InvitationProtocol,
|
|
68
|
+
invitation: Invitation,
|
|
69
|
+
): void {
|
|
119
70
|
// Called for every connecting peer.
|
|
120
71
|
const createExtension = (): InvitationHostExtension => {
|
|
121
72
|
const extension = new InvitationHostExtension({
|
|
@@ -134,7 +85,7 @@ export class InvitationsHandler {
|
|
|
134
85
|
try {
|
|
135
86
|
const deviceKey = admissionRequest.device?.deviceKey ?? admissionRequest.space?.deviceKey;
|
|
136
87
|
invariant(deviceKey);
|
|
137
|
-
const admissionResponse = await protocol.admit(admissionRequest, extension.guestProfile);
|
|
88
|
+
const admissionResponse = await protocol.admit(invitation, admissionRequest, extension.guestProfile);
|
|
138
89
|
|
|
139
90
|
// Updating credentials complete.
|
|
140
91
|
extension.completedTrigger.wake(deviceKey);
|
|
@@ -154,7 +105,7 @@ export class InvitationsHandler {
|
|
|
154
105
|
log.trace('dxos.sdk.invitations-handler.host.onOpen', trace.begin({ id: traceId }));
|
|
155
106
|
log('connected', { ...protocol.toJSON() });
|
|
156
107
|
stream.next({ ...invitation, state: Invitation.State.CONNECTED });
|
|
157
|
-
const deviceKey = await extension.completedTrigger.wait({ timeout });
|
|
108
|
+
const deviceKey = await extension.completedTrigger.wait({ timeout: invitation.timeout });
|
|
158
109
|
log('admitted guest', { guest: deviceKey, ...protocol.toJSON() });
|
|
159
110
|
stream.next({ ...invitation, state: Invitation.State.SUCCESS });
|
|
160
111
|
log.trace('dxos.sdk.invitations-handler.host.onOpen', trace.end({ id: traceId }));
|
|
@@ -168,7 +119,7 @@ export class InvitationsHandler {
|
|
|
168
119
|
}
|
|
169
120
|
log.trace('dxos.sdk.invitations-handler.host.onOpen', trace.error({ id: traceId, error: err }));
|
|
170
121
|
} finally {
|
|
171
|
-
if (!multiUse) {
|
|
122
|
+
if (!invitation.multiUse) {
|
|
172
123
|
// Wait for graceful close before disposing.
|
|
173
124
|
await swarmConnection.close();
|
|
174
125
|
await ctx.dispose();
|
|
@@ -229,18 +180,6 @@ export class InvitationsHandler {
|
|
|
229
180
|
|
|
230
181
|
stream.next({ ...invitation, state: Invitation.State.CONNECTING });
|
|
231
182
|
});
|
|
232
|
-
|
|
233
|
-
// TODO(burdon): Stop anything pending.
|
|
234
|
-
const observable = new CancellableInvitation({
|
|
235
|
-
initialInvitation: invitation,
|
|
236
|
-
subscriber: stream.observable,
|
|
237
|
-
onCancel: async () => {
|
|
238
|
-
stream.next({ ...invitation, state: Invitation.State.CANCELLED });
|
|
239
|
-
await ctx.dispose();
|
|
240
|
-
},
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
return observable;
|
|
244
183
|
}
|
|
245
184
|
|
|
246
185
|
acceptInvitation(
|