@dxos/client-services 0.6.13 → 0.6.14-main.1366248
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-CRXXOI45.mjs → chunk-KQURG5PQ.mjs} +6537 -5279
- package/dist/lib/browser/chunk-KQURG5PQ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +7 -3
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +20 -9
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-PZ3JJJ3K.cjs → chunk-WNXJ7EP5.cjs} +6324 -5068
- package/dist/lib/node/chunk-WNXJ7EP5.cjs.map +7 -0
- package/dist/lib/node/index.cjs +50 -46
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +26 -14
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/lib/node-esm/chunk-OQSP5ADY.mjs +8982 -0
- package/dist/lib/node-esm/chunk-OQSP5ADY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +420 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/testing/index.mjs +431 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/packlets/agents/edge-agent-manager.d.ts +35 -0
- package/dist/types/src/packlets/agents/edge-agent-manager.d.ts.map +1 -0
- package/dist/types/src/packlets/agents/edge-agent-service.d.ts +10 -0
- package/dist/types/src/packlets/agents/edge-agent-service.d.ts.map +1 -0
- package/dist/types/src/packlets/agents/index.d.ts +3 -0
- package/dist/types/src/packlets/agents/index.d.ts.map +1 -0
- package/dist/types/src/packlets/devices/devices-service.d.ts +3 -1
- package/dist/types/src/packlets/devices/devices-service.d.ts.map +1 -1
- package/dist/types/src/packlets/diagnostics/diagnostics-broadcast.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/authenticator.node.test.d.ts +2 -0
- package/dist/types/src/packlets/identity/authenticator.node.test.d.ts.map +1 -0
- package/dist/types/src/packlets/identity/contacts-service.d.ts +1 -1
- package/dist/types/src/packlets/identity/contacts-service.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-manager.d.ts +28 -9
- package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts +18 -0
- package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -0
- package/dist/types/src/packlets/identity/identity-service.d.ts +7 -2
- package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity.d.ts +12 -3
- package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts +31 -0
- package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/invitation-guest-extenstion.d.ts +2 -1
- package/dist/types/src/packlets/invitations/invitation-guest-extenstion.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitation-host-extension.d.ts +2 -1
- package/dist/types/src/packlets/invitations/invitation-host-extension.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitation-state.d.ts +19 -0
- package/dist/types/src/packlets/invitations/invitation-state.d.ts.map +1 -0
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts +8 -8
- package/dist/types/src/packlets/invitations/invitations-handler.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.map +1 -1
- package/dist/types/src/packlets/services/service-context.d.ts +14 -9
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts +2 -0
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts +7 -3
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts +5 -3
- package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts +4 -0
- package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/edge-feed-replicator.test.d.ts +2 -0
- package/dist/types/src/packlets/spaces/edge-feed-replicator.test.d.ts.map +1 -0
- package/dist/types/src/packlets/spaces/epoch-migrations.d.ts +1 -1
- package/dist/types/src/packlets/spaces/epoch-migrations.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +35 -6
- package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
- package/dist/types/src/packlets/storage/storage.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 +1 -2
- package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/packlets/worker/worker-runtime.d.ts.map +1 -1
- package/dist/types/src/testing/setup.d.ts +3 -0
- package/dist/types/src/testing/setup.d.ts.map +1 -0
- package/dist/types/src/version.d.ts +1 -1
- package/dist/types/src/version.d.ts.map +1 -1
- package/package.json +44 -45
- package/src/index.ts +1 -0
- package/src/packlets/agents/edge-agent-manager.ts +163 -0
- package/src/packlets/agents/edge-agent-service.ts +42 -0
- package/src/packlets/agents/index.ts +6 -0
- package/src/packlets/devices/devices-service.test.ts +4 -5
- package/src/packlets/devices/devices-service.ts +18 -7
- package/src/packlets/diagnostics/diagnostics-broadcast.ts +1 -0
- package/src/packlets/identity/{authenticator.test.ts → authenticator.node.test.ts} +2 -3
- package/src/packlets/identity/authenticator.ts +5 -2
- package/src/packlets/identity/contacts-service.ts +1 -1
- package/src/packlets/identity/identity-manager.test.ts +31 -16
- package/src/packlets/identity/identity-manager.ts +76 -32
- package/src/packlets/identity/identity-recovery-manager.ts +95 -0
- package/src/packlets/identity/identity-service.test.ts +5 -8
- package/src/packlets/identity/identity-service.ts +11 -5
- package/src/packlets/identity/identity.test.ts +141 -239
- package/src/packlets/identity/identity.ts +60 -17
- package/src/packlets/invitations/device-invitation-protocol.test.ts +7 -4
- package/src/packlets/invitations/device-invitation-protocol.ts +8 -2
- package/src/packlets/invitations/edge-invitation-handler.ts +188 -0
- package/src/packlets/invitations/invitation-guest-extenstion.ts +13 -9
- package/src/packlets/invitations/invitation-host-extension.ts +15 -17
- package/src/packlets/invitations/invitation-state.ts +112 -0
- package/src/packlets/invitations/invitations-handler.test.ts +19 -15
- package/src/packlets/invitations/invitations-handler.ts +91 -126
- package/src/packlets/invitations/invitations-service.ts +5 -1
- package/src/packlets/invitations/space-invitation-protocol.test.ts +4 -3
- package/src/packlets/invitations/space-invitation-protocol.ts +5 -0
- package/src/packlets/logging/logging.test.ts +1 -2
- package/src/packlets/network/network-service.test.ts +2 -3
- package/src/packlets/services/service-context.test.ts +3 -1
- package/src/packlets/services/service-context.ts +113 -35
- package/src/packlets/services/service-host.test.ts +8 -12
- package/src/packlets/services/service-host.ts +26 -8
- package/src/packlets/services/service-registry.test.ts +1 -2
- package/src/packlets/spaces/data-space-manager.test.ts +2 -2
- package/src/packlets/spaces/data-space-manager.ts +44 -7
- package/src/packlets/spaces/data-space.ts +37 -6
- package/src/packlets/spaces/edge-feed-replicator.test.ts +257 -0
- package/src/packlets/spaces/edge-feed-replicator.ts +84 -22
- package/src/packlets/spaces/epoch-migrations.ts +2 -2
- package/src/packlets/spaces/notarization-plugin.test.ts +10 -7
- package/src/packlets/spaces/notarization-plugin.ts +196 -29
- package/src/packlets/spaces/spaces-service.test.ts +5 -9
- package/src/packlets/spaces/spaces-service.ts +6 -1
- package/src/packlets/storage/storage.ts +0 -1
- package/src/packlets/system/system-service.test.ts +1 -2
- package/src/packlets/testing/invitation-utils.ts +7 -0
- package/src/packlets/testing/test-builder.ts +7 -4
- package/src/packlets/worker/worker-runtime.ts +2 -2
- package/src/testing/setup.ts +11 -0
- package/src/version.ts +1 -5
- package/dist/lib/browser/chunk-CRXXOI45.mjs.map +0 -7
- package/dist/lib/node/chunk-PZ3JJJ3K.cjs.map +0 -7
- package/dist/types/src/packlets/identity/authenticator.test.d.ts +0 -2
- package/dist/types/src/packlets/identity/authenticator.test.d.ts.map +0 -1
- package/dist/types/src/packlets/services/automerge-host.test.d.ts +0 -2
- package/dist/types/src/packlets/services/automerge-host.test.d.ts.map +0 -1
- package/src/packlets/services/automerge-host.test.ts +0 -60
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
2
|
import { Context } from '@dxos/context';
|
|
3
3
|
import { type MetadataStore, type SpaceManager } from '@dxos/echo-pipeline';
|
|
4
|
+
import { type EdgeConnection } from '@dxos/edge-client';
|
|
4
5
|
import { type FeedStore } from '@dxos/feed-store';
|
|
5
6
|
import { type Keyring } from '@dxos/keyring';
|
|
6
7
|
import { PublicKey } from '@dxos/keys';
|
|
7
8
|
import { Device } from '@dxos/protocols/proto/dxos/client/services';
|
|
9
|
+
import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
8
10
|
import { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
9
|
-
import { type
|
|
11
|
+
import { type IdentityRecord } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
12
|
+
import { type DeviceProfileDocument, type ProfileDocument, type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
10
13
|
import { Timeframe } from '@dxos/timeframe';
|
|
11
14
|
import { Identity } from './identity';
|
|
12
15
|
export type JoinIdentityParams = {
|
|
@@ -16,6 +19,7 @@ export type JoinIdentityParams = {
|
|
|
16
19
|
haloGenesisFeedKey: PublicKey;
|
|
17
20
|
controlFeedKey: PublicKey;
|
|
18
21
|
dataFeedKey: PublicKey;
|
|
22
|
+
authorizedDeviceCredential: Credential;
|
|
19
23
|
/**
|
|
20
24
|
* Latest known timeframe for the control pipeline.
|
|
21
25
|
* We will try to catch up to this timeframe before starting the data pipeline.
|
|
@@ -27,37 +31,52 @@ export type CreateIdentityOptions = {
|
|
|
27
31
|
displayName?: string;
|
|
28
32
|
deviceProfile?: DeviceProfileDocument;
|
|
29
33
|
};
|
|
30
|
-
export type
|
|
34
|
+
export type IdentityManagerParams = {
|
|
35
|
+
metadataStore: MetadataStore;
|
|
36
|
+
keyring: Keyring;
|
|
37
|
+
feedStore: FeedStore<FeedMessage>;
|
|
38
|
+
spaceManager: SpaceManager;
|
|
39
|
+
edgeConnection?: EdgeConnection;
|
|
40
|
+
edgeFeatures?: Runtime.Client.EdgeFeatures;
|
|
31
41
|
devicePresenceAnnounceInterval?: number;
|
|
32
42
|
devicePresenceOfflineTimeout?: number;
|
|
33
43
|
};
|
|
34
44
|
export declare class IdentityManager {
|
|
45
|
+
readonly stateUpdate: Event<void>;
|
|
35
46
|
private readonly _metadataStore;
|
|
36
47
|
private readonly _keyring;
|
|
37
48
|
private readonly _feedStore;
|
|
38
49
|
private readonly _spaceManager;
|
|
39
|
-
private readonly _callbacks?;
|
|
40
|
-
readonly stateUpdate: Event<void>;
|
|
41
|
-
private _identity?;
|
|
42
50
|
private readonly _devicePresenceAnnounceInterval;
|
|
43
51
|
private readonly _devicePresenceOfflineTimeout;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
private readonly _edgeConnection;
|
|
53
|
+
private readonly _edgeFeatures;
|
|
54
|
+
private _identity?;
|
|
55
|
+
constructor(params: IdentityManagerParams);
|
|
47
56
|
get identity(): Identity | undefined;
|
|
48
57
|
open(ctx: Context): Promise<void>;
|
|
49
58
|
close(): Promise<void>;
|
|
50
59
|
createIdentity({ displayName, deviceProfile }?: CreateIdentityOptions): Promise<Identity>;
|
|
51
60
|
createDefaultDeviceProfile(): DeviceProfileDocument;
|
|
61
|
+
/**
|
|
62
|
+
* Prepare an identity object as the first step of acceptIdentity flow.
|
|
63
|
+
*/
|
|
64
|
+
prepareIdentity(params: JoinIdentityParams): Promise<{
|
|
65
|
+
identity: Identity;
|
|
66
|
+
identityRecord: IdentityRecord;
|
|
67
|
+
}>;
|
|
52
68
|
/**
|
|
53
69
|
* Accept an existing identity. Expects its device key to be authorized (now or later).
|
|
54
70
|
*/
|
|
55
|
-
acceptIdentity(
|
|
71
|
+
acceptIdentity(identity: Identity, identityRecord: IdentityRecord, profile?: DeviceProfileDocument): Promise<void>;
|
|
56
72
|
/**
|
|
57
73
|
* Update the profile document of an existing identity.
|
|
58
74
|
*/
|
|
59
75
|
updateProfile(profile: ProfileDocument): Promise<ProfileDocument>;
|
|
60
76
|
updateDeviceProfile(profile: DeviceProfileDocument): Promise<Device>;
|
|
77
|
+
createRecoveryPhrase(): Promise<{
|
|
78
|
+
seedphrase: string;
|
|
79
|
+
}>;
|
|
61
80
|
private _constructIdentity;
|
|
62
81
|
private _constructSpace;
|
|
63
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type EdgeHttpClient } from '@dxos/edge-client';
|
|
2
|
+
import { type Keyring } from '@dxos/keyring';
|
|
3
|
+
import { type Identity } from './identity';
|
|
4
|
+
import { type JoinIdentityParams } from './identity-manager';
|
|
5
|
+
export declare class EdgeIdentityRecoveryManager {
|
|
6
|
+
private readonly _keyring;
|
|
7
|
+
private readonly _edgeClient;
|
|
8
|
+
private readonly _identityProvider;
|
|
9
|
+
private readonly _acceptRecoveredIdentity;
|
|
10
|
+
constructor(_keyring: Keyring, _edgeClient: EdgeHttpClient | undefined, _identityProvider: () => Identity | undefined, _acceptRecoveredIdentity: (params: JoinIdentityParams) => Promise<Identity>);
|
|
11
|
+
createRecoveryPhrase(): Promise<{
|
|
12
|
+
seedphrase: string;
|
|
13
|
+
}>;
|
|
14
|
+
recoverIdentity(args: {
|
|
15
|
+
seedphrase: string;
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=identity-recovery-manager.d.ts.map
|
|
@@ -0,0 +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;AAO7C,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,oBAAoB;;;IAuBpB,eAAe,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;CAuC1D"}
|
|
@@ -5,21 +5,26 @@ import { type CreateIdentityRequest, type Identity as IdentityProto, type Identi
|
|
|
5
5
|
import { type Presentation, type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
6
|
import { type Identity } from './identity';
|
|
7
7
|
import { type CreateIdentityOptions, type IdentityManager } from './identity-manager';
|
|
8
|
+
import { type EdgeIdentityRecoveryManager } from './identity-recovery-manager';
|
|
8
9
|
import { type DataSpaceManager } from '../spaces';
|
|
9
10
|
export declare class IdentityServiceImpl extends Resource implements IdentityService {
|
|
10
11
|
private readonly _identityManager;
|
|
12
|
+
private readonly _recoveryManager;
|
|
11
13
|
private readonly _keyring;
|
|
12
14
|
private readonly _dataSpaceManagerProvider;
|
|
13
15
|
private readonly _createIdentity;
|
|
14
16
|
private readonly _onProfileUpdate?;
|
|
15
|
-
constructor(_identityManager: IdentityManager, _keyring: Keyring, _dataSpaceManagerProvider: () => DataSpaceManager, _createIdentity: (params: CreateIdentityOptions) => Promise<Identity>, _onProfileUpdate?: ((profile: ProfileDocument | undefined) => Promise<void>) | undefined);
|
|
17
|
+
constructor(_identityManager: IdentityManager, _recoveryManager: EdgeIdentityRecoveryManager, _keyring: Keyring, _dataSpaceManagerProvider: () => DataSpaceManager, _createIdentity: (params: CreateIdentityOptions) => Promise<Identity>, _onProfileUpdate?: ((profile: ProfileDocument | undefined) => Promise<void>) | undefined);
|
|
16
18
|
protected _open(): Promise<void>;
|
|
17
19
|
createIdentity(request: CreateIdentityRequest): Promise<IdentityProto>;
|
|
18
20
|
private _createDefaultSpace;
|
|
19
|
-
recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto>;
|
|
20
21
|
queryIdentity(): Stream<QueryIdentityResponse>;
|
|
21
22
|
private _getIdentity;
|
|
22
23
|
updateProfile(profile: ProfileDocument): Promise<IdentityProto>;
|
|
24
|
+
createRecoveryPhrase(): Promise<{
|
|
25
|
+
seedphrase: string;
|
|
26
|
+
}>;
|
|
27
|
+
recoverIdentity(request: RecoverIdentityRequest): Promise<IdentityProto>;
|
|
23
28
|
signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation>;
|
|
24
29
|
private _fixIdentityWithoutDefaultSpace;
|
|
25
30
|
}
|
|
@@ -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,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,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,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,IAAI,aAAa,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAGtG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,eAAe;IAExE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBALjB,gBAAgB,EAAE,eAAe,EACjC,gBAAgB,EAAE,2BAA2B,EAC7C,QAAQ,EAAE,OAAO,EACjB,yBAAyB,EAAE,MAAM,gBAAgB,EACjD,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,CAAC,EACrE,gBAAgB,CAAC,GAAE,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA;cAKpE,KAAK;IAOxB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;YAO9D,mBAAmB;IAOjC,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAS9C,OAAO,CAAC,YAAY;IAYd,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/D,oBAAoB;;;IAIpB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAMxE,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;YAYjF,+BAA+B;CA6C9C"}
|
|
@@ -3,8 +3,10 @@ import { type Context } from '@dxos/context';
|
|
|
3
3
|
import { type CredentialSigner } from '@dxos/credentials';
|
|
4
4
|
import { type Signer } from '@dxos/crypto';
|
|
5
5
|
import { type Space } from '@dxos/echo-pipeline';
|
|
6
|
+
import { type EdgeConnection } from '@dxos/edge-client';
|
|
6
7
|
import { PublicKey, type SpaceId } from '@dxos/keys';
|
|
7
|
-
import { type
|
|
8
|
+
import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
9
|
+
import { type DeviceProfileDocument, type ProfileDocument, type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
8
10
|
import { type DeviceAdmissionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
9
11
|
import { type Presence } from '@dxos/teleport-extension-gossip';
|
|
10
12
|
import { type ComplexMap } from '@dxos/util';
|
|
@@ -15,6 +17,8 @@ export type IdentityParams = {
|
|
|
15
17
|
signer: Signer;
|
|
16
18
|
space: Space;
|
|
17
19
|
presence?: Presence;
|
|
20
|
+
edgeConnection?: EdgeConnection;
|
|
21
|
+
edgeFeatures?: Runtime.Client.EdgeFeatures;
|
|
18
22
|
};
|
|
19
23
|
/**
|
|
20
24
|
* Agent identity manager, which includes the agent's Halo space.
|
|
@@ -26,14 +30,16 @@ export declare class Identity {
|
|
|
26
30
|
private readonly _deviceStateMachine;
|
|
27
31
|
private readonly _profileStateMachine;
|
|
28
32
|
private readonly _defaultSpaceStateMachine;
|
|
33
|
+
private readonly _edgeFeedReplicator?;
|
|
29
34
|
readonly authVerifier: TrustedKeySetAuthVerifier;
|
|
30
35
|
readonly identityKey: PublicKey;
|
|
31
36
|
readonly deviceKey: PublicKey;
|
|
32
37
|
readonly stateUpdate: Event<void>;
|
|
33
|
-
constructor(
|
|
38
|
+
constructor(params: IdentityParams);
|
|
34
39
|
get authorizedDeviceKeys(): ComplexMap<PublicKey, DeviceProfileDocument>;
|
|
35
40
|
get defaultSpaceId(): SpaceId | undefined;
|
|
36
41
|
open(ctx: Context): Promise<void>;
|
|
42
|
+
joinNetwork(): Promise<void>;
|
|
37
43
|
close(ctx: Context): Promise<void>;
|
|
38
44
|
ready(): Promise<void>;
|
|
39
45
|
get profileDocument(): ProfileDocument | undefined;
|
|
@@ -41,10 +47,12 @@ export declare class Identity {
|
|
|
41
47
|
* @test-only
|
|
42
48
|
*/
|
|
43
49
|
get controlPipeline(): import("@dxos/echo-pipeline").PipelineAccessor;
|
|
50
|
+
get haloSpaceId(): SpaceId;
|
|
44
51
|
get haloSpaceKey(): PublicKey;
|
|
45
52
|
get haloGenesisFeedKey(): PublicKey;
|
|
46
53
|
get deviceCredentialChain(): import("@dxos/protocols/proto/dxos/halo/credentials").Chain | undefined;
|
|
47
54
|
get presence(): Presence | undefined;
|
|
55
|
+
get signer(): Signer;
|
|
48
56
|
/**
|
|
49
57
|
* Issues credentials as identity.
|
|
50
58
|
* Requires identity to be ready.
|
|
@@ -55,6 +63,7 @@ export declare class Identity {
|
|
|
55
63
|
*/
|
|
56
64
|
getDeviceCredentialSigner(): CredentialSigner;
|
|
57
65
|
updateDefaultSpace(spaceId: SpaceId): Promise<void>;
|
|
58
|
-
admitDevice({ deviceKey, controlFeedKey, dataFeedKey }: DeviceAdmissionRequest): Promise<
|
|
66
|
+
admitDevice({ deviceKey, controlFeedKey, dataFeedKey }: DeviceAdmissionRequest): Promise<Credential>;
|
|
67
|
+
private _onFeedAdded;
|
|
59
68
|
}
|
|
60
69
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAI5D,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,qBACa,QAAQ;IACnB,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2B;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAiC;IAEtE,SAAgB,YAAY,EAAE,yBAAyB,CAAC;IAExD,SAAgB,WAAW,EAAE,SAAS,CAAC;IACvC,SAAgB,SAAS,EAAE,SAAS,CAAC;IAErC,SAAgB,WAAW,cAAe;gBAE9B,MAAM,EAAE,cAAc;IAoClC,IAAI,oBAAoB,IAAI,UAAU,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAEvE;IAED,IAAI,cAAc,IAAI,OAAO,GAAG,SAAS,CAExC;IAGK,IAAI,CAAC,GAAG,EAAE,OAAO;IAWV,WAAW;IAMlB,KAAK,CAAC,GAAG,EAAE,OAAO;IAgBlB,KAAK;IAMX,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,mDAElB;IAED,IAAI,WAAW,YAEd;IAED,IAAI,YAAY,cAEf;IAED,IAAI,kBAAkB,cAErB;IAED,IAAI,qBAAqB,4EAExB;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,MAAM,WAET;IAED;;;OAGG;IACH,2BAA2B,IAAI,gBAAgB;IAS/C;;OAEG;IACH,yBAAyB,IAAI,gBAAgB;IAIvC,kBAAkB,CAAC,OAAO,EAAE,OAAO;IASnC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+C1G,OAAO,CAAC,YAAY,CAElB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitation-protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device-invitation-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitation-protocol.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACzF,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,QAAQ,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,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;IAMhB,wBAAwB,IAAI,QAAQ,GAAG,SAAS;IAIhD,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAMhE,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAI9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiBjF,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;IAW/C,kBAAkB,IAAI,mBAAmB;IAInC,sBAAsB,CAAC,aAAa,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexF,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAuBnG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Context } from '@dxos/context';
|
|
2
|
+
import { type EdgeHttpClient } from '@dxos/edge-client';
|
|
3
|
+
import { type DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
4
|
+
import { type AdmissionResponse, type AdmissionRequest } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
5
|
+
import { type InvitationProtocol } from './invitation-protocol';
|
|
6
|
+
import { type FlowLockHolder, type GuardedInvitationState } from './invitation-state';
|
|
7
|
+
export interface EdgeInvitationHandlerCallbacks {
|
|
8
|
+
onInvitationSuccess(response: AdmissionResponse, request: AdmissionRequest): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const MAX_RETRIES_PER_INVITATION = 5;
|
|
11
|
+
export declare const DEFAULT_REQUEST_RETRY_INTERVAL_MS = 3000;
|
|
12
|
+
export declare const DEFAULT_REQUEST_RETRY_JITTER_MS = 500;
|
|
13
|
+
export type EdgeInvitationConfig = {
|
|
14
|
+
retryInterval?: number;
|
|
15
|
+
retryJitter?: number;
|
|
16
|
+
};
|
|
17
|
+
export declare class EdgeInvitationHandler implements FlowLockHolder {
|
|
18
|
+
private readonly _client;
|
|
19
|
+
private readonly _callbacks;
|
|
20
|
+
private _flowLock;
|
|
21
|
+
private readonly _retryInterval;
|
|
22
|
+
private readonly _retryJitter;
|
|
23
|
+
constructor(config: EdgeInvitationConfig | undefined, _client: EdgeHttpClient | undefined, _callbacks: EdgeInvitationHandlerCallbacks);
|
|
24
|
+
handle(ctx: Context, guardedState: GuardedInvitationState, protocol: InvitationProtocol, deviceProfile?: DeviceProfileDocument): void;
|
|
25
|
+
private _handleSpaceInvitationFlow;
|
|
26
|
+
private _mapToAdmissionResponse;
|
|
27
|
+
private _joinSpaceByInvitation;
|
|
28
|
+
hasFlowLock(): boolean;
|
|
29
|
+
private _calculateNextRetryMs;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=edge-invitation-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-invitation-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/edge-invitation-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYxD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,MAAM,WAAW,8BAA8B;IAC7C,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F;AAED,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,iCAAiC,OAAO,CAAC;AACtD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,qBAAsB,YAAW,cAAc;IAQxD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAGpC,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACvB,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,UAAU,EAAE,8BAA8B;IAMtD,MAAM,CACX,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,sBAAsB,EACpC,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,CAAC,EAAE,qBAAqB;YAqDzB,0BAA0B;YA6B1B,uBAAuB;YAUvB,sBAAsB;IA0B7B,WAAW,IAAI,OAAO;IAI7B,OAAO,CAAC,qBAAqB;CAG9B"}
|
|
@@ -3,6 +3,7 @@ import { Context } from '@dxos/context';
|
|
|
3
3
|
import { type Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
4
|
import { type InvitationHostService } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
5
5
|
import { type ExtensionContext, RpcExtension } from '@dxos/teleport';
|
|
6
|
+
import { type FlowLockHolder } from './invitation-state';
|
|
6
7
|
type InvitationGuestExtensionCallbacks = {
|
|
7
8
|
onOpen: (ctx: Context, extensionCtx: ExtensionContext) => void;
|
|
8
9
|
onError: (error: Error) => void;
|
|
@@ -15,7 +16,7 @@ export declare class InvitationGuestExtension extends RpcExtension<{
|
|
|
15
16
|
InvitationHostService: InvitationHostService;
|
|
16
17
|
}, {
|
|
17
18
|
InvitationHostService: InvitationHostService;
|
|
18
|
-
}> {
|
|
19
|
+
}> implements FlowLockHolder {
|
|
19
20
|
private readonly _invitationFlowMutex;
|
|
20
21
|
private readonly _callbacks;
|
|
21
22
|
private _ctx;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-guest-extenstion.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-guest-extenstion.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAA4B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAK3D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,KAAK,qBAAqB,EAAqB,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"invitation-guest-extenstion.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-guest-extenstion.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAA4B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAK3D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,KAAK,qBAAqB,EAAqB,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,KAAK,iCAAiC,GAAG;IAEvC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEhC,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,qBAAa,wBACX,SAAQ,YAAY,CAClB;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,EAChD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,CAElD,YAAW,cAAc;IAWvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAV7B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,qBAAqB,CAAiB;IAC9C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAA2B;gBAGnC,oBAAoB,EAAE,KAAK,EAC3B,UAAU,EAAE,iCAAiC;IAYzD,WAAW,IAAI,OAAO;cAIJ,WAAW,IAAI,OAAO,CAAC;QAAE,qBAAqB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAqBlF,MAAM,CAAC,OAAO,EAAE,gBAAgB;IAiChC,OAAO;IAIP,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAIzB,QAAQ;CAQvB"}
|
|
@@ -5,6 +5,7 @@ import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
|
5
5
|
import { type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
6
6
|
import { type AdmissionRequest, type AdmissionResponse, type InvitationHostService } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
7
7
|
import { type ExtensionContext, RpcExtension } from '@dxos/teleport';
|
|
8
|
+
import type { FlowLockHolder } from './invitation-state';
|
|
8
9
|
export declare const MAX_OTP_ATTEMPTS = 3;
|
|
9
10
|
type InvitationHostExtensionCallbacks = {
|
|
10
11
|
activeInvitation: Invitation | null;
|
|
@@ -20,7 +21,7 @@ export declare class InvitationHostExtension extends RpcExtension<{
|
|
|
20
21
|
InvitationHostService: InvitationHostService;
|
|
21
22
|
}, {
|
|
22
23
|
InvitationHostService: InvitationHostService;
|
|
23
|
-
}> {
|
|
24
|
+
}> implements FlowLockHolder {
|
|
24
25
|
private readonly _invitationFlowMutex;
|
|
25
26
|
private readonly _callbacks;
|
|
26
27
|
private _remoteOptions?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-host-extension.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-host-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAmB,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjF,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAE3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"invitation-host-extension.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-host-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAmB,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjF,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAE3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,KAAK,gCAAgC,GAAG;IACtC,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAAC;IAGpC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEhC,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC;IAEpD,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClE,CAAC;AAEF;;GAEG;AACH,qBAAa,uBACX,SAAQ,YAAY,CAClB;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,EAChD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,CAElD,YAAW,cAAc;IA+BvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IA1B7B,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,qBAAqB,CAAiB;IAE9C,OAAO,CAAC,UAAU,CAAC,CAAqB;IAEjC,YAAY,CAAC,EAAE,eAAe,CAAa;IAE3C,oBAAoB,UAAS;IAEpC;;OAEG;IACI,mBAAmB,SAAK;IAE/B;;OAEG;IACI,gBAAgB,qBAA4B;IAEnD;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAA2B;gBAGnC,oBAAoB,EAAE,KAAK,EAC3B,UAAU,EAAE,gCAAgC;IAYxD,WAAW,IAAI,OAAO;cAIJ,WAAW,IAAI,OAAO,CAAC;QAAE,qBAAqB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAuIlF,MAAM,CAAC,OAAO,EAAE,gBAAgB;IA+B/C,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,sBAAsB;IAWf,OAAO;IAIP,OAAO;YAIR,QAAQ;CAQvB;AAED,eAAO,MAAM,wBAAwB,eAAgB,UAAU,YACT,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A utility object for serializing invitation state changes by multiple concurrent
|
|
3
|
+
* invitation flow connections.
|
|
4
|
+
*/
|
|
5
|
+
import { Mutex, type PushStream } from '@dxos/async';
|
|
6
|
+
import { type Context } from '@dxos/context';
|
|
7
|
+
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
8
|
+
export interface FlowLockHolder {
|
|
9
|
+
hasFlowLock(): boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface GuardedInvitationState {
|
|
12
|
+
mutex: Mutex;
|
|
13
|
+
current: Invitation;
|
|
14
|
+
complete(newState: Partial<Invitation>): void;
|
|
15
|
+
set(lockHolder: FlowLockHolder | null, newState: Invitation.State): boolean;
|
|
16
|
+
error(lockHolder: FlowLockHolder | null, error: any): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const createGuardedInvitationState: (ctx: Context, invitation: Invitation, stream: PushStream<Invitation>) => GuardedInvitationState;
|
|
19
|
+
//# sourceMappingURL=invitation-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitation-state.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAIxE,MAAM,WAAW,cAAc;IAC7B,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IAEpB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;IAC5E,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;CAC/D;AAED,eAAO,MAAM,4BAA4B,QAClC,OAAO,cACA,UAAU,UACd,UAAU,CAAC,UAAU,CAAC,KAC7B,sBAqDF,CAAC"}
|
|
@@ -2,7 +2,13 @@ import { type PushStream, type Trigger } from '@dxos/async';
|
|
|
2
2
|
import { type Context } from '@dxos/context';
|
|
3
3
|
import { type AdmissionKeypair, Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
4
|
import { type DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
5
|
+
import { type TeleportParams } from '@dxos/teleport';
|
|
6
|
+
import { type EdgeInvitationConfig } from './edge-invitation-handler';
|
|
5
7
|
import { type InvitationProtocol } from './invitation-protocol';
|
|
8
|
+
export type InvitationConnectionParams = {
|
|
9
|
+
teleport: Partial<TeleportParams>;
|
|
10
|
+
edgeInvitations?: EdgeInvitationConfig;
|
|
11
|
+
};
|
|
6
12
|
/**
|
|
7
13
|
* Generic handler for Halo and Space invitations.
|
|
8
14
|
* Handles the life-cycle of invitations between peers.
|
|
@@ -33,17 +39,11 @@ import { type InvitationProtocol } from './invitation-protocol';
|
|
|
33
39
|
*/
|
|
34
40
|
export declare class InvitationsHandler {
|
|
35
41
|
private readonly _networkManager;
|
|
36
|
-
private readonly
|
|
42
|
+
private readonly _edgeClient?;
|
|
43
|
+
private readonly _connectionParams?;
|
|
37
44
|
handleInvitationFlow(ctx: Context, stream: PushStream<Invitation>, protocol: InvitationProtocol, invitation: Invitation): void;
|
|
38
45
|
acceptInvitation(ctx: Context, stream: PushStream<Invitation>, protocol: InvitationProtocol, invitation: Invitation, otpEnteredTrigger: Trigger<string>, deviceProfile?: DeviceProfileDocument): void;
|
|
39
46
|
private _joinSwarm;
|
|
40
|
-
/**
|
|
41
|
-
* A utility object for serializing invitation state changes by multiple concurrent
|
|
42
|
-
* invitation flow connections.
|
|
43
|
-
*/
|
|
44
|
-
private _createGuardedState;
|
|
45
|
-
private _logStateUpdate;
|
|
46
|
-
private _isNotTerminal;
|
|
47
47
|
private _handleGuestOtpAuth;
|
|
48
48
|
private _handleGuestKpkAuth;
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAA8B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,eAAe,CAAC;AAQnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAGzF,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIpG,OAAO,EAAE,KAAK,oBAAoB,EAAyB,MAAM,2BAA2B,CAAC;AAG7F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQhE,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAGrC,oBAAoB,CAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,UAAU,GACrB,IAAI;IAwIP,gBAAgB,CACd,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,CAAC,EAAE,qBAAqB,GACpC,IAAI;YAuMO,UAAU;YA0BV,mBAAmB;YA6BnB,mBAAmB;CAqBlC;AAED,eAAO,MAAM,sBAAsB,QAAO,gBAGzC,CAAC"}
|
|
@@ -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;
|
|
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;AAGpD,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;IAYzD,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"}
|
|
@@ -1 +1 @@
|
|
|
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,EACL,kBAAkB,EAClB,KAAK,QAAQ,EAEb,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,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,EAAE,SAAS,YAAA;IAGxC,MAAM,IAAI,MAAM;
|
|
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,EACL,kBAAkB,EAClB,KAAK,QAAQ,EAEb,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,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,EAAE,SAAS,YAAA;IAGxC,MAAM,IAAI,MAAM;IAQhB,wBAAwB,IAAI,QAAQ,GAAG,SAAS;IAchD,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAWhE,KAAK,CACT,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,gBAAgB,EACzB,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,GACzC,OAAO,CAAC,iBAAiB,CAAC;IAqBvB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiCpD,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7D,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;IAS/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,8 +1,7 @@
|
|
|
1
1
|
import { Trigger } from '@dxos/async';
|
|
2
2
|
import { Context, Resource } from '@dxos/context';
|
|
3
|
-
import { EchoHost } from '@dxos/echo-
|
|
4
|
-
import {
|
|
5
|
-
import type { EdgeConnection } from '@dxos/edge-client';
|
|
3
|
+
import { EchoHost, MetadataStore, SpaceManager } from '@dxos/echo-pipeline';
|
|
4
|
+
import type { EdgeHttpClient, EdgeConnection } from '@dxos/edge-client';
|
|
6
5
|
import { FeedStore } from '@dxos/feed-store';
|
|
7
6
|
import { Keyring } from '@dxos/keyring';
|
|
8
7
|
import { type LevelDB } from '@dxos/kv-store';
|
|
@@ -13,13 +12,14 @@ import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
|
13
12
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
14
13
|
import { type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
15
14
|
import { type Storage } from '@dxos/random-access-storage';
|
|
16
|
-
import type { TeleportParams } from '@dxos/teleport';
|
|
17
15
|
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
16
|
+
import { EdgeAgentManager } from '../agents';
|
|
17
|
+
import { IdentityManager, type CreateIdentityOptions, type IdentityManagerParams } from '../identity';
|
|
18
|
+
import { EdgeIdentityRecoveryManager } from '../identity/identity-recovery-manager';
|
|
19
|
+
import { type InvitationConnectionParams, InvitationsHandler, InvitationsManager, type InvitationProtocol } from '../invitations';
|
|
20
20
|
import { DataSpaceManager, type DataSpaceManagerRuntimeParams } from '../spaces';
|
|
21
|
-
export type ServiceContextRuntimeParams =
|
|
22
|
-
invitationConnectionDefaultParams?:
|
|
21
|
+
export type ServiceContextRuntimeParams = Pick<IdentityManagerParams, 'devicePresenceOfflineTimeout' | 'devicePresenceAnnounceInterval'> & DataSpaceManagerRuntimeParams & {
|
|
22
|
+
invitationConnectionDefaultParams?: InvitationConnectionParams;
|
|
23
23
|
disableP2pReplication?: boolean;
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
@@ -31,8 +31,10 @@ export declare class ServiceContext extends Resource {
|
|
|
31
31
|
readonly networkManager: SwarmNetworkManager;
|
|
32
32
|
readonly signalManager: SignalManager;
|
|
33
33
|
private readonly _edgeConnection;
|
|
34
|
+
private readonly _edgeHttpClient;
|
|
34
35
|
readonly _runtimeParams?: ServiceContextRuntimeParams | undefined;
|
|
35
36
|
private readonly _edgeFeatures?;
|
|
37
|
+
private readonly _edgeIdentityUpdateMutex;
|
|
36
38
|
readonly initialized: Trigger<void>;
|
|
37
39
|
readonly metadataStore: MetadataStore;
|
|
38
40
|
readonly blobStore: BlobStore;
|
|
@@ -40,16 +42,18 @@ export declare class ServiceContext extends Resource {
|
|
|
40
42
|
readonly keyring: Keyring;
|
|
41
43
|
readonly spaceManager: SpaceManager;
|
|
42
44
|
readonly identityManager: IdentityManager;
|
|
45
|
+
readonly recoveryManager: EdgeIdentityRecoveryManager;
|
|
43
46
|
readonly invitations: InvitationsHandler;
|
|
44
47
|
readonly invitationsManager: InvitationsManager;
|
|
45
48
|
readonly echoHost: EchoHost;
|
|
46
49
|
private readonly _meshReplicator?;
|
|
47
50
|
private readonly _echoEdgeReplicator?;
|
|
48
51
|
dataSpaceManager?: DataSpaceManager;
|
|
52
|
+
edgeAgentManager?: EdgeAgentManager;
|
|
49
53
|
private readonly _handlerFactories;
|
|
50
54
|
private _deviceSpaceSync?;
|
|
51
55
|
private readonly _instanceId;
|
|
52
|
-
constructor(storage: Storage, level: LevelDB, networkManager: SwarmNetworkManager, signalManager: SignalManager, _edgeConnection: EdgeConnection | undefined, _runtimeParams?: ServiceContextRuntimeParams | undefined, _edgeFeatures?: Runtime.Client.EdgeFeatures | undefined);
|
|
56
|
+
constructor(storage: Storage, level: LevelDB, networkManager: SwarmNetworkManager, signalManager: SignalManager, _edgeConnection: EdgeConnection | undefined, _edgeHttpClient: EdgeHttpClient | undefined, _runtimeParams?: ServiceContextRuntimeParams | undefined, _edgeFeatures?: Runtime.Client.EdgeFeatures | undefined);
|
|
53
57
|
protected _open(ctx: Context): Promise<void>;
|
|
54
58
|
protected _close(ctx: Context): Promise<void>;
|
|
55
59
|
createIdentity(params?: CreateIdentityOptions): Promise<import("../identity").Identity>;
|
|
@@ -58,5 +62,6 @@ export declare class ServiceContext extends Resource {
|
|
|
58
62
|
private _acceptIdentity;
|
|
59
63
|
private _checkStorageVersion;
|
|
60
64
|
private _initialize;
|
|
65
|
+
private _setNetworkIdentity;
|
|
61
66
|
}
|
|
62
67
|
//# sourceMappingURL=service-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,11 +48,13 @@ export declare class ClientServicesHost {
|
|
|
48
48
|
private _callbacks?;
|
|
49
49
|
private _devtoolsProxy?;
|
|
50
50
|
private _edgeConnection?;
|
|
51
|
+
private _edgeHttpClient?;
|
|
51
52
|
private _serviceContext;
|
|
52
53
|
private readonly _runtimeParams;
|
|
53
54
|
private diagnosticsBroadcastHandler;
|
|
54
55
|
private _opening;
|
|
55
56
|
private _open;
|
|
57
|
+
private _resetting;
|
|
56
58
|
constructor({ config, transportFactory, signalManager, storage, level, lockKey, callbacks, runtimeParams, }?: ClientServicesHostParams);
|
|
57
59
|
get isOpen(): boolean;
|
|
58
60
|
get config(): Config | undefined;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
2
|
import { Resource } from '@dxos/context';
|
|
3
3
|
import { type CredentialSigner } from '@dxos/credentials';
|
|
4
|
-
import { type EchoEdgeReplicator, type EchoHost } from '@dxos/echo-
|
|
5
|
-
import
|
|
6
|
-
import type { EdgeConnection } from '@dxos/edge-client';
|
|
4
|
+
import { type EchoEdgeReplicator, type EchoHost, type MeshEchoReplicator, type MetadataStore, type SpaceManager } from '@dxos/echo-pipeline';
|
|
5
|
+
import type { EdgeConnection, EdgeHttpClient } from '@dxos/edge-client';
|
|
7
6
|
import { type FeedStore } from '@dxos/feed-store';
|
|
8
7
|
import { type Keyring } from '@dxos/keyring';
|
|
9
8
|
import { PublicKey } from '@dxos/keys';
|
|
10
9
|
import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
11
10
|
import { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
11
|
+
import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
12
12
|
import { SpaceMember, type Credential, type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
13
13
|
import { type Timeframe } from '@dxos/timeframe';
|
|
14
14
|
import { ComplexMap } from '@dxos/util';
|
|
@@ -51,6 +51,7 @@ export type DataSpaceManagerParams = {
|
|
|
51
51
|
echoHost: EchoHost;
|
|
52
52
|
invitationsManager: InvitationsManager;
|
|
53
53
|
edgeConnection?: EdgeConnection;
|
|
54
|
+
edgeHttpClient?: EdgeHttpClient;
|
|
54
55
|
meshReplicator?: MeshEchoReplicator;
|
|
55
56
|
echoEdgeReplicator?: EchoEdgeReplicator;
|
|
56
57
|
runtimeParams?: DataSpaceManagerRuntimeParams;
|
|
@@ -59,6 +60,7 @@ export type DataSpaceManagerParams = {
|
|
|
59
60
|
export type DataSpaceManagerRuntimeParams = {
|
|
60
61
|
spaceMemberPresenceAnnounceInterval?: number;
|
|
61
62
|
spaceMemberPresenceOfflineTimeout?: number;
|
|
63
|
+
activeEdgeNotarizationPollingInterval?: number;
|
|
62
64
|
disableP2pReplication?: boolean;
|
|
63
65
|
};
|
|
64
66
|
export declare class DataSpaceManager extends Resource {
|
|
@@ -73,6 +75,7 @@ export declare class DataSpaceManager extends Resource {
|
|
|
73
75
|
private readonly _echoHost;
|
|
74
76
|
private readonly _invitationsManager;
|
|
75
77
|
private readonly _edgeConnection?;
|
|
78
|
+
private readonly _edgeHttpClient?;
|
|
76
79
|
private readonly _edgeFeatures?;
|
|
77
80
|
private readonly _meshReplicator?;
|
|
78
81
|
private readonly _echoEdgeReplicator?;
|
|
@@ -97,6 +100,7 @@ export declare class DataSpaceManager extends Resource {
|
|
|
97
100
|
*/
|
|
98
101
|
waitUntilSpaceReady(spaceKey: PublicKey): Promise<void>;
|
|
99
102
|
requestSpaceAdmissionCredential(spaceKey: PublicKey): Promise<Credential>;
|
|
103
|
+
setSpaceEdgeReplicationSetting(spaceKey: PublicKey, setting: EdgeReplicationSetting): Promise<void>;
|
|
100
104
|
private _constructSpace;
|
|
101
105
|
private _connectEchoMeshReplicator;
|
|
102
106
|
private _handleMemberRoleChanges;
|