@dxos/client-services 0.1.58-main.e4cedde → 0.1.58-main.f5feb2a
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-FIKNAQOZ.mjs → chunk-L426VUEE.mjs} +144 -102
- package/dist/lib/browser/chunk-L426VUEE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +7 -6
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +3 -3
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/index.cjs +190 -147
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +189 -147
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/invitations/invitation-extension.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts +3 -3
- 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/spaces/data-space.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/testing/invitation-utils.d.ts +5 -5
- package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/shell-runtime.d.ts +1 -1
- package/dist/types/src/packlets/vault/shell-runtime.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +34 -35
- package/src/packlets/identity/authenticator.ts +1 -1
- package/src/packlets/invitations/invitation-extension.ts +1 -2
- package/src/packlets/invitations/invitations-handler.ts +7 -8
- package/src/packlets/invitations/invitations-service.ts +5 -5
- package/src/packlets/services/service-context.ts +2 -2
- package/src/packlets/spaces/data-space.ts +8 -2
- package/src/packlets/spaces/spaces-service.ts +29 -8
- package/src/packlets/storage/storage.ts +1 -1
- package/src/packlets/testing/invitation-utils.ts +9 -9
- package/src/packlets/vault/iframe-proxy-runtime.ts +1 -1
- package/src/packlets/vault/shell-runtime.ts +4 -4
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-FIKNAQOZ.mjs.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-extension.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"invitation-extension.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitation-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAEjB,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKhE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,KAAK,gCAAgC,GAAG;IAEtC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEhC,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAEhD,iBAAiB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAErF,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClE,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,YAAY,CACvD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,EAChD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,CACjD;IAwBa,OAAO,CAAC,QAAQ,CAAC,UAAU;IAnBvC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,qBAAqB,CAAiB;IAEvC,UAAU,CAAC,EAAE,UAAU,CAAa;IAEpC,YAAY,CAAC,EAAE,eAAe,CAAa;IAE3C,oBAAoB,UAAS;IAEpC;;OAEG;IACI,mBAAmB,SAAK;IAE/B;;OAEG;IACI,gBAAgB,qBAA4B;gBAEtB,UAAU,EAAE,gCAAgC;cAWhD,WAAW,IAAI,OAAO,CAAC;QAAE,qBAAqB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAuGlF,MAAM,CAAC,OAAO,EAAE,gBAAgB;IAmBhC,OAAO;CAGvB;AAED,KAAK,iCAAiC,GAAG;IAEvC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,YAAY,CACxD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,EAChD;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,CACjD;IAKa,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJvC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,qBAAqB,CAAiB;gBAEjB,UAAU,EAAE,iCAAiC;cAWjD,WAAW,IAAI,OAAO,CAAC;QAAE,qBAAqB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAqBlF,MAAM,CAAC,OAAO,EAAE,gBAAgB;IAsBhC,OAAO;CAIvB;AAED,eAAO,MAAM,wBAAwB,eAAgB,UAAU,YACT,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthenticatingInvitation, CancellableInvitation } from '@dxos/client-protocol';
|
|
2
2
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
3
|
import { InvitationProtocol } from './invitation-protocol';
|
|
4
4
|
/**
|
|
@@ -30,7 +30,7 @@ import { InvitationProtocol } from './invitation-protocol';
|
|
|
30
30
|
*/
|
|
31
31
|
export declare class InvitationsHandler {
|
|
32
32
|
private readonly _networkManager;
|
|
33
|
-
createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>):
|
|
34
|
-
acceptInvitation(protocol: InvitationProtocol, invitation: Invitation):
|
|
33
|
+
createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>): CancellableInvitation;
|
|
34
|
+
acceptInvitation(protocol: InvitationProtocol, invitation: Invitation): AuthenticatingInvitation;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=invitations-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,wBAAwB,EAExB,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AASxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAE5C,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,qBAAqB;IAiJpG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,wBAAwB;CAmLjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAS7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"invitations-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAS7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4C;IAC/E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+C;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;gBAGzC,mBAAmB,EAAE,kBAAkB,EACvC,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,kBAAkB;IAI9E,iBAAiB;IAMjB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAgCzD,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAgCnD,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;IAkBjF,gBAAgB,IAAI,MAAM,CAAC,wBAAwB,CAAC;CAkDrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAiD,MAAM,aAAa,CAAC;AAInF,OAAO,EAAE,aAAa,EAAE,KAAK,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare class SpacesServiceImpl implements SpacesService {
|
|
|
17
17
|
querySpaces(): Stream<QuerySpacesResponse>;
|
|
18
18
|
postMessage({ spaceKey, channel, message }: PostMessageRequest): Promise<void>;
|
|
19
19
|
subscribeMessages({ spaceKey, channel }: SubscribeMessagesRequest): Stream<GossipMessage>;
|
|
20
|
-
queryCredentials({ spaceKey }: QueryCredentialsRequest): Stream<Credential>;
|
|
20
|
+
queryCredentials({ spaceKey, noTail }: QueryCredentialsRequest): Stream<Credential>;
|
|
21
21
|
writeCredentials({ spaceKey, credentials }: WriteCredentialsRequest): Promise<void>;
|
|
22
22
|
createEpoch({ spaceKey }: CreateEpochRequest): Promise<void>;
|
|
23
23
|
private _serializeSpace;
|
|
@@ -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;AAG9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,
|
|
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;AAG9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAGL,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,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,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;IAU7B,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB;IAmBzD,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAqDpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAmB7E,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAmBnE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAMlD,OAAO,CAAC,eAAe;CAgDxB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthenticatingInvitation, CancellableInvitation } from '@dxos/client-protocol';
|
|
2
2
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
3
3
|
import { ServiceContext } from '../services';
|
|
4
4
|
/**
|
|
@@ -6,10 +6,10 @@ import { ServiceContext } from '../services';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const sanitizeInvitation: (invitation: Invitation) => Invitation;
|
|
8
8
|
export type InvitationHost = {
|
|
9
|
-
|
|
9
|
+
share(options?: Partial<Invitation>): CancellableInvitation;
|
|
10
10
|
};
|
|
11
11
|
export type InvitationGuest = {
|
|
12
|
-
|
|
12
|
+
join(invitation: Invitation | string): AuthenticatingInvitation;
|
|
13
13
|
};
|
|
14
14
|
export type PerformInvitationCallbacks<T> = {
|
|
15
15
|
onConnecting?: (value: T) => boolean | void;
|
|
@@ -26,8 +26,8 @@ export type PerformInvitationParams = {
|
|
|
26
26
|
guest: ServiceContext | InvitationGuest;
|
|
27
27
|
options?: Partial<Invitation>;
|
|
28
28
|
hooks?: {
|
|
29
|
-
host?: PerformInvitationCallbacks<
|
|
30
|
-
guest?: PerformInvitationCallbacks<
|
|
29
|
+
host?: PerformInvitationCallbacks<CancellableInvitation>;
|
|
30
|
+
guest?: PerformInvitationCallbacks<AuthenticatingInvitation>;
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
export type Result = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAExF,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,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,GAAG,wBAAwB,CAAC;CACjE,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;CACH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,iBAAiB,qCAK3B,uBAAuB,KAAG,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,CAmI7D,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare class ShellRuntimeImpl implements ShellRuntime {
|
|
|
17
17
|
get layout(): ShellLayout;
|
|
18
18
|
get invitationCode(): string | undefined;
|
|
19
19
|
get spaceKey(): PublicKey | undefined;
|
|
20
|
-
setLayout(layout
|
|
20
|
+
setLayout({ layout, invitationCode, spaceKey }: LayoutRequest): void;
|
|
21
21
|
setAppContext(context: AppContextRequest): Promise<void>;
|
|
22
22
|
open(): Promise<void>;
|
|
23
23
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/shell-runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAsC,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAE7G,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtE;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IAOvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IANlC,QAAQ,CAAC,YAAY,uBAA8B;IACnD,OAAO,CAAC,OAAO,CAAC,CAAiC;IACjD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAED,KAAK,EAAE,OAAO;IAE3C,IAAI,MAAM,gBAET;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,QAAQ,0BAEX;IAED,SAAS,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"shell-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/shell-runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAsC,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAE7G,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtE;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IAOvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IANlC,QAAQ,CAAC,YAAY,uBAA8B;IACnD,OAAO,CAAC,OAAO,CAAC,CAAiC;IACjD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAED,KAAK,EAAE,OAAO;IAE3C,IAAI,MAAM,gBAET;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,QAAQ,0BAEX;IAED,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,aAAa;IAOvD,aAAa,CAAC,OAAO,EAAE,iBAAiB;IAMxC,IAAI;IAoBJ,KAAK;CAIZ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.1.58-main.
|
|
1
|
+
export declare const DXOS_VERSION = "0.1.58-main.f5feb2a";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.1.58-main.
|
|
3
|
+
"version": "0.1.58-main.f5feb2a",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -21,43 +21,42 @@
|
|
|
21
21
|
"src"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@dxos/async": "0.1.58-main.
|
|
25
|
-
"@dxos/client-protocol": "0.1.58-main.
|
|
26
|
-
"@dxos/codec-protobuf": "0.1.58-main.
|
|
27
|
-
"@dxos/config": "0.1.58-main.
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/echo-
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/protocols": "0.1.58-main.
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/teleport": "0.1.58-main.
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/websocket-rpc": "0.1.58-main.e4cedde"
|
|
24
|
+
"@dxos/async": "0.1.58-main.f5feb2a",
|
|
25
|
+
"@dxos/client-protocol": "0.1.58-main.f5feb2a",
|
|
26
|
+
"@dxos/codec-protobuf": "0.1.58-main.f5feb2a",
|
|
27
|
+
"@dxos/config": "0.1.58-main.f5feb2a",
|
|
28
|
+
"@dxos/credentials": "0.1.58-main.f5feb2a",
|
|
29
|
+
"@dxos/crypto": "0.1.58-main.f5feb2a",
|
|
30
|
+
"@dxos/debug": "0.1.58-main.f5feb2a",
|
|
31
|
+
"@dxos/document-model": "0.1.58-main.f5feb2a",
|
|
32
|
+
"@dxos/echo-db": "0.1.58-main.f5feb2a",
|
|
33
|
+
"@dxos/echo-pipeline": "0.1.58-main.f5feb2a",
|
|
34
|
+
"@dxos/feed-store": "0.1.58-main.f5feb2a",
|
|
35
|
+
"@dxos/invariant": "0.1.58-main.f5feb2a",
|
|
36
|
+
"@dxos/keyring": "0.1.58-main.f5feb2a",
|
|
37
|
+
"@dxos/keys": "0.1.58-main.f5feb2a",
|
|
38
|
+
"@dxos/lock-file": "0.1.58-main.f5feb2a",
|
|
39
|
+
"@dxos/log": "0.1.58-main.f5feb2a",
|
|
40
|
+
"@dxos/messaging": "0.1.58-main.f5feb2a",
|
|
41
|
+
"@dxos/model-factory": "0.1.58-main.f5feb2a",
|
|
42
|
+
"@dxos/network-manager": "0.1.58-main.f5feb2a",
|
|
43
|
+
"@dxos/node-std": "0.1.58-main.f5feb2a",
|
|
44
|
+
"@dxos/random-access-storage": "0.1.58-main.f5feb2a",
|
|
45
|
+
"@dxos/rpc": "0.1.58-main.f5feb2a",
|
|
46
|
+
"@dxos/protocols": "0.1.58-main.f5feb2a",
|
|
47
|
+
"@dxos/teleport": "0.1.58-main.f5feb2a",
|
|
48
|
+
"@dxos/teleport-extension-gossip": "0.1.58-main.f5feb2a",
|
|
49
|
+
"@dxos/teleport-extension-object-sync": "0.1.58-main.f5feb2a",
|
|
50
|
+
"@dxos/timeframe": "0.1.58-main.f5feb2a",
|
|
51
|
+
"@dxos/tracing": "0.1.58-main.f5feb2a",
|
|
52
|
+
"@dxos/util": "0.1.58-main.f5feb2a",
|
|
53
|
+
"@dxos/websocket-rpc": "0.1.58-main.f5feb2a",
|
|
54
|
+
"@dxos/context": "0.1.58-main.f5feb2a",
|
|
55
|
+
"@dxos/text-model": "0.1.58-main.f5feb2a"
|
|
57
56
|
},
|
|
58
57
|
"devDependencies": {
|
|
59
58
|
"@types/readable-stream": "^2.3.9",
|
|
60
|
-
"@dxos/signal": "0.1.58-main.
|
|
59
|
+
"@dxos/signal": "0.1.58-main.f5feb2a"
|
|
61
60
|
},
|
|
62
61
|
"publishConfig": {
|
|
63
62
|
"access": "public"
|
|
@@ -64,7 +64,7 @@ export class TrustedKeySetAuthVerifier {
|
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
if (!credential.proof
|
|
67
|
+
if (!credential.proof!.nonce || !Buffer.from(nonce).equals(credential.proof!.nonce)) {
|
|
68
68
|
log('Invalid nonce', { nonce, credential });
|
|
69
69
|
return false;
|
|
70
70
|
}
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import { Trigger } from '@dxos/async';
|
|
6
6
|
import { cancelWithContext, Context } from '@dxos/context';
|
|
7
|
-
import { InvalidInvitationExtensionRoleError } from '@dxos/errors';
|
|
8
7
|
import { invariant } from '@dxos/invariant';
|
|
9
8
|
import { PublicKey } from '@dxos/keys';
|
|
10
9
|
import { log } from '@dxos/log';
|
|
11
|
-
import { schema, trace } from '@dxos/protocols';
|
|
10
|
+
import { InvalidInvitationExtensionRoleError, schema, trace } from '@dxos/protocols';
|
|
12
11
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
13
12
|
import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
14
13
|
import {
|
|
@@ -4,19 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
import { PushStream, scheduleTask, TimeoutError, Trigger } from '@dxos/async';
|
|
6
6
|
import {
|
|
7
|
-
|
|
7
|
+
AuthenticatingInvitation,
|
|
8
8
|
AUTHENTICATION_CODE_LENGTH,
|
|
9
|
-
|
|
9
|
+
CancellableInvitation,
|
|
10
10
|
INVITATION_TIMEOUT,
|
|
11
11
|
} from '@dxos/client-protocol';
|
|
12
12
|
import { Context } from '@dxos/context';
|
|
13
13
|
import { generatePasscode } from '@dxos/credentials';
|
|
14
|
-
import { InvalidInvitationExtensionRoleError } from '@dxos/errors';
|
|
15
14
|
import { invariant } from '@dxos/invariant';
|
|
16
15
|
import { PublicKey } from '@dxos/keys';
|
|
17
16
|
import { log } from '@dxos/log';
|
|
18
17
|
import { createTeleportProtocolFactory, NetworkManager, StarTopology, SwarmConnection } from '@dxos/network-manager';
|
|
19
|
-
import { trace } from '@dxos/protocols';
|
|
18
|
+
import { InvalidInvitationExtensionRoleError, trace } from '@dxos/protocols';
|
|
20
19
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
21
20
|
import { AuthenticationResponse } from '@dxos/protocols/proto/dxos/halo/invitations';
|
|
22
21
|
|
|
@@ -61,7 +60,7 @@ export class InvitationsHandler {
|
|
|
61
60
|
*/
|
|
62
61
|
constructor(private readonly _networkManager: NetworkManager) {}
|
|
63
62
|
|
|
64
|
-
createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>):
|
|
63
|
+
createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>): CancellableInvitation {
|
|
65
64
|
const {
|
|
66
65
|
invitationId = PublicKey.random().toHex(),
|
|
67
66
|
type = Invitation.Type.INTERACTIVE,
|
|
@@ -194,7 +193,7 @@ export class InvitationsHandler {
|
|
|
194
193
|
});
|
|
195
194
|
|
|
196
195
|
// TODO(burdon): Stop anything pending.
|
|
197
|
-
const observable = new
|
|
196
|
+
const observable = new CancellableInvitation({
|
|
198
197
|
initialInvitation: invitation,
|
|
199
198
|
subscriber: stream.observable,
|
|
200
199
|
onCancel: async () => {
|
|
@@ -206,7 +205,7 @@ export class InvitationsHandler {
|
|
|
206
205
|
return observable;
|
|
207
206
|
}
|
|
208
207
|
|
|
209
|
-
acceptInvitation(protocol: InvitationProtocol, invitation: Invitation):
|
|
208
|
+
acceptInvitation(protocol: InvitationProtocol, invitation: Invitation): AuthenticatingInvitation {
|
|
210
209
|
const { timeout = INVITATION_TIMEOUT } = invitation;
|
|
211
210
|
invariant(protocol);
|
|
212
211
|
|
|
@@ -370,7 +369,7 @@ export class InvitationsHandler {
|
|
|
370
369
|
setState({ state: Invitation.State.CONNECTING });
|
|
371
370
|
});
|
|
372
371
|
|
|
373
|
-
const observable = new
|
|
372
|
+
const observable = new AuthenticatingInvitation({
|
|
374
373
|
initialInvitation: invitation,
|
|
375
374
|
subscriber: stream.observable,
|
|
376
375
|
onCancel: async () => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { Event } from '@dxos/async';
|
|
6
|
-
import {
|
|
6
|
+
import { AuthenticatingInvitation, CancellableInvitation } from '@dxos/client-protocol';
|
|
7
7
|
import { Stream } from '@dxos/codec-protobuf';
|
|
8
8
|
import { invariant } from '@dxos/invariant';
|
|
9
9
|
import { log } from '@dxos/log';
|
|
@@ -21,8 +21,8 @@ import { InvitationsHandler } from './invitations-handler';
|
|
|
21
21
|
* Adapts invitation service observable to client/service stream.
|
|
22
22
|
*/
|
|
23
23
|
export class InvitationsServiceImpl implements InvitationsService {
|
|
24
|
-
private readonly _createInvitations = new Map<string,
|
|
25
|
-
private readonly _acceptInvitations = new Map<string,
|
|
24
|
+
private readonly _createInvitations = new Map<string, CancellableInvitation>();
|
|
25
|
+
private readonly _acceptInvitations = new Map<string, AuthenticatingInvitation>();
|
|
26
26
|
private readonly _invitationCreated = new Event<Invitation>();
|
|
27
27
|
private readonly _invitationAccepted = new Event<Invitation>();
|
|
28
28
|
private readonly _removedCreated = new Event<Invitation>();
|
|
@@ -41,7 +41,7 @@ export class InvitationsServiceImpl implements InvitationsService {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
createInvitation(options: Invitation): Stream<Invitation> {
|
|
44
|
-
let invitation:
|
|
44
|
+
let invitation: CancellableInvitation;
|
|
45
45
|
|
|
46
46
|
const existingInvitation = this._createInvitations.get(options.invitationId);
|
|
47
47
|
if (existingInvitation) {
|
|
@@ -73,7 +73,7 @@ export class InvitationsServiceImpl implements InvitationsService {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
acceptInvitation(options: Invitation): Stream<Invitation> {
|
|
76
|
-
let invitation:
|
|
76
|
+
let invitation: AuthenticatingInvitation;
|
|
77
77
|
|
|
78
78
|
const existingInvitation = this._acceptInvitations.get(options.invitationId);
|
|
79
79
|
if (existingInvitation) {
|
|
@@ -21,7 +21,7 @@ import { log } from '@dxos/log';
|
|
|
21
21
|
import { SignalManager } from '@dxos/messaging';
|
|
22
22
|
import { ModelFactory } from '@dxos/model-factory';
|
|
23
23
|
import { NetworkManager } from '@dxos/network-manager';
|
|
24
|
-
import { STORAGE_VERSION, trace } from '@dxos/protocols';
|
|
24
|
+
import { InvalidStorageVersionError, STORAGE_VERSION, trace } from '@dxos/protocols';
|
|
25
25
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
26
26
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
27
27
|
import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
@@ -184,7 +184,7 @@ export class ServiceContext {
|
|
|
184
184
|
private async _checkStorageVersion() {
|
|
185
185
|
await this.metadataStore.load();
|
|
186
186
|
if (this.metadataStore.version !== STORAGE_VERSION) {
|
|
187
|
-
throw new
|
|
187
|
+
throw new InvalidStorageVersionError(STORAGE_VERSION, this.metadataStore.version);
|
|
188
188
|
// TODO(mykola): Migrate storage to a new version if incompatibility is detected.
|
|
189
189
|
}
|
|
190
190
|
}
|
|
@@ -7,11 +7,11 @@ import { AUTH_TIMEOUT } from '@dxos/client-protocol';
|
|
|
7
7
|
import { cancelWithContext, Context } from '@dxos/context';
|
|
8
8
|
import { timed } from '@dxos/debug';
|
|
9
9
|
import { MetadataStore, Space, createMappedFeedWriter, DataPipeline } from '@dxos/echo-pipeline';
|
|
10
|
-
import { CancelledError, SystemError } from '@dxos/errors';
|
|
11
10
|
import { FeedStore } from '@dxos/feed-store';
|
|
12
11
|
import { Keyring } from '@dxos/keyring';
|
|
13
12
|
import { PublicKey } from '@dxos/keys';
|
|
14
13
|
import { log } from '@dxos/log';
|
|
14
|
+
import { CancelledError, SystemError } from '@dxos/protocols';
|
|
15
15
|
import { SpaceState, Space as SpaceProto } from '@dxos/protocols/proto/dxos/client/services';
|
|
16
16
|
import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
17
17
|
import { SpaceCache } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
@@ -101,7 +101,13 @@ export class DataSpace {
|
|
|
101
101
|
this._callbacks = params.callbacks ?? {};
|
|
102
102
|
|
|
103
103
|
this.authVerifier = new TrustedKeySetAuthVerifier({
|
|
104
|
-
trustedKeysProvider: () =>
|
|
104
|
+
trustedKeysProvider: () =>
|
|
105
|
+
new ComplexSet(
|
|
106
|
+
PublicKey.hash,
|
|
107
|
+
Array.from(this._inner.spaceState.members.values())
|
|
108
|
+
.filter((member) => !member.removed)
|
|
109
|
+
.map((member) => member.key),
|
|
110
|
+
),
|
|
105
111
|
update: this._inner.stateUpdate,
|
|
106
112
|
authTimeout: AUTH_TIMEOUT,
|
|
107
113
|
});
|
|
@@ -6,10 +6,10 @@ import { EventSubscriptions, UpdateScheduler, scheduleTask } from '@dxos/async';
|
|
|
6
6
|
import { Stream } from '@dxos/codec-protobuf';
|
|
7
7
|
import { CredentialProcessor } from '@dxos/credentials';
|
|
8
8
|
import { raise } from '@dxos/debug';
|
|
9
|
-
import { DataServiceSubscriptions, SpaceManager
|
|
10
|
-
import {
|
|
9
|
+
import { DataServiceSubscriptions, SpaceManager } from '@dxos/echo-pipeline';
|
|
10
|
+
import { invariant } from '@dxos/invariant';
|
|
11
11
|
import { log } from '@dxos/log';
|
|
12
|
-
import { encodeError } from '@dxos/protocols';
|
|
12
|
+
import { ApiError, SpaceNotFoundError, encodeError } from '@dxos/protocols';
|
|
13
13
|
import {
|
|
14
14
|
CreateEpochRequest,
|
|
15
15
|
PostMessageRequest,
|
|
@@ -140,8 +140,8 @@ export class SpacesServiceImpl implements SpacesService {
|
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
queryCredentials({ spaceKey }: QueryCredentialsRequest): Stream<Credential> {
|
|
144
|
-
return new Stream(({ ctx, next }) => {
|
|
143
|
+
queryCredentials({ spaceKey, noTail }: QueryCredentialsRequest): Stream<Credential> {
|
|
144
|
+
return new Stream(({ ctx, next, close }) => {
|
|
145
145
|
const space = this._spaceManager.spaces.get(spaceKey) ?? raise(new SpaceNotFoundError(spaceKey));
|
|
146
146
|
|
|
147
147
|
const processor: CredentialProcessor = {
|
|
@@ -150,14 +150,31 @@ export class SpacesServiceImpl implements SpacesService {
|
|
|
150
150
|
},
|
|
151
151
|
};
|
|
152
152
|
ctx.onDispose(() => space.spaceState.removeCredentialProcessor(processor));
|
|
153
|
-
scheduleTask(ctx, () =>
|
|
153
|
+
scheduleTask(ctx, async () => {
|
|
154
|
+
await space.spaceState.addCredentialProcessor(processor);
|
|
155
|
+
if (noTail) {
|
|
156
|
+
close();
|
|
157
|
+
}
|
|
158
|
+
});
|
|
154
159
|
});
|
|
155
160
|
}
|
|
156
161
|
|
|
157
162
|
async writeCredentials({ spaceKey, credentials }: WriteCredentialsRequest) {
|
|
158
163
|
const space = this._spaceManager.spaces.get(spaceKey) ?? raise(new SpaceNotFoundError(spaceKey));
|
|
159
164
|
for (const credential of credentials ?? []) {
|
|
160
|
-
|
|
165
|
+
if (credential.proof) {
|
|
166
|
+
await space.controlPipeline.writer.write({ credential: { credential } });
|
|
167
|
+
} else {
|
|
168
|
+
invariant(!credential.id, 'Id on unsigned credentials is not allowed');
|
|
169
|
+
invariant(this._identityManager.identity, 'Identity is not available');
|
|
170
|
+
const signer = this._identityManager.identity.getIdentityCredentialSigner();
|
|
171
|
+
invariant(credential.issuer.equals(signer.getIssuer()));
|
|
172
|
+
const signedCredential = await signer.createCredential({
|
|
173
|
+
subject: credential.subject.id,
|
|
174
|
+
assertion: credential.subject.assertion,
|
|
175
|
+
});
|
|
176
|
+
await space.controlPipeline.writer.write({ credential: { credential: signedCredential } });
|
|
177
|
+
}
|
|
161
178
|
}
|
|
162
179
|
}
|
|
163
180
|
|
|
@@ -202,7 +219,11 @@ export class SpacesServiceImpl implements SpacesService {
|
|
|
202
219
|
displayName: member.assertion.profile?.displayName,
|
|
203
220
|
},
|
|
204
221
|
},
|
|
205
|
-
presence:
|
|
222
|
+
presence: member.removed
|
|
223
|
+
? SpaceMember.PresenceState.REMOVED
|
|
224
|
+
: isMe || peers.length > 0
|
|
225
|
+
? SpaceMember.PresenceState.ONLINE
|
|
226
|
+
: SpaceMember.PresenceState.OFFLINE,
|
|
206
227
|
peerStates: peers,
|
|
207
228
|
};
|
|
208
229
|
}),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
|
|
7
7
|
import { DX_DATA } from '@dxos/client-protocol';
|
|
8
|
-
import { InvalidConfigError } from '@dxos/
|
|
8
|
+
import { InvalidConfigError } from '@dxos/protocols';
|
|
9
9
|
import { Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
10
10
|
import { createStorage, StorageType } from '@dxos/random-access-storage';
|
|
11
11
|
import { isNode } from '@dxos/util';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { Trigger } from '@dxos/async';
|
|
6
|
-
import {
|
|
6
|
+
import { AuthenticatingInvitation, CancellableInvitation } from '@dxos/client-protocol';
|
|
7
7
|
import { invariant } from '@dxos/invariant';
|
|
8
8
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
9
9
|
|
|
@@ -25,11 +25,11 @@ export const sanitizeInvitation = (invitation: Invitation): Invitation => {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export type InvitationHost = {
|
|
28
|
-
|
|
28
|
+
share(options?: Partial<Invitation>): CancellableInvitation;
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export type InvitationGuest = {
|
|
32
|
-
|
|
32
|
+
join(invitation: Invitation | string): AuthenticatingInvitation;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export type PerformInvitationCallbacks<T> = {
|
|
@@ -48,8 +48,8 @@ export type PerformInvitationParams = {
|
|
|
48
48
|
guest: ServiceContext | InvitationGuest;
|
|
49
49
|
options?: Partial<Invitation>;
|
|
50
50
|
hooks?: {
|
|
51
|
-
host?: PerformInvitationCallbacks<
|
|
52
|
-
guest?: PerformInvitationCallbacks<
|
|
51
|
+
host?: PerformInvitationCallbacks<CancellableInvitation>;
|
|
52
|
+
guest?: PerformInvitationCallbacks<AuthenticatingInvitation>;
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
|
|
@@ -196,7 +196,7 @@ export const performInvitation = ({
|
|
|
196
196
|
const createInvitation = (
|
|
197
197
|
host: ServiceContext | InvitationHost,
|
|
198
198
|
options?: Partial<Invitation>,
|
|
199
|
-
):
|
|
199
|
+
): CancellableInvitation => {
|
|
200
200
|
options ??= {
|
|
201
201
|
authMethod: Invitation.AuthMethod.NONE,
|
|
202
202
|
...(options ?? {}),
|
|
@@ -207,13 +207,13 @@ const createInvitation = (
|
|
|
207
207
|
return host.invitations.createInvitation(hostHandler, options);
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
return host.
|
|
210
|
+
return host.share(options);
|
|
211
211
|
};
|
|
212
212
|
|
|
213
213
|
const acceptInvitation = (
|
|
214
214
|
guest: ServiceContext | InvitationGuest,
|
|
215
215
|
invitation: Invitation,
|
|
216
|
-
):
|
|
216
|
+
): AuthenticatingInvitation => {
|
|
217
217
|
invitation = sanitizeInvitation(invitation);
|
|
218
218
|
|
|
219
219
|
if (guest instanceof ServiceContext) {
|
|
@@ -221,5 +221,5 @@ const acceptInvitation = (
|
|
|
221
221
|
return guest.invitations.acceptInvitation(guestHandler, invitation);
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
return guest.
|
|
224
|
+
return guest.join(invitation);
|
|
225
225
|
};
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
import { Trigger } from '@dxos/async';
|
|
6
6
|
import { iframeServiceBundle, ShellRuntime, workerServiceBundle, WorkerServiceBundle } from '@dxos/client-protocol';
|
|
7
7
|
import { Config } from '@dxos/config';
|
|
8
|
-
import { RemoteServiceConnectionError } from '@dxos/errors';
|
|
9
8
|
import { log } from '@dxos/log';
|
|
10
9
|
import { SimplePeerTransportService } from '@dxos/network-manager';
|
|
10
|
+
import { RemoteServiceConnectionError } from '@dxos/protocols';
|
|
11
11
|
import { BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';
|
|
12
12
|
import { createProtoRpcPeer, ProtoRpcPeer, RpcPort } from '@dxos/rpc';
|
|
13
13
|
import { getAsyncValue, MaybePromise, Provider } from '@dxos/util';
|
|
@@ -33,11 +33,11 @@ export class ShellRuntimeImpl implements ShellRuntime {
|
|
|
33
33
|
return this._spaceKey;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
setLayout(layout
|
|
36
|
+
setLayout({ layout, invitationCode, spaceKey }: LayoutRequest) {
|
|
37
37
|
this._layout = layout;
|
|
38
|
-
this._invitationCode =
|
|
39
|
-
this._spaceKey =
|
|
40
|
-
this.layoutUpdate.emit({ layout,
|
|
38
|
+
this._invitationCode = invitationCode;
|
|
39
|
+
this._spaceKey = spaceKey;
|
|
40
|
+
this.layoutUpdate.emit({ layout, invitationCode, spaceKey });
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
async setAppContext(context: AppContextRequest) {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.1.58-main.
|
|
1
|
+
export const DXOS_VERSION = "0.1.58-main.f5feb2a";
|