@dxos/protocols 0.4.10-main.fd4f2a3 → 0.4.10-main.fda6f37

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.
Files changed (46) hide show
  1. package/dist/cjs/src/indexing.d.ts +4 -3
  2. package/dist/cjs/src/indexing.d.ts.map +1 -1
  3. package/dist/cjs/src/indexing.js.map +1 -1
  4. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +29 -2
  5. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  6. package/dist/cjs/src/proto/gen/dxos/client/services.js +2 -1
  7. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  8. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts +0 -1
  9. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  10. package/dist/cjs/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  11. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +23 -2
  12. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  13. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +1 -0
  14. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  15. package/dist/cjs/src/proto/gen/index.d.ts +1 -0
  16. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/index.js +1 -1
  18. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  19. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  20. package/dist/esm/src/indexing.d.ts +4 -3
  21. package/dist/esm/src/indexing.d.ts.map +1 -1
  22. package/dist/esm/src/indexing.js.map +1 -1
  23. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +29 -2
  24. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  25. package/dist/esm/src/proto/gen/dxos/client/services.js +2 -1
  26. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  27. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts +0 -1
  28. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  29. package/dist/esm/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  30. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +23 -2
  31. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  32. package/dist/esm/src/proto/gen/dxos/halo/invitations.js +1 -0
  33. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  34. package/dist/esm/src/proto/gen/index.d.ts +1 -0
  35. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  36. package/dist/esm/src/proto/gen/index.js +1 -1
  37. package/dist/esm/src/proto/gen/index.js.map +1 -1
  38. package/package.json +5 -5
  39. package/src/indexing.ts +5 -4
  40. package/src/proto/dxos/client/services.proto +20 -3
  41. package/src/proto/dxos/echo/model/document.proto +0 -3
  42. package/src/proto/dxos/halo/invitations.proto +9 -1
  43. package/src/proto/gen/dxos/client/services.ts +29 -2
  44. package/src/proto/gen/dxos/echo/model/document.ts +0 -1
  45. package/src/proto/gen/dxos/halo/invitations.ts +23 -2
  46. 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;AA4hB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,wksGAAwksG,CAAC,CAAC,CAAC;AACjosG,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,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,g7tGAAg7tG,CAAC,CAAC,CAAC;AACz+tG,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.fd4f2a3",
3
+ "version": "0.4.10-main.fda6f37",
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/invariant": "0.4.10-main.fd4f2a3",
37
- "@dxos/codec-protobuf": "0.4.10-main.fd4f2a3",
38
- "@dxos/timeframe": "0.4.10-main.fd4f2a3",
39
- "@dxos/keys": "0.4.10-main.fd4f2a3"
36
+ "@dxos/codec-protobuf": "0.4.10-main.fda6f37",
37
+ "@dxos/timeframe": "0.4.10-main.fda6f37",
38
+ "@dxos/invariant": "0.4.10-main.fda6f37",
39
+ "@dxos/keys": "0.4.10-main.fda6f37"
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
- // TODO(dmaretskyi): Rename ObjectPointer{Decoded/Encoded}.
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 }: IdDecoded) => `${documentId}|${objectId}`,
13
- decode: (id: string): IdDecoded => {
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
- /// Guest's identity key is known; invitation can be accepted by any valid peer.
409
- OFFLINE = 1;
410
- /// Multiple-use interactive invitation.
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 {
@@ -32,9 +32,6 @@ message Value {
32
32
  Array array = 21;
33
33
 
34
34
  Reference reference = 30;
35
-
36
- // YJS state snapshot.
37
- YJS yjs = 40;
38
35
  }
39
36
  }
40
37
 
@@ -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
- string auth_code = 1;
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;
@@ -750,6 +750,20 @@ export interface Invitation {
750
750
  * - proto3_optional = true
751
751
  */
752
752
  lifetime?: number;
753
+ /**
754
+ * Whether an invitation can be used multiple times.
755
+ *
756
+ * Options:
757
+ * - proto3_optional = true
758
+ */
759
+ multiUse?: boolean;
760
+ /**
761
+ * Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
762
+ *
763
+ * Options:
764
+ * - proto3_optional = true
765
+ */
766
+ guestKeypair?: AdmissionKeypair;
753
767
  }
754
768
  export namespace Invitation {
755
769
  /**
@@ -758,7 +772,7 @@ export namespace Invitation {
758
772
  */
759
773
  export enum Type {
760
774
  INTERACTIVE = 0,
761
- OFFLINE = 1,
775
+ DELEGATED = 1,
762
776
  MULTIUSE = 2
763
777
  }
764
778
  /**
@@ -775,7 +789,8 @@ export namespace Invitation {
775
789
  */
776
790
  export enum AuthMethod {
777
791
  NONE = 0,
778
- SHARED_SECRET = 1
792
+ SHARED_SECRET = 1,
793
+ KNOWN_PUBLIC_KEY = 2
779
794
  }
780
795
  /**
781
796
  * Defined in:
@@ -794,6 +809,18 @@ export namespace Invitation {
794
809
  EXPIRED = 9
795
810
  }
796
811
  }
812
+ /**
813
+ * Defined in:
814
+ * {@link file://./../../../dxos/client/services.proto}
815
+ */
816
+ export interface AdmissionKeypair {
817
+ publicKey: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
818
+ /**
819
+ * Options:
820
+ * - proto3_optional = true
821
+ */
822
+ privateKey?: ReturnType<(typeof substitutions)["dxos.keys.PrivateKey"]["decode"]>;
823
+ }
797
824
  /**
798
825
  * Defined in:
799
826
  * {@link file://./../../../dxos/client/services.proto}
@@ -78,7 +78,6 @@ export interface Value {
78
78
  object?: KeyValueObject;
79
79
  array?: Array;
80
80
  reference?: Reference;
81
- yjs?: YJS;
82
81
  }
83
82
  /**
84
83
  * Ordered collection of values.
@@ -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
- authCode: string;
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
  /**