@dxos/protocols 0.4.10-main.c42bfdb → 0.4.10-main.c75170d
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/cjs/src/indexing.d.ts +4 -3
- package/dist/cjs/src/indexing.d.ts.map +1 -1
- package/dist/cjs/src/indexing.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +29 -3
- package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/client/services.js +2 -1
- package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/config.d.ts +5 -0
- package/dist/cjs/src/proto/gen/dxos/config.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/config.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +23 -2
- package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +1 -0
- package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts +6 -2
- package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/index.d.ts +1 -0
- package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/index.js +1 -1
- package/dist/cjs/src/proto/gen/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/indexing.d.ts +4 -3
- package/dist/esm/src/indexing.d.ts.map +1 -1
- package/dist/esm/src/indexing.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/client/services.d.ts +29 -3
- package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/dxos/client/services.js +2 -1
- package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/config.d.ts +5 -0
- package/dist/esm/src/proto/gen/dxos/config.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/dxos/config.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +23 -2
- package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/dxos/halo/invitations.js +1 -0
- package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts +6 -2
- package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/index.d.ts +1 -0
- package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/index.js +1 -1
- package/dist/esm/src/proto/gen/index.js.map +1 -1
- package/package.json +5 -5
- package/src/indexing.ts +5 -4
- package/src/proto/dxos/client/services.proto +20 -4
- package/src/proto/dxos/config.proto +5 -1
- package/src/proto/dxos/halo/invitations.proto +9 -1
- package/src/proto/dxos/mesh/swarm.proto +11 -3
- package/src/proto/gen/dxos/client/services.ts +29 -3
- package/src/proto/gen/dxos/config.ts +5 -0
- package/src/proto/gen/dxos/halo/invitations.ts +23 -2
- package/src/proto/gen/dxos/mesh/swarm.ts +6 -2
- package/src/proto/gen/index.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8DhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8DhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AA6hB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,mmuGAAmmuG,CAAC,CAAC,CAAC;AAC5puG,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/protocols",
|
|
3
|
-
"version": "0.4.10-main.
|
|
3
|
+
"version": "0.4.10-main.c75170d",
|
|
4
4
|
"description": "Protobuf definitions for DXOS protocols.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"src"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/keys": "0.4.10-main.
|
|
38
|
-
"@dxos/timeframe": "0.4.10-main.
|
|
39
|
-
"@dxos/
|
|
36
|
+
"@dxos/invariant": "0.4.10-main.c75170d",
|
|
37
|
+
"@dxos/keys": "0.4.10-main.c75170d",
|
|
38
|
+
"@dxos/timeframe": "0.4.10-main.c75170d",
|
|
39
|
+
"@dxos/codec-protobuf": "0.4.10-main.c75170d"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"glob": "~7.1.6"
|
package/src/indexing.ts
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
export type IdDecoded = {
|
|
5
|
+
export type ObjectPointerDecoded = {
|
|
7
6
|
documentId: string;
|
|
8
7
|
objectId: string;
|
|
9
8
|
};
|
|
10
9
|
|
|
10
|
+
export type ObjectPointerEncoded = string;
|
|
11
|
+
|
|
11
12
|
export const idCodec = {
|
|
12
|
-
encode: ({ documentId, objectId }:
|
|
13
|
-
decode: (id:
|
|
13
|
+
encode: ({ documentId, objectId }: ObjectPointerDecoded): ObjectPointerEncoded => `${documentId}|${objectId}`,
|
|
14
|
+
decode: (id: ObjectPointerEncoded): ObjectPointerDecoded => {
|
|
14
15
|
const [documentId, objectId] = id.split('|');
|
|
15
16
|
return { documentId, objectId };
|
|
16
17
|
},
|
|
@@ -405,9 +405,12 @@ message Invitation {
|
|
|
405
405
|
enum Type {
|
|
406
406
|
/// Requires both to be online to complete key exchange.
|
|
407
407
|
INTERACTIVE = 0;
|
|
408
|
-
///
|
|
409
|
-
|
|
410
|
-
|
|
408
|
+
/// Invitation can be accepted by any valid peer.
|
|
409
|
+
DELEGATED = 1;
|
|
410
|
+
/**
|
|
411
|
+
* Multi-use interactive invitations.
|
|
412
|
+
* @deprecated use multiUse flag with type=interactive instead.
|
|
413
|
+
*/
|
|
411
414
|
MULTIUSE = 2;
|
|
412
415
|
}
|
|
413
416
|
|
|
@@ -422,6 +425,9 @@ message Invitation {
|
|
|
422
425
|
|
|
423
426
|
/// Guest should call `Authenticate` with the shared secret.
|
|
424
427
|
SHARED_SECRET = 1;
|
|
428
|
+
|
|
429
|
+
/// Guest should prove they possess a private key corresponding to the known public key recorded in an invitation.
|
|
430
|
+
KNOWN_PUBLIC_KEY = 2;
|
|
425
431
|
}
|
|
426
432
|
|
|
427
433
|
enum State {
|
|
@@ -480,6 +486,17 @@ message Invitation {
|
|
|
480
486
|
// TODO(nf): some feedback mechanism or GC for immortal invitations?
|
|
481
487
|
// TODO(nf): should the creator have a way to make an invitation last as long as the client? this was the previous behavior.
|
|
482
488
|
optional int32 lifetime = 14;
|
|
489
|
+
|
|
490
|
+
/// Whether an invitation can be used multiple times.
|
|
491
|
+
optional bool multi_use = 15;
|
|
492
|
+
|
|
493
|
+
/// Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
|
|
494
|
+
optional AdmissionKeypair guest_keypair = 16;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
message AdmissionKeypair {
|
|
498
|
+
dxos.keys.PublicKey public_key = 1;
|
|
499
|
+
optional dxos.keys.PrivateKey private_key = 2;
|
|
483
500
|
}
|
|
484
501
|
|
|
485
502
|
message AcceptInvitationRequest {
|
|
@@ -534,7 +551,6 @@ service InvitationsService {
|
|
|
534
551
|
rpc Authenticate(AuthenticationRequest) returns (google.protobuf.Empty);
|
|
535
552
|
rpc CancelInvitation(CancelInvitationRequest) returns (google.protobuf.Empty);
|
|
536
553
|
rpc QueryInvitations(google.protobuf.Empty) returns (stream QueryInvitationsResponse);
|
|
537
|
-
rpc LoadPersistentInvitations(google.protobuf.Empty) returns (LoadPersistentInvitationsResponse);
|
|
538
554
|
}
|
|
539
555
|
|
|
540
556
|
//
|
|
@@ -131,9 +131,13 @@ message Runtime {
|
|
|
131
131
|
/// Location of the remote client host.
|
|
132
132
|
// TODO(burdon): Rename vault_endpoint (generalize http/ws; drop vault.html).
|
|
133
133
|
optional string remote_source = 6;
|
|
134
|
-
|
|
134
|
+
|
|
135
|
+
// Authenticate via `Sec-WebSocket-Protocol` header hack.
|
|
136
|
+
optional string remote_source_authentication_token = 8;
|
|
137
|
+
|
|
135
138
|
/// Connect to and serve client services to a remote proxy.
|
|
136
139
|
optional string devtools_proxy = 7;
|
|
140
|
+
|
|
137
141
|
}
|
|
138
142
|
|
|
139
143
|
message App {
|
|
@@ -33,12 +33,19 @@ message IntroductionRequest {
|
|
|
33
33
|
message IntroductionResponse {
|
|
34
34
|
dxos.client.services.Invitation.AuthMethod auth_method = 1;
|
|
35
35
|
|
|
36
|
+
/// Present when auth_method is KNOWN_PUBLIC_KEY.
|
|
37
|
+
optional bytes challenge = 2;
|
|
38
|
+
|
|
36
39
|
/// Only present for testing invitation types.
|
|
37
40
|
optional dxos.keys.PublicKey space_key = 100;
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
message AuthenticationRequest {
|
|
41
|
-
|
|
44
|
+
/// Present when auth_method is SHARED_SECRET.
|
|
45
|
+
optional string auth_code = 1;
|
|
46
|
+
|
|
47
|
+
/// Present when auth_method is KNOWN_PUBLIC_KEY.
|
|
48
|
+
optional bytes signed_challenge = 2;
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
message AuthenticationResponse {
|
|
@@ -47,6 +54,7 @@ message AuthenticationResponse {
|
|
|
47
54
|
INVALID_OTP = 1;
|
|
48
55
|
INVALID_OPT_ATTEMPTS = 2;
|
|
49
56
|
INTERNAL_ERROR = 3;
|
|
57
|
+
INVALID_SIGNATURE = 4;
|
|
50
58
|
}
|
|
51
59
|
|
|
52
60
|
optional Status status = 1;
|
|
@@ -9,14 +9,19 @@ import "dxos/keys.proto";
|
|
|
9
9
|
|
|
10
10
|
package dxos.mesh.swarm;
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Use for:
|
|
14
|
+
* - Initial peer discovery (initiate session id between two peers).
|
|
15
|
+
* - RTC negotiation (SDP offer/answer and ICE).
|
|
16
|
+
*/
|
|
12
17
|
message SwarmMessage {
|
|
13
|
-
/// Swarm
|
|
18
|
+
/// Swarm identifier.
|
|
14
19
|
dxos.keys.PublicKey topic = 3;
|
|
15
20
|
/// Unique connection identifier.
|
|
16
21
|
dxos.keys.PublicKey session_id = 4;
|
|
17
22
|
/// Message payload.
|
|
18
23
|
MessageData data = 5;
|
|
19
|
-
/// Unique message identifier. Used for
|
|
24
|
+
/// Unique message identifier. Used for ACK and matching Answers to Offers.
|
|
20
25
|
dxos.keys.PublicKey message_id = 6;
|
|
21
26
|
}
|
|
22
27
|
|
|
@@ -29,7 +34,6 @@ message MessageData {
|
|
|
29
34
|
* @deprecated Use SignalBatch instead.
|
|
30
35
|
*/
|
|
31
36
|
Signal signal = 3;
|
|
32
|
-
|
|
33
37
|
SignalBatch signal_batch = 4;
|
|
34
38
|
}
|
|
35
39
|
}
|
|
@@ -43,6 +47,10 @@ message Answer {
|
|
|
43
47
|
optional dxos.keys.PublicKey offer_message_id = 2;
|
|
44
48
|
}
|
|
45
49
|
|
|
50
|
+
//
|
|
51
|
+
// RTC messages.
|
|
52
|
+
//
|
|
53
|
+
|
|
46
54
|
message Signal {
|
|
47
55
|
google.protobuf.Struct payload = 1;
|
|
48
56
|
}
|
|
@@ -925,6 +925,20 @@ export interface Invitation {
|
|
|
925
925
|
* - proto3_optional = true
|
|
926
926
|
*/
|
|
927
927
|
lifetime?: number;
|
|
928
|
+
/**
|
|
929
|
+
* Whether an invitation can be used multiple times.
|
|
930
|
+
*
|
|
931
|
+
* Options:
|
|
932
|
+
* - proto3_optional = true
|
|
933
|
+
*/
|
|
934
|
+
multiUse?: boolean;
|
|
935
|
+
/**
|
|
936
|
+
* Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
|
|
937
|
+
*
|
|
938
|
+
* Options:
|
|
939
|
+
* - proto3_optional = true
|
|
940
|
+
*/
|
|
941
|
+
guestKeypair?: AdmissionKeypair;
|
|
928
942
|
}
|
|
929
943
|
export namespace Invitation {
|
|
930
944
|
/**
|
|
@@ -933,7 +947,7 @@ export namespace Invitation {
|
|
|
933
947
|
*/
|
|
934
948
|
export enum Type {
|
|
935
949
|
INTERACTIVE = 0,
|
|
936
|
-
|
|
950
|
+
DELEGATED = 1,
|
|
937
951
|
MULTIUSE = 2
|
|
938
952
|
}
|
|
939
953
|
/**
|
|
@@ -950,7 +964,8 @@ export namespace Invitation {
|
|
|
950
964
|
*/
|
|
951
965
|
export enum AuthMethod {
|
|
952
966
|
NONE = 0,
|
|
953
|
-
SHARED_SECRET = 1
|
|
967
|
+
SHARED_SECRET = 1,
|
|
968
|
+
KNOWN_PUBLIC_KEY = 2
|
|
954
969
|
}
|
|
955
970
|
/**
|
|
956
971
|
* Defined in:
|
|
@@ -969,6 +984,18 @@ export namespace Invitation {
|
|
|
969
984
|
EXPIRED = 9
|
|
970
985
|
}
|
|
971
986
|
}
|
|
987
|
+
/**
|
|
988
|
+
* Defined in:
|
|
989
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
990
|
+
*/
|
|
991
|
+
export interface AdmissionKeypair {
|
|
992
|
+
publicKey: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
993
|
+
/**
|
|
994
|
+
* Options:
|
|
995
|
+
* - proto3_optional = true
|
|
996
|
+
*/
|
|
997
|
+
privateKey?: ReturnType<(typeof substitutions)["dxos.keys.PrivateKey"]["decode"]>;
|
|
998
|
+
}
|
|
972
999
|
/**
|
|
973
1000
|
* Defined in:
|
|
974
1001
|
* {@link file://./../../../dxos/client/services.proto}
|
|
@@ -1055,7 +1082,6 @@ export interface InvitationsService {
|
|
|
1055
1082
|
authenticate: (request: AuthenticationRequest, options?: RequestOptions) => Promise<void>;
|
|
1056
1083
|
cancelInvitation: (request: CancelInvitationRequest, options?: RequestOptions) => Promise<void>;
|
|
1057
1084
|
queryInvitations: (request: void, options?: RequestOptions) => Stream<QueryInvitationsResponse>;
|
|
1058
|
-
loadPersistentInvitations: (request: void, options?: RequestOptions) => Promise<LoadPersistentInvitationsResponse>;
|
|
1059
1085
|
}
|
|
1060
1086
|
/**
|
|
1061
1087
|
* Defined in:
|
|
@@ -291,6 +291,11 @@ export namespace Runtime {
|
|
|
291
291
|
* - proto3_optional = true
|
|
292
292
|
*/
|
|
293
293
|
remoteSource?: string;
|
|
294
|
+
/**
|
|
295
|
+
* Options:
|
|
296
|
+
* - proto3_optional = true
|
|
297
|
+
*/
|
|
298
|
+
remoteSourceAuthenticationToken?: string;
|
|
294
299
|
/**
|
|
295
300
|
* Connect to and serve client services to a remote proxy.
|
|
296
301
|
*
|
|
@@ -104,6 +104,13 @@ export interface IntroductionRequest {
|
|
|
104
104
|
*/
|
|
105
105
|
export interface IntroductionResponse {
|
|
106
106
|
authMethod: dxos_client_services.Invitation.AuthMethod;
|
|
107
|
+
/**
|
|
108
|
+
* Present when auth_method is KNOWN_PUBLIC_KEY.
|
|
109
|
+
*
|
|
110
|
+
* Options:
|
|
111
|
+
* - proto3_optional = true
|
|
112
|
+
*/
|
|
113
|
+
challenge?: Uint8Array;
|
|
107
114
|
/**
|
|
108
115
|
* Only present for testing invitation types.
|
|
109
116
|
*
|
|
@@ -117,7 +124,20 @@ export interface IntroductionResponse {
|
|
|
117
124
|
* {@link file://./../../../dxos/halo/invitations.proto}
|
|
118
125
|
*/
|
|
119
126
|
export interface AuthenticationRequest {
|
|
120
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Present when auth_method is SHARED_SECRET.
|
|
129
|
+
*
|
|
130
|
+
* Options:
|
|
131
|
+
* - proto3_optional = true
|
|
132
|
+
*/
|
|
133
|
+
authCode?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Present when auth_method is KNOWN_PUBLIC_KEY.
|
|
136
|
+
*
|
|
137
|
+
* Options:
|
|
138
|
+
* - proto3_optional = true
|
|
139
|
+
*/
|
|
140
|
+
signedChallenge?: Uint8Array;
|
|
121
141
|
}
|
|
122
142
|
/**
|
|
123
143
|
* Defined in:
|
|
@@ -139,7 +159,8 @@ export namespace AuthenticationResponse {
|
|
|
139
159
|
OK = 0,
|
|
140
160
|
INVALID_OTP = 1,
|
|
141
161
|
INVALID_OPT_ATTEMPTS = 2,
|
|
142
|
-
INTERNAL_ERROR = 3
|
|
162
|
+
INTERNAL_ERROR = 3,
|
|
163
|
+
INVALID_SIGNATURE = 4
|
|
143
164
|
}
|
|
144
165
|
}
|
|
145
166
|
/**
|
|
@@ -61,12 +61,16 @@ import * as example_testing_data from "../../example/testing/data";
|
|
|
61
61
|
import * as example_testing_rpc from "../../example/testing/rpc";
|
|
62
62
|
import * as google_protobuf from "../../google/protobuf";
|
|
63
63
|
/**
|
|
64
|
+
* Use for:
|
|
65
|
+
* - Initial peer discovery (initiate session id between two peers).
|
|
66
|
+
* - RTC negotiation (SDP offer/answer and ICE).
|
|
67
|
+
*
|
|
64
68
|
* Defined in:
|
|
65
69
|
* {@link file://./../../../dxos/mesh/swarm.proto}
|
|
66
70
|
*/
|
|
67
71
|
export interface SwarmMessage {
|
|
68
72
|
/**
|
|
69
|
-
* Swarm
|
|
73
|
+
* Swarm identifier.
|
|
70
74
|
*/
|
|
71
75
|
topic: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
72
76
|
/**
|
|
@@ -78,7 +82,7 @@ export interface SwarmMessage {
|
|
|
78
82
|
*/
|
|
79
83
|
data: MessageData;
|
|
80
84
|
/**
|
|
81
|
-
* Unique message identifier. Used for
|
|
85
|
+
* Unique message identifier. Used for ACK and matching Answers to Offers.
|
|
82
86
|
*/
|
|
83
87
|
messageId: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
84
88
|
}
|