@dxos/protocols 0.6.3-main.6906e91 → 0.6.3-main.98b0ce6

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 (75) hide show
  1. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +184 -187
  2. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  3. package/dist/cjs/src/proto/gen/dxos/client/services.js +67 -70
  4. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  5. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  6. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  7. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts +3 -3
  8. package/dist/cjs/src/proto/gen/dxos/echo/object.d.ts +2 -2
  9. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +4 -4
  10. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  11. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +5 -5
  12. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  13. package/dist/cjs/src/proto/gen/dxos/halo/keys.d.ts +10 -0
  14. package/dist/cjs/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  15. package/dist/cjs/src/proto/gen/dxos/halo/signed.d.ts +4 -5
  16. package/dist/cjs/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/gossip.d.ts +1 -1
  18. package/dist/cjs/src/proto/gen/google/protobuf.d.ts +0 -5
  19. package/dist/cjs/src/proto/gen/google/protobuf.d.ts.map +1 -1
  20. package/dist/cjs/src/proto/gen/google/protobuf.js.map +1 -1
  21. package/dist/cjs/src/proto/gen/index.d.ts +4 -3
  22. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  23. package/dist/cjs/src/proto/gen/index.js +1 -1
  24. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  25. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  26. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +184 -187
  27. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  28. package/dist/esm/src/proto/gen/dxos/client/services.js +66 -69
  29. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  30. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  31. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  32. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts +3 -3
  33. package/dist/esm/src/proto/gen/dxos/echo/object.d.ts +2 -2
  34. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +4 -4
  35. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  36. package/dist/esm/src/proto/gen/dxos/halo/invitations.js +4 -4
  37. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  38. package/dist/esm/src/proto/gen/dxos/halo/keys.d.ts +10 -0
  39. package/dist/esm/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  40. package/dist/esm/src/proto/gen/dxos/halo/signed.d.ts +4 -5
  41. package/dist/esm/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  42. package/dist/esm/src/proto/gen/dxos/mesh/teleport/gossip.d.ts +1 -1
  43. package/dist/esm/src/proto/gen/google/protobuf.d.ts +0 -5
  44. package/dist/esm/src/proto/gen/google/protobuf.d.ts.map +1 -1
  45. package/dist/esm/src/proto/gen/google/protobuf.js.map +1 -1
  46. package/dist/esm/src/proto/gen/index.d.ts +4 -3
  47. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  48. package/dist/esm/src/proto/gen/index.js +1 -1
  49. package/dist/esm/src/proto/gen/index.js.map +1 -1
  50. package/package.json +7 -16
  51. package/src/proto/dxos/agent/dashboard.proto +2 -3
  52. package/src/proto/dxos/bot.proto +1 -2
  53. package/src/proto/dxos/client/logging.proto +0 -3
  54. package/src/proto/dxos/client/services.proto +144 -10
  55. package/src/proto/dxos/config.proto +10 -10
  56. package/src/proto/dxos/echo/metadata.proto +14 -10
  57. package/src/proto/dxos/echo/object.proto +2 -4
  58. package/src/proto/dxos/halo/credentials.proto +0 -2
  59. package/src/proto/dxos/halo/invitations.proto +3 -3
  60. package/src/proto/dxos/halo/keys.proto +12 -0
  61. package/src/proto/dxos/halo/signed.proto +6 -10
  62. package/src/proto/dxos/mesh/presence.proto +1 -3
  63. package/src/proto/dxos/mesh/teleport/gossip.proto +1 -3
  64. package/src/proto/gen/dxos/client/services.ts +184 -187
  65. package/src/proto/gen/dxos/devtools/host.ts +31 -31
  66. package/src/proto/gen/dxos/echo/metadata.ts +3 -3
  67. package/src/proto/gen/dxos/echo/object.ts +2 -2
  68. package/src/proto/gen/dxos/halo/invitations.ts +4 -4
  69. package/src/proto/gen/dxos/halo/keys.ts +9 -0
  70. package/src/proto/gen/dxos/halo/signed.ts +3 -5
  71. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -1
  72. package/src/proto/gen/google/protobuf.ts +0 -5
  73. package/src/proto/gen/index.ts +5 -4
  74. package/src/proto/dxos/client/invitation.proto +0 -171
  75. package/src/proto/dxos/field_options.proto +0 -11
@@ -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;AAgEhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAyjB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,ow8GAAow8G,CAAC,CAAC,CAAC;AAC7z8G,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;AAgEhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AA0jB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,oq7GAAoq7G,CAAC,CAAC,CAAC;AAC7t7G,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.6.3-main.6906e91",
3
+ "version": "0.6.3-main.98b0ce6",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -18,12 +18,6 @@
18
18
  "import": "./dist/esm/src/proto/gen/*.js",
19
19
  "require": "./dist/cjs/src/proto/gen/*.js",
20
20
  "node": "./dist/cjs/src/proto/gen/*.js"
21
- },
22
- "./buf/*": {
23
- "browser": "./dist/esm/src/buf/gen/*.js",
24
- "import": "./dist/esm/src/buf/gen/*.js",
25
- "require": "./dist/cjs/src/buf/gen/*.js",
26
- "node": "./dist/cjs/src/buf/gen/*.js"
27
21
  }
28
22
  },
29
23
  "types": "dist/esm/src/index.d.ts",
@@ -40,22 +34,19 @@
40
34
  ],
41
35
  "dependencies": {
42
36
  "@effect/schema": "^0.67.16",
43
- "@dxos/codec-protobuf": "0.6.3-main.6906e91",
44
- "@dxos/keys": "0.6.3-main.6906e91",
45
- "@dxos/invariant": "0.6.3-main.6906e91",
46
- "@dxos/timeframe": "0.6.3-main.6906e91",
47
- "@dxos/util": "0.6.3-main.6906e91"
37
+ "@dxos/keys": "0.6.3-main.98b0ce6",
38
+ "@dxos/timeframe": "0.6.3-main.98b0ce6",
39
+ "@dxos/util": "0.6.3-main.98b0ce6",
40
+ "@dxos/codec-protobuf": "0.6.3-main.98b0ce6",
41
+ "@dxos/invariant": "0.6.3-main.98b0ce6"
48
42
  },
49
43
  "devDependencies": {
50
- "@bufbuild/buf": "^1.32.2",
51
- "@bufbuild/protoc-gen-es": "^1.10.0",
52
44
  "glob": "~7.1.6"
53
45
  },
54
46
  "publishConfig": {
55
47
  "access": "public"
56
48
  },
57
49
  "scripts": {
58
- "compile:buf": "buf generate",
59
- "tsc:cjs": "rm -rf dist/cjs; tsc --module commonjs --target es2018 --outdir ./dist/cjs"
50
+ "tsc-cjs": "rm -rf dist/cjs; tsc --module commonjs --target es2018 --outdir ./dist/cjs"
60
51
  }
61
52
  }
@@ -4,13 +4,12 @@
4
4
 
5
5
  syntax = "proto3";
6
6
 
7
+ package dxos.agent.dashboard;
7
8
  import "google/protobuf/empty.proto";
8
9
  import "google/protobuf/struct.proto";
9
10
 
10
11
  import "dxos/config.proto";
11
12
 
12
- package dxos.agent.dashboard;
13
-
14
13
  message AgentStatus {
15
14
  enum Status {
16
15
  ON = 0;
@@ -24,7 +23,7 @@ message AgentStatus {
24
23
  string free = 2;
25
24
  string ram_usage = 3;
26
25
  }
27
-
26
+
28
27
  Status status = 1;
29
28
  optional Memory memory = 2;
30
29
  repeated PluginState plugins = 3;
@@ -7,9 +7,8 @@ syntax = "proto3";
7
7
  import "google/protobuf/empty.proto";
8
8
  import "google/protobuf/timestamp.proto";
9
9
 
10
- import "dxos/client/invitation.proto";
10
+ import "dxos/client/services.proto";
11
11
  import "dxos/config.proto";
12
- import "dxos/echo/timeframe.proto";
13
12
  import "dxos/keys.proto";
14
13
 
15
14
  package dxos.bot;
@@ -57,7 +57,6 @@ message QueryMetricsResponse {
57
57
 
58
58
  // NOTE: Keep aligned with LogLevel in @dxos/log.
59
59
  enum LogLevel {
60
- NONE = 0;
61
60
  TRACE = 5;
62
61
  DEBUG = 10;
63
62
  INFO = 11;
@@ -67,8 +66,6 @@ enum LogLevel {
67
66
 
68
67
  message QueryLogsRequest {
69
68
  enum MatchingOptions {
70
- NONE = 0;
71
-
72
69
  /// Filters match all log levels above. Default behaviour for the logger.
73
70
  INCLUSIVE = 1;
74
71
 
@@ -9,18 +9,17 @@ import "google/protobuf/empty.proto";
9
9
  import "google/protobuf/struct.proto";
10
10
  import "google/protobuf/timestamp.proto";
11
11
 
12
- import "dxos/client/invitation.proto";
13
12
  import "dxos/config.proto";
14
- import "dxos/devtools/swarm.proto";
15
13
  import "dxos/echo/metadata.proto";
16
14
  import "dxos/echo/timeframe.proto";
17
15
  import "dxos/error.proto";
18
16
  import "dxos/halo/credentials.proto";
19
17
  import "dxos/keys.proto";
20
18
  import "dxos/mesh/signal.proto";
21
- import "dxos/mesh/presence.proto";
22
19
  import "dxos/mesh/teleport/gossip.proto";
20
+ import "dxos/mesh/presence.proto";
23
21
  import "dxos/value.proto";
22
+ import "dxos/devtools/swarm.proto";
24
23
 
25
24
  // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
26
25
 
@@ -34,7 +33,6 @@ package dxos.client.services;
34
33
  //
35
34
 
36
35
  enum SystemStatus {
37
- // TODO(burdon): INACTIVE SHOULD BE ZERO!
38
36
  ACTIVE = 0;
39
37
  INACTIVE = 1;
40
38
  }
@@ -168,7 +166,6 @@ message Device {
168
166
  ONLINE = 1;
169
167
  REMOVED = 2;
170
168
  }
171
-
172
169
  dxos.keys.PublicKey device_key = 1;
173
170
  DeviceKind kind = 2;
174
171
  optional halo.credentials.DeviceProfileDocument profile = 3;
@@ -220,6 +217,41 @@ message SpaceMember {
220
217
  dxos.halo.credentials.SpaceMember.Role role = 4;
221
218
  }
222
219
 
220
+ /// Runtime state of the space object.
221
+ enum SpaceState {
222
+ ///
223
+ /// Persistent states.
224
+ ///
225
+
226
+ /// Space is inactive. No swarming or replication will be done.
227
+ INACTIVE = 2;
228
+
229
+ /// Space is active. Swarming and replication will be done.
230
+ ACTIVE = 6;
231
+
232
+ ///
233
+ /// Runtime states:
234
+ ///
235
+
236
+ /// Space is closed.
237
+ CLOSED = 1;
238
+
239
+ /// Data pipeline is inactive.
240
+ CONTROL_ONLY = 7;
241
+
242
+ /// Data pipeline is initializing.
243
+ INITIALIZING = 4;
244
+
245
+ /// Data pipeline is ready.
246
+ READY = 3;
247
+
248
+ /// Space errored.
249
+ ERROR = 5;
250
+
251
+ /// Data migration is required.
252
+ REQUIRES_MIGRATION = 8;
253
+ }
254
+
223
255
  // TODO(burdon): Rename SpaceInfo?
224
256
  message Space {
225
257
  message Metrics {
@@ -342,7 +374,7 @@ message CreateEpochRequest {
342
374
  /// Replace the current automerge root with a new one specified by the user.
343
375
  REPLACE_AUTOMERGE_ROOT = 4;
344
376
 
345
- /// Upgrade references data structure
377
+ /// Upgrade references data strucutre
346
378
  MIGRATE_REFERENCES_TO_DXN = 5;
347
379
  }
348
380
 
@@ -412,10 +444,112 @@ service SpacesService {
412
444
  // Invitations (Halo and Data Spaces).
413
445
  //
414
446
 
415
- //message AdmissionKeypair {
416
- // dxos.keys.PublicKey public_key = 1;
417
- // optional dxos.keys.PrivateKey private_key = 2;
418
- //}
447
+ /**
448
+ * Represents the invitation state passed between client and service.
449
+ */
450
+ message Invitation {
451
+ enum Type {
452
+ /// Requires both to be online to complete key exchange.
453
+ INTERACTIVE = 0;
454
+ /// Invitation can be accepted by any valid peer.
455
+ DELEGATED = 1;
456
+ /**
457
+ * Multi-use interactive invitations.
458
+ * @deprecated use multiUse flag with type=interactive instead.
459
+ */
460
+ MULTIUSE = 2;
461
+ }
462
+
463
+ enum Kind {
464
+ DEVICE = 0;
465
+ SPACE = 1;
466
+ }
467
+
468
+ enum AuthMethod {
469
+ /// No authentication is required. Guest should not call `Authenticate`.
470
+ NONE = 0;
471
+
472
+ /// Guest should call `Authenticate` with the shared secret.
473
+ SHARED_SECRET = 1;
474
+
475
+ /// Guest should prove they possess a private key corresponding to the known public key recorded in an invitation.
476
+ KNOWN_PUBLIC_KEY = 2;
477
+ }
478
+
479
+ enum State {
480
+ INIT = 0;
481
+ CONNECTING = 1;
482
+ CONNECTED = 2;
483
+ READY_FOR_AUTHENTICATION = 3;
484
+ AUTHENTICATING = 4;
485
+ SUCCESS = 5;
486
+ CANCELLED = 6;
487
+ TIMEOUT = 7;
488
+ ERROR = 8;
489
+ EXPIRED = 9;
490
+ }
491
+
492
+ /// Local identifier (random).
493
+ string invitation_id = 1;
494
+
495
+ /// Determines the behavior of the invitation.
496
+ Type type = 2;
497
+
498
+ /// Kind of access the invitation will grant.
499
+ Kind kind = 3;
500
+
501
+ /// How the invitation is authenticated.
502
+ AuthMethod auth_method = 4;
503
+
504
+ /// Swarm rendezvous (random).
505
+ dxos.keys.PublicKey swarm_key = 5;
506
+
507
+ /// Local state.
508
+ State state = 6;
509
+
510
+ /// Timeout for guest to complete invitation once connected (ms).
511
+ optional int32 timeout = 7;
512
+
513
+ /// Guest's identity.
514
+ optional dxos.keys.PublicKey identity_key = 8;
515
+
516
+ /// Space to join (only present if kind is SPACE).
517
+ optional dxos.keys.PublicKey space_key = 9;
518
+
519
+ /// Authentication code created by host (only present if auth_method is SHARED_SECRET).
520
+ optional string auth_code = 10;
521
+
522
+ /// Path or identifier to navigate to after successful authentication.
523
+ optional string target = 11;
524
+
525
+ // TODO(nf): should these exist elsewhere since they only have meaning to the host?
526
+ /// Host should resume invitation on startup until timeout.
527
+ optional bool persistent = 12;
528
+
529
+ optional google.protobuf.Timestamp created = 13;
530
+
531
+ /// Number of seconds the host will honor the invitation. 0 means the invitation persists forever.
532
+ // TODO(nf): some feedback mechanism or GC for immortal invitations?
533
+ // TODO(nf): should the creator have a way to make an invitation last as long as the client? this was the previous behavior.
534
+ optional int32 lifetime = 14;
535
+
536
+ /// Whether an invitation can be used multiple times.
537
+ optional bool multi_use = 15;
538
+
539
+ /// Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
540
+ optional AdmissionKeypair guest_keypair = 16;
541
+
542
+ /// Present on Type.DELEGATED invitations.
543
+ optional dxos.keys.PublicKey delegation_credential_id = 17;
544
+
545
+ /// Role of the admitted member, defaults to ADMIN.
546
+ optional dxos.halo.credentials.SpaceMember.Role role = 18;
547
+ }
548
+
549
+ message AdmissionKeypair {
550
+ dxos.keys.PublicKey public_key = 1;
551
+ optional dxos.keys.PrivateKey private_key = 2;
552
+ }
419
553
 
420
554
  message AcceptInvitationRequest {
421
555
  Invitation invitation = 1;
@@ -13,7 +13,7 @@ package dxos.config;
13
13
  option go_package = "github.com/dxos/kube/proto/def/dxos/config";
14
14
 
15
15
  extend google.protobuf.FieldOptions {
16
- optional string env_var = 1000;
16
+ optional string env_var = 1000;
17
17
  }
18
18
 
19
19
  message Config {
@@ -103,31 +103,31 @@ message Runtime {
103
103
  optional StorageDriver key_store = 2;
104
104
  optional StorageDriver data_store = 3;
105
105
  optional string data_root = 4;
106
-
106
+
107
107
  /**
108
108
  * @deprecated
109
109
  */
110
110
  optional bool space_fragmentation = 5;
111
111
  }
112
-
112
+
113
113
  message Log {
114
114
  optional string filter = 1 [(env_var) = "LOG_FILTER"];
115
115
  optional string prefix = 2 [(env_var) = "LOG_PREFIX"];
116
116
  }
117
-
117
+
118
118
  optional Log log = 1;
119
119
  optional Storage storage = 2;
120
-
120
+
121
121
  // TODO(burdon): Structure snapshot/epoch related props.
122
-
122
+
123
123
  optional bool enable_snapshots = 3;
124
-
124
+
125
125
  /// Milliseconds
126
126
  optional int32 snapshot_interval = 4;
127
-
127
+
128
128
  /// Milliseconds
129
129
  optional int32 invitation_expiration = 5;
130
-
130
+
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;
@@ -166,7 +166,7 @@ message Runtime {
166
166
  string id = 1;
167
167
  optional string name = 2;
168
168
  optional bool enabled = 3;
169
- optional google.protobuf.Any config = 10;
169
+ optional google.protobuf.Any config = 10;
170
170
  }
171
171
 
172
172
  repeated Plugin plugins = 1;
@@ -6,10 +6,9 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/timestamp.proto";
8
8
 
9
- import "dxos/client/invitation.proto";
9
+ import "dxos/client/services.proto";
10
10
  import "dxos/echo/model/document.proto";
11
11
  import "dxos/echo/timeframe.proto";
12
- import "dxos/halo/credentials.proto";
13
12
  import "dxos/keys.proto";
14
13
 
15
14
  package dxos.echo.metadata;
@@ -17,7 +16,7 @@ package dxos.echo.metadata;
17
16
  /// Main metadata record.
18
17
  message EchoMetadata {
19
18
  /**
20
- * Version number that is incremented every time there's a breaking change to the storage schema.
19
+ * Version number that is inceremnted every time there's a breaking change to the storage schema.
21
20
  * This is used to detect if the storage schema has changed since the last time the client was run.
22
21
  * Loading data from a different version will might result in an error.
23
22
  */
@@ -32,12 +31,13 @@ message EchoMetadata {
32
31
  /// List of the data spaces.
33
32
  repeated SpaceMetadata spaces = 11;
34
33
 
35
- // TODO(burdon): Circular dep.
36
34
  repeated dxos.client.services.Invitation invitations = 12;
37
35
  }
38
36
 
39
37
  /// Per-space metadata. Frequent updates. Keep small.
40
- message SmallSpaceMetadata {}
38
+ message SmallSpaceMetadata {
39
+
40
+ }
41
41
 
42
42
  /// Per-space metadata. Infrequent updates.
43
43
  message LargeSpaceMetadata {
@@ -54,20 +54,22 @@ message SpaceMetadata {
54
54
  /// Space key.
55
55
  dxos.keys.PublicKey key = 1;
56
56
 
57
+
57
58
  /// ACTIVE, INACTIVE, etc.
58
- optional dxos.client.services.SpaceState state = 10;
59
+ optional SpaceState state = 10;
59
60
 
60
61
  optional dxos.keys.PublicKey genesis_feed_key = 6;
61
62
 
62
- /// Key of the writable control feed.
63
+ /// Key of the wriatable control feed.
63
64
  optional dxos.keys.PublicKey control_feed_key = 4;
64
65
 
65
66
  /// List of all feed associated with the space.
66
67
  repeated dxos.keys.PublicKey feed_keys = 2;
67
68
 
68
- /// Key of the writable data feed.
69
+ /// Key of the wriatable data feed.
69
70
  optional dxos.keys.PublicKey data_feed_key = 3;
70
71
 
72
+
71
73
  // Latest control timeframe reached while processing space messages.
72
74
  optional timeframe.TimeframeVector control_timeframe = 8;
73
75
 
@@ -86,13 +88,15 @@ message ControlPipelineSnapshot {
86
88
  /// Timeframe of the last message included in the snapshot.
87
89
  timeframe.TimeframeVector timeframe = 1;
88
90
 
89
- repeated ControlMessage messages = 2;
91
+
92
+ repeated ControlMessage messages = 2;
90
93
  }
91
94
 
92
95
  /// Information needed to bootstrap an Identity.
93
96
  message IdentityRecord {
94
97
  dxos.keys.PublicKey identity_key = 1;
95
98
  dxos.keys.PublicKey device_key = 2;
99
+
96
100
  SpaceMetadata halo_space = 3;
97
101
 
98
102
  /// Public profile information.
@@ -100,5 +104,5 @@ message IdentityRecord {
100
104
  optional SpaceMetadata profile_space = 4;
101
105
 
102
106
  /// Cached profile.
103
- optional dxos.halo.credentials.ProfileDocument profile = 5;
107
+ optional ProfileDocument profile = 5;
104
108
  }
@@ -5,9 +5,7 @@
5
5
  syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
- import "google/protobuf/descriptor.proto";
9
8
 
10
- import "dxos/field_options.proto";
11
9
  import "dxos/keys.proto";
12
10
  import "dxos/halo/credentials.proto";
13
11
  import "dxos/echo/timeframe.proto";
@@ -31,7 +29,7 @@ message EchoObject {
31
29
  optional string parent_id = 2;
32
30
 
33
31
  /// Set the model to the provided snapshot.
34
- optional google.protobuf.Any model = 10 [(preserve_any) = true];
32
+ optional google.protobuf.Any model = 10 [preserve_any = true];
35
33
  }
36
34
 
37
35
  message Mutation {
@@ -49,7 +47,7 @@ message EchoObject {
49
47
  optional Action action = 11;
50
48
 
51
49
  // Encoded model mutation, format is defined by model's codec.
52
- optional google.protobuf.Any model = 12 [(preserve_any) = true];
50
+ optional google.protobuf.Any model = 12 [preserve_any = true];
53
51
  }
54
52
 
55
53
  string object_id = 1;
@@ -176,8 +176,6 @@ message DeviceProfileDocument {
176
176
  optional DeviceType type = 7;
177
177
  }
178
178
 
179
- // TODO(burdon): Add Credential Prefix.
180
-
181
179
  /// [ASSERTION]: Sets device profile information.
182
180
  message DeviceProfile {
183
181
  DeviceProfileDocument profile = 1;
@@ -7,14 +7,14 @@ syntax = "proto3";
7
7
  import "google/protobuf/empty.proto";
8
8
  import "google/protobuf/timestamp.proto";
9
9
 
10
- import "dxos/client/invitation.proto";
10
+ import "dxos/client/services.proto";
11
11
  import "dxos/echo/timeframe.proto";
12
12
  import "dxos/halo/credentials.proto";
13
13
  import "dxos/keys.proto";
14
14
 
15
15
  package dxos.halo.invitations;
16
16
 
17
- message InvitationOptions {
17
+ message Options {
18
18
  enum Role {
19
19
  GUEST = 0;
20
20
  HOST = 1;
@@ -127,7 +127,7 @@ message AdmissionResponse {
127
127
  // TODO(dmaretskyi): Rename to InvitationExtensionService.
128
128
  service InvitationHostService {
129
129
  /// Both peers must call this method before any other.
130
- rpc Options(InvitationOptions) returns (google.protobuf.Empty);
130
+ rpc Options(Options) returns (google.protobuf.Empty);
131
131
 
132
132
  /// Introduce guest to the host. Only on the host.
133
133
  rpc Introduce(IntroductionRequest) returns (IntroductionResponse);
@@ -5,6 +5,7 @@
5
5
  syntax = "proto3";
6
6
 
7
7
  import "dxos/keys.proto";
8
+ import "dxos/halo/signed.proto";
8
9
 
9
10
  package dxos.halo.keys;
10
11
 
@@ -69,3 +70,14 @@ message KeyRecord {
69
70
  message KeyRecordList {
70
71
  repeated KeyRecord keys = 1;
71
72
  }
73
+
74
+ //
75
+ // A key which includes its parent keys and SignedMessages leading back to the root of its authority.
76
+ // For example, if IdentityA signed for DeviceA, which signed for DeviceB, which signed for DeviceC the chain
77
+ // would comprised: DeviceC->DeviceB->DeviceA->IdentityA moving from tip to root.
78
+ //
79
+ message KeyChain {
80
+ dxos.keys.PublicKey public_key = 1;
81
+ dxos.halo.signed.SignedMessage message = 2; // TODO(burdon): Circular dep.
82
+ repeated KeyChain parents = 3;
83
+ }
@@ -6,19 +6,15 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
8
 
9
+ import "dxos/halo/keys.proto";
9
10
  import "dxos/keys.proto";
10
11
 
11
12
  package dxos.halo.signed;
12
13
 
13
- //
14
- // A key which includes its parent keys and SignedMessages leading back to the root of its authority.
15
- // For example, if IdentityA signed for DeviceA, which signed for DeviceB, which signed for DeviceC the chain
16
- // would comprised: DeviceC->DeviceB->DeviceA->IdentityA moving from tip to root.
17
- //
18
- message KeyChain {
19
- dxos.keys.PublicKey public_key = 1;
20
- SignedMessage message = 2;
21
- repeated KeyChain parents = 3;
14
+ // TODO(burdon): Rename (too generic).
15
+ // TODO(burdon): Use default from codec-protobuf.
16
+ message Message {
17
+ google.protobuf.Any payload = 1;
22
18
  }
23
19
 
24
20
  /**
@@ -45,7 +41,7 @@ message SignedMessage {
45
41
  /// The bytes of the signature.
46
42
  bytes signature = 2;
47
43
  /// The certification chain of SignedMessages for this key.
48
- optional KeyChain key_chain = 3;
44
+ optional keys.KeyChain key_chain = 3;
49
45
  }
50
46
 
51
47
  /// The signed message contents.
@@ -4,8 +4,6 @@
4
4
 
5
5
  syntax = "proto3";
6
6
 
7
- import "dxos/keys.proto";
8
-
9
7
  package dxos.mesh.presence;
10
8
 
11
9
  // Even though those definitions don't use Any the schema can be added dynamically later.
@@ -14,7 +12,7 @@ import "google/protobuf/any.proto";
14
12
 
15
13
  message PeerState {
16
14
  /// Will be used to build network graph
17
- repeated dxos.keys.PublicKey connections = 1;
15
+ repeated dxos.keys.PublicKey connections = 1;
18
16
 
19
17
  // TODO(mykola): Remove once IdentityKey can be obtained from DeviceKey.
20
18
  dxos.keys.PublicKey identity_key = 2;
@@ -6,15 +6,13 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/empty.proto";
8
8
  import "google/protobuf/any.proto";
9
- import "google/protobuf/timestamp.proto";
10
-
11
9
  import "dxos/keys.proto";
12
10
 
13
11
  package dxos.mesh.teleport.gossip;
14
12
 
15
13
  message GossipMessage {
16
14
  dxos.keys.PublicKey peer_id = 1;
17
- /// Used to route different payload types to correct listeners.
15
+ /// Used to route differnt payload types to correct listeners.
18
16
  string channel_id = 2;
19
17
  /// Peer tracks what had been sent by message id.
20
18
  dxos.keys.PublicKey message_id = 3;